.elementor-2582 .elementor-element.elementor-element-2875a6b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for shortcode, class: .elementor-element-37d3bfe *//* ═══════════════════════════════════════════════════════════════
   FLOW INTERNATIONAL — Page NOS SOLUTIONS
   Préfixe : .fns-*
   INYOUZ pour FLOW INTERNATIONAL
   ═══════════════════════════════════════════════════════════════ */

.fns-hero,
.fns-intro,
.fns-grille,
.fns-why,
.fns-cta {
  --fns-navy:      #0D1B2A;
  --fns-navy-mid:  #1E3A52;
  --fns-orange:    #EF7B52;
  --fns-orange-dk: #CC5F38;
  --fns-cream:     #F5F2ED;
  --fns-cream-dk:  #EAE6DF;
  --fns-white:     #FFFFFF;
  --fns-gray:      #8A8A8A;
  --fns-ff-d:      'Barlow Condensed', sans-serif;
  --fns-ff-b:      'Barlow', sans-serif;
}

/* ── HERO ──────────────────────────────────────────────────── */
.fns-hero {
  background: var(--fns-navy);
  padding: 120px 60px 64px;
  position: relative;
  overflow: hidden;
}
.fns-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(239,123,82,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239,123,82,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}
.fns-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 4px;
  background: var(--fns-orange);
}
.fns-hero-inner {
  max-width: 1200px; margin: 0 auto; position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 380px; gap: 80px; align-items: end;
}
.fns-breadcrumb {
  display: flex; align-items: center; gap: 8px; margin-bottom: 20px;
}
.fns-breadcrumb a,
.fns-breadcrumb span {
  font-family: var(--fns-ff-b); font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 1px;
  color: rgba(255,255,255,0.35); text-decoration: none; transition: color .2s;
}
.fns-breadcrumb a:hover { color: var(--fns-orange); }
.fns-bc-sep { color: rgba(255,255,255,0.2); font-size: 10px; }
.fns-bc-current { color: var(--fns-orange) !important; }
.fns-h1 {
  font-family: var(--fns-ff-d); font-size: 72px; font-weight: 800;
  color: var(--fns-white); text-transform: uppercase; line-height: 0.9;
  letter-spacing: -0.5px; margin-bottom: 24px;
}
.fns-h1 em { color: var(--fns-orange); font-style: normal; }
.fns-hero-intro {
  font-family: var(--fns-ff-b); font-size: 17px; font-weight: 300;
  color: rgba(255,255,255,0.6); line-height: 1.7; max-width: 520px; margin-bottom: 36px;
}
.fns-stats { display: flex; gap: 40px; }
.fns-stat { border-left: 2px solid rgba(239,123,82,0.35); padding-left: 16px; }
.fns-stat-num {
  font-family: var(--fns-ff-d); font-size: 32px; font-weight: 800;
  color: var(--fns-orange); line-height: 1;
}
.fns-stat-lbl {
  font-family: var(--fns-ff-b); font-size: 12px;
  color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px;
}
.fns-hero-right {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px; padding: 28px;
}
.fns-right-label {
  font-family: var(--fns-ff-b); font-size: 10px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 16px;
}
.fns-modes { display: flex; flex-wrap: wrap; gap: 10px; }
.fns-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 8px 16px; border-radius: 3px;
  font-family: var(--fns-ff-d); font-size: 14px; font-weight: 600;
  color: var(--fns-white); text-transform: uppercase; letter-spacing: 0.5px;
  text-decoration: none; transition: border-color .2s, background .2s;
}
.fns-pill:hover { border-color: var(--fns-orange); background: rgba(239,123,82,0.08); }
.fns-pill--cta {
  background: rgba(239,123,82,0.15);
  border-color: rgba(239,123,82,0.4);
  color: var(--fns-orange);
}
.fns-pill--cta:hover { background: rgba(239,123,82,0.25); }

