/* ================================================================
   VIRIDIS — LIGHT THEME
   SKF-inspired: dark hero, white editorial body, left-aligned,
   massive whitespace, clean industrial typography
   ================================================================ */

/* ── TOKENS ── */
:root {
  --dark:          #fafafa;
  --dark-2:        #f2f2f2;
  --primary:       #ebebeb;
  --secondary:     #e2e2e2;
  --surface:       #d8d8d8;
  --surface-2:     #cecece;
  --text:          #0a0a0a;
  --text-muted:    #555555;
  --text-dim:      #999999;
  --border:        rgba(0,0,0,0.08);
  --glass:         rgba(0,0,0,0.025);
  --glass-2:       rgba(0,0,0,0.045);
  --shadow:        0 2px 16px rgba(0,0,0,0.06);
  --shadow-lg:     0 12px 48px rgba(0,0,0,0.10);
  --surface-card:  #ffffff;
  --surface-dark:  #f5f5f5;

  /* ── Brand green from logo ── */
  --accent:        #2D7A3E;
  --accent-2:      #3A9A50;
  --accent-glow:   rgba(45,122,62,0.20);
  --accent-subtle: rgba(45,122,62,0.07);
  --border-accent: rgba(45,122,62,0.28);
}

/* ================================================================
   BODY
   ================================================================ */
body { background: #ffffff; }

/* ================================================================
   NAV — transparent on hero, frosted glass on scroll
   ================================================================ */
.nav {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: none !important;
}
.nav.scrolled {
  background: rgba(6,6,6,0.85) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.05) !important;
}
.nav-mobile { background: #080808 !important; }
.nav-logo   { color: #ffffff !important; }
.nav-logo span { color: var(--accent) !important; }
.nav-link   { color: rgba(255,255,255,0.65) !important; }
.nav-link:hover, .nav-link.active { color: var(--accent) !important; }
.nav-contact-pill { color: rgba(255,255,255,0.45) !important; }

/* ================================================================
   HERO — ship background + left-aligned, full SKF treatment
   ================================================================ */

/* Video background element — starts invisible, fades in when ready */
.hero-video-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.8s ease !important;
}
.hero-video-bg.ready {
  opacity: 1 !important;
}

/* ── HERO ACCENT LINE — override hardcoded teal gradient in premium.css ── */
.hero-apex-headline .accent-line {
  background: linear-gradient(90deg, #2D7A3E, #3db357) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  padding-bottom: 0.15em !important;
  display: inline-block !important;
}

/* hero-apex-bg is now purely a gradient overlay on top of the video */
.hero-apex-bg {
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 20%),
    linear-gradient(
      108deg,
      rgba(2,6,4,0.95) 0%,
      rgba(2,6,4,0.85) 28%,
      rgba(2,6,4,0.45) 55%,
      rgba(2,6,4,0.15) 100%
    ) !important;
  background-size: auto !important;
}

/* Suppress built-in glow/grid — video provides depth */
.hero-apex-glow { opacity: 0.15 !important; }
.hero-apex-grid { opacity: 0.12 !important; }

/* ── Hero stats — legibility over dark video background ── */
/* Dark gradient behind the stats bar */
.hero-apex-bg::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 180px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, transparent 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
/* Numbers — brighter green instead of dark #2D7A3E */
.hero-apex-stat-num em { color: #4ecb6a !important; }
/* Labels — near-white for maximum legibility */
.hero-apex-stat-label { color: rgba(255,255,255,0.92) !important; letter-spacing: 0.08em !important; }
/* Dividers — slightly more visible */
.hero-apex-stat { border-right-color: rgba(255,255,255,0.12) !important; }

/* Scroll indicator — centred, above the stats bar */
.hero-apex-scroll {
  position: absolute !important;
  bottom: 108px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  z-index: 3 !important;
  cursor: pointer !important;
}
.hero-apex-scroll::after { display: none !important; }

.hero-scroll-label {
  font-size: 0.5625rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  transition: color 0.2s ease !important;
}

.hero-scroll-circle {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,0.6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(255,255,255,0.06) !important;
  transition: border-color 0.25s, background 0.25s, color 0.25s !important;
  animation: scrollBounce 2.2s ease-in-out infinite !important;
}

.hero-apex-scroll:hover .hero-scroll-label { color: var(--accent) !important; }
.hero-apex-scroll:hover .hero-scroll-circle {
  border-color: var(--accent) !important;
  background: rgba(0,179,122,0.15) !important;
  color: var(--accent) !important;
}

@keyframes scrollBounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(8px); }
}

.hero-apex {
  align-items: flex-start !important;
  text-align: left !important;
}
.hero-apex-inner {
  align-items: flex-start !important;
  max-width: 1440px !important;
  width: 100% !important;
  padding: 0 clamp(24px, 7vw, 120px) !important;
}
.hero-apex-eyebrow {
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 32px !important;
  opacity: 0.9 !important;
}
.hero-apex-headline {
  text-align: left !important;
  font-size: clamp(4.5rem, 10vw, 10rem) !important;
  font-weight: 900 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
}
.hero-apex-sub {
  text-align: left !important;
  max-width: 540px !important;
  color: rgba(255,255,255,0.88) !important;
}
.hero-apex-actions {
  justify-content: flex-start !important;
}

/* ================================================================
   BACKGROUND WAVES
   ================================================================ */
.bg-waves-container {
  display: none !important;
}
.bg-wave-svg {
  position: absolute;
  width: 200%;
  left: 0;
  fill: none;
}
@keyframes waveFloat  { from { transform: translateX(0); }    to { transform: translateX(-50%); } }
@keyframes waveFloatR { from { transform: translateX(-50%); } to { transform: translateX(0); }    }

/* Lift all content above waves — nav excluded (it has its own z-index: 1000) */
section, .green-band, .brands-strip,
.stats-section, footer, .nav-mobile,
.hero-apex-stats {
  position: relative;
  z-index: 1;
}

/* WhatsApp button must stay fixed to viewport — never relative */
.whatsapp-float {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 9999 !important;
}

/* ================================================================
   SECTIONS — transparent so waves show through
   ================================================================ */
section { background: transparent !important; }

