/* ========================================
SetuMind AI - Visual Theme & Branding
Bridging AI Agents, Robots... Amplifying Intelligence.
======================================== */

/* ========================================
Accessibility - Skip Link
======================================== */
.skip-link {
position: absolute;
top: -40px;
left: 0;
background: var(--primary);
color: #fff;
padding: 8px 16px;
z-index: 10000;
text-decoration: none;
font-weight: 600;
transition: top 0.3s ease;
}

.skip-link:focus {
top: 0;
outline: 3px solid var(--accent);
outline-offset: 2px;
}

/* ========================================
Accessibility - Focus Styles
======================================== */
*:focus {
outline: 2px solid var(--accent);
outline-offset: 2px;
}

*:focus:not(:focus-visible) {
outline: none;
}

*:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
}

/* ========================================
Accessibility - Reduced Motion
======================================== */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0s !important;
animation-iteration-count: 1 !important;
transition-duration: 0s !important;
scroll-behavior: auto !important;
}
}

/* ========================================
Smooth Scrolling & Page Transitions
======================================== */
html {
scroll-behavior: smooth;
}

/* Page load animation */
@keyframes pageLoad {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.container {
  animation: pageLoad 0.8s ease-out forwards;
}

/* Section reveal animations */
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes scaleIn {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Scroll-triggered animation classes */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.animate-slide-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-slide-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.animate-slide-right {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-slide-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.animate-fade {
  opacity: 0;
  transition: opacity 0.8s ease-out;
}

.animate-fade.is-visible {
  opacity: 1;
}

.animate-scale {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.animate-scale.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger delays for child elements */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }

/* R2R Infographic Specific Animations */
.r2r-infographic .animate-fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: all var(--transition-slow);
}

.r2r-infographic .animate-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.r2r-infographic .animate-fade-left {
  opacity: 0;
  transform: translateX(-30px);
  transition: all var(--transition-slow);
}

.r2r-infographic .animate-fade-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.r2r-infographic .animate-fade-right {
  opacity: 0;
  transform: translateX(30px);
  transition: all var(--transition-slow);
}

.r2r-infographic .animate-fade-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.r2r-infographic .animate-zoom {
  opacity: 0;
  transform: scale(0.8);
  transition: all var(--transition-slow);
}

.r2r-infographic .animate-zoom.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* ========================================
Micro-interactions & Hover Effects
======================================== */

/* Enhanced button ripple effect */
.submit-btn {
  position: relative;
  overflow: hidden;
}

.submit-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.submit-btn:active::after {
  width: 300px;
  height: 300px;
}

/* Input field focus animation */
#email {
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

#email:focus {
  transform: translateY(-2px);
}

#email.valid {
  border-color: var(--success);
}

#email.invalid {
  border-color: var(--error);
}

/* Input validation icon */
.input-validation-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.input-validation-icon.show {
  opacity: 1;
}

/* ========================================
Loading States
======================================== */

/* Loading spinner */
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loading-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: white;
  animation: spin 0.8s linear infinite;
  margin-right: 10px;
  vertical-align: middle;
}

.submit-btn.loading {
  pointer-events: none;
  opacity: 0.8;
}

/* Skeleton loading for cards */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.skeleton {
  background: linear-gradient(90deg,
    var(--surface) 25%,
    var(--surface-light) 50%,
    var(--surface) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* ========================================
Touch & Mobile Optimizations
======================================== */

/* Touch-friendly tap highlight */
* {
  -webkit-tap-highlight-color: transparent;
}

/* Smooth touch scrolling */
body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Active state for touch devices */
.smsu-card:active {
  transform: scale(0.98);
}

.social-links a:active {
  transform: scale(0.95);
}

.submit-btn:active {
  transform: scale(0.98);
}

/* ========================================
Performance Optimizations
======================================== */

/* GPU acceleration for animations */
.logo,
.smsu-card,
.social-links a,
.submit-btn,
#email {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

/* Will-change for frequently animated elements */
.logo {
  will-change: filter;
}

.smsu-card:hover,
.smsu-card:focus {
  will-change: transform, box-shadow;
}

/* Optimize paint performance */
.container {
  contain: layout style;
}

/* ========================================
Enhanced Form Feedback
======================================== */

/* Form group positioning */
.form-group {
  position: relative;
}

/* Real-time validation message */
.validation-message {
  font-size: 0.85em;
  margin-top: 8px;
  min-height: 20px;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.validation-message.show {
  opacity: 1;
  transform: translateY(0);
}

.validation-message.success {
  color: var(--success);
}

.validation-message.error {
  color: var(--error);
}

/* Form success animation */
@keyframes successPulse {
  0% { box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.4); }
  70% { box-shadow: 0 0 0 20px rgba(0, 255, 136, 0); }
  100% { box-shadow: 0 0 0 0 rgba(0, 255, 136, 0); }
}

.form-message.success {
  animation: successPulse 0.6s ease-out;
}

/* ========================================
Enhanced Responsive Design
======================================== */

/* Tablet breakpoint */
@media (max-width: 768px) {
  .container {
    padding: 40px 30px;
  }
  
  h1 {
    font-size: 2.4em;
  }
  
  .slogan {
    font-size: 1.9em;
  }
  
  .section-title {
    font-size: 1.3em;
  }
  
  .smsu-grid {
    max-width: 500px;
  }
}

/* Large mobile */
@media (max-width: 480px) {
  .container {
    padding: 30px 20px;
    margin: 15px;
  }
  
  h1 {
    font-size: 1.8em;
  }
  
  .slogan {
    font-size: 1.5em;
  }
  
  .tagline {
    font-size: 0.95em;
  }
  
  .mission-section,
  .vision-section {
    padding: 20px 15px;
  }
  
  .mission-text,
  .vision-text {
    font-size: 0.9em;
  }
  
  .smsu-section {
    padding: 25px 15px;
  }
  
  .smsu-section .section-title {
    font-size: 1.3em;
  }
  
  .smsu-grid {
    max-width: 280px;
    gap: 12px;
  }
  
  .smsu-card {
    padding: 15px 12px;
  }
  
  .card-icon {
    width: 45px;
    height: 45px;
    font-size: 1.3em;
  }
  
  .card-title {
    font-size: 1.1em;
  }
  
  .card-description {
    font-size: 0.8em;
  }
  
  .form-label {
    font-size: 0.95em;
  }
  
  #email {
  	padding: 14px 16px;
  	font-size: 16px; /* Prevent iOS zoom on focus */
  }
  
  .submit-btn {
    padding: 12px 25px;
    font-size: 0.95em;
  }
  
  .social-links {
      gap: 8px;
  }
  
  .social-links a {
      width: 40px;
      height: 40px;
      font-size: 1.1em;
      margin: 0 4px;
  }
}

/* Extra small devices */
@media (max-width: 360px) {
  body {
    padding: 10px;
  }
  
  .container {
    padding: 25px 15px;
    margin: 10px;
  }
  
  h1 {
    font-size: 1.5em;
  }
  
  .slogan {
    font-size: 1.3em;
  }
  
  .tagline {
    font-size: 0.85em;
  }
  
  .smsu-grid {
    max-width: 250px;
  }
}

/* Desktop-first enhancements - 1200px+ */
@media (min-width: 1200px) {
	.container {
		max-width: 800px;
		padding: 60px 50px;
	}

	h1 {
		font-size: 3.2em;
	}

	.slogan {
		font-size: 2.2em;
	}

	.tagline {
		font-size: 1.2em;
	}

	.smsu-grid {
		max-width: 700px;
		gap: 20px;
	}

	.smsu-card {
		padding: 25px 20px;
	}

	.card-icon {
		width: 60px;
		height: 60px;
		font-size: 1.6em;
	}

	.logo {
		max-width: 220px;
	}
}

/* Desktop-first enhancements - 992px+ */
@media (min-width: 992px) {
	.container {
		max-width: 750px;
	}

	h1 {
		font-size: 3em;
	}

	.slogan {
		font-size: 2em;
	}
}

/* Landscape orientation adjustments */
@media (max-height: 500px) and (orientation: landscape) {
  .container {
    padding: 20px;
    margin: 10px;
  }
  
  .logo {
    max-width: 80px;
    margin-bottom: 15px;
  }
  
  h1 {
    font-size: 1.5em;
    margin-bottom: 10px;
  }
  
  .slogan {
    font-size: 1.2em;
    margin-bottom: 8px;
  }
  
  .tagline {
    font-size: 0.85em;
    margin-bottom: 10px;
  }
  
  .mission-section,
  .vision-section {
    padding: 15px 12px;
    margin-bottom: 15px;
  }
  
  .smsu-section {
    padding: 15px 10px;
    margin: 15px 0;
  }
  
  .smsu-grid {
    gap: 10px;
  }
  
  .smsu-card {
    padding: 10px 8px;
  }
  
  .card-icon {
    width: 35px;
    height: 35px;
    font-size: 1em;
    margin-bottom: 8px;
  }
  
  .card-title {
    font-size: 0.95em;
  }
  
  .card-description {
    font-size: 0.75em;
  }
}

/* ========================================
   CSS Variables & Design Tokens
   ======================================== */
:root {
    /* Brand Colors */
    --primary: #1a1a2e;           /* Deep Indigo - backgrounds, headers */
    --secondary: #00d4ff;         /* Electric Cyan - accents, CTAs */
    --tertiary: #7b2cbf;          /* Neural Purple - gradients */
    --background: #0a0a1a;        /* Dark Navy - main background */
    --surface: #16213e;           /* Slate Blue - cards, containers */
    --text-primary: #ffffff;      /* White - headings */
    --text-secondary: #b8c5d6;    /* Light Gray - body text */
    --success: #00ff88;           /* Unity Green - success states */
    --error: #ff4757;             /* Error red */
    
    /* Extended Palette */
    --accent-cyan-light: #4de8ff;
    --accent-purple-light: #9d4edd;
    --accent-green-light: #4dffaa;
    --surface-light: #1e2d4a;
    --border-color: rgba(0, 212, 255, 0.2);
    
    /* Typography */
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Open Sans', sans-serif;
    --font-accent: 'Fira Code', monospace;
    
    /* Spacing */
    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
    
    /* Fluid Spacing */
    --space-fluid-xs: 0.5rem;
    --space-fluid-sm: 1rem;
    --space-fluid-md: 1.5rem;
    --space-fluid-lg: 2rem;
    --space-fluid-xl: 3rem;
    
    /* Touch Target */
    --touch-target-min: 44px;
    
    /* Border Radius */
    --radius-sm: 5px;
    --radius-md: 10px;
    --radius-lg: 20px;
    --radius-full: 50%;
    
    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
    --shadow-glow-cyan: 0 0 20px rgba(0, 212, 255, 0.4);
    --shadow-glow-purple: 0 0 20px rgba(123, 44, 191, 0.4);
    --shadow-glow-green: 0 0 20px rgba(0, 255, 136, 0.4);
    
    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease;
}

/* ========================================
   Base Styles & Background
   ======================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--background);
    color: var(--text-secondary);
    text-align: center;
    line-height: 1.6;
    padding: 20px;
    position: relative;
    overflow-x: hidden;
}

/* Neural Network Background Pattern */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(123, 44, 191, 0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(0, 255, 136, 0.05) 0%, transparent 30%);
    pointer-events: none;
    z-index: -2;
}