/* ── INTRO ────────────────────────────────────────────────── */
.fns-intro {
  background: var(--fns-cream);
  padding: 72px 60px;
  border-bottom: 1px solid var(--fns-cream-dk);
}
.fns-intro-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;
}
.fns-intro-label {
  font-family: var(--fns-ff-b); font-size: 11px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 14px;
}
.fns-intro-title {
  font-family: var(--fns-ff-d); font-size: 44px; font-weight: 800;
  color: var(--fns-navy); text-transform: uppercase; line-height: 0.95;
}
.fns-intro-title em { color: var(--fns-orange); font-style: normal; }
.fns-intro-text {
  font-family: var(--fns-ff-b); font-size: 16px; color: #555;
  line-height: 1.75; margin-bottom: 24px;
}
.fns-intro-text strong { color: var(--fns-navy); font-weight: 600; }
.fns-feats { display: flex; flex-direction: column; gap: 12px; }
.fns-feat {
  display: flex; align-items: flex-start; gap: 12px;
  background: var(--fns-white);
  border-left: 3px solid var(--fns-orange);
  border-radius: 0 4px 4px 0;
  padding: 14px 16px;
}
.fns-feat-icon {
  width: 32px; height: 32px; flex-shrink: 0;
  background: var(--fns-navy); border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
}
.fns-feat-body { font-family: var(--fns-ff-b); font-size: 14px; color: var(--fns-navy); line-height: 1.55; }
.fns-feat-body strong { font-weight: 600; display: block; margin-bottom: 2px; }

/* ── GRILLE CPT ─────────────────────────────────────────────── */
.fns-grille {
  background: var(--fns-white);
  padding: 80px 60px;
}
.fns-grille-inner { max-width: 1200px; margin: 0 auto; }
.fns-grille-header { text-align: center; margin-bottom: 56px; }
.fns-grille-label {
  font-family: var(--fns-ff-b); font-size: 11px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
}
.fns-grille-title {
  font-family: var(--fns-ff-d); font-size: 48px; font-weight: 800;
  color: var(--fns-navy); text-transform: uppercase; line-height: 0.95;
}
.fns-grille-title em { color: var(--fns-orange); font-style: normal; }
.fns-grille-sous {
  font-family: var(--fns-ff-b); font-size: 16px; color: var(--fns-gray);
  margin-top: 14px; max-width: 560px; margin-left: auto; margin-right: auto;
}
.fns-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.fns-card {
  position: relative; overflow: hidden; border-radius: 10px;
  text-decoration: none; display: block; min-height: 380px;
  transition: transform .3s;
}
.fns-card:hover { transform: translateY(-6px); }
.fns-card:hover .fns-card-img { transform: scale(1.04); }
.fns-card:hover .fns-card-arrow { transform: translateX(5px); }
.fns-card-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .5s ease;
}
.fns-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,27,42,0.97) 0%, rgba(13,27,42,0.5) 50%, rgba(13,27,42,0.1) 100%);
}
.fns-card-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 32px 36px;
  display: flex; flex-direction: column; gap: 8px;
}
.fns-card-tag {
  display: inline-flex; align-self: flex-start;
  font-family: var(--fns-ff-b); font-size: 10px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px;
  border: 1px solid rgba(239,123,82,0.4);
  padding: 3px 10px; border-radius: 2px;
}
.fns-card-title {
  font-family: var(--fns-ff-d); font-size: 36px; font-weight: 800;
  color: var(--fns-white); text-transform: uppercase; line-height: 1; margin: 0;
}
.fns-card-excerpt {
  font-family: var(--fns-ff-b); font-size: 14px;
  color: rgba(255,255,255,0.65); line-height: 1.55; max-width: 480px;
}
.fns-card-meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 8px; padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.fns-card-specs { display: flex; flex-wrap: wrap; gap: 6px; }
.fns-spec {
  font-family: var(--fns-ff-b); font-size: 11px;
  color: rgba(255,255,255,0.45);
  background: rgba(255,255,255,0.06);
  padding: 2px 8px; border-radius: 2px;
}
.fns-card-arrow {
  font-family: var(--fns-ff-d); font-size: 14px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 0.5px;
  white-space: nowrap; transition: transform .25s;
}
.fns-no-results { text-align: center; color: var(--fns-gray); padding: 40px 0; }

