/* ==========================================================================
   Strategic Workforce Partners — Homepage v3
   Hurevo-inspired SaaS-style redesign: floating glass stat cards over the
   hero video, rounded elevated feature cards, connected numbered process,
   dark stats panel, photo CTA cards. Scoped to v3-only classes so other
   pages (which still use swp-helpers.php base styling) are unaffected.
   Version: 1.0 — 2026-08-03
   ========================================================================== */

.swp-hero-v3 {
  position: relative;
  overflow: hidden;
  min-height: 640px;
  display: flex;
  align-items: center;
}
.swp-hero-v3 h1, .swp-hero-v3 p, .swp-hero-v3-eyebrow {
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
@media (max-width: 600px) { .swp-hero-v3 { min-height: 520px; } }

.swp-hero-v3-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 700; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase;
  color: #E4C86B; margin-bottom: 14px;
}
.swp-hero-v3-eyebrow::before { content: ''; width: 16px; height: 2px; background: #E4C86B; display: inline-block; border-radius: 2px; }

.swp-hero-photo-wrap { position: relative; display: block; margin-bottom: 34px; }
@media (min-width: 768px) { .swp-hero-photo-wrap { margin-bottom: 0; } }
.swp-hero-photo-wrap .swp-hero-photo-frame {
  border-radius: 22px; overflow: hidden; height: 420px;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.55); border: 1px solid rgba(255,255,255,.18);
}
@media (max-width: 767px) { .swp-hero-photo-wrap .swp-hero-photo-frame { height: 300px; } }
.swp-hero-photo-wrap .swp-hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }

.swp-glass-cards {
  position: absolute; left: 16px; right: 16px; bottom: -26px; z-index: 3;
  display: flex; flex-direction: row; align-items: stretch; justify-content: space-between;
  gap: 12px; flex-wrap: nowrap;
}
@media (max-width: 480px) {
  .swp-glass-cards { left: 10px; right: 10px; bottom: -20px; gap: 8px; }
  .swp-glass-card { padding: 10px 8px; }
  .swp-glass-card .swp-gc-num { font-size: 16px; }
  .swp-glass-card .swp-gc-cap { font-size: 9.5px; }
}
.swp-glass-card {
  position: relative; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-radius: 16px; padding: 14px 14px;
  box-shadow: 0 20px 45px -16px rgba(0,0,0,.6);
  animation: swp-float 6s ease-in-out infinite;
  flex: 1 1 0; min-width: 0;
}
.swp-glass-card .swp-gc-num { font-size: 20px; font-weight: 700; color: #fff; line-height: 1.1; }
.swp-glass-card .swp-gc-cap { font-size: 11px; color: #E7ECF1; margin-top: 3px; font-weight: 500; }
.swp-glass-card.swp-gc-a { animation-delay: 0s; }
.swp-glass-card.swp-gc-b { animation-delay: 1.2s; }
.swp-glass-card.swp-gc-c { animation-delay: 2.4s; }
@keyframes swp-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (prefers-reduced-motion: reduce) { .swp-glass-card { animation: none; } }

.swp-scroll-cue {
  position: absolute; left: 40px; bottom: 28px; z-index: 2;
  display: flex; align-items: center; gap: 10px; color: #C9D3DD;
  font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
.swp-scroll-cue .swp-scroll-line { width: 28px; height: 1px; background: #C9D3DD; }
@media (max-width: 767px) { .swp-scroll-cue { display: none; } }

.swp-trust-v3-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; }
.swp-sector-chip-row { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.swp-sector-chip {
  display: inline-block; font-size: 13px; font-weight: 600; color: #0F2A47;
  background: #EEF2F6; padding: 8px 16px; border-radius: 100px; margin: 0;
  text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease;
}
.swp-sector-chip:hover { background: #C9A227; color: #0F2A47; transform: translateY(-2px); }

.swp-sec-services-v3 { padding-top: 96px; padding-bottom: 100px; background: rgba(246,247,249,0.55); }
@media (max-width: 1024px) { .swp-sec-services-v3 { padding-top: 64px; padding-bottom: 68px; } }

.swp-service-card-v3 {
  background: #FFFFFF; border-radius: 22px; padding: 38px 32px;
  box-shadow: 0 12px 30px -14px rgba(15,42,71,.18); border: 1px solid rgba(15,42,71,.08);
  transition: transform .3s ease, box-shadow .3s ease; height: 100%;
}
.swp-service-card-v3:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -20px rgba(15,42,71,.28); }
.swp-service-card-v3 .swp-icon-chip {
  width: 52px; height: 52px; border-radius: 16px; background: #0F2A47;
  display: flex; align-items: center; justify-content: center; margin-bottom: 22px;
}
.swp-service-card-v3 .swp-icon-chip svg { width: 26px; height: 26px; }
.swp-service-card-v3 h3 { font-size: 20px; margin: 0 0 12px; color: #0F2A47; font-weight: 700; }
.swp-service-card-v3 p { color: #5B6470; font-size: 15px; line-height: 1.6; margin: 0; }
.swp-service-card-v3 .swp-learn { display: inline-flex; align-items: center; gap: 6px; margin-top: 20px; font-size: 14px; font-weight: 700; color: #0F2A47; text-decoration: none; }
.swp-service-card-v3 .swp-learn:hover { color: #C9A227; }

.swp-sec-process-v3 { padding-top: 88px; padding-bottom: 96px; background: #FFFFFF; }
@media (max-width: 1024px) { .swp-sec-process-v3 { padding-top: 64px; padding-bottom: 64px; } }

.swp-process-v3-row { position: relative; }
.swp-process-v3-row::before {
  content: ''; position: absolute; top: 26px; left: 6%; right: 6%; height: 1px;
  background: repeating-linear-gradient(90deg, rgba(15,42,71,.15) 0 8px, transparent 8px 16px);
  z-index: 0;
}
@media (max-width: 767px) { .swp-process-v3-row::before { display: none; } }

.swp-process-step-v3 { position: relative; z-index: 1; }
.swp-process-step-v3 .swp-step-num {
  width: 52px; height: 52px; border-radius: 50%; background: #0F2A47; color: #C9A227;
  display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 17px; margin-bottom: 22px;
}
.swp-process-step-v3 h4 { font-size: 17.5px; margin: 0 0 10px; color: #0F2A47; font-weight: 700; }
.swp-process-step-v3 p { font-size: 14.5px; color: #5B6470; margin: 0; line-height: 1.6; }
@media (max-width: 1024px) { .swp-process-step-v3 { margin-bottom: 8px; } }

.swp-sec-impact-v3 { background: #0F2A47; position: relative; overflow: hidden; padding-top: 100px; padding-bottom: 100px; }
@media (max-width: 1024px) { .swp-sec-impact-v3 { padding-top: 64px; padding-bottom: 64px; } }
.swp-sec-impact-v3::before {
  content: ''; position: absolute; width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,39,.16), transparent 70%);
  top: -180px; right: -140px; pointer-events: none;
}

.swp-stat-grid-v3 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 36px; }
@media (max-width: 480px) { .swp-stat-grid-v3 { grid-template-columns: 1fr; } }
.swp-stat-box-v3 { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 22px 24px; }
.swp-stat-box-v3 .swp-stat-num { font-size: 32px; font-weight: 700; color: #E4C86B; line-height: 1.1; }
.swp-stat-box-v3 .swp-stat-cap { font-size: 13.5px; color: #C9D3DD; margin-top: 6px; }

.swp-impact-media-v3 { position: relative; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); }
.swp-impact-media-v3 img { display: block; width: 100%; height: 440px; object-fit: cover; }
@media (max-width: 1024px) and (min-width: 768px) { .swp-impact-media-v3 img { height: 340px; } }
@media (max-width: 767px) { .swp-impact-media-v3 img { height: 280px; } }
.swp-impact-badge-v3 {
  position: absolute; bottom: 20px; left: 20px; background: rgba(10,29,51,.72); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.2); border-radius: 14px; padding: 12px 16px; display: flex; gap: 10px; align-items: center;
}
.swp-impact-badge-v3 .swp-dot { width: 10px; height: 10px; border-radius: 50%; background: #4ADE80; flex-shrink: 0; }
.swp-impact-badge-v3 span { font-size: 13px; font-weight: 600; color: #fff; }

.swp-sec-splitcta-v3 { background: transparent; padding-top: 96px; padding-bottom: 100px; }
@media (max-width: 1024px) { .swp-sec-splitcta-v3 { padding-top: 64px; padding-bottom: 64px; } }

.swp-cta-card-v3 {
  position: relative; border-radius: 22px; overflow: hidden; min-height: 340px;
  display: flex; align-items: flex-end; color: #fff; height: 100%;
}
.swp-cta-card-v3 img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.swp-cta-card-v3 .swp-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,29,51,.15) 0%, rgba(10,29,51,.92) 100%); z-index: 1; }
.swp-cta-card-v3 .swp-cta-body { position: relative; z-index: 2; padding: 36px; }
.swp-cta-card-v3 h3 { color: #fff; font-size: 24px; margin: 0 0 10px; font-weight: 700; }
.swp-cta-card-v3 p { color: #D9E1EA; font-size: 14.5px; margin: 0 0 22px; max-width: 380px; line-height: 1.6; }
.swp-cta-card-v3 .swp-btn-gold {
  display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14.5px;
  padding: 14px 26px; border-radius: 100px; text-decoration: none; background: #C9A227; color: #0A1D33;
  transition: transform .25s ease, box-shadow .25s ease;
}
.swp-cta-card-v3 .swp-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -10px rgba(201,162,39,.6); }