/* Bridge Connection Lines - Subtle Grid Pattern */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    pointer-events: none;
    z-index: -1;
}

/* ========================================
Mobile Navigation - Hamburger Menu
======================================== */
.nav-toggle {
  display: none;
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 10001;
  width: 44px;
  height: 44px;
  background: var(--surface);
  border: 2px solid var(--secondary);
  border-radius: var(--radius-sm);
  cursor: pointer;
  padding: 10px;
  transition: var(--transition-normal);
}

.nav-toggle:hover {
  background: var(--surface-light);
  box-shadow: var(--shadow-glow-cyan);
}

.nav-toggle:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.hamburger {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--secondary);
  position: relative;
  transition: var(--transition-normal);
}

.hamburger::before,
.hamburger::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--secondary);
  left: 0;
  transition: var(--transition-normal);
}

.hamburger::before {
  top: -6px;
}

.hamburger::after {
  top: 6px;
}

/* Hamburger animation when active */
.nav-toggle.active .hamburger {
  background: transparent;
}

.nav-toggle.active .hamburger::before {
  top: 0;
  transform: rotate(45deg);
}

.nav-toggle.active .hamburger::after {
  top: 0;
  transform: rotate(-45deg);
}

/* Mobile Navigation Overlay */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 26, 0.9);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mobile-nav-overlay.active {
  opacity: 1;
}

/* Mobile Navigation Menu */
.mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  right: -280px;
  width: 280px;
  height: 100%;
  background: var(--surface);
  z-index: 10000;
  padding: 80px 30px 30px;
  transition: right 0.3s ease;
  box-shadow: -5px 0 30px rgba(0, 0, 0, 0.5);
}

.mobile-nav.active {
  right: 0;
}

.mobile-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-nav-list li {
  margin-bottom: 20px;
}

.mobile-nav-link {
  display: block;
  padding: 14px 20px;
  color: var(--text-primary);
  text-decoration: none;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 600;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
  min-height: var(--touch-target-min);
  line-height: 1.4;
}

.mobile-nav-link:hover,
.mobile-nav-link:focus {
  background: var(--surface-light);
  color: var(--secondary);
}

/* Show mobile nav on screens smaller than 768px */
@media (max-width: 768px) {
  .nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-nav {
    display: block;
  }

  .mobile-nav-overlay {
    display: block;
  }
}

/* ========================================
Main Container
======================================== */
.container {
    background: linear-gradient(135deg, var(--surface) 0%, var(--primary) 100%);
    padding: 50px 40px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg), var(--shadow-glow-cyan);
    max-width: 700px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    border: 1px solid var(--border-color);
    overflow: hidden;
}

/* Container decorative corner accents - Unity motif */
.container::before,
.container::after {
    content: '';
    position: absolute;
    width: 60px;
    height: 60px;
    border: 2px solid var(--secondary);
    opacity: 0.3;
}

.container::before {
    top: 0;
    left: 0;
    border-right: none;
    border-bottom: none;
    border-top-left-radius: var(--radius-lg);
}

.container::after {
    bottom: 0;
    right: 0;
    border-left: none;
    border-top: none;
    border-bottom-right-radius: var(--radius-lg);
}

/* ========================================
   Logo Styling
   ======================================== */
.logo {
    max-width: 180px;
    height: auto;
    margin-bottom: 30px;
    filter: drop-shadow(0 0 15px rgba(0, 212, 255, 0.5));
    animation: logoGlow 3s ease-in-out infinite alternate;
}

@keyframes logoGlow {
    0% {
        filter: drop-shadow(0 0 10px rgba(0, 212, 255, 0.4));
    }
    100% {
        filter: drop-shadow(0 0 25px rgba(0, 212, 255, 0.7));
    }
}

/* ========================================
   Typography
   ======================================== */
h1 {
    font-family: var(--font-heading);
    font-size: 2.8em;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 20px;
    text-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
    position: relative;
}

/* Bridge motif underline */
h1::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--secondary), transparent);
    border-radius: 2px;
}

p {
    font-family: var(--font-body);
    font-size: 1.1em;
    margin-bottom: 30px;
    color: var(--text-secondary);
}

/* ========================================
   Coming Soon Section
   ======================================== */
.coming-soon-wrapper {
    margin-bottom: 30px;
    position: relative;
}

.coming-soon-text {
    font-family: var(--font-heading);
    font-size: 3em;
    font-weight: 700;
    background: linear-gradient(90deg, var(--secondary), var(--tertiary), var(--success));
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
    animation: gradientShift 4s ease infinite;
    position: relative;
    display: inline-block;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

/* Animated connection dots - Bridge motif */
.coming-soon-wrapper::before,
.coming-soon-wrapper::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    background: var(--secondary);
    border-radius: var(--radius-full);
    animation: pulse 2s ease-in-out infinite;
}

.coming-soon-wrapper::before {
    left: -20px;
}

.coming-soon-wrapper::after {
    right: -20px;
    animation-delay: 1s;
    background: var(--success);
}

@keyframes pulse {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.3);
    }
}

/* ========================================
   Form Styling
   ======================================== */
#subscribe-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
}

#subscribe-form p {
    margin-bottom: 15px;
    font-size: 1em;
    font-style: italic;
    color: var(--text-secondary);
    opacity: 0.8;
}

#subscribe-form p a {
    color: var(--secondary);
    text-decoration: none;
    transition: var(--transition-normal);
}

#subscribe-form p a:hover {
    color: var(--success);
    text-decoration: underline;
}

#email {
	padding: 15px 20px;
	border: 2px solid var(--border-color);
	border-radius: var(--radius-md);
	outline: none;
	width: 80%;
	max-width: 350px;
	font-size: 16px; /* Prevent iOS zoom on focus */
	background: rgba(10, 10, 26, 0.6);
	color: var(--text-primary);
	transition: var(--transition-normal);
	min-height: var(--touch-target-min);
}

#email::placeholder {
  color: var(--text-secondary);
  opacity: 0.6;
}

#email:focus {
  border-color: var(--secondary);
  box-shadow: 0 0 0 4px rgba(0, 212, 255, 0.15), var(--shadow-glow-cyan);
}

#subscribe-form button {
  padding: 15px 30px;
  background: linear-gradient(135deg, var(--secondary) 0%, var(--tertiary) 100%);
  color: var(--text-primary);
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: 1.1em;
  font-weight: bold;
  font-family: var(--font-heading);
  transition: var(--transition-normal);
  width: 80%;
  max-width: 350px;
  position: relative;
  overflow: hidden;
  min-height: var(--touch-target-min);
}

#subscribe-form button:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

#subscribe-form button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: var(--transition-slow);
}

#subscribe-form button:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow-cyan), var(--shadow-glow-purple);
}

#subscribe-form button:hover::before {
    left: 100%;
}

#subscribe-form button:active {
    transform: translateY(-1px);
}

/* Form divider with neural node pattern */
#subscribe-form p:nth-of-type(2) {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--secondary);
    margin: 20px 0;
    position: relative;
    font-style: normal;
}

#subscribe-form p:nth-of-type(2)::before,
#subscribe-form p:nth-of-type(2)::after {
    content: '●';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.5em;
    opacity: 0.5;
}

#subscribe-form p:nth-of-type(2)::before {
    left: -30px;
}

#subscribe-form p:nth-of-type(2)::after {
    right: -30px;
}

/* ========================================
   Form Messages
   ======================================== */
.form-message {
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.05em;
    min-height: 20px;
    padding: 12px 20px;
    border-radius: var(--radius-sm);
    transition: var(--transition-normal);
}

.form-message.success {
    color: var(--success);
    background: rgba(0, 255, 136, 0.1);
    border: 1px solid var(--success);
    box-shadow: var(--shadow-glow-green);
}

.form-message.error {
    color: var(--error);
    background: rgba(255, 71, 87, 0.1);
    border: 1px solid var(--error);
}

/* ========================================
   Social Links
   ======================================== */
.social-links {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--border-color);
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}

/* Unity indicator - decorative line */
.social-links::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--tertiary), var(--secondary), var(--success));
    border-radius: 1px;
}

.social-links a {
    color: var(--text-secondary);
    text-decoration: none;
    margin: 0 8px;
    font-size: 1.5em;
    transition: var(--transition-normal);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    border: 1px solid transparent;
    background: transparent;
}

/* Neural node effect on hover */
.social-links a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    background: radial-gradient(circle, rgba(0, 212, 255, 0.3) 0%, transparent 70%);
    opacity: 0;
    transition: var(--transition-normal);
    z-index: -1;
}

.social-links a:hover {
    color: var(--secondary);
    transform: translateY(-3px);
    background: rgba(0, 212, 255, 0.1);
    border-color: var(--secondary);
}

.social-links a:focus {
    color: var(--secondary);
    background: rgba(0, 212, 255, 0.15);
    border-color: var(--secondary);
    transform: translateY(-2px);
}

.social-links a:hover::before {
    opacity: 1;
    animation: nodeExpand 0.3s ease-out;
}

@keyframes nodeExpand {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 1;
    }
}

/* Individual social colors */
.social-links a[aria-label="LinkedIn"]:hover {
    color: #0077b5;
}

.social-links a[aria-label="Facebook"]:hover {
    color: #1877f2;
}

.social-links a[aria-label="Instagram"]:hover {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.social-links a[aria-label="Twitter"]:hover {
color: #1da1f2;
}

.social-links a[aria-label*="GitHub"]:hover {
color: #333;
background: #f0f0f0;
}

/* GitHub link - uniform spacing with others */
.social-links .github-link {
    margin: 0 8px;
}

/* ========================================
   Responsive Design
   ======================================== */
@media (max-width: 600px) {
    h1 {
        font-size: 2em;
    }
    
    h1::after {
        width: 60px;
    }
    
    p {
        font-size: 1em;
    }
    
    .coming-soon-text {
        font-size: 2.2em;
    }
    
    .container {
        padding: 30px 20px;
    }
    
    #email,
    #subscribe-form button {
        width: 95%;
        max-width: unset;
    }
    
    .social-links a {
        font-size: 1.5em;
        margin: 0 10px;
    }
    
    /* Adjust decorative elements for mobile */
    .container::before,
    .container::after {
        width: 40px;
        height: 40px;
    }
    
    .coming-soon-wrapper::before,
    .coming-soon-wrapper::after {
        display: none;
    }
}

/* ========================================
SetuMind Section
======================================== */
.setumind-section {
    margin-bottom: 40px;
}

.slogan {
    font-family: var(--font-heading);
    font-size: 2.2em;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 15px;
    text-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
    line-height: 1.3;
}

.tagline {
    font-family: var(--font-body);
    font-size: 1.1em;
    color: var(--text-secondary);
    opacity: 0.9;
    margin-bottom: 0;
}

.setumind-visual-container {
 margin-top: 40px;
 width: 100%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 border-radius: var(--radius-lg);
 overflow: hidden;
 box-shadow:
  0 20px 60px rgba(0, 0, 0, 0.4),
  0 0 40px rgba(0, 212, 255, 0.15),
  inset 0 0 0 1px rgba(0, 212, 255, 0.2);
 position: relative;
}

