/* ================================================================
   SWEDBANG — LUXURY HOMEPAGE & CONTACT ENHANCEMENT
   Premium typography, glassmorphism cards, gradient accents,
   micro-animations, and refined visual hierarchy throughout.
   Does NOT touch: hero animation, 3D globe, video, or 3D map.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── DESIGN TOKENS ─────────────────────────────────────────────── */
:root {
  --sb-gold:      #C9A84C;
  --sb-gold-lt:   #E8C97A;
  --sb-cyan:      #00E5FF;
  --sb-violet:    #7B6BFF;
  --sb-teal:      #00FFD0;
  --sb-navy-900:  #020714;
  --sb-navy-800:  #04091A;
  --sb-navy-700:  #07122A;
  --sb-navy-600:  #0D1E3F;
  --sb-glass-bg:  rgba(7, 18, 42, 0.72);
  --sb-glass-bdr: rgba(0, 229, 255, 0.14);
  --sb-glass-bdr-gold: rgba(201, 168, 76, 0.30);
  --sb-text-muted: rgba(180, 200, 240, 0.72);
  --sb-grad-title: linear-gradient(135deg, #E8F4FF 0%, #C9A84C 50%, #00E5FF 100%);
  --sb-transition: all 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ── BODY / GLOBAL FONT ─────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ── SECTION LABEL (eyebrow text) ───────────────────────────────── */
.sbhp-section-label,
[class*="sbhp-label"],
[class*="section-label"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--sb-cyan) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 20px !important;
}
.sbhp-section-label::before,
[class*="sbhp-label"]::before {
  content: '' !important;
  display: inline-block !important;
  width: 28px !important;
  height: 1.5px !important;
  background: linear-gradient(90deg, var(--sb-cyan), transparent) !important;
  flex-shrink: 0 !important;
}

/* ── SECTION HEADINGS — LUXURY GRADIENT ─────────────────────────── */
.sbhp-section-title,
.sb-section-heading,
[class*="sbhp-section"] h2,
[class*="sbhp-section"] h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  background: linear-gradient(135deg, #EBF2FF 0%, #C9A84C 55%, #00E5FF 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  text-shadow: none !important;
}

/* ── BODY TEXT — REFINED ─────────────────────────────────────────── */
.sbhp-section p,
.sbhp-section-body,
[class*="sbhp-"] p {
  color: var(--sb-text-muted) !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* ── SECTION DIVIDER LINE ────────────────────────────────────────── */
.sbhp-section-line,
[class*="section-line"] {
  width: 52px !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--sb-gold), var(--sb-cyan), transparent) !important;
  border-radius: 2px !important;
  margin: 18px 0 32px !important;
}

/* ── FEATURE / SERVICE CARDS — GLASSMORPHISM LUXURY ──────────────── */
.sbhp-portfolio-card,
.sbhp-service-card,
.sbhp-feature-card,
[class*="sbhp-card"] {
  background: var(--sb-glass-bg) !important;
  border: 1px solid var(--sb-glass-bdr) !important;
  border-radius: 20px !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  padding: 36px 32px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: var(--sb-transition) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.06) inset,
    0 24px 48px rgba(0,0,0,0.4),
    0 0 0 0 rgba(0,229,255,0) !important;
}
.sbhp-portfolio-card::before,
.sbhp-service-card::before,
.sbhp-feature-card::before,
[class*="sbhp-card"]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(0,229,255,0.5), rgba(201,168,76,0.4), transparent) !important;
}
.sbhp-portfolio-card::after,
.sbhp-service-card::after,
.sbhp-feature-card::after,
[class*="sbhp-card"]::after {
  content: '' !important;
  position: absolute !important;
  top: -60px !important; right: -60px !important;
  width: 120px !important; height: 120px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(0,229,255,0.07) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.sbhp-portfolio-card:hover,
.sbhp-service-card:hover,
.sbhp-feature-card:hover,
[class*="sbhp-card"]:hover {
  border-color: rgba(0,229,255,0.35) !important;
  transform: translateY(-4px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.08) inset,
    0 32px 64px rgba(0,0,0,0.55),
    0 0 40px rgba(0,229,255,0.08) !important;
}

/* Card title */
.sbhp-portfolio-card h3,
.sbhp-service-card h3,
.sbhp-feature-card h3,
[class*="sbhp-card"] h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  letter-spacing: -0.01em !important;
  color: #EBF2FF !important;
  margin-bottom: 14px !important;
}

/* Card icon / accent dot */
.sbhp-portfolio-card .sb-card-icon,
.sbhp-card-num {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(0,229,255,0.15), rgba(123,107,255,0.15)) !important;
  border: 1px solid rgba(0,229,255,0.20) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  color: var(--sb-cyan) !important;
  margin-bottom: 20px !important;
  flex-shrink: 0 !important;
}

/* ── STATS STRIP — PREMIUM COUNTERS ─────────────────────────────── */
.sbhp-stat-item,
.sbhp-stat,
[class*="sbhp-stat"] {
  border: 1px solid rgba(0,229,255,0.12) !important;
  border-radius: 18px !important;
  background: rgba(7,18,42,0.80) !important;
  backdrop-filter: blur(12px) !important;
  padding: 28px 24px !important;
  text-align: center !important;
  transition: var(--sb-transition) !important;
  position: relative !important;
  overflow: hidden !important;
}
.sbhp-stat-item::before,
[class*="sbhp-stat"]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--sb-cyan), transparent) !important;
  opacity: 0.6 !important;
}
.sbhp-stat-item:hover,
[class*="sbhp-stat"]:hover {
  border-color: rgba(0,229,255,0.28) !important;
  background: rgba(7,18,42,0.95) !important;
  transform: translateY(-3px) !important;
}

.sbhp-stat-number,
.sbhp-stat-value,
[class*="sbhp-stat"] .stat-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  background: linear-gradient(135deg, #FFFFFF 20%, var(--sb-gold-lt) 60%, var(--sb-cyan) 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

.sbhp-stat-label,
[class*="sbhp-stat"] .stat-label {
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: rgba(180,200,240,0.65) !important;
  margin-top: 6px !important;
}

/* ── PROCESS STEPS — NUMBERED TIMELINE ──────────────────────────── */
.sbhp-process-step,
.sbhp-method-step,
[class*="sbhp-step"] {
  border: 1px solid rgba(0,229,255,0.10) !important;
  border-radius: 18px !important;
  background: var(--sb-glass-bg) !important;
  backdrop-filter: blur(14px) !important;
  padding: 32px 36px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: var(--sb-transition) !important;
}
.sbhp-process-step:hover,
[class*="sbhp-step"]:hover {
  border-color: rgba(201,168,76,0.30) !important;
  background: rgba(7,18,42,0.92) !important;
  transform: translateX(4px) !important;
  box-shadow: -4px 0 24px rgba(201,168,76,0.10), 0 20px 40px rgba(0,0,0,0.40) !important;
}
.sbhp-process-step::before,
[class*="sbhp-step"]::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important; top: 0 !important; bottom: 0 !important;
  width: 3px !important;
  background: linear-gradient(180deg, var(--sb-cyan), var(--sb-gold), transparent) !important;
  opacity: 0 !important;
  transition: opacity 0.38s !important;
}
.sbhp-process-step:hover::before,
[class*="sbhp-step"]:hover::before {
  opacity: 1 !important;
}

/* Step number badge */
.sbhp-step-num,
[class*="sbhp-step"] .step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(0,229,255,0.18), rgba(123,107,255,0.20)) !important;
  border: 1px solid rgba(0,229,255,0.25) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: var(--sb-cyan) !important;
  margin-bottom: 18px !important;
  box-shadow: 0 0 20px rgba(0,229,255,0.12) !important;
}

/* ── CTA BUTTONS — LUXURY POLISH ────────────────────────────────── */
.sbhp-cta-primary,
.sb-btn-primary,
[class*="sbhp-cta"][class*="primary"],
a.sbhp-btn-primary {
  background: linear-gradient(135deg, #00C8FF 0%, #0088CC 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px 34px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: var(--sb-transition) !important;
  box-shadow: 0 8px 28px rgba(0,200,255,0.30), 0 1px 0 rgba(255,255,255,0.15) inset !important;
  position: relative !important;
  overflow: hidden !important;
}
.sbhp-cta-primary:hover,
.sb-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 40px rgba(0,200,255,0.45), 0 1px 0 rgba(255,255,255,0.20) inset !important;
}

.sbhp-cta-secondary,
.sb-btn-secondary,
[class*="sbhp-cta"][class*="secondary"] {
  background: transparent !important;
  border: 1px solid rgba(0,229,255,0.35) !important;
  border-radius: 12px !important;
  padding: 16px 34px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.04em !important;
  color: rgba(200,230,255,0.90) !important;
  cursor: pointer !important;
  transition: var(--sb-transition) !important;
  backdrop-filter: blur(8px) !important;
}
.sbhp-cta-secondary:hover {
  border-color: rgba(201,168,76,0.55) !important;
  color: var(--sb-gold-lt) !important;
  background: rgba(201,168,76,0.06) !important;
  transform: translateY(-2px) !important;
}

/* ── GLOBAL REACH SECTION ────────────────────────────────────────── */
#sbhp-global-reach,
[id*="global-reach"],
[id*="globalreach"],
.sbhp-global-section {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(0,100,180,0.12) 0%, transparent 60%),
    linear-gradient(180deg, #04091A 0%, #020714 100%) !important;
}

/* ── SECTION BACKGROUNDS — ALTERNATING ──────────────────────────── */
.sbhp-section:nth-child(even) {
  background: radial-gradient(
    ellipse 100% 70% at 50% 100%,
    rgba(7,18,42,1) 0%, #020714 100%
  ) !important;
}

/* ── SECTION SPACING REFINEMENT ─────────────────────────────────── */
.sbhp-section {
  padding-top: clamp(80px, 8vw, 130px) !important;
  padding-bottom: clamp(80px, 8vw, 130px) !important;
}

/* ── LUXURY SCROLL REVEAL ANIMATION ────────────────────────────── */
@keyframes sb-reveal-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes sb-reveal-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.sb-animate-up {
  animation: sb-reveal-up 0.72s cubic-bezier(0.25,0.46,0.45,0.94) both;
}
.sb-animate-fade {
  animation: sb-reveal-fade 0.9s ease both;
}

/* ── FOOTER LUXURY UPGRADE ───────────────────────────────────────── */
.sb-footer,
footer[class*="sb-"] {
  border-top: 1px solid rgba(0,229,255,0.10) !important;
  background: linear-gradient(180deg, #020714 0%, #010610 100%) !important;
  position: relative !important;
}
.sb-footer::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 10% !important; right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.30), rgba(0,229,255,0.30), transparent) !important;
}
.sb-footer-col-title,
[class*="footer-col"] h4,
[class*="footer-col"] h5 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--sb-cyan) !important;
  margin-bottom: 18px !important;
}
.sb-footer a,
footer a {
  color: rgba(180,200,240,0.65) !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  transition: color 0.25s !important;
  line-height: 2.2 !important;
}
.sb-footer a:hover,
footer a:hover {
  color: var(--sb-gold-lt) !important;
}
