/* ============================================
   Page-Specific Styles
   ============================================ */

/* ---------- HOME: Hero Slider ---------- */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 40%, #1a3a6b 100%);
}
.hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 800px;
  height: 800px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--accent-rgb), 0.08) 0%, transparent 70%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--accent-rgb), 0.05) 0%, transparent 70%);
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 2;
  max-width: 720px;
}
.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  color: var(--gold);
  margin-bottom: var(--space-8);
  backdrop-filter: blur(4px);
}
.hero__title {
  font-size: var(--text-6xl);
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: var(--space-6);
  letter-spacing: -0.03em;
}
.hero__title span {
  background: linear-gradient(135deg, var(--accent), #60A5FA);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero__subtitle {
  font-size: var(--text-xl);
  color: var(--gray-300);
  line-height: 1.7;
  margin-bottom: var(--space-10);
  max-width: 560px;
}
.hero__actions { display: flex; gap: var(--space-4); flex-wrap: wrap; }

.hero__slide {
  display: none;
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100%; height: 100%;
}
.hero__slide.active { display: block; animation: fadeIn 0.8s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.hero__dots {
  position: absolute;
  bottom: var(--space-8);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--space-3);
  z-index: 3;
}
.hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  cursor: pointer;
  transition: all var(--transition);
  border: none;
}
.hero__dot.active {
  background: var(--accent);
  width: 32px;
  border-radius: var(--radius-full);
}

/* Floating decorative elements */
.hero__float {
  position: absolute;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(2px);
  animation: float 6s ease-in-out infinite;
}
.hero__float--1 { width:120px; height:120px; top:15%; right:10%; animation-delay:0s; }
.hero__float--2 { width:80px; height:80px; top:60%; right:20%; animation-delay:2s; }
.hero__float--3 { width:60px; height:60px; top:30%; right:30%; animation-delay:4s; }
@keyframes float {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(5deg); }
}

@media (max-width: 768px) {
  .hero { min-height: 100vh; height: 100vh; }
  .hero__content { padding-top: 80px; padding-bottom: 60px; width: 100%; }
  .hero__title { font-size: 2.25rem; line-height: 1.2; }
  .hero__subtitle { font-size: 1rem; line-height: 1.6; margin-bottom: var(--space-6); }
  .hero__actions { flex-direction: column; width: 100%; }
  .hero__actions .btn { text-align: center; justify-content: center; width: 100%; }
  .hero__float { display: none; }
}

/* ---------- HOME: Stats Bar ---------- */
.stats-bar {
  background: var(--primary);
  padding: var(--space-12) 0;
  position: relative;
}
.stats-bar .grid { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-6); }

/* ---------- HOME: Services Preview ---------- */
.services-preview { padding: var(--space-24) 0; }

/* ---------- HOME: CTA Band ---------- */
.cta-band {
  padding: var(--space-16) 0;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent-hover) 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='20' cy='20' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
}
.cta-band__inner { position: relative; z-index: 1; }
.cta-band h2 { color: var(--white); margin-bottom: var(--space-4); }
.cta-band p { color: rgba(255,255,255,0.8); font-size: var(--text-lg); margin-bottom: var(--space-8); }

/* ---------- CORPORATE: Timeline ---------- */
.values-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-8); }
.value-card {
  padding: var(--space-8);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-xl);
  transition: all var(--transition);
}
.value-card:hover { border-color: var(--accent-light); box-shadow: var(--shadow-lg); }
.value-card__icon {
  width: 48px; height: 48px;
  background: var(--accent-light);
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  color: var(--accent);
  margin-bottom: var(--space-4);
}
.value-card__icon svg { width: 24px; height: 24px; }
@media (max-width: 640px) { .values-grid { grid-template-columns: 1fr; } }

/* ---------- SHOWCASE: Product Grid ---------- */
.showcase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
.showcase-card {
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--gray-200);
  transition: all var(--transition);
}
.showcase-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-xl); border-color: transparent; }
.showcase-card__image {
  height: 220px;
  background: linear-gradient(135deg, var(--gray-100) 0%, var(--gray-200) 100%);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  position: relative;
}
.showcase-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.showcase-card:hover .showcase-card__image img { transform: scale(1.05); }
.showcase-card__placeholder {
  font-size: var(--text-4xl);
  color: var(--gray-300);
}
.showcase-card__body { padding: var(--space-6); }
.showcase-card__title { font-size: var(--text-lg); font-weight: 700; margin-bottom: var(--space-2); font-family: var(--font-heading); }
.showcase-card__desc { font-size: var(--text-sm); color: var(--gray-500); line-height: 1.7; margin-bottom: var(--space-4); }

@media (max-width: 1024px) { .showcase-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .showcase-grid { grid-template-columns: 1fr; } }

/* ---------- CONTACT: Form Section ---------- */
.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); }
.contact-info { display: flex; flex-direction: column; gap: var(--space-8); }
.contact-info__item {
  display: flex;
  gap: var(--space-4);
  align-items: flex-start;
}
.contact-info__icon {
  width: 48px; height: 48px; min-width: 48px;
  background: var(--accent-light);
  border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  color: var(--accent);
}
.contact-info__icon svg { width: 22px; height: 22px; }
.contact-info__text h4 { font-size: var(--text-base); margin-bottom: var(--space-1); }
.contact-info__text p { font-size: var(--text-sm); margin-bottom: 0; }

.contact-map {
  margin-top: var(--space-8);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--gray-200);
  height: 250px;
}
.contact-map iframe { width: 100%; height: 100%; border: none; }

.contact-form {
  background: var(--white);
  padding: var(--space-10);
  border-radius: var(--radius-xl);
  border: 1px solid var(--gray-200);
  box-shadow: var(--shadow-lg);
}
.contact-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }

@media (max-width: 768px) {
  .contact-section { grid-template-columns: 1fr; }
  .contact-form__row { grid-template-columns: 1fr; }
}