.setumind-visual {
 width: 100%;
 height: auto;
 display: block;
 object-fit: cover;
 transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.setumind-visual:hover {
 transform: scale(1.02);
 box-shadow:
  0 30px 80px rgba(0, 0, 0, 0.5),
  0 0 60px rgba(0, 212, 255, 0.25);
}

.setumind-visual-placeholder {
 width: 100%;
 aspect-ratio: 16 / 9;
 background: linear-gradient(135deg,
  rgba(26, 26, 46, 0.95) 0%,
  rgba(15, 15, 35, 0.98) 50%,
  rgba(26, 26, 46, 0.95) 100%);
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 padding: 40px;
 border: 2px dashed rgba(0, 212, 255, 0.3);
 border-radius: var(--radius-lg);
 position: relative;
 overflow: hidden;
}

.setumind-visual-placeholder::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background:
  radial-gradient(circle at 20% 80%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
  radial-gradient(circle at 80% 20%, rgba(123, 44, 191, 0.1) 0%, transparent 50%);
 pointer-events: none;
}

.placeholder-icon {
 font-size: 4em;
 color: var(--accent);
 margin-bottom: 20px;
 animation: pulse-glow 2s ease-in-out infinite;
 text-shadow: 0 0 30px rgba(0, 212, 255, 0.5);
}

@keyframes pulse-glow {
 0%, 100% {
  transform: scale(1);
  opacity: 1;
 }
 50% {
  transform: scale(1.1);
  opacity: 0.8;
 }
}

.placeholder-text {
 font-family: var(--font-heading);
 font-size: 1.5em;
 color: var(--text-primary);
 margin-bottom: 10px;
 font-weight: 600;
}

.placeholder-specs {
 font-family: var(--font-body);
 font-size: 0.95em;
 color: var(--text-secondary);
 text-align: center;
 max-width: 600px;
 line-height: 1.6;
 opacity: 0.8;
}

/* Responsive adjustments for SetuMind visual */
@media (max-width: 768px) {
  .setumind-visual-container {
  margin-top: 30px;
  border-radius: var(--radius-md);
 }
 
 .placeholder-icon {
  font-size: 3em;
 }
 
 .placeholder-text {
  font-size: 1.2em;
 }
 
 .placeholder-specs {
  font-size: 0.85em;
  padding: 0 20px;
 }
}

@media (max-width: 480px) {
  .setumind-visual-container {
  margin-top: 20px;
 }
 
 .placeholder-icon {
  font-size: 2.5em;
  margin-bottom: 15px;
 }
 
 .setumind-visual-placeholder {
  padding: 30px 20px;
 }
}

/* ========================================
Mission & Vision Sections
======================================== */
.mission-section,
.vision-section {
    margin-bottom: 50px;
    padding: 40px 35px;
    background: rgba(0, 212, 255, 0.03);
    border-radius: var(--radius-md);
    border-left: 3px solid var(--secondary);
}

.vision-section {
    border-left-color: var(--tertiary);
    background: rgba(123, 44, 191, 0.03);
}

.section-title {
    font-family: var(--font-heading);
    font-size: 1.4em;
    font-weight: 700;
    color: var(--secondary);
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.vision-section .section-title {
    color: var(--tertiary);
}

.mission-text,
.vision-text {
    font-family: var(--font-body);
    font-size: 1em;
    line-height: 1.7;
    color: var(--text-secondary);
    margin-bottom: 0;
}

/* ========================================
Subscribe Section
======================================== */
.subscribe-section {
	margin-bottom: 50px;
	padding: 40px 30px;
}

.form-label {
    font-size: 1em;
    color: var(--text-secondary);
    margin-bottom: 15px;
}

.form-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    width: 100%;
}

#subscribe-form input[type="email"] {
	width: 100%;
	max-width: 500px;
	padding: 14px 20px;
	font-size: 16px; /* Prevent iOS zoom on focus */
	font-family: var(--font-body);
	background: var(--surface-light);
	border: 1px solid var(--border-color);
	border-radius: var(--radius-md);
	color: var(--text-primary);
	transition: var(--transition-normal);
}

#subscribe-form input[type="email"]:focus {
    outline: none;
    border-color: var(--secondary);
    box-shadow: var(--shadow-glow-cyan);
}

#subscribe-form input[type="email"]::placeholder {
    color: var(--text-secondary);
    opacity: 0.6;
}

.submit-btn {
    padding: 14px 35px;
    font-size: 1em;
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--background);
    background: linear-gradient(135deg, var(--secondary) 0%, var(--success) 100%);
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: var(--transition-normal);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-glow-cyan);
}

.submit-btn:active {
    transform: translateY(0);
}

.or-divider {
    font-size: 0.9em;
    color: var(--text-secondary);
    opacity: 0.7;
    margin: 20px 0;
}

.contact-email {
    font-size: 0.95em;
    margin-bottom: 0;
}

.contact-email a {
    color: var(--secondary);
    text-decoration: none;
    transition: var(--transition-normal);
}

.contact-email a:hover {
    color: var(--success);
    text-decoration: underline;
}

/* ========================================
Social Section
======================================== */
.social-section {
	padding-top: 40px;
	padding-bottom: 30px;
    border-top: 1px solid var(--border-color);
}

.social-links {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    font-size: 1.2em;
    color: var(--text-secondary);
    background: var(--surface-light);
    border-radius: var(--radius-full);
    transition: var(--transition-normal);
    border: 1px solid var(--border-color);
}

.social-links a:hover {
    color: var(--secondary);
    background: var(--surface);
    transform: translateY(-3px);
    box-shadow: var(--shadow-glow-cyan);
}

/* ========================================
Accessibility - Visually Hidden
======================================== */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ========================================
Reduced Motion Support
======================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .logo {
        animation: none;
        filter: drop-shadow(0 0 10px rgba(0, 212, 255, 0.4));
    }
    
    .coming-soon-text {
        animation: none;
    }
}

/* ========================================
SMSU Core Values Section
======================================== */
.smsu-section {
padding: 40px 20px;
margin: 30px 0;
position: relative;
}

.smsu-section .section-title {
font-family: var(--font-heading);
font-size: 1.8em;
font-weight: 700;
color: var(--text-primary);
margin-bottom: 10px;
text-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
position: relative;
display: inline-block;
}

.smsu-section .section-title::after {
content: '';
position: absolute;
bottom: -8px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 3px;
background: linear-gradient(90deg, var(--secondary), var(--tertiary));
border-radius: 2px;
}

.smsu-intro {
font-size: 1em;
color: var(--text-secondary);
margin-bottom: 30px;
font-style: italic;
opacity: 0.9;
}

/* SMSU Grid Layout */
.smsu-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 600px;
margin: 0 auto;
position: relative;
z-index: 2;
}

/* SMSU Card Base Styles */
.smsu-card {
background: linear-gradient(135deg, var(--surface) 0%, var(--primary) 100%);
border: 1px solid var(--border-color);
border-radius: var(--radius-md);
padding: 20px 15px;
position: relative;
cursor: pointer;
transition: var(--transition-normal);
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}

.smsu-card:hover, .smsu-card:focus {
transform: translateY(-5px);
box-shadow: var(--shadow-lg);
outline: none;
}

.smsu-card:focus {
border-color: var(--secondary);
}

/* Card Icon */
.card-icon {
width: 60px;
height: 60px;
border-radius: var(--radius-full);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.8em;
margin-bottom: 15px;
position: relative;
z-index: 2;
transition: var(--transition-normal);
}

/* Card Content */
.card-content {
position: relative;
z-index: 2;
}

.card-title {
font-family: var(--font-heading);
font-size: 1.3em;
font-weight: 700;
color: var(--text-primary);
margin-bottom: 8px;
}

.hindi-label {
font-size: 0.7em;
font-weight: 400;
color: var(--text-secondary);
font-style: italic;
}

.card-description {
font-size: 0.9em;
color: var(--text-secondary);
line-height: 1.4;
}

/* Card Reveal (Hidden by default) */
.card-reveal {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease, opacity 0.5s ease;
opacity: 0;
}

.smsu-card:hover .card-reveal,
.smsu-card:focus .card-reveal,
.smsu-card.active .card-reveal {
max-height: 100px;
opacity: 1;
}

.card-detail {
font-size: 0.85em;
color: var(--secondary);
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid var(--border-color);
}

/* Card Glow Effect */
.card-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: var(--transition-normal);
pointer-events: none;
z-index: 1;
}

/* ========================================
Individual Card Styles
======================================== */

/* Setu (Bridge) - Cyan Theme */
.setu-card {
border-color: rgba(0, 212, 255, 0.3);
}

.setu-card .card-icon {
background: linear-gradient(135deg, rgba(0, 212, 255, 0.2) 0%, rgba(0, 212, 255, 0.05) 100%);
color: var(--secondary);
box-shadow: 0 0 15px rgba(0, 212, 255, 0.3);
}

.setu-card:hover .card-icon,
.setu-card:focus .card-icon {
transform: scale(1.1);
box-shadow: 0 0 25px rgba(0, 212, 255, 0.5);
}

.setu-card .card-glow {
background: radial-gradient(circle at center, rgba(0, 212, 255, 0.15) 0%, transparent 70%);
}

.setu-card:hover .card-glow,
.setu-card:focus .card-glow {
opacity: 1;
}

/* Mind - Purple Theme */
.mind-card {
border-color: rgba(123, 44, 191, 0.3);
}

.mind-card .card-icon {
background: linear-gradient(135deg, rgba(123, 44, 191, 0.2) 0%, rgba(123, 44, 191, 0.05) 100%);
color: var(--tertiary);
box-shadow: 0 0 15px rgba(123, 44, 191, 0.3);
}

.mind-card:hover .card-icon,
.mind-card:focus .card-icon {
transform: scale(1.1);
box-shadow: 0 0 25px rgba(123, 44, 191, 0.5);
animation: mindPulse 1s ease-in-out infinite;
}

@keyframes mindPulse {
0%, 100% { box-shadow: 0 0 25px rgba(123, 44, 191, 0.5); }
50% { box-shadow: 0 0 35px rgba(123, 44, 191, 0.7); }
}

.mind-card .card-glow {
background: radial-gradient(circle at center, rgba(123, 44, 191, 0.15) 0%, transparent 70%);
}

.mind-card:hover .card-glow,
.mind-card:focus .card-glow {
opacity: 1;
}

/* Satya (Truth) - Eye/Transparency Theme */
.satya-card {
border-color: rgba(255, 255, 255, 0.2);
}

.satya-card .card-icon {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.05) 100%);
color: #ffffff;
box-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.satya-card:hover .card-icon,
.satya-card:focus .card-icon {
transform: scale(1.1);
box-shadow: 0 0 25px rgba(255, 255, 255, 0.4);
}

.satya-card .card-glow {
background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

.satya-card:hover .card-glow,
.satya-card:focus .card-glow {
opacity: 1;
}

/* Unity - Green Theme */
.unity-card {
border-color: rgba(0, 255, 136, 0.3);
}

.unity-card .card-icon {
background: linear-gradient(135deg, rgba(0, 255, 136, 0.2) 0%, rgba(0, 255, 136, 0.05) 100%);
color: var(--success);
box-shadow: 0 0 15px rgba(0, 255, 136, 0.3);
}

.unity-card:hover .card-icon,
.unity-card:focus .card-icon {
transform: scale(1.1);
box-shadow: 0 0 25px rgba(0, 255, 136, 0.5);
}

.unity-card .card-glow {
background: radial-gradient(circle at center, rgba(0, 255, 136, 0.15) 0%, transparent 70%);
}

.unity-card:hover .card-glow,
.unity-card:focus .card-glow {
opacity: 1;
}

/* ========================================
Connection Lines (Bridge Effect)
======================================== */
.smsu-connections {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
}

.connection-line {
stroke-dasharray: 200;
stroke-dashoffset: 200;
animation: drawLine 2s ease forwards;
}

@keyframes drawLine {
to {
stroke-dashoffset: 0;
}
}

.connection-node {
animation: nodePulse 2s ease-in-out infinite;
}

@keyframes nodePulse {
0%, 100% { opacity: 0.6; r: 4; }
50% { opacity: 1; r: 6; }
}

/* Staggered animation delays */
.connection-setu-mind { animation-delay: 0.5s; }
.connection-mind-satya { animation-delay: 1s; }
.connection-satya-unity { animation-delay: 1.5s; }
.connection-unity-setu { animation-delay: 2s; }

/* ========================================
Card Connectors (Visual Bridge Indicators)
=========================================== */
.card-connector {
position: absolute;
width: 20px;
height: 20px;
opacity: 0;
transition: var(--transition-normal);
}

.card-connector::before {
content: '';
position: absolute;
width: 10px;
height: 2px;
background: var(--secondary);
}

.smsu-card:hover .card-connector,
.smsu-card:focus .card-connector,
.smsu-card.active .card-connector {
opacity: 1;
animation: connectorPulse 1s ease-in-out infinite;
}

@keyframes connectorPulse {
0%, 100% { opacity: 0.5; }
50% { opacity: 1; }
}

.card-connector-left { left: -20px; top: 50%; transform: translateY(-50%); }
.card-connector-left::before { left: 0; top: 50%; transform: translateY(-50%); }

.card-connector-right { right: -20px; top: 50%; transform: translateY(-50%); }
.card-connector-right::before { right: 0; top: 50%; transform: translateY(-50%); }

.card-connector-top { top: -20px; left: 50%; transform: translateX(-50%); }
.card-connector-top::before { top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 10px; }

.card-connector-bottom { bottom: -20px; left: 50%; transform: translateX(-50%); }
.card-connector-bottom::before { bottom: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 10px; }

/* ========================================
Mobile Responsive Styles
======================================== */
@media (max-width: 600px) {
    .slogan {
        font-size: 1.7em;
    }

    .tagline {
        font-size: 1em;
    }

    .mission-section,
    .vision-section {
        padding: 20px 15px;
    }

    .section-title {
        font-size: 1.2em;
    }

    .mission-text,
    .vision-text {
        font-size: 0.95em;
    }

    .container {
        padding: 30px 20px;
    }

    /* Adjust decorative elements for mobile */
    .container::before,
    .container::after {
        width: 40px;
        height: 40px;
    }

    .social-links {
        gap: 10px;
    }
    
    .social-links a {
        width: 38px;
        height: 38px;
        font-size: 1em;
        margin: 0 4px;
    }
    
    /* SMSU Mobile Responsive */
    .smsu-section {
    padding: 30px 15px;
    margin: 20px 0;
    }
    
    .smsu-section .section-title {
    font-size: 1.4em;
    }
    
    .smsu-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    max-width: 300px;
    }
    
    .smsu-card {
    padding: 15px 12px;
    }
    
    .card-icon {
    width: 50px;
    height: 50px;
    font-size: 1.5em;
    margin-bottom: 12px;
    }
    
    .card-title {
    font-size: 1.1em;
    }
    
    .card-description {
    font-size: 0.85em;
    }
    
    .card-detail {
    font-size: 0.8em;
    }
    
    .smsu-connections {
    display: none;
    }
    
    .card-connector {
    display: none;
    }
    }
    
    @media (max-width: 400px) {
    .slogan {
        font-size: 1.4em;
    }

    .tagline {
        font-size: 0.95em;
    }

    .mission-text,
    .vision-text {
        font-size: 0.9em;
    }

    .container {
        padding: 25px 15px;
    }

    .submit-btn {
        padding: 12px 25px;
        font-size: 0.9em;
    }
}

/* ========================================
R2R Protocol Infographic Styles
======================================== */
.r2r-infographic {
  margin: var(--spacing-xl) 0;
  padding: var(--spacing-xl) 0;
  background: linear-gradient(135deg, var(--background) 0%, var(--surface) 50%, var(--primary) 100%);
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
}

.r2r-infographic::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(0, 212, 255, 0.1) 0%, transparent 50%),
              radial-gradient(circle at 70% 80%, rgba(123, 44, 191, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

/* Header Section */
.infographic-header {
  margin-bottom: var(--spacing-xl);
}

.header-banner {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  background-color: var(--surface);
  background-repeat: no-repeat;
  background-position: center;
}

.banner-image {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.8);
  transition: filter var(--transition-normal);
  opacity: 1 !important;
  visibility: visible !important;
}

.header-banner:hover .banner-image {
  filter: brightness(1);
}

.banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(45deg, rgba(26, 26, 46, 0.8) 0%, rgba(123, 44, 191, 0.6) 100%);
  color: var(--text-primary);
  text-align: center;
  padding: var(--spacing-lg);
}

.banner-title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.banner-subtitle {
  font-family: var(--font-body);
  font-size: clamp(0.9rem, 2vw, 1.2rem);
  opacity: 0.9;
  max-width: 600px;
}

/* Introductory Paragraph */
.intro-section {
  margin-bottom: var(--spacing-xl);
}

.intro-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.intro-text {
  font-family: var(--font-body);
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: var(--spacing-md);
  color: var(--text-secondary);
}

/* Core Protocol Section */
.protocol-section {
  margin-bottom: var(--spacing-xl);
}

.protocol-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--spacing-lg);
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.protocol-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--surface);
  min-height: 250px;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: var(--radius-lg);
}

.protocol-logo-image {
  max-width: 200px;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glow-cyan);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
  opacity: 1 !important;
  visibility: visible !important;
}

.protocol-logo-image:hover {
  transform: scale(1.05);
  box-shadow: var(--shadow-glow-purple);
}

.protocol-flowchart {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-md);
}

.flowchart-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr) auto;
  gap: var(--spacing-md);
  align-items: center;
}

.flow-step {
  text-align: center;
  padding: var(--spacing-md);
  background: var(--primary);
  border-radius: var(--radius-md);
  border: 1px solid var(--border-color);
  transition: all var(--transition-normal);
  position: relative;
}

.flow-step:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-glow-cyan);
  border-color: var(--secondary);
}

.step-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, var(--secondary), var(--tertiary));
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--spacing-sm);
  color: var(--text-primary);
  font-size: 1.5rem;
}

.step-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--spacing-xs);
  color: var(--text-primary);
}

.step-description {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

.flow-arrow {
  color: var(--secondary);
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Agent Diversity Section */
.agent-section {
  margin-bottom: var(--spacing-xl);
}

.agent-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.agent-image {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--surface);
  min-height: 400px;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: var(--radius-lg);
}

.agent-image-content {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-normal);
  opacity: 1 !important;
  visibility: visible !important;
}

.agent-image-content:hover {
  transform: scale(1.02);
}

.agent-callouts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-md);
}

.callout-box {
  background: var(--surface);
  border-radius: var(--radius-md);
  padding: var(--spacing-md);
  border: 1px solid var(--border-color);
  transition: all var(--transition-normal);
  position: relative;
  overflow: hidden;
}

.callout-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--secondary), var(--tertiary));
}

.callout-box:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--secondary);
}

.callout-icon {
  width: 40px;
  height: 40px;
  background: var(--primary);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--spacing-sm);
  color: var(--secondary);
  font-size: 1.2rem;
}

.callout-title {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: var(--spacing-xs);
  color: var(--text-primary);
}

.callout-text {
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* Future Vision Section */
.vision-section {
  margin-bottom: var(--spacing-xl);
}

.vision-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg);
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.vision-image {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--surface);
  min-height: 350px;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: var(--radius-lg);
}

.vision-image-content {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-normal);
  opacity: 1 !important;
  visibility: visible !important;
}

.vision-image-content:hover {
  transform: scale(1.02);
}

.vision-benefits {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-md);
}

.benefits-title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: var(--spacing-md);
  color: var(--text-primary);
  text-align: center;
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.benefit-item {
  display: flex;
  align-items: center;
  padding: var(--spacing-sm) 0;
  border-bottom: 1px solid var(--border-color);
  transition: all var(--transition-normal);
}

.benefit-item:last-child {
  border-bottom: none;
}

.benefit-item:hover {
  background: rgba(0, 212, 255, 0.05);
  padding-left: var(--spacing-sm);
}

.benefit-item i {
  width: 24px;
  height: 24px;
  background: var(--primary);
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--spacing-sm);
  color: var(--secondary);
  font-size: 0.9rem;
  flex-shrink: 0;
}

.benefit-item span {
  font-family: var(--font-body);
  color: var(--text-secondary);
  font-size: 0.95rem;
}

/* Footer Section */
.infographic-footer {
  text-align: center;
  padding: var(--spacing-xl) var(--spacing-lg);
  background: var(--surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.footer-title {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
  color: var(--text-primary);
  background: linear-gradient(135deg, var(--secondary), var(--tertiary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.footer-text {
  font-family: var(--font-body);
  font-size: 1.1rem;
  color: var(--text-secondary);
  margin-bottom: var(--spacing-lg);
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  background: linear-gradient(135deg, var(--secondary), var(--tertiary));
  color: var(--text-primary);
  padding: var(--spacing-md) var(--spacing-lg);
  border-radius: var(--radius-md);
  text-decoration: none;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.1rem;
  transition: all var(--transition-normal);
  box-shadow: var(--shadow-sm);
}

.footer-cta:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-glow-cyan);
  text-decoration: none;
  color: var(--text-primary);
}

/* Image Optimization & Loading States */
.r2r-infographic img[loading="lazy"] {
  transition: opacity var(--transition-normal);
}

.r2r-infographic img[loading="lazy"][data-src] {
  opacity: 0;
}

.r2r-infographic img[loading="lazy"].loaded {
  opacity: 1;
}

/* Loading Placeholders */
.r2r-infographic .image-placeholder {
  background: var(--surface);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 0.9rem;
  min-height: 200px;
  transition: all var(--transition-normal);
}

.r2r-infographic .image-placeholder::before {
  content: '🔄 Loading...';
  opacity: 0.7;
}

/* Enhanced Visual Hierarchy */
.r2r-infographic .section-divider {
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--secondary), var(--tertiary), transparent);
  margin: var(--spacing-xl) auto;
  max-width: 300px;
  border-radius: var(--radius-full);
}

/* Focus States for Accessibility */
.r2r-infographic .flow-step:focus,
.r2r-infographic .callout-box:focus,
.r2r-infographic .footer-cta:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow: var(--shadow-glow-cyan);
}