.hero-apex    { /* dark — leave alone */ }
.page-hero    { background: #0d0d0d !important; }
.bg-dark-2    { background: #0a1810 !important; }
.cta-section  { background: #f2f2f2 !important; }
.stats-section{ background: #0c1a0f !important; }

/* ── Text on dark sections ── */
.bg-dark-2 .section-label,
.stats-section .section-label { color: #3db357 !important; }

.bg-dark-2 .section-title,
.bg-dark-2 h2, .bg-dark-2 h3,
.stats-section h2, .stats-section h3 { color: #ffffff !important; }

.bg-dark-2 .section-desc,
.bg-dark-2 p { color: rgba(255,255,255,0.65) !important; }

/* Feature cards on dark bg */
.bg-dark-2 .feat-strip-card {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
.bg-dark-2 .feat-strip-title { color: #fff !important; }
.bg-dark-2 .feat-strip-desc  { color: rgba(255,255,255,0.55) !important; }
.bg-dark-2 .link-arrow       { color: #3db357 !important; }

/* Process card — white card on dark bg, so text must be DARK */
.process-premium {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
.process-p-step  { border-color: rgba(0,0,0,0.07) !important; }
.process-p-num   {
  color: rgba(45,122,62,0.10) !important;
  -webkit-text-stroke: 1px rgba(45,122,62,0.18) !important;
}
.process-p-title { color: #0a0a0a !important; }
.process-p-desc  { color: #555 !important; }
.process-p-icon  {
  background: rgba(45,122,62,0.07) !important;
  border-color: rgba(45,122,62,0.18) !important;
}
.process-p-icon svg { color: #2D7A3E !important; }

/* Why-split — left panel is intentionally dark, keep white text */
.why-split-left { background: linear-gradient(135deg, #060f09 0%, #0f1e13 100%) !important; }
.why-split-big  { color: #ffffff !important; }
.why-split-tagline { color: rgba(255,255,255,0.6) !important; }
.why-split-right {
  background: #ffffff !important;
  border-left: 1px solid rgba(0,0,0,0.07) !important;
}
.why-row h4 { color: #0a0a0a !important; }
.why-row p  { color: #555 !important; }
.why-row    { border-color: rgba(0,0,0,0.07) !important; }
.why-row-icon {
  background: rgba(45,122,62,0.07) !important;
  border-color: rgba(45,122,62,0.18) !important;
}

/* ================================================================
   SKF CORE: MASSIVE WHITESPACE
   ================================================================ */
.section     { padding: 72px 0 !important; }
.section-sm  { padding: 48px 0 !important; }
.section-lg  { padding: 160px 0 !important; }

/* ================================================================
   SKF CORE: TYPOGRAPHY — left-aligned, industrial
   ================================================================ */

/* Nuclear override — every heading/label in a section is left */
section h2, section h3,
section .section-label,
section .section-desc { text-align: left !important; }

/* Exceptions — CTA blocks and centred cards are intentionally centred */
.cta-inner h2, .cta-inner h3,
.cta-inner .section-label,
.cta-inner .cta-title,
.cta-inner .cta-desc { text-align: center !important; }
[style*="text-align:center"] h2,
[style*="text-align:center"] h3,
h2[style*="text-align:center"],
h3[style*="text-align:center"],
h3[style*="text-align:center !important"] { text-align: center !important; }

.section-label {
  color: var(--accent) !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 16px !important;
}
.section-title {
  font-size: clamp(2.75rem, 5vw, 4.5rem) !important;
  font-weight: 900 !important;
  color: #0a0a0a !important;
  letter-spacing: -0.04em !important;
  line-height: 1.0 !important;
  margin-bottom: 24px !important;
}
.section-title span { color: var(--accent) !important; }
.section-desc {
  color: #555 !important;
  font-size: 1.0625rem !important;
  line-height: 1.75 !important;
}

/* Remove center alignment — everything left like SKF */
.section-header        { text-align: left !important; }
.section-header.center { text-align: left !important; }

/* ================================================================
   EDITORIAL SPLIT — flagship section
   ================================================================ */
.editorial-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 80px !important;
  align-items: center !important;
}
.editorial-since {
  display: block !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 20px !important;
}
.editorial-headline {
  font-size: clamp(3rem, 6vw, 5.5rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.0 !important;
  color: #0a0a0a !important;
  margin-bottom: 24px !important;
}
.editorial-headline em {
  color: var(--accent) !important;
  font-style: normal !important;
}
.editorial-desc {
  font-size: 1.0625rem !important;
  color: #555 !important;
  line-height: 1.8 !important;
  margin-bottom: 36px !important;
}
.editorial-visual {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  aspect-ratio: unset !important;
}
.editorial-visual-inner {
  padding: 0 !important;
  width: 100% !important;
  height: 520px !important;
  position: relative !important;
}
.editorial-visual-inner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

/* Floating stat card — bottom-left, overlapping the image */
.editorial-float-card {
  position: absolute !important;
  bottom: -20px !important;
  left: -20px !important;
  background: #0a1810 !important;
  border: 1px solid rgba(45,122,62,0.35) !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25) !important;
  z-index: 2 !important;
}
.editorial-float-num {
  font-family: var(--font-display) !important;
  font-size: 2.5rem !important;
  font-weight: 900 !important;
  color: #3db357 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}
.editorial-float-lbl {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.6) !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* Floating badge — top-right */
.editorial-float-badge {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  background: rgba(10,24,16,0.85) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(45,122,62,0.4) !important;
  border-radius: 100px !important;
  padding: 8px 14px !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  color: #3db357 !important;
  letter-spacing: 0.05em !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  z-index: 2 !important;
}

/* ================================================================
   FEAT STRIP — 3-col borderless SKF columns
   ================================================================ */
.feat-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.feat-strip-item {
  padding: 52px 44px !important;
  border-right: 1px solid rgba(0,0,0,0.08) !important;
  transition: background 0.2s !important;
}
.feat-strip-item:last-child { border-right: none !important; }
.feat-strip-item:hover { background: rgba(0,0,0,0.015) !important; }
.feat-strip-icon {
  color: var(--accent) !important;
  margin-bottom: 36px !important;
  width: 80px !important;
  height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
  background: rgba(0,179,122,0.08) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,179,122,0.18) !important;
  flex-shrink: 0 !important;
}
.feat-strip-icon svg {
  width: 100% !important;
  height: 100% !important;
}
.feat-strip-title {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #0a0a0a !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.01em !important;
}
.feat-strip-desc {
  font-size: 0.9375rem !important;
  color: #555 !important;
  line-height: 1.7 !important;
  margin-bottom: 28px !important;
}

/* ================================================================
   LINK ARROW — SKF editorial CTA
   ================================================================ */
.link-arrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: #0a0a0a !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid rgba(0,0,0,0.25) !important;
  padding-bottom: 3px !important;
  transition: all 0.2s ease !important;
}
.link-arrow:hover {
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}
.link-arrow .arr { transition: transform 0.2s ease !important; display: inline-block !important; }
.link-arrow:hover .arr { transform: translateX(5px) !important; }

/* ================================================================
   SKF STATEMENT — editorial powerhouse
   ================================================================ */
.skf-statement {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr !important;
  gap: 80px !important;
  padding: 80px !important;
  background: #f5f5f5 !important;
  border: none !important;
  border-radius: 2px !important;
}
.skf-statement-eyebrow {
  display: block !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  margin-bottom: 28px !important;
}
.skf-statement-text {
  font-size: clamp(2.25rem, 4.5vw, 4rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.0 !important;
  color: #0a0a0a !important;
  margin-bottom: 28px !important;
}
.skf-statement-text em {
  color: var(--accent) !important;
  font-style: normal !important;
}
.skf-statement-body {
  font-size: 1rem !important;
  color: #555 !important;
  line-height: 1.8 !important;
  margin-bottom: 36px !important;
}
.skf-stats-col {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.skf-stat-row {
  padding: 28px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 20px !important;
}
.skf-stat-row:first-child { border-top: 1px solid rgba(0,0,0,0.08) !important; }
.skf-stat-num {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  color: #0a0a0a !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  min-width: 90px !important;
}
.skf-stat-lbl {
  font-size: 0.875rem !important;
  color: #666 !important;
  line-height: 1.4 !important;
}

/* ================================================================
   CARDS
   ================================================================ */
.card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.07) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05) !important;
  border-radius: 2px !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.09) !important;
  border-color: rgba(0,179,122,0.2) !important;
}

/* ================================================================
   SERVICE PANELS
   ================================================================ */
.service-panel {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.08) !important;
}
.service-panel.open,
.service-panel:hover { border-color: rgba(0,179,122,0.3) !important; }
.service-panel-header:hover { background: rgba(0,0,0,0.02) !important; }
.service-panel-num   { color: var(--accent) !important; opacity: 0.35; }
.service-panel-title { color: #0a0a0a !important; }
.service-panel-desc  { color: #555 !important; }

/* ================================================================
   IMPACT NUMBERS
   ================================================================ */
.impact-numbers {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.07) !important;
}
.impact-item  { border-right-color: rgba(0,0,0,0.07) !important; }
.impact-big   {
  color: #0a0a0a !important;
  font-size: clamp(3.5rem, 7vw, 6rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}
.impact-label { color: var(--accent) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.impact-desc  { color: #777 !important; }

/* ================================================================
   STATS ROW
   ================================================================ */
.stat-num   {
  color: #0a0a0a !important;
  font-size: clamp(2.5rem, 4.5vw, 3.75rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
}
.stat-label { color: #777 !important; }
.stat-item  { border-right-color: rgba(0,0,0,0.07) !important; }

/* ================================================================
   FEATURE SPOTLIGHTS
   ================================================================ */
.feature-spot  { border-color: rgba(255,255,255,0.06) !important; }

/* ── Feature spotlight: real photos on visual panels ── */
.fs-visual-bg.mag-bg-1 {
  background-image: url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=800&q=80&auto=format&fit=crop') !important;
  background-size: cover !important;
  background-position: center !important;
}
.fs-visual-bg.mag-bg-5 {
  background-image: url('https://images.unsplash.com/photo-1546883737-da9c5102ed9c?w=800&q=80&auto=format&fit=crop') !important;
  background-size: cover !important;
  background-position: center !important;
}
/* subtle dark overlay on top so label stays readable */
.fs-visual::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 60%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.fs-visual-label { z-index: 2 !important; }
/* hide placeholder SVG decor since we now have photos */
.fs-visual-decor { display: none !important; }
.fs-body       { background: #ffffff !important; }
.fs-title      { color: #0a0a0a !important; }
.fs-desc       { color: #555 !important; }
.fs-eyebrow    { color: var(--accent) !important; }

/* ================================================================
   PROCESS
   ================================================================ */
.process-premium { background: #ffffff !important; border-color: rgba(0,0,0,0.07) !important; }
.process-p-step  { border-right-color: rgba(0,0,0,0.07) !important; }
.process-p-step:hover { background: rgba(0,179,122,0.025) !important; }
.process-p-title { color: #0a0a0a !important; font-weight: 700 !important; }
.process-p-desc  { color: #555 !important; }
.process-p-num   { color: var(--accent) !important; opacity: 0.18; }

/* ================================================================
   WHY SPLIT
   ================================================================ */
.why-split       { border-color: rgba(0,0,0,0.07) !important; }
.why-split-left  { background: linear-gradient(135deg, #080808 0%, #1a1a1a 100%) !important; }
.why-split-right { background: #ffffff !important; }
.why-row         { border-bottom-color: rgba(0,0,0,0.07) !important; }
.why-row h4      { color: #0a0a0a !important; font-weight: 700 !important; }
.why-row p       { color: #555 !important; }

/* ================================================================
   BRANDS STRIP
   ================================================================ */
.brands-strip {
  background: #f5f5f5 !important;
  border-color: rgba(0,0,0,0.07) !important;
  position: relative; z-index: 1;
}
.brands-strip::before { background: linear-gradient(90deg,#f5f5f5,transparent) !important; }
.brands-strip::after  { background: linear-gradient(270deg,#f5f5f5,transparent) !important; }
.brand-pill {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
  color: #444 !important;
}
.brand-pill:hover {
  border-color: rgba(0,179,122,0.4) !important;
  color: var(--accent) !important;
}

/* ================================================================
   FEAT STRIP text overrides
   ================================================================ */
.feat-strip-title { color: #0a0a0a !important; }
.feat-strip-desc  { color: #555 !important; }

/* ================================================================
   SKF STATEMENT text
   ================================================================ */
.skf-statement-text { color: #0a0a0a !important; }
.skf-statement-body { color: #555 !important; }
.skf-stat-lbl       { color: #666 !important; }

/* ================================================================
   PAGE HERO (inner pages) — dark, white text
   ================================================================ */
.page-hero { background: #0d0d0d !important; }
.page-hero .page-hero-bg {
  background: linear-gradient(160deg, #060606 0%, #111 100%) !important;
}
.page-hero .page-hero-bg.has-photo {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.page-hero h1,
.page-hero h2,
.page-hero .page-hero-inner h1,
.page-hero .page-hero-inner h2 { color: #ffffff !important; }
.page-hero .section-label      { color: var(--accent) !important; }
.page-hero-inner .section-label::before {
  left: 0 !important;
  transform: none !important;
}
.page-hero p                   { color: rgba(255,255,255,0.65) !important; }
.page-hero .text-accent        { color: var(--accent) !important; -webkit-text-fill-color: var(--accent) !important; }

/* ================================================================
   VESSEL ILLUSTRATIONS in sector cards
   ================================================================ */
.mag-card-vessel {
  position: absolute !important;
  /* vertically centred in the upper 60% of the card */
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -62%) !important;
  width: 100% !important;
  height: 56% !important;
  object-fit: contain !important;
  object-position: center center !important;
  pointer-events: none !important;
  z-index: 1 !important;
  opacity: 0.90 !important;
  filter: drop-shadow(0 6px 20px rgba(45,122,62,0.22)) !important;
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1), opacity 0.3s !important;
}
.mag-card:hover .mag-card-vessel {
  transform: translate(-50%, -65%) !important;
  opacity: 1 !important;
}
/* large card (spans 2 rows) — give it more room */
.sectors-mag .mag-card:nth-child(1) .mag-card-vessel {
  width: 105% !important;
  height: 60% !important;
  transform: translate(-50%, -60%) !important;
}
.sectors-mag .mag-card:nth-child(1):hover .mag-card-vessel {
  transform: translate(-50%, -63%) !important;
}
/* stronger gradient overlay so text is always readable */
.mag-card-overlay {
  background: linear-gradient(
    to top,
    rgba(4,8,15,0.98) 0%,
    rgba(4,8,15,0.90) 28%,
    rgba(4,8,15,0.20) 58%,
    rgba(4,8,15,0.04) 100%
  ) !important;
  z-index: 2 !important;
}
/* content and arrow always above the vessel illustration */
.mag-card-content { z-index: 4 !important; }
.mag-card-arrow   { z-index: 4 !important; }

/* ================================================================
   CTA SECTION
   ================================================================ */
.cta-section { background: #f2f2f2 !important; }
.cta-title   { color: #0a0a0a !important; }
.cta-desc    { color: #555 !important; }

/* ================================================================
   CONTACT FORM
   ================================================================ */
.contact-form-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.07) !important;
}
.form-control {
  background: #f8f8f8 !important;
  border-color: rgba(0,0,0,0.1) !important;
  color: #0a0a0a !important;
}
.form-control:focus {
  background: #ffffff !important;
  border-color: var(--accent) !important;
}
.form-label { color: #333 !important; }

/* ================================================================
   PARTNERS
   ================================================================ */
.partner-card  { background: #ffffff !important; }
.become-partner{ background: #f5f5f5 !important; border-color: rgba(0,0,0,0.07) !important; }

/* ================================================================
   BUTTONS
   ================================================================ */
.btn-outline {
  color: #0a0a0a !important;
  border-color: rgba(0,0,0,0.2) !important;
}
.btn-outline:hover {
  background: rgba(0,0,0,0.04) !important;
  border-color: rgba(0,0,0,0.35) !important;
}
/* hero is dark — btn-outline must be white there */
.hero-apex .btn-outline {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.45) !important;
  background: rgba(255,255,255,0.06) !important;
}
.hero-apex .btn-outline:hover {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.7) !important;
}

/* ================================================================
   ICON BOX
   ================================================================ */
.icon-box {
  background: rgba(0,179,122,0.07) !important;
  border-color: rgba(0,179,122,0.18) !important;
}

/* ================================================================
   FEATURES (why section)
   ================================================================ */
.features-main-card { background: #ffffff !important; border: 1px solid rgba(0,0,0,0.08) !important; }
.feature-text h4    { color: #0a0a0a !important; }
.feature-text p     { color: #555 !important; }
.bg-dark-2 h2, .bg-dark-2 h3 { color: #ffffff !important; }
.bg-dark-2 h4 { color: #ffffff !important; }
.bg-dark-2 .feature-text h4 { color: #ffffff !important; }
.bg-dark-2 .feature-text p  { color: rgba(255,255,255,0.65) !important; }
.bg-dark-2 p { color: rgba(255,255,255,0.65) !important; }
/* White cards inside dark sections — keep text dark */
.bg-dark-2 .card h3,
.bg-dark-2 .card h4 { color: #111111 !important; }
.bg-dark-2 .card p  { color: #555555 !important; }

/* Feature spotlights (fs-body) always have white bg — force dark text
   even when the section has .bg-dark-2 ancestry */
.fs-body .fs-title     { color: #0a0a0a !important; }
.fs-body .fs-desc      { color: #555555 !important; }
.fs-body .fs-eyebrow   { color: var(--accent, #2D7A3E) !important; }
.fs-body .fs-list-item { color: #444444 !important; }
.fs-body h2, .fs-body h3, .fs-body h4 { color: #0a0a0a !important; }
.fs-body p             { color: #555555 !important; }

/* Process premium on white bg — force dark text even inside bg-dark-2 */
.process-premium .process-p-title { color: #0a0a0a !important; }
.process-premium .process-p-desc  { color: #555555 !important; }
.process-premium .process-p-num   { color: var(--accent, #2D7A3E) !important; }

/* ================================================================
   TIMELINE
   ================================================================ */
.timeline-item { border-left-color: rgba(0,0,0,0.1) !important; }
.timeline-year { color: var(--accent) !important; }

/* ================================================================
   FOOTER — always dark
   ================================================================ */
.footer {
  background: #0a0a0a !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

/* ================================================================
   DIVIDERS
   ================================================================ */
.divider      { border-top-color: rgba(0,0,0,0.07) !important; }
.line-divider { background: rgba(0,0,0,0.07) !important; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 900px) {
  .editorial-split { grid-template-columns: 1fr !important; gap: 48px !important; }
  .feat-strip { grid-template-columns: 1fr !important; }
  .feat-strip-item { border-right: none !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important; }
  .feat-strip-item:last-child { border-bottom: none !important; }
  .skf-statement { grid-template-columns: 1fr !important; gap: 48px !important; padding: 48px 32px !important; }
  .hero-apex-inner { padding: 0 24px !important; }
}

/* ================================================================
   STORE — Inline search in filter bar
   ================================================================ */
.store-filter-search {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f5f5f5 !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  border-radius: 50px !important;
  padding: 6px 16px !important;
  min-width: 220px !important;
  transition: border-color 0.2s !important;
  flex-shrink: 0 !important;
}
.store-filter-search:focus-within {
  border-color: var(--accent, #2D7A3E) !important;
  background: #fff !important;
}
.store-filter-search svg {
  width: 15px !important;
  height: 15px !important;
  color: #888 !important;
  flex-shrink: 0 !important;
}
.store-filter-search input {
  background: none !important;
  border: none !important;
  outline: none !important;
  color: #0a0a0a !important;
  font-size: 0.85rem !important;
  width: 100% !important;
}
.store-filter-search input::placeholder {
  color: #aaa !important;
}

/* ================================================================
   STORE — Filter bar
   ================================================================ */
.store-filter-bar {
  position: sticky !important;
  top: 64px !important;
  z-index: 100 !important;
  background: #ffffff !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
}
.store-filter-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 0 !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.store-filter-inner::-webkit-scrollbar { display: none !important; }
.store-filter-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #888 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.store-filter-pills {
  display: flex !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}
.store-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 16px !important;
  border-radius: 50px !important;
  border: 1.5px solid rgba(0,0,0,0.12) !important;
  background: #ffffff !important;
  color: #444 !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.18s ease !important;
}
.store-pill:hover {
  border-color: var(--accent, #2D7A3E) !important;
  color: var(--accent, #2D7A3E) !important;
}
.store-pill.active {
  background: var(--accent, #2D7A3E) !important;
  border-color: var(--accent, #2D7A3E) !important;
  color: #ffffff !important;
}
.store-results-count {
  margin-left: auto !important;
  flex-shrink: 0 !important;
  font-size: 0.8rem !important;
  color: #888 !important;
  white-space: nowrap !important;
}

/* ================================================================
   STORE — Layout (grid + cart sidebar)
   ================================================================ */
.store-section { padding-top: 48px !important; }
.store-layout {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 28px !important;
  align-items: start !important;
}
.store-grid-wrap {
  min-width: 0 !important;
}
.store-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}
.store-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
}
.store-card.hidden {
  display: none !important;
}
.store-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
  transform: translateY(-3px) !important;
  border-color: rgba(45,122,62,0.25) !important;
}
.store-card-img {
  height: 200px !important;
  background: #f0f0f0 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.store-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}
.store-card:hover .store-card-img img {
  transform: scale(1.08) !important;
}

.store-card-body {
  padding: 16px 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex: 1 !important;
}
.store-card-name {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0a0a0a !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.store-card-meta {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}
.store-meta-label {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #999 !important;
  white-space: nowrap !important;
}
.store-meta-val {
  font-size: 0.78rem !important;
  color: #555 !important;
  font-family: 'Courier New', monospace !important;
  word-break: break-all !important;
}
.store-card-footer {
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
}
.store-price {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #0a0a0a !important;
}
.store-price-poa {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #888 !important;
}
.store-btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 16px !important;
  background: var(--accent, #2D7A3E) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.18s ease !important;
  white-space: nowrap !important;
}
.store-btn:hover {
  background: #3A9A50 !important;
  color: #ffffff !important;
}

/* Empty state */
.store-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 80px 24px !important;
  text-align: center !important;
  color: #888 !important;
}
.store-empty svg { color: #ccc !important; }
.store-empty h3 { color: #333 !important; font-size: 1.25rem !important; margin: 0 !important; }
.store-empty p  { color: #888 !important; margin: 0 !important; }
.store-empty a  { color: var(--accent, #2D7A3E) !important; }

/* Add to Request button states */
.add-to-req { transition: background 0.2s, color 0.2s !important; }
.add-to-req.added {
  background: #e8f5eb !important;
  color: var(--accent, #2D7A3E) !important;
  border: 1.5px solid var(--accent, #2D7A3E) !important;
  cursor: default !important;
  font-weight: 700 !important;
}

/* ================================================================
   STORE — Request Cart Sidebar
   ================================================================ */
.request-cart {
  position: sticky !important;
  top: 80px !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(0,0,0,0.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  max-height: calc(100vh - 100px) !important;
}
.request-cart-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 18px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  background: #fafafa !important;
}
.request-cart-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #111 !important;
}
.request-cart-badge {
  background: var(--accent, #2D7A3E) !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  border-radius: 50px !important;
  padding: 2px 8px !important;
  min-width: 22px !important;
  text-align: center !important;
}
.request-cart-items {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 12px !important;
}
.cart-empty-msg {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 28px 16px !important;
  text-align: center !important;
  color: #aaa !important;
}
.cart-empty-msg svg { color: #ddd !important; }
.cart-empty-msg p { font-size: 0.82rem !important; line-height: 1.5 !important; margin: 0 !important; color: #999 !important; }
.cart-empty-msg strong { color: #555 !important; }
.cart-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}
.cart-item:last-child { border-bottom: none !important; }
.cart-item-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.cart-item-name {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #111 !important;
  line-height: 1.3 !important;
}
.cart-item-part { font-size: 0.72rem !important; color: #888 !important; }
.cart-item-price { font-size: 0.8rem !important; font-weight: 800 !important; color: var(--accent, #2D7A3E) !important; }
.cart-item-remove {
  background: none !important;
  border: none !important;
  color: #ccc !important;
  font-size: 1.1rem !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  transition: color 0.15s !important;
}
.cart-item-remove:hover { color: #e74c3c !important; }
.request-cart-footer {
  padding: 14px !important;
  border-top: 1px solid rgba(0,0,0,0.08) !important;
  background: #fafafa !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.cart-summary { font-size: 0.8rem !important; color: #555 !important; text-align: center !important; }
.cart-summary strong { color: #111 !important; }
.request-send-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--accent, #2D7A3E) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s !important;
}
.request-send-btn:hover { background: #3A9A50 !important; }
.request-clear-btn {
  background: none !important;
  border: none !important;
  color: #aaa !important;
  font-size: 0.75rem !important;
  cursor: pointer !important;
  text-align: center !important;
  text-decoration: underline !important;
  padding: 0 !important;
}
.request-clear-btn:hover { color: #e74c3c !important; }

/* ================================================================
   STORE — Request Modal
   ================================================================ */
.req-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.55) !important;
  z-index: 9000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease !important;
}
.req-modal-overlay.open {
  opacity: 1 !important;
  pointer-events: all !important;
}
.req-modal {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 36px !important;
  width: 100% !important;
  max-width: 560px !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  position: relative !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2) !important;
  transform: translateY(20px) !important;
  transition: transform 0.25s ease !important;
}
.req-modal-overlay.open .req-modal { transform: translateY(0) !important; }
.req-modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 20px !important;
  background: none !important;
  border: none !important;
  font-size: 1.6rem !important;
  color: #aaa !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.req-modal-close:hover { color: #333 !important; }
.req-modal-title { font-size: 1.3rem !important; font-weight: 800 !important; color: #111 !important; margin: 0 0 4px !important; }
.req-modal-sub { font-size: 0.85rem !important; color: #888 !important; margin: 0 0 20px !important; }
.modal-items-title { font-size: 0.78rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; color: #999 !important; margin-bottom: 8px !important; }
.modal-items-ul { list-style: none !important; margin: 0 0 20px !important; padding: 0 !important; background: #f8f8f8 !important; border-radius: 10px !important; padding: 12px 16px !important; }
.modal-items-ul li { font-size: 0.82rem !important; color: #444 !important; padding: 4px 0 !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }
.modal-items-ul li:last-child { border-bottom: none !important; }
.modal-items-ul li em { color: var(--accent, #2D7A3E) !important; font-style: normal !important; font-weight: 700 !important; }
.req-form { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.req-form-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
.req-form-group { display: flex !important; flex-direction: column !important; gap: 5px !important; }
.req-form-group label { font-size: 0.78rem !important; font-weight: 700 !important; color: #555 !important; }
.req-form-group label span { color: #e74c3c !important; }
.req-form-group input,
.req-form-group textarea {
  border: 1.5px solid rgba(0,0,0,0.14) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 0.88rem !important;
  color: #111 !important;
  background: #fff !important;
  outline: none !important;
  transition: border-color 0.2s !important;
  font-family: inherit !important;
}
.req-form-group input:focus,
.req-form-group textarea:focus { border-color: var(--accent, #2D7A3E) !important; }
.req-form-group textarea { resize: vertical !important; }
.req-submit-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: var(--accent, #2D7A3E) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background 0.2s !important;
  margin-top: 4px !important;
}
.req-submit-btn:hover { background: #3A9A50 !important; }

@media (max-width: 1100px) {
  .store-layout { grid-template-columns: 1fr 260px !important; }
  .store-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .store-layout { grid-template-columns: 1fr !important; }
  .request-cart { position: static !important; max-height: none !important; }
  .store-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .store-filter-inner { gap: 8px !important; }
}
@media (max-width: 480px) {
  .store-grid { grid-template-columns: 1fr !important; }
  .req-form-row { grid-template-columns: 1fr !important; }
}

