/* ===================================
   PREMIUM AGENCY OVERRIDES — 2025
   Flexible layer over styles.css
   =================================== */

/* Premium tokens */
:root {
  --premium-bg: #0b1220;
  --premium-surface: #0f172a;
  --premium-surface-2: #111827;
  --premium-text: #e5e7eb;
  --premium-muted: #94a3b8;
  --premium-line: rgba(148, 163, 184, 0.18);
  --premium-gold: #f59e0b;
  --premium-cyan: #22d3ee;
  --premium-blue: #2563eb;
  --premium-emerald: #10b981;

  --premium-gradient: linear-gradient(135deg, #1e3a8a 0%, #2563eb 45%, #22d3ee 100%);
  --premium-gradient-soft: linear-gradient(135deg, rgba(37,99,235,.14), rgba(34,211,238,.12));
  --premium-shadow: 0 20px 60px rgba(2, 6, 23, 0.35);
}

/* Shared premium look */
.section-header .section-subtitle {
  max-width: 760px;
}

.premium-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(37, 99, 235, 0.12);
  box-shadow: var(--premium-shadow);
  border-radius: 20px;
}

/* Hero enhancements */
.hero-slider .slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 15%, rgba(34,211,238,.22), transparent 40%),
              radial-gradient(circle at 80% 80%, rgba(245,158,11,.18), transparent 42%);
  pointer-events: none;
}

.hero-slider .slide-content {
  position: relative;
  z-index: 2;
}

.hero-kpis {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.hero-kpi {
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  backdrop-filter: blur(8px);
}

/* Portfolio section */
.portfolio {
  padding: 110px 0;
  background: linear-gradient(180deg, #f8fbff 0%, #f3f7fd 100%);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

.project-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  min-height: 280px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
  border: 1px solid rgba(37,99,235,.12);
  background: #0f172a;
}

.project-card.large {
  grid-column: span 7;
  min-height: 360px;
}

.project-card.medium {
  grid-column: span 5;
  min-height: 360px;
}

.project-card.small {
  grid-column: span 4;
  min-height: 260px;
}

.project-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: transform .6s ease;
}

.project-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,.12) 0%, rgba(15,23,42,.86) 85%);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
}

.project-chip {
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  background: rgba(37,99,235,.26);
  border: 1px solid rgba(255,255,255,.28);
}

.project-title {
  font-size: 1.28rem;
  line-height: 1.25;
  margin-bottom: 8px;
}

.project-desc {
  color: rgba(255,255,255,.86);
  font-size: .95rem;
}

.project-card:hover .project-image {
  transform: scale(1.08);
}

/* Contact + footer refinement */
.contact {
  background: linear-gradient(180deg, #f3f7fd 0%, #eef4fb 100%);
}

.footer {
  background: radial-gradient(circle at 10% 0%, rgba(34,211,238,.18), transparent 40%),
              radial-gradient(circle at 90% 100%, rgba(245,158,11,.12), transparent 35%),
              linear-gradient(135deg, #0b1220, #0f172a);
}

/* Responsive portfolio */
@media (max-width: 968px) {
  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .project-card.large,
  .project-card.medium,
  .project-card.small {
    grid-column: auto;
    min-height: 280px;
  }

  .hero-kpis {
    justify-content: flex-start;
  }
}