/* Mobile Responsive Design */
@media (max-width: 768px) {
  .protocol-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .protocol-logo {
    order: -1;
  }
  
  .flowchart-container {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .flow-arrow {
    display: none;
  }
  
  .agent-grid,
  .vision-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }
  
  .agent-callouts {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .banner-overlay {
    padding: var(--spacing-md);
  }
  
  .banner-title {
    font-size: 1.5rem;
  }
  
  .banner-subtitle {
    font-size: 0.9rem;
  }
  
  .intro-text {
    font-size: 1rem;
  }
  
  .step-icon {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
  }
  
  .step-title {
    font-size: 0.9rem;
  }
  
  .step-description {
    font-size: 0.8rem;
  }
  
  .callout-box {
    padding: var(--spacing-sm);
  }
  
  .benefits-title {
    font-size: 1.3rem;
  }
  
  .footer-title {
    font-size: 1.5rem;
  }
  
  .footer-text {
    font-size: 1rem;
  }
  
  .footer-cta {
    font-size: 1rem;
    padding: var(--spacing-sm) var(--spacing-md);
  }
}

@media (max-width: 480px) {
  .r2r-infographic {
    margin: var(--spacing-lg) 0;
    padding: var(--spacing-lg) 0;
  }
  
  .protocol-flowchart,
  .vision-benefits,
  .infographic-footer {
    padding: var(--spacing-md);
  }
  
  /* ========================================
  Image Debugging & Fallback Styles
  ======================================== */
  .r2r-infographic img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .image-fallback {
    background: var(--surface);
    border: 2px dashed var(--border-color);
    border-radius: var(--radius-md);
    padding: var(--spacing-md);
    text-align: center;
    color: var(--text-secondary);
    font-family: var(--font-body);
    margin: var(--spacing-sm) 0;
  }
  
  /* Ensure all infographic sections are visible */
  .r2r-infographic .infographic-header,
  .r2r-infographic .protocol-section,
  .r2r-infographic .agent-section,
  .r2r-infographic .vision-section {
    opacity: 1 !important;
    visibility: visible !important;
  }
  
  /* Force images to display */
  .r2r-infographic .banner-image,
  .r2r-infographic .protocol-logo-image,
  .r2r-infographic .agent-image-content,
  .r2r-infographic .vision-image-content {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }
  
  .flow-step {
    padding: var(--spacing-sm);
  }
  
  .benefit-item {
    padding: var(--spacing-xs) 0;
  }
  
  .benefit-item span {
    font-size: 0.9rem;
  }
}

/* ========================================
Company Slogan Section (After Mail)
======================================== */
.slogan-section {
	padding: 80px 40px;
	text-align: center;
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 50%, var(--tertiary) 100%);
	position: relative;
	overflow: hidden;
}

.slogan-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
				radial-gradient(circle at 70% 50%, rgba(255,255,255,0.1) 0%, transparent 50%);
	pointer-events: none;
}

.slogan-container {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}

.slogan-visual {
	position: relative;
	width: 120px;
	height: 120px;
	margin: 0 auto 30px;
}

.slogan-icon-wrapper {
	width: 100px;
	height: 100px;
	background: rgba(255,255,255,0.15);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px auto;
	backdrop-filter: blur(10px);
	border: 2px solid rgba(255,255,255,0.3);
	animation: pulse-glow 2s ease-in-out infinite;
}

.slogan-icon-wrapper i {
	font-size: 2.5rem;
	color: #fff;
}

.slogan-particles {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.particle {
	position: absolute;
	width: 8px;
	height: 8px;
	background: rgba(255,255,255,0.6);
	border-radius: 50%;
	animation: float-particle 3s ease-in-out infinite;
}

.particle-1 { top: 10%; left: 50%; animation-delay: 0s; }
.particle-2 { top: 30%; left: 10%; animation-delay: 0.5s; }
.particle-3 { top: 70%; left: 90%; animation-delay: 1s; }
.particle-4 { top: 90%; left: 40%; animation-delay: 1.5s; }
.particle-5 { top: 50%; left: 5%; animation-delay: 2s; }

@keyframes float-particle {
	0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
	50% { transform: translateY(-20px) scale(1.2); opacity: 1; }
}

@keyframes pulse-glow {
	0%, 100% { box-shadow: 0 0 20px rgba(255,255,255,0.3); }
	50% { box-shadow: 0 0 40px rgba(255,255,255,0.5); }
}

.slogan-text {
	font-family: var(--font-heading);
	font-size: 2.2rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 15px;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	animation: fadeInUp 0.8s ease-out;
}

.slogan-tagline {
	font-size: 1.1rem;
	color: rgba(255,255,255,0.9);
	font-weight: 400;
	animation: fadeInUp 0.8s ease-out 0.2s both;
}

@keyframes fadeInUp {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ========================================
Mission Section (Enhanced with Visual)
======================================== */
.mission-section {
	padding: 60px 20px;
	background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
	position: relative;
	overflow: hidden;
}

.mission-section::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(0,212,170,0.1) 0%, transparent 70%);
	pointer-events: none;
}

.mission-container {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 40px;
	align-items: center;
}

.mission-visual {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 0 auto;
}

.mission-icon {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--secondary) 0%, var(--success) 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	box-shadow: 0 10px 30px rgba(0,212,170,0.3);
}

.mission-icon i {
	font-size: 2rem;
	color: #fff;
}

.mission-ring {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 2px solid var(--secondary);
	border-radius: 50%;
	opacity: 0.3;
}

.mission-ring-1 {
	width: 100px;
	height: 100px;
	animation: ring-pulse 2s ease-in-out infinite;
}

.mission-ring-2 {
	width: 120px;
	height: 120px;
	animation: ring-pulse 2s ease-in-out infinite 0.3s;
}

.mission-ring-3 {
	width: 140px;
	height: 140px;
	animation: ring-pulse 2s ease-in-out infinite 0.6s;
}

@keyframes ring-pulse {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.3; }
	50% { transform: translate(-50%, -50%) scale(1.1); opacity: 0.1; }
}

.mission-content {
	padding: 20px;
}

.mission-section .section-title {
	font-family: var(--font-heading);
	font-size: 1.8rem;
	color: var(--secondary);
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
}

.mission-section .section-title::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--secondary), var(--success));
	border-radius: 2px;
}

.mission-text {
	font-size: 1.1rem;
	line-height: 1.8;
	color: var(--text-primary);
}

/* ========================================
Vision Section (Enhanced with Visual)
======================================== */
.vision-section {
	padding: 60px 20px;
	background: linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);
	position: relative;
	overflow: hidden;
}

.vision-section::before {
	content: '';
	position: absolute;
	top: -30%;
	left: -10%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(138,43,226,0.08) 0%, transparent 70%);
	pointer-events: none;
}

.vision-container {
	max-width: 1000px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 200px;
	gap: 40px;
	align-items: center;
}

.vision-content {
	padding: 20px;
	order: 1;
}

.vision-section .section-title {
	font-family: var(--font-heading);
	font-size: 1.8rem;
	color: var(--tertiary);
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
}

.vision-section .section-title::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--tertiary), var(--accent));
	border-radius: 2px;
}

.vision-text {
	font-size: 1.1rem;
	line-height: 1.8;
	color: var(--text-primary);
}

.vision-text strong {
	color: var(--tertiary);
	font-weight: 700;
}

.vision-visual {
	position: relative;
	width: 200px;
	height: 200px;
	margin: 0 auto;
	order: 2;
}

.vision-globe {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--tertiary) 0%, var(--accent) 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	box-shadow: 0 10px 40px rgba(138,43,226,0.4);
	animation: globe-float 4s ease-in-out infinite;
}

.vision-globe i {
	font-size: 2rem;
	color: #fff;
}

@keyframes globe-float {
	0%, 100% { transform: translate(-50%, -50%) translateY(0); }
	50% { transform: translate(-50%, -50%) translateY(-10px); }
}

.vision-orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 1px dashed var(--tertiary);
	border-radius: 50%;
	opacity: 0.3;
	animation: orbit-rotate 10s linear infinite;
}

.vision-orbit-1 {
	width: 100px;
	height: 100px;
}

.vision-orbit-2 {
	width: 140px;
	height: 140px;
	animation-duration: 15s;
	animation-direction: reverse;
}

.vision-orbit-3 {
	width: 180px;
	height: 180px;
	animation-duration: 20s;
}

@keyframes orbit-rotate {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

.vision-star {
	position: absolute;
	color: var(--accent);
	animation: star-twinkle 2s ease-in-out infinite;
}

.vision-star-1 { top: 20%; left: 30%; animation-delay: 0s; }
.vision-star-2 { top: 60%; left: 80%; animation-delay: 0.5s; }
.vision-star-3 { top: 80%; left: 20%; animation-delay: 1s; }

.vision-star i {
	font-size: 0.8rem;
}

@keyframes star-twinkle {
	0%, 100% { opacity: 0.5; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.2); }
}

/* ========================================
SMSU Core Values Cards (Enhanced)
======================================== */
.smsu-section {
	padding: 80px 40px;
	background: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
	position: relative;
}

.smsu-section .section-title {
	font-family: var(--font-heading);
	font-size: 2rem;
	text-align: center;
	color: var(--primary);
	margin-bottom: 10px;
}

.smsu-intro {
	text-align: center;
	color: var(--text-secondary);
	margin-bottom: 40px;
	font-size: 1.1rem;
}

.smsu-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.smsu-card {
	background: var(--bg-card);
	border-radius: 20px;
	padding: 30px 20px;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: all 0.4s ease;
	border: 1px solid rgba(255,255,255,0.1);
	box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.smsu-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}

.smsu-card:hover .card-glow {
	opacity: 1;
}