/* ── WHY ──────────────────────────────────────────────────── */
.fns-why {
  background: var(--fns-navy);
  padding: 80px 60px;
  position: relative; overflow: hidden;
}
.fns-why::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(239,123,82,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(239,123,82,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}
.fns-why-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 1; }
.fns-why-header { text-align: center; margin-bottom: 56px; }
.fns-why-label {
  font-family: var(--fns-ff-b); font-size: 11px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
}
.fns-why-title {
  font-family: var(--fns-ff-d); font-size: 48px; font-weight: 800;
  color: var(--fns-white); text-transform: uppercase; line-height: 0.95;
}
.fns-why-title em { color: var(--fns-orange); font-style: normal; }
.fns-why-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 1px;
  background: rgba(255,255,255,0.06);
  border-radius: 8px; overflow: hidden;
}
.fns-why-item {
  background: rgba(255,255,255,0.02);
  padding: 36px 28px;
  transition: background .2s;
}
.fns-why-item:hover { background: rgba(239,123,82,0.06); }
.fns-why-num {
  font-family: var(--fns-ff-d); font-size: 48px; font-weight: 800;
  color: rgba(239,123,82,0.2); line-height: 1; margin-bottom: 16px;
}
.fns-why-item-title {
  font-family: var(--fns-ff-d); font-size: 18px; font-weight: 700;
  color: var(--fns-white); text-transform: uppercase; letter-spacing: 0.3px;
  margin-bottom: 10px; line-height: 1.2;
}
.fns-why-item-text {
  font-family: var(--fns-ff-b); font-size: 14px;
  color: rgba(255,255,255,0.5); line-height: 1.65;
}

/* ── CTA ──────────────────────────────────────────────────── */
.fns-cta {
  background: var(--fns-cream);
  padding: 80px 60px;
  border-top: 1px solid var(--fns-cream-dk);
}
.fns-cta-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center;
}
.fns-cta-label {
  font-family: var(--fns-ff-b); font-size: 11px; font-weight: 700;
  color: var(--fns-orange); text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
}
.fns-cta-title {
  font-family: var(--fns-ff-d); font-size: 52px; font-weight: 800;
  color: var(--fns-navy); text-transform: uppercase; line-height: 0.95; margin-bottom: 16px;
}
.fns-cta-title em { color: var(--fns-orange); font-style: normal; }
.fns-cta-text {
  font-family: var(--fns-ff-b); font-size: 16px; color: #555; line-height: 1.7; max-width: 560px;
}
.fns-cta-actions { display: flex; flex-direction: column; gap: 12px; min-width: 220px; align-items: flex-end; }
.fns-cta-btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--fns-orange); color: var(--fns-white);
  font-family: var(--fns-ff-d); font-size: 16px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.5px;
  padding: 16px 32px; border-radius: 2px; text-decoration: none; white-space: nowrap;
  transition: background .2s;
}
.fns-cta-btn-primary:hover { background: var(--fns-orange-dk); }
.fns-cta-btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--fns-navy); font-family: var(--fns-ff-b); font-size: 14px; font-weight: 600;
  text-decoration: none; border-bottom: 1px solid rgba(13,27,42,0.2);
  padding-bottom: 2px; white-space: nowrap;
  transition: gap .2s, border-color .2s;
}
.fns-cta-btn-secondary:hover { gap: 14px; border-color: var(--fns-navy); }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .fns-hero-inner,
  .fns-intro-inner,
  .fns-cta-inner { grid-template-columns: 1fr; gap: 40px; }
  .fns-hero { padding: 110px 32px 56px; }
  .fns-h1 { font-size: 56px; }
  .fns-cards { grid-template-columns: 1fr; }
  .fns-why-grid { grid-template-columns: 1fr 1fr; }
  .fns-intro,
  .fns-grille,
  .fns-why,
  .fns-cta { padding: 60px 32px; }
  .fns-cta-actions { align-items: flex-start; }
}
@media (max-width: 640px) {
  .fns-h1 { font-size: 44px; }
  .fns-grille-title,
  .fns-why-title { font-size: 36px; }
  .fns-why-grid { grid-template-columns: 1fr; }
  .fns-stats { gap: 24px; flex-wrap: wrap; }
  .fns-cta-title { font-size: 40px; }
}/* End custom CSS */