/* ITGS Visual Polish Enhancement
   Quick-hit improvements for hero section, color contrast, interactive feedback, and CTAs.
   Drop this stylesheet into the <head> of every page for instant visual elevation.
*/

/* ─── HERO SECTION: More Dramatic Visuals ─────────────────────────────────────── */
.hero {
  background: linear-gradient(135deg, var(--bg) 0%, var(--bg2) 50%, var(--obsidian) 100%);
}

.hero-bg {
  background: 
    radial-gradient(ellipse 70% 80% at 8% 70%, rgba(139, 26, 46, 0.14) 0%, transparent 45%),
    radial-gradient(ellipse 60% 65% at 90% 20%, rgba(123, 167, 188, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse 45% 50% at 50% 50%, rgba(100, 120, 140, 0.06) 0%, transparent 60%);
}

.hero-el-r {
  animation: elREnhanced 12s ease-in-out infinite;
  opacity: 0.75 !important;
}

.hero-el-b {
  animation: elBEnhanced 12s ease-in-out 6s infinite;
  opacity: 0.7 !important;
}

@keyframes elREnhanced {
  0%, 100% { opacity: 0.6; transform: translateY(-50%) scale(0.95); }
  50% { opacity: 0.85; transform: translateY(-50%) scale(1.15); }
}

@keyframes elBEnhanced {
  0%, 100% { opacity: 0.55; transform: translateY(-50%) scale(0.95); }
  50% { opacity: 0.8; transform: translateY(-50%) scale(1.15); }
}

/* Hero text animation */
.hero-title {
  animation: slideInDown 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s backwards;
}

.hero-stmt {
  animation: slideInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.25s backwards;
}

.hero-cta, .hero-badges {
  animation: fadeIn 0.7s ease 0.45s backwards;
}

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

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

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ─── ENHANCED BUTTON & CTA STYLING ───────────────────────────────────────────── */

/* Primary CTAs: More inviting, stronger presence */
.btn-p {
  background: linear-gradient(135deg, var(--gray) 0%, #7A7068 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 16px rgba(106, 98, 114, 0.35);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
  overflow: hidden;
}

.btn-p::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.btn-p:hover {
  background: linear-gradient(135deg, var(--gray-lt) 0%, #9A9080 100%);
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 8px 28px rgba(106, 98, 114, 0.52);
  transform: translateY(-2px);
  color: var(--bg);
}

.btn-p:hover::before {
  opacity: 1;
}

/* Secondary CTAs: More subtle but visually interesting */
.btn-s {
  border: 1.5px solid rgba(154, 144, 164, 0.4);
  transition: all 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
  position: relative;
}

.btn-s::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--border);
  opacity: 0;
  transition: opacity 0.28s ease;
  border-radius: inherit;
  z-index: -1;
}

.btn-s:hover {
  border-color: rgba(154, 144, 164, 0.7);
  color: var(--text);
  background: rgba(154, 144, 164, 0.08);
  box-shadow: 0 4px 12px rgba(154, 144, 164, 0.2);
  transform: translateY(-1px);
}

/* Navigation buttons */
.btn-nav {
  border: 1.5px solid rgba(201, 210, 222, 0.35);
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.btn-nav:hover {
  border-color: var(--blue-lt);
  background: rgba(201, 210, 222, 0.16);
  box-shadow: 0 4px 14px rgba(201, 210, 222, 0.25);
  transform: translateY(-2px);
  color: var(--text);
}

.btn-nav-rose {
  border-color: rgba(207, 161, 174, 0.52);
  box-shadow: 0 2px 8px rgba(207, 161, 174, 0.15);
}

.btn-nav-rose:hover {
  border-color: var(--red-lt);
  background: rgba(207, 161, 174, 0.2);
  box-shadow: 0 4px 14px rgba(207, 161, 174, 0.32);
  color: var(--red-lt);
}

/* ─── COLOR & CONTRAST ENHANCEMENTS ──────────────────────────────────────────── */

/* Boost mid-tone contrast */
.s-title {
  color: var(--text);
  font-weight: 600;
  letter-spacing: 1px;
}

.s-title em {
  color: var(--red-lt);
  font-weight: 700;
}

/* Stronger text hierarchy */
.s-body strong {
  color: var(--blue-lt);
  font-weight: 600;
}

/* ─── INTERACTIVE ELEMENTS: Enhanced Feedback ─────────────────────────────────── */

/* Hover effects on cards and boxes */
.pillar {
  transition: all 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.pillar:hover {
  background: rgba(106, 98, 114, 0.09);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
  transform: translateX(6px) translateY(-2px);
}

/* Founder grid cards */
.fng, .frg {
  transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.fng:hover {
  background: rgba(123, 167, 188, 0.12);
  border-color: rgba(123, 167, 188, 0.48);
  box-shadow: 0 12px 28px rgba(123, 167, 188, 0.28);
  transform: translateY(-4px);
}

.frg:hover {
  background: rgba(139, 26, 46, 0.12);
  border-color: rgba(139, 26, 46, 0.48);
  box-shadow: 0 12px 28px rgba(139, 26, 46, 0.28);
  transform: translateY(-4px);
}

/* Project items with better visual feedback */
.pitem {
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.pitem:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
  transform: translateY(-2px) translateX(3px);
}

.pitem::before {
  transition: width 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Community cards */
.cc {
  transition: all 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.cc:hover {
  background: rgba(106, 98, 114, 0.09);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
  transform: translateY(-3px);
}

/* Media cards */
.media-card {
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.media-card:hover {
  background: rgba(106, 98, 114, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
  transform: translateY(-3px) scale(1.01);
}

/* ─── PODCAST & FEATURED SECTIONS ──────────────────────────────────────────────── */

.pod-banner {
  background: linear-gradient(135deg, rgba(207, 161, 174, 0.14), rgba(201, 210, 222, 0.1));
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  border: 1px solid rgba(201, 210, 222, 0.28);
}

.pod-banner:hover {
  background: linear-gradient(135deg, rgba(207, 161, 174, 0.18), rgba(201, 210, 222, 0.14));
  border-color: rgba(201, 210, 222, 0.52);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  transform: translateY(-2px);
}

.pod-cta {
  background: linear-gradient(135deg, rgba(201, 210, 222, 0.12), rgba(201, 210, 222, 0.06));
  border: 1.5px solid rgba(201, 210, 222, 0.35);
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.pod-cta:hover {
  background: linear-gradient(135deg, rgba(201, 210, 222, 0.18), rgba(201, 210, 222, 0.12));
  border-color: var(--blue-lt);
  color: var(--text);
  box-shadow: 0 6px 16px rgba(201, 210, 222, 0.3);
  transform: translateY(-2px);
}

/* ─── TICKER: More polished animation ────────────────────────────────────────── */

.ticker {
  background: linear-gradient(90deg, 
    rgba(106, 98, 114, 0.03) 0%, 
    rgba(106, 98, 114, 0.07) 50%, 
    rgba(106, 98, 114, 0.03) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* ─── NAVIGATION: More Inviting ──────────────────────────────────────────────── */

nav {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  transition: all 0.3s ease;
}

.home-nav.is-scrolled {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.32);
}

.nav-drop-panel {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.42);
}

/* ─── BADGES: More prominent ─────────────────────────────────────────────────– */

.hbadge {
  border: 1px solid rgba(154, 144, 164, 0.4);
  background: rgba(106, 98, 114, 0.08);
  transition: all 0.25s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.hbadge:hover {
  border-color: rgba(154, 144, 164, 0.7);
  background: rgba(154, 144, 164, 0.14);
  transform: scale(1.05);
}

/* ─── REDUCED MOTION SUPPORT ────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .pillar:hover,
  .pitem:hover,
  .cc:hover,
  .media-card:hover,
  .btn-p:hover,
  .btn-s:hover,
  .pod-banner:hover {
    transform: none !important;
  }
}

/* ─── MOBILE OPTIMIZATIONS ───────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .hero-el-r, .hero-el-b {
    width: 280px;
    height: 280px;
    opacity: 0.4 !important;
  }

  .pillar:hover {
    transform: translateX(3px) !important;
  }

  .pitem:hover,
  .cc:hover,
  .media-card:hover {
    transform: none !important;
  }

  .btn-p:hover,
  .btn-s:hover,
  .btn-nav:hover {
    transform: none !important;
  }
}

/* ── The Stars: cosmic portal button ─────────────────────────────────────────── */

.btn-nav-stars {
  border-color: rgba(168, 130, 220, 0.55) !important;
  color: #d4b8f0 !important;
  background: rgba(120, 80, 180, 0.15) !important;
  text-shadow: 0 0 10px rgba(200, 160, 255, 0.5);
  box-shadow: 0 0 12px rgba(140, 90, 220, 0.3), inset 0 0 8px rgba(140, 90, 220, 0.1) !important;
  animation: starsGlow 3s ease-in-out infinite;
}

.btn-nav-stars:hover {
  border-color: rgba(200, 160, 255, 0.85) !important;
  background: rgba(140, 90, 220, 0.28) !important;
  box-shadow: 0 0 22px rgba(160, 100, 255, 0.55), inset 0 0 10px rgba(140, 90, 220, 0.15) !important;
  color: #ede0ff !important;
  transform: translateY(-2px);
}

@keyframes starsGlow {
  0%, 100% { box-shadow: 0 0 10px rgba(140,90,220,0.25), inset 0 0 6px rgba(140,90,220,0.08); }
  50%       { box-shadow: 0 0 22px rgba(160,100,255,0.45), inset 0 0 10px rgba(160,100,255,0.12); }
}