.card-glow {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 50% 0%, rgba(255,255,255,0.2) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

/* Card Visual Container */
.card-visual {
	position: relative;
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
}

.card-icon-wrapper {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.setu-card .card-icon-wrapper {
	background: linear-gradient(135deg, #00d4aa, #00a080);
	box-shadow: 0 5px 20px rgba(0,212,170,0.4);
}

.mind-card .card-icon-wrapper {
	background: linear-gradient(135deg, #6366f1, #4f46e5);
	box-shadow: 0 5px 20px rgba(99,102,241,0.4);
}

.satya-card .card-icon-wrapper {
	background: linear-gradient(135deg, #f59e0b, #d97706);
	box-shadow: 0 5px 20px rgba(245,158,11,0.4);
}

.unity-card .card-icon-wrapper {
	background: linear-gradient(135deg, #ec4899, #db2777);
	box-shadow: 0 5px 20px rgba(236,72,153,0.4);
}

.card-icon-wrapper i {
	font-size: 1.5rem;
	color: #fff;
}

/* Card-specific animations */
.card-pulse {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border: 2px solid var(--secondary);
	opacity: 0;
}

.card-pulse-1 {
	width: 60px;
	height: 60px;
	animation: pulse-expand 2s ease-out infinite;
}

.card-pulse-2 {
	width: 60px;
	height: 60px;
	animation: pulse-expand 2s ease-out infinite 0.5s;
}

@keyframes pulse-expand {
	0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.8; }
	100% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; }
}

/* Neural network animation for Mind card */
.card-neural {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.neural-node {
	position: absolute;
	width: 6px;
	height: 6px;
	background: var(--primary);
	border-radius: 50%;
	animation: neural-pulse 1.5s ease-in-out infinite;
}

.neural-node:nth-child(1) { top: 20%; left: 30%; animation-delay: 0s; }
.neural-node:nth-child(2) { top: 50%; left: 70%; animation-delay: 0.3s; }
.neural-node:nth-child(3) { top: 80%; left: 40%; animation-delay: 0.6s; }

@keyframes neural-pulse {
	0%, 100% { transform: scale(1); opacity: 0.5; }
	50% { transform: scale(1.5); opacity: 1; }
}

/* Ray animation for Satya card */
.card-rays {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
	pointer-events: none;
}

.ray {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 20px;
	background: linear-gradient(to top, transparent, rgba(245,158,11,0.5));
	transform-origin: bottom center;
	animation: ray-rotate 3s linear infinite;
}

.ray-1 { transform: translate(-50%, -100%) rotate(0deg); }
.ray-2 { transform: translate(-50%, -100%) rotate(45deg); }
.ray-3 { transform: translate(-50%, -100%) rotate(90deg); }
.ray-4 { transform: translate(-50%, -100%) rotate(135deg); }

@keyframes ray-rotate {
	from { opacity: 0.3; }
	50% { opacity: 1; }
	to { opacity: 0.3; }
}

/* Unity ring animation */
.card-unity-ring {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 70px;
	border: 1px dashed var(--accent);
	border-radius: 50%;
	animation: unity-spin 8s linear infinite;
}

.unity-dot {
	position: absolute;
	width: 8px;
	height: 8px;
	background: var(--accent);
	border-radius: 50%;
}

.unity-dot-1 { top: -4px; left: 50%; transform: translateX(-50%); }
.unity-dot-2 { bottom: 0; left: 0; }
.unity-dot-3 { bottom: 0; right: 0; }

@keyframes unity-spin {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Card Content */
.card-title {
	font-family: var(--font-heading);
	font-size: 1.3rem;
	color: var(--text-primary);
	margin-bottom: 10px;
}

.hindi-label {
	font-size: 0.85rem;
	color: var(--text-secondary);
	font-weight: 400;
}

.card-description {
	font-size: 0.95rem;
	color: var(--text-secondary);
	line-height: 1.5;
	margin-bottom: 15px;
}

.card-reveal {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, opacity 0.4s ease;
	opacity: 0;
}

.smsu-card:hover .card-reveal {
	max-height: 100px;
	opacity: 1;
}

.card-detail {
	font-size: 0.9rem;
	color: var(--text-primary);
	padding-top: 15px;
	border-top: 1px solid rgba(255,255,255,0.1);
}

/* ========================================
Responsive Styles for New Sections
======================================== */
@media (max-width: 992px) {
	.smsu-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.mission-container,
	.vision-container {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.vision-visual {
		order: 1;
	}
	
	.vision-content {
		order: 2;
	}
	
	.slogan-text {
		font-size: 1.8rem;
	}
}

@media (max-width: 768px) {
	.slogan-section {
		padding: 40px 15px;
	}
	
	.slogan-text {
		font-size: 1.5rem;
	}
	
	.slogan-visual {
		width: 100px;
		height: 100px;
	}
	
	.slogan-icon-wrapper {
		width: 80px;
		height: 80px;
	}
	
	.slogan-icon-wrapper i {
		font-size: 2rem;
	}
	
	.mission-section,
	.vision-section,
	.smsu-section {
	  padding: 40px 15px;
	}

	.mission-section .section-title,
	.vision-section .section-title,
	.smsu-section .section-title {
	  font-size: 1.5rem;
	}

	/* Fix grid layouts for mobile */
	.mission-container,
	.vision-container {
	  grid-template-columns: 1fr;
	  gap: 20px;
	  text-align: center;
	}

	.mission-visual,
	.vision-visual {
	  order: -1;
	  margin: 0 auto;
	}

	.mission-text,
	.vision-text {
	  font-size: 1rem;
	  line-height: 1.6;
	}

	.vision-text {
	  font-size: 0.95rem;
	}
	
	.mission-visual,
	.vision-visual {
		width: 120px;
		height: 120px;
	}
	
	.mission-text,
	.vision-text {
		font-size: 1rem;
	}
}

@media (max-width: 576px) {
	.smsu-grid {
		grid-template-columns: 1fr;
		max-width: 320px;
	}
	
	.slogan-text {
		font-size: 1.3rem;
	}
	
	.slogan-tagline {
		font-size: 1rem;
	}
	
	.mission-container,
	.vision-container {
		gap: 20px;
	}
	
	.smsu-card {
		padding: 18px 15px;
		min-height: 44px;
	}
	
	.card-visual {
		width: 60px;
		height: 60px;
	}
	
	.card-icon-wrapper {
		width: 50px;
		height: 50px;
	}

	.card-icon {
		width: 48px;
		height: 48px;
	}
	
	.card-icon-wrapper i {
		font-size: 1.2rem;
	}
}

/* Print Styles */
@media print {
	body {
		background: white;
		color: black;
	}

	.container {
		box-shadow: none;
		border: 1px solid #ccc;
	}

	.social-links a {
		color: black;
	}
	
	.slogan-section,
	.mission-section,
	.vision-section,
	.smsu-section {
		background: white !important;
	}
	
	.smsu-card {
		border: 1px solid #ccc;
		box-shadow: none;
	}
}

/* ========================================
HERO SECTION - Animated AI Agents & Flying Vehicles
=================================================== */

.hero-section {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow: hidden;
  background: linear-gradient(180deg, var(--primary) 0%, var(--background) 100%);
}

.hero-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 1200px;
  max-height: 675px;
  aspect-ratio: 16 / 9;
}

/* Background Layer */
.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.bg-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px);
  background-size: 40px 40px;
  transform: perspective(500px) rotateX(60deg);
  transform-origin: center bottom;
  opacity: 0.5;
}

.bg-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
}

.bg-glow-1 {
  top: 10%;
  left: 10%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(0, 212, 255, 0.3) 0%, transparent 70%);
  animation: glowFloat1 8s ease-in-out infinite;
}

.bg-glow-2 {
  top: 50%;
  right: 10%;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(123, 44, 191, 0.3) 0%, transparent 70%);
  animation: glowFloat2 10s ease-in-out infinite;
}

.bg-glow-3 {
  bottom: 20%;
  left: 30%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(0, 255, 136, 0.2) 0%, transparent 70%);
  animation: glowFloat3 12s ease-in-out infinite;
}

@keyframes glowFloat1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(20px, -20px) scale(1.1); }
}

@keyframes glowFloat2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-15px, 15px) scale(1.05); }
}

@keyframes glowFloat3 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(10px, -10px) scale(1.15); }
}

/* Data Streams */
.data-streams {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.data-stream {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: streamFlow 8s ease-in-out infinite;
}

.stream-1 { animation-delay: 0s; }
.stream-2 { animation-delay: 2s; }
.stream-3 { animation-delay: 4s; }

@keyframes streamFlow {
  0% { stroke-dashoffset: 1000; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}

/* AI Agents Base Styles */
.agent {
  position: absolute;
  transform: translateZ(0);
  will-change: transform;
}

.agent-label {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-accent);
  font-size: 0.7em;
  color: var(--secondary);
  opacity: 0.7;
  white-space: nowrap;
}

/* Background Agents */
.agent-bg {
  width: 40px;
  height: 50px;
  opacity: 0.4;
}

.agent-bg .agent-body {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--surface-light) 0%, var(--primary) 100%);
  border-radius: 8px 8px 4px 4px;
  position: relative;
}

.agent-bg .agent-body::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 8px;
  background: var(--secondary);
  border-radius: 4px;
  opacity: 0.6;
}

.agent-bg .agent-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, rgba(0, 212, 255, 0.2) 0%, transparent 70%);
  border-radius: 50%;
}

.agent-bg-1 {
  top: 15%;
  left: 8%;
  animation: bgAgentFloat1 18s ease-in-out infinite;
}

.agent-bg-2 {
  top: 25%;
  right: 12%;
  animation: bgAgentFloat2 20s ease-in-out infinite;
}

.agent-bg-3 {
  bottom: 20%;
  left: 15%;
  animation: bgAgentFloat3 22s ease-in-out infinite;
}

.agent-bg-4 {
  bottom: 30%;
  right: 8%;
  animation: bgAgentFloat4 16s ease-in-out infinite;
}

@keyframes bgAgentFloat1 {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(10px, -15px); }
  50% { transform: translate(5px, -5px); }
  75% { transform: translate(-5px, -20px); }
}

@keyframes bgAgentFloat2 {
  0%, 100% { transform: translate(0, 0); }
  33% { transform: translate(-15px, 10px); }
  66% { transform: translate(-10px, -10px); }
}

@keyframes bgAgentFloat3 {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(20px, 10px); }
}

@keyframes bgAgentFloat4 {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(-8px, 12px); }
  75% { transform: translate(12px, -8px); }
}

/* Humanoid Robot (Category A) - Enhanced Design */
.agent-humanoid {
	bottom: 15%;
	left: 10%;
	width: 140px;
	height: 180px;
	animation: humanoidFloat 4s ease-in-out infinite;
	filter: drop-shadow(0 0 20px rgba(0, 212, 255, 0.3));
}

.humanoid-container {
	position: relative;
	width: 100%;
	height: 100%;
}

/* Head - Enhanced with more detail */
.humanoid-head {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 55px;
	background: 
		linear-gradient(135deg, rgba(255,255,255,0.3) 0%, transparent 30%, transparent 70%, rgba(0,0,0,0.2) 100%),
		linear-gradient(180deg, #d4dde6 0%, #a8b8c6 20%, #8a9aaa 50%, #6d7d8c 100%);
	border-radius: 14px 14px 10px 10px;
	box-shadow: 
		0 0 30px rgba(0, 212, 255, 0.4),
		0 4px 15px rgba(0, 0, 0, 0.3),
		inset 0 2px 3px rgba(255, 255, 255, 0.5),
		inset 0 -8px 15px rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(0, 212, 255, 0.3);
}

.humanoid-head::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
	width: 35px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.4), transparent);
}

.humanoid-head::after {
	content: '';
	position: absolute;
	top: 45px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.3), transparent);
	border-radius: 1px;
}

.humanoid-face {
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 25px;
	display: flex;
	justify-content: space-between;
	padding: 0 5px;
}

.humanoid-eye {
	width: 14px;
	height: 14px;
	background: 
		radial-gradient(circle at 30% 30%, #2a2a4a 0%, #0a0a1a 60%, #000 100%);
	border-radius: 50%;
	position: relative;
	overflow: hidden;
	border: 2px solid rgba(0, 212, 255, 0.5);
	box-shadow: 
		inset 0 0 10px rgba(0, 0, 0, 0.8),
		0 0 15px rgba(0, 212, 255, 0.3);
}

.humanoid-eye::before {
	content: '';
	position: absolute;
	top: -3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 212, 255, 0.2) 0%, transparent 70%);
	animation: eyeRingPulse 2s ease-in-out infinite;
}

.eye-pupil {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: radial-gradient(circle at 30% 30%, #00ffff 0%, var(--secondary) 50%, #00a8a8 100%);
	border-radius: 50%;
	box-shadow: 
		0 0 10px var(--secondary),
		0 0 20px var(--secondary),
		0 0 30px rgba(0, 255, 255, 0.5);
	animation: eyePulse 2s ease-in-out infinite;
}

.eye-pupil::before {
	content: '';
	position: absolute;
	top: 15%;
	left: 20%;
	width: 3px;
	height: 3px;
	background: white;
	border-radius: 50%;
	opacity: 0.8;
}

@keyframes eyePulse {
	0%, 100% { 
		opacity: 0.85; 
		box-shadow: 0 0 10px var(--secondary), 0 0 15px var(--secondary);
		transform: translate(-50%, -50%) scale(1);
	}
	50% { 
		opacity: 1; 
		box-shadow: 0 0 20px var(--secondary), 0 0 35px var(--secondary), 0 0 50px rgba(0, 255, 255, 0.4);
		transform: translate(-50%, -50%) scale(1.1);
	}
}

@keyframes eyeRingPulse {
	0%, 100% { opacity: 0.5; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.15); }
}

.humanoid-antenna {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 6px;
	height: 20px;
	background: 
		linear-gradient(90deg, rgba(255,255,255,0.3) 0%, transparent 50%, rgba(0,0,0,0.2) 100%),
		linear-gradient(180deg, #c0d0e0 0%, #8090a0 50%, #606870 100%);
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(0, 212, 255, 0.3);
}

.humanoid-antenna::before {
	content: '';
	position: absolute;
	top: -4px;
	left: 50%;
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	background: linear-gradient(135deg, #d4dde6 0%, #8a9aaa 100%);
	border-radius: 2px;
}

.humanoid-antenna::after {
	content: '';
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	width: 12px;
	height: 12px;
	background: radial-gradient(circle at 30% 30%, #80ffff 0%, var(--secondary) 40%, #008080 100%);
	border-radius: 50%;
	box-shadow: 
		0 0 20px var(--secondary),
		0 0 40px var(--secondary),
		0 0 60px rgba(0, 255, 255, 0.5),
		0 0 80px rgba(0, 255, 255, 0.2);
	animation: antennaGlow 1.5s ease-in-out infinite;
}

@keyframes antennaGlow {
	0%, 100% { 
		opacity: 0.7; 
		box-shadow: 
			0 0 15px var(--secondary),
			0 0 30px rgba(0, 255, 255, 0.4),
			0 0 45px rgba(0, 255, 255, 0.2);
		transform: translateX(-50%) scale(1);
	}
	50% { 
		opacity: 1; 
		box-shadow: 
			0 0 25px var(--secondary),
			0 0 50px var(--secondary),
			0 0 75px rgba(0, 255, 255, 0.5),
			0 0 100px rgba(0, 255, 255, 0.3);
		transform: translateX(-50%) scale(1.15);
	}
}

.humanoid-body {
	position: absolute;
	top: 55px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 70px;
	background: 
		linear-gradient(180deg, #d4dde6 0%, #a8b8c6 15%, #8a9aaa 50%, #6d7d8c 100%);
	border-radius: 10px;
	box-shadow: 
		0 0 25px rgba(0, 212, 255, 0.3),
		inset 0 2px 3px rgba(255, 255, 255, 0.4),
		inset 0 -10px 20px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(0, 212, 255, 0.2);
}

.humanoid-body::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.3), transparent);
}

.humanoid-body::after {
	content: '';
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	width: 55px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.2), transparent);
}

.body-chest {
	position: absolute;
	top: 8px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 40px;
	background: 
		linear-gradient(180deg, #1a1a2e 0%, #0a0a15 100%);
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(0, 212, 255, 0.4);
	box-shadow: 
		inset 0 0 20px rgba(0, 0, 0, 0.8),
		0 0 15px rgba(0, 212, 255, 0.2);
}

.body-chest::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: 
		linear-gradient(90deg, rgba(0, 212, 255, 0.1) 1px, transparent 1px),
		linear-gradient(0deg, rgba(0, 212, 255, 0.1) 1px, transparent 1px);
	background-size: 10px 10px;
}

.chest-panel {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 35px;
	height: 22px;
	background: linear-gradient(90deg, var(--secondary) 0%, var(--tertiary) 50%, var(--secondary) 100%);
	border-radius: 4px;
	opacity: 0.9;
	animation: chestGlow 3s ease-in-out infinite;
	box-shadow: 
		0 0 15px var(--secondary),
		0 0 30px rgba(0, 255, 255, 0.3),
		inset 0 0 10px rgba(255, 255, 255, 0.3);
}

.chest-panel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: rgba(255, 255, 255, 0.6);
	animation: chestScanLine 2s linear infinite;
}

@keyframes chestGlow {
	0%, 100% { 
		opacity: 0.7; 
		box-shadow: 0 0 15px var(--secondary), 0 0 25px rgba(0, 255, 255, 0.3);
	}
	50% { 
		opacity: 1; 
		box-shadow: 0 0 25px var(--secondary), 0 0 40px var(--secondary), 0 0 60px rgba(0, 255, 255, 0.4);
	}
}

@keyframes chestScanLine {
	0% { top: 0; opacity: 0.8; }
	100% { top: 100%; opacity: 0.3; }
}

.body-arm {
	position: absolute;
	top: 58px;
	width: 16px;
	height: 55px;
	background: 
		linear-gradient(180deg, #c0d0e0 0%, #a8b8c6 30%, #8a9aaa 70%, #6d7d8c 100%);
	border-radius: 6px;
	box-shadow: 
		0 0 15px rgba(0, 212, 255, 0.2),
		inset 0 2px 3px rgba(255, 255, 255, 0.3),
		inset 0 -5px 10px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 212, 255, 0.15);
}

.body-arm::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	width: 12px;
	height: 4px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.4), transparent);
	border-radius: 2px;
}

.arm-segment {
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 20px;
	background: 
		radial-gradient(circle at 30% 30%, #d4dde6 0%, #8a9aaa 100%);
	border-radius: 50%;
	opacity: 0.8;
	box-shadow: 
		0 0 10px rgba(0, 212, 255, 0.3),
		inset 0 2px 4px rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(0, 212, 255, 0.3);
}

.arm-segment::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: var(--secondary);
	border-radius: 50%;
	opacity: 0.6;
	box-shadow: 0 0 10px var(--secondary);
	animation: armCorePulse 2s ease-in-out infinite;
}

@keyframes armCorePulse {
	0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.8); }
	50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1); }
}

.arm-left {
	left: -12px;
	transform-origin: top center;
	animation: armGestureLeft 3s ease-in-out infinite;
}

.arm-right {
	right: -12px;
	transform-origin: top center;
	animation: armGestureRight 3s ease-in-out infinite 1.5s;
}

@keyframes armGestureLeft {
	0%, 100% { transform: rotate(0deg); }
	20% { transform: rotate(-15deg); }
	40% { transform: rotate(-25deg); }
	60% { transform: rotate(-10deg); }
	80% { transform: rotate(-20deg); }
}

@keyframes armGestureRight {
	0%, 100% { transform: rotate(0deg); }
	20% { transform: rotate(20deg); }
	40% { transform: rotate(30deg); }
	60% { transform: rotate(15deg); }
	80% { transform: rotate(25deg); }
}

.humanoid-legs {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 45px;
	display: flex;
	justify-content: space-between;
}

.leg {
	position: relative;
	width: 18px;
	height: 45px;
	background: 
		linear-gradient(180deg, #b0c0d0 0%, #8a9aaa 30%, #6d7d8c 70%, #505860 100%);
	border-radius: 5px 5px 10px 10px;
	box-shadow: 
		0 0 15px rgba(0, 212, 255, 0.2),
		inset 0 2px 3px rgba(255, 255, 255, 0.3),
		inset 0 -5px 10px rgba(0, 0, 0, 0.15);
	border: 1px solid rgba(0, 212, 255, 0.15);
}

.leg::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	width: 14px;
	height: 3px;
	background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.4), transparent);
	border-radius: 2px;
}

.leg::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 22px;
	height: 10px;
	background: linear-gradient(180deg, #505860 0%, #404850 100%);
	border-radius: 3px 3px 5px 5px;
	box-shadow: 0 0 10px rgba(0, 212, 255, 0.15);
}

@keyframes humanoidFloat {
	0%, 100% { 
		transform: translateY(0) rotate(0deg);
	}
	25% { 
		transform: translateY(-6px) rotate(0.5deg);
	}
	50% { 
		transform: translateY(-10px) rotate(0deg);
	}
	75% { 
		transform: translateY(-6px) rotate(-0.5deg);
	}
}


/* Holographic Avatar (Category B) */
.agent-holographic {
  bottom: 15%;
  right: 10%;
  width: 120px;
  height: 160px;
  animation: holoFloat 3s ease-in-out infinite;
}

.holographic-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.holo-body {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 140px;
  background: linear-gradient(180deg, rgba(123, 44, 191, 0.6) 0%, rgba(123, 44, 191, 0.3) 100%);
  border-radius: 40px 40px 20px 20px;
  backdrop-filter: blur(5px);
  border: 1px solid rgba(0, 212, 255, 0.3);
  box-shadow:
    0 0 30px rgba(123, 44, 191, 0.4),
    inset 0 0 20px rgba(0, 212, 255, 0.1);
}

.holo-head {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 45px;
  height: 45px;
  background: linear-gradient(180deg, rgba(123, 44, 191, 0.7) 0%, rgba(123, 44, 191, 0.4) 100%);
  border-radius: 50%;
  border: 1px solid rgba(0, 212, 255, 0.4);
}

.holo-face {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
  height: 15px;
}

.holo-eye {
  position: absolute;
  top: 0;
  width: 10px;
  height: 10px;
  background: var(--secondary);
  border-radius: 50%;
  box-shadow: 0 0 15px var(--secondary);
  animation: holoEyeBlink 3s ease-in-out infinite;
}

.holo-eye:first-child { left: 0; }
.holo-eye:last-child { right: 0; }

@keyframes holoEyeBlink {
  0%, 45%, 55%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.8); }
}

.holo-torso {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 60px;
  overflow: hidden;
}

.holo-data-stream {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(0, 212, 255, 0.3) 20%,
    rgba(0, 212, 255, 0.5) 50%,
    rgba(0, 212, 255, 0.3) 80%,
    transparent 100%);
  animation: dataStreamFlow 2s linear infinite;
}

@keyframes dataStreamFlow {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}

.holo-arms {
  position: absolute;
  top: 55px;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 50px;
}

.holo-arm {
  position: absolute;
  top: 0;
  width: 20px;
  height: 45px;
  background: linear-gradient(180deg, rgba(123, 44, 191, 0.5) 0%, rgba(123, 44, 191, 0.2) 100%);
  border-radius: 10px;
  border: 1px solid rgba(0, 212, 255, 0.2);
}

.holo-arm.arm-left {
  left: 0;
  transform-origin: top center;
  animation: holoArmLeft 4s ease-in-out infinite;
}

.holo-arm.arm-right {
  right: 0;
  transform-origin: top center;
  animation: holoArmRight 4s ease-in-out infinite 2s;
}

@keyframes holoArmLeft {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-30deg); }
}

@keyframes holoArmRight {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(30deg); }
}

/* Holographic Rings */
.holo-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 50%;
  animation: ringRotate 8s linear infinite;
}

.ring-1 {
  width: 100px;
  height: 100px;
  animation-duration: 10s;
}

.ring-2 {
  width: 120px;
  height: 120px;
  animation-duration: 12s;
  animation-direction: reverse;
}

.ring-3 {
  width: 140px;
  height: 140px;
  animation-duration: 15s;
}

@keyframes ringRotate {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Holographic Particles */
.holo-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.holo-particles .particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: var(--secondary);
  border-radius: 50%;
  opacity: 0;
  animation: particleFloat 3s ease-in-out infinite;
}

.holo-particles .particle:nth-child(1) { left: 20%; top: 30%; animation-delay: 0s; }
.holo-particles .particle:nth-child(2) { left: 70%; top: 20%; animation-delay: 0.5s; }
.holo-particles .particle:nth-child(3) { left: 30%; top: 60%; animation-delay: 1s; }
.holo-particles .particle:nth-child(4) { left: 80%; top: 50%; animation-delay: 1.5s; }
.holo-particles .particle:nth-child(5) { left: 50%; top: 80%; animation-delay: 2s; }

@keyframes particleFloat {
  0% { opacity: 0; transform: translateY(0) scale(0.5); }
  50% { opacity: 1; transform: translateY(-20px) scale(1); }
  100% { opacity: 0; transform: translateY(-40px) scale(0.5); }
}

@keyframes holoFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Holographic Display */
.holographic-display {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 120px;
  perspective: 500px;
}

.display-screen {
  position: relative;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 212, 255, 0.1) 0%, rgba(123, 44, 191, 0.1) 100%);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 8px;
  overflow: hidden;
  transform: rotateX(10deg);
  box-shadow: 0 0 30px rgba(0, 212, 255, 0.2);
}

.display-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:
    linear-gradient(rgba(0, 212, 255, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 212, 255, 0.1) 1px, transparent 1px);
  background-size: 15px 15px;
  animation: gridScroll 20s linear infinite;
}

@keyframes gridScroll {
  0% { background-position: 0 0; }
  100% { background-position: 0 300px; }
}

.display-data {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
}

.data-line {
  height: 8px;
  background: linear-gradient(90deg, var(--secondary) 0%, transparent 100%);
  margin-bottom: 5px;
  border-radius: 2px;
  animation: dataLinePulse 2s ease-in-out infinite;
}

.data-line:nth-child(1) { width: 80%; animation-delay: 0s; }
.data-line:nth-child(2) { width: 60%; animation-delay: 0.3s; }
.data-line:nth-child(3) { width: 70%; animation-delay: 0.6s; }

@keyframes dataLinePulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.display-frame {
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border: 1px solid rgba(0, 212, 255, 0.2);
  border-radius: 12px;
  animation: framePulse 3s ease-in-out infinite;
}

@keyframes framePulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.6; }
}

/* Flying Vehicle (AeroCab) */
.flying-vehicle {
  position: absolute;
  top: 15%;
  right: 20%;
  width: 100px;
  height: 50px;
  animation: vehicleHover 4s ease-in-out infinite;
}

.vehicle-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.vehicle-body {
  position: relative;
  width: 100%;
  height: 35px;
  background: linear-gradient(180deg, #F5F5F7 0%, #d4d4d6 100%);
  border-radius: 20px 50px 15px 15px;
  box-shadow:
    0 5px 20px rgba(0, 0, 0, 0.3),
    inset 0 -5px 10px rgba(0, 0, 0, 0.1);
}

.vehicle-cockpit {
  position: absolute;
  top: 5px;
  left: 20px;
  width: 40px;
  height: 20px;
  background: linear-gradient(180deg, rgba(0, 212, 255, 0.3) 0%, rgba(0, 212, 255, 0.1) 100%);
  border-radius: 10px 20px 5px 5px;
  border: 1px solid rgba(0, 212, 255, 0.4);
}

.vehicle-wing {
  position: absolute;
  top: 15px;
  width: 25px;
  height: 8px;
  background: linear-gradient(180deg, #e0e0e2 0%, #c0c0c2 100%);
  border-radius: 3px;
}

.wing-left {
  left: -15px;
  transform: rotate(-15deg);
}

.wing-right {
  right: -15px;
  transform: rotate(15deg);
}

.vehicle-engine {
  position: absolute;
  bottom: -5px;
  width: 20px;
  height: 15px;
  background: #1a1a2e;
  border-radius: 0 0 10px 10px;
}

.engine-left { left: 15px; }
.engine-right { right: 15px; }

.thruster-glow {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 20px;
  background: linear-gradient(180deg, #FFFFFF 0%, var(--secondary) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(5px);
  animation: thrusterPulse 0.3s ease-in-out infinite;
}

@keyframes thrusterPulse {
  0%, 100% { opacity: 0.8; height: 20px; }
  50% { opacity: 1; height: 25px; }
}

.vehicle-light {
  position: absolute;
  top: 8px;
  right: 5px;
  width: 6px;
  height: 6px;
  background: var(--secondary);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--secondary);
  animation: lightBlink 1s ease-in-out infinite;
}

@keyframes lightBlink {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

.vehicle-trail {
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translateY(-50%);
  display: flex;
  gap: 5px;
}

.trail-particle {
  width: 8px;
  height: 8px;
  background: var(--secondary);
  border-radius: 50%;
  opacity: 0;
  animation: trailFade 1s ease-out infinite;
}

.trail-particle:nth-child(1) { animation-delay: 0s; }
.trail-particle:nth-child(2) { animation-delay: 0.2s; }
.trail-particle:nth-child(3) { animation-delay: 0.4s; }

@keyframes trailFade {
  0% { opacity: 0.8; transform: translateX(0) scale(1); }
  100% { opacity: 0; transform: translateX(-30px) scale(0.3); }
}

@keyframes vehicleHover {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-8px) rotate(1deg); }
  75% { transform: translateY(8px) rotate(-1deg); }
}

/* Secondary Vehicles */
.vehicle-secondary {
  position: absolute;
  opacity: 0.3;
}

.vehicle-simple {
  width: 30px;
  height: 15px;
  background: linear-gradient(180deg, #F5F5F7 0%, #d4d4d6 100%);
  border-radius: 8px 15px 8px 8px;
  position: relative;
}

.vehicle-simple::before {
  content: '';
  position: absolute;
  top: -3px;
  left: 5px;
  width: 15px;
  height: 8px;
  background: rgba(0, 212, 255, 0.3);
  border-radius: 5px 10px 3px 3px;
}

.vehicle-2 {
  top: 20%;
  right: 5%;
  animation: vehicle2Move 15s ease-in-out infinite;
}

.vehicle-3 {
  top: 35%;
  left: 5%;
  animation: vehicle3Move 18s ease-in-out infinite reverse;
}

@keyframes vehicle2Move {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(50px); }
}

@keyframes vehicle3Move {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-30px); }
}

/* Hero Content Overlay */
.hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-top: clamp(280px, 50vw, 400px);
  padding: clamp(15px, 4vw, 20px);
}

.hero-logo {
  width: 300px;
  height: 300px;
  max-width: 300px;
  height: auto;
  margin-bottom: clamp(15px, 3vw, 20px);
  filter: drop-shadow(0 0 15px rgba(0, 212, 255, 0.5));
  animation: logoGlow 3s ease-in-out infinite alternate;
}

.hero-title {
  font-family: var(--font-heading);
  font-size: clamp(1.3em, 5vw, 2.5em);
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: clamp(10px, 2vw, 15px);
  text-shadow: 0 0 30px rgba(0, 212, 255, 0.4);
  line-height: 1.2;
}

.hero-tagline {
  font-family: var(--font-body);
  font-size: clamp(0.9em, 2.5vw, 1.1em);
  color: var(--text-secondary);
  margin-bottom: clamp(18px, 4vw, 25px);
  opacity: 0.9;
}

.hero-cta {
  margin-top: 10px;
}

.cta-button {
  display: inline-block;
  padding: clamp(12px, 3vw, 15px) clamp(25px, 5vw, 40px);
  font-family: var(--font-heading);
  font-size: clamp(0.9em, 2vw, 1em);
  font-weight: 600;
  color: var(--background);
  background: linear-gradient(135deg, var(--secondary) 0%, var(--success) 100%);
  border: none;
  border-radius: var(--radius-md);
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition-normal);
  box-shadow: 0 5px 20px rgba(0, 212, 255, 0.3);
  min-height: var(--touch-target-min);
}

.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0, 212, 255, 0.5), 0 0 40px rgba(0, 255, 136, 0.3);
}

.cta-button:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Responsive Hero - Desktop-first */
@media (min-width: 1200px) {
	.hero-canvas {
		max-width: 1400px;
		max-height: 787px;
	}

	.hero-title {
		font-size: 3em;
	}

	.hero-tagline {
		font-size: 1.3em;
	}
}

@media (min-width: 992px) {
	.hero-canvas {
		max-width: 1100px;
		max-height: 619px;
	}

	.hero-title {
		font-size: 2.5em;
	}
}

/* Responsive Hero */
@media (max-width: 1024px) {
  .hero-canvas {
    max-height: 500px;
  }
  
  .hero-title {
    font-size: 2em;
  }
  
  .agent-humanoid {
    width: 100px;
    height: 130px;
    left: 5%;
  }
  
  .agent-holographic {
    width: 90px;
    height: 120px;
    right: 5%;
  }
  
  .flying-vehicle {
    width: 80px;
    height: 40px;
    right: 10%;
  }
  
  .holographic-display {
    width: 150px;
    height: 90px;
  }
}

@media (max-width: 768px) {
  .hero-canvas {
    max-height: 400px;
  }
  
  .hero-title {
    font-size: 1.6em;
  }
  
  .hero-tagline {
    font-size: 0.95em;
  }
  
  .agent-humanoid {
  	width: 70px;
  	height: 90px;
  	left: 3%;
  	bottom: 10%;
  }
 
  .agent-holographic {
  	width: 60px;
  	height: 80px;
  	right: 3%;
  	bottom: 10%;
  }
 
  .flying-vehicle {
  	top: 10%;
  	right: 5%;
  	width: 60px;
  	height: 30px;
  }
 
  .holographic-display {
  	width: 100px;
  	height: 60px;
  	top: 20%;
  }
 
  .agent-bg {
  	width: 25px;
  	height: 32px;
  	opacity: 0.3;
  }
 
  .agent-bg-1 {
  	top: 8%;
  	left: 5%;
  }
 
  .agent-bg-2 {
  	top: 15%;
  	right: 8%;
  }
 
  .agent-bg-3 {
  	bottom: 12%;
  	left: 8%;
  }
 
  .agent-bg-4 {
  	bottom: 18%;
  	right: 5%;
  }
  
  .vehicle-secondary {
    display: none;
  }
  
  .data-streams {
    opacity: 0.5;
  }
}

@media (max-width: 576px) {
	.hero-canvas {
		max-height: 350px;
	}

	.hero-title {
		font-size: 1.5em;
	}

	.hero-tagline {
		font-size: 0.9em;
		padding: 0 15px;
	}

	.holographic-display {
		width: 110px;
		height: 65px;
	}
}

@media (max-width: 480px) {
	.hero-canvas {
		max-height: 300px;
	}

	.hero-title {
		font-size: 1.3em;
	}

	.hero-logo {
		width: 280px;
		height: 280px;
		max-width: 280px;
	}

	.cta-button {
		padding: 14px 30px; /* 44px min-height touch target */
		font-size: 0.95em;
		min-height: 44px;
	}

	.holographic-display {
		width: 100px;
		height: 60px;
	}
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .hero-section *,
  .hero-section *::before,
  .hero-section *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  
  .data-stream {
    stroke-dashoffset: 0;
    opacity: 0.5;
  }
}
