/* Variables CSS */
  :root {
    --primary-orange: #ff6700;
    --dark-bg: #0a0a0a;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
  }

  /* Hero Section - Modern Glassmorphism */
  .hero-section {
    min-height: 100vh;
    background: linear-gradient(135deg, rgba(10, 10, 10, 0.95) 0%, rgba(26, 26, 26, 0.9) 100%),
                var(--home-hero-image);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding-top: 80px;
  }

  .hero-content {
    text-align: center;
    z-index: 2;
    max-width: 900px;
    padding: 2rem;
  }

  .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 103, 0, 0.15);
    border: 1px solid rgba(255, 103, 0, 0.3);
    color: var(--primary-orange);
    padding: 0.5rem 1rem;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
  }

  .hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    color: white; /* Force blanc pour lisibilité sur fond sombre */
    margin-bottom: 1.5rem;
    line-height: 1.1;
  }

  [data-bs-theme="light"] .hero-title {
    color: white; /* Reste blanc même en mode clair */
  }

  .hero-title .highlight {
    background: linear-gradient(135deg, var(--primary-orange) 0%, #ff8533 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .hero-description {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.8); /* Force gris clair pour lisibilité */
    margin-bottom: 2rem;
    line-height: 1.6;
  }

  [data-bs-theme="light"] .hero-description {
    color: rgba(255, 255, 255, 0.8); /* Reste clair même en mode clair */
  }

  .hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
  }

  .btn-hero-primary {
    background: linear-gradient(135deg, var(--primary-orange) 0%, #ff8533 100%);
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(255, 103, 0, 0.3);
    border: none;
  }

  .btn-hero-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(255, 103, 0, 0.4);
    color: white;
  }

  .btn-hero-secondary {
    background: transparent;
    color: white; /* Force blanc pour lisibilité */
    padding: 1rem 2rem;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    border: 2px solid rgba(255, 255, 255, 0.3);
  }

  [data-bs-theme="light"] .btn-hero-secondary {
    color: white;
    border-color: rgba(255, 255, 255, 0.3);
  }

  .btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary-orange);
    color: var(--primary-orange);
  }

  /* Premium landing hero */
  .hero-premium {
    min-height: calc(100svh - 30px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8rem 0 5rem;
    background: linear-gradient(90deg,rgba(5,7,9,.98) 0%,rgba(5,7,9,.91) 34%,rgba(5,7,9,.42) 68%,rgba(5,7,9,.2) 100%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.5)),var(--home-hero-image);
    background-size: cover;
    background-position: center;
    isolation: isolate;
  }

  .hero-premium::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 23% 52%,rgba(255,103,0,.09),transparent 29%); pointer-events: none; }
  .hero-grid-overlay { position: absolute; inset: 0; z-index: -1; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg,#000,transparent 56%); pointer-events: none; }
  .hero-premium-container { width: 100%; position: relative; z-index: 2; }
  .hero-premium .hero-content { max-width: 790px; padding: 0; text-align: left; }
  .hero-brand-name { width: fit-content; margin: 0 0 .75rem; color: var(--primary-orange); font-size: clamp(1.15rem,2vw,1.55rem); line-height: 1; font-weight: 900; letter-spacing: -.025em; }
  .hero-brand-name span { color: #fff; }
  .hero-premium .hero-badge { width: fit-content; display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 1.25rem; padding: .55rem .75rem; border: 1px solid rgba(255,103,0,.36); border-radius: 999px; background: rgba(255,103,0,.1); color: var(--primary-orange); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(10px); }
  .hero-premium .hero-title { max-width: 780px; margin-bottom: 1.25rem; font-size: clamp(3rem,5.7vw,6rem); line-height: .98; font-weight: 900; letter-spacing: -.055em; text-wrap: balance; }
  .hero-premium .hero-description { max-width: 690px; margin-bottom: 1.65rem; color: rgba(255,255,255,.7); font-size: 1.05rem; line-height: 1.75; }
  .hero-premium .hero-buttons { justify-content: flex-start; gap: .75rem; }
  .hero-premium .btn-hero-primary,.hero-premium .btn-hero-secondary { min-height: 52px; padding: .85rem 1.15rem; border-radius: 13px; font-size: .85rem; font-weight: 850; }
  .hero-premium .btn-hero-primary { box-shadow: 0 12px 30px rgba(255,103,0,.28); }
  .hero-premium .btn-hero-secondary { border-width: 1px; background: rgba(255,255,255,.05); backdrop-filter: blur(10px); }

  .hero-proof-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; max-width: 760px; margin-top: 2.2rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.12); }
  .hero-proof-row > span { display: grid; grid-template-columns: auto 1fr; column-gap: .55rem; min-width: 0; }
  .hero-proof-row i { grid-row: 1 / 3; align-self: center; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,103,0,.13); color: var(--primary-orange); font-size: .85rem; }
  .hero-proof-row strong { color: #fff; font-size: .72rem; font-weight: 850; }
  .hero-proof-row small { overflow: hidden; color: rgba(255,255,255,.46); font-size: .61rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
  .hero-scroll-cue { position: absolute; z-index: 3; left: 50%; bottom: 1.3rem; display: flex; align-items: center; gap: .55rem; transform: translateX(-50%); color: rgba(255,255,255,.5); font-size: .62rem; font-weight: 850; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
  .hero-scroll-cue i { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; color: var(--primary-orange); }
  .hero-scroll-cue:hover { color: #fff; }

  @media (max-width: 991px) {
    .hero-premium { background-position: 62% center; }
  }

  @media (max-width: 767px) {
    .hero-premium { min-height: 100svh; padding: 7rem 0 4.5rem; background: linear-gradient(180deg,rgba(5,7,9,.78),rgba(5,7,9,.93) 58%,rgba(5,7,9,.99)),var(--home-hero-image); background-position: 70% center; }
    .hero-premium .hero-content { padding: 0 .2rem; text-align: center; }
    .hero-brand-name { margin-inline: auto; }
    .hero-premium .hero-badge { margin-inline: auto; }
    .hero-premium .hero-title { font-size: clamp(2.7rem,12vw,4rem); }
    .hero-premium .hero-buttons { align-items: stretch; justify-content: center; }
    .hero-premium .btn-hero-primary,.hero-premium .btn-hero-secondary { width: min(100%,340px); justify-content: center; }
    .hero-proof-row { grid-template-columns: 1fr; width: min(100%,390px); margin-inline: auto; text-align: left; }
    .hero-scroll-cue { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-premium .btn-hero-primary,.hero-premium .btn-hero-secondary { transition: none; }
  }

  /* Section Styles */
  .section-title-wrapper {
    text-align: center;
    margin-bottom: 3rem;
  }

  .section-subtitle {
    color: var(--primary-orange);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
  }

  .section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--text-body);
    margin-bottom: 1rem;
  }

  .section-bar {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-orange), #ff8533);
    margin: 0 auto;
    border-radius: 2px;
  }

  /* About Section */
  .about-section {
    background: var(--bg-body);
    padding: 6rem 0;
  }

  .about-image-wrapper {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(255, 103, 0, 0.2);
  }

  .about-image {
    width: 100%;
    height: auto;
  }

  .about-content {
    padding: 2rem;
  }

  .about-text {
    color: var(--text-muted);
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 2rem;
  }

  .about-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .about-feature {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-body);
    font-weight: 500;
  }

  .about-feature i {
    color: var(--primary-orange);
    font-size: 1.2rem;
  }

  /* Premium company story */
  .about-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      radial-gradient(circle at 78% 12%, rgba(255,103,0,.1), transparent 30%),
      linear-gradient(180deg, var(--bg-body), rgba(255,255,255,.012));
    isolation: isolate;
  }

  .about-premium::before { content: ""; position: absolute; z-index: -2; inset: auto 0 0; height: 42%; opacity: .18; background: linear-gradient(135deg, transparent 49.5%, rgba(255,103,0,.16) 50%, transparent 50.5%); background-size: 45px 45px; mask-image: linear-gradient(to top, #000, transparent); }
  .about-premium-glow { position: absolute; z-index: -1; width: 390px; height: 390px; right: -170px; top: 25%; border-radius: 50%; background: rgba(255,103,0,.12); filter: blur(100px); pointer-events: none; }
  .about-premium-container { position: relative; z-index: 2; }
  .about-premium-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); align-items: center; gap: clamp(3rem, 6vw, 6rem); }

  .about-visual-column { position: relative; padding: 0 0 4.5rem 1.4rem; }
  .about-premium .about-image-wrapper { position: relative; overflow: hidden; aspect-ratio: 4 / 4.15; border: 1px solid rgba(255,103,0,.25); border-radius: 30px; box-shadow: 0 35px 80px rgba(0,0,0,.3); }
  .about-premium .about-image-wrapper::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 58%, rgba(0,0,0,.42)); pointer-events: none; }
  .about-premium .about-image { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
  .about-premium .about-image-wrapper:hover .about-image { transform: scale(1.035); }
  .about-image-label { position: absolute; z-index: 2; left: 1.25rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(10,10,10,.7); color: #fff; font-size: .75rem; font-weight: 800; backdrop-filter: blur(12px); }
  .about-image-label i { color: var(--primary-orange); }

  .about-experience-card { position: absolute; z-index: 3; top: 2rem; left: 0; display: flex; align-items: center; gap: .7rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,103,0,.38); border-radius: 18px; background: rgba(16,16,16,.88); box-shadow: 0 18px 45px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
  .about-experience-card strong { color: var(--primary-orange); font-size: 2.15rem; line-height: 1; font-weight: 900; }
  .about-experience-card sup { font-size: .85rem; }
  .about-experience-card span { color: rgba(255,255,255,.78); font-size: .68rem; line-height: 1.25; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

  .about-visual-caption { position: absolute; z-index: 3; right: -1.2rem; bottom: 0; width: min(82%, 400px); display: flex; gap: .85rem; padding: 1.15rem 1.25rem; border: 1px solid var(--border-color); border-radius: 20px; background: var(--card-bg); box-shadow: 0 20px 55px rgba(0,0,0,.25); }
  .about-visual-caption i { flex: 0 0 auto; color: var(--primary-orange); font-size: 1.4rem; }
  .about-visual-caption p { margin: 0; color: var(--text-secondary); font-size: .8rem; line-height: 1.55; font-weight: 650; }

  .about-premium .about-content { padding: 0; }
  .about-title-wrapper { margin: 0 0 1.4rem; text-align: left; }
  .about-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .about-title-wrapper .section-title { margin-bottom: 0; font-size: clamp(2.35rem, 4vw, 4.15rem); line-height: 1.04; letter-spacing: -.045em; }
  .about-premium .about-text { margin-bottom: 1.7rem; color: var(--text-secondary); font-size: .98rem; line-height: 1.8; }
  .about-premium .about-text p:last-child { margin-bottom: 0; }

  .about-premium .about-features { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; margin-bottom: 1.8rem; }
  .about-premium .about-feature { align-items: flex-start; gap: .75rem; min-height: 92px; padding: .9rem; border: 1px solid var(--border-color); border-radius: 16px; background: rgba(255,255,255,.028); transition: transform .3s ease, border-color .3s ease, background .3s ease; }
  .about-premium .about-feature:hover { transform: translateY(-3px); border-color: rgba(255,103,0,.38); background: rgba(255,103,0,.055); }
  .about-premium .about-feature > i { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; background: rgba(255,103,0,.12); font-size: 1rem; }
  .about-premium .about-feature span { display: flex; flex-direction: column; gap: .2rem; }
  .about-premium .about-feature strong { color: var(--text-primary); font-size: .8rem; }
  .about-premium .about-feature small { color: var(--text-secondary); font-size: .69rem; line-height: 1.4; }

  .about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .85rem; }
  .about-primary-link { display: inline-flex; align-items: center; gap: .65rem; padding: .88rem 1.15rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 26px rgba(255,103,0,.24); transition: transform .25s ease, box-shadow .25s ease; }
  .about-primary-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 32px rgba(255,103,0,.34); }
  .about-contact-link { display: inline-flex; align-items: center; gap: .55rem; padding: .82rem 1rem; border: 1px solid var(--border-color); border-radius: 12px; color: var(--text-primary); font-weight: 750; text-decoration: none; transition: border-color .25s ease, color .25s ease; }
  .about-contact-link:hover { border-color: var(--primary-orange); color: var(--primary-orange); }

  [data-bs-theme="light"] .about-experience-card { background: rgba(20,20,20,.9); }
  [data-bs-theme="light"] .about-visual-caption,
  [data-bs-theme="light"] .about-premium .about-feature { background: rgba(255,255,255,.92); box-shadow: 0 18px 50px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .about-premium-grid { grid-template-columns: 1fr; }
    .about-visual-column { width: min(100%, 680px); margin-inline: auto; }
  }

  @media (max-width: 575px) {
    .about-premium { padding: 5rem 0; }
    .about-visual-column { padding: 0 0 4.8rem; }
    .about-premium .about-image-wrapper { aspect-ratio: 4 / 4.5; border-radius: 22px; }
    .about-experience-card { top: .9rem; left: -.15rem; padding: .8rem; }
    .about-visual-caption { right: 0; width: 94%; }
    .about-title-wrapper { text-align: center; }
    .about-title-wrapper .section-subtitle { justify-content: center; }
    .about-premium .about-features { grid-template-columns: 1fr; }
    .about-actions { align-items: stretch; flex-direction: column; }
    .about-primary-link, .about-contact-link { justify-content: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .about-premium .about-image,
    .about-premium .about-feature { transition: none; }
  }

  /* Services Section */
  .services-section {
    background: var(--bg-body);
    padding: 6rem 0;
  }

  .service-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.4s ease;
    height: 100%;
  }

  .service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(255, 103, 0, 0.15);
    border-color: rgba(255, 103, 0, 0.3);
  }

  .service-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .service-body {
    padding: 1.5rem;
  }

  .service-title {
    color: var(--text-body);
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
  }

  .service-description {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
  }

  .service-link {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
  }

  .service-link:hover {
    gap: 1rem;
    color: #ff8533;
  }

  /* Premium services showcase */
  .services-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      linear-gradient(115deg, rgba(255,103,0,.07), transparent 34%),
      var(--bg-body);
    isolation: isolate;
  }

  .services-premium::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .16; background-image: radial-gradient(rgba(255,103,0,.55) .75px, transparent .75px); background-size: 26px 26px; mask-image: linear-gradient(90deg, #000, transparent 58%); }
  .services-aura { position: absolute; z-index: -1; width: 420px; height: 420px; left: -210px; bottom: -140px; border-radius: 50%; background: rgba(255,103,0,.13); filter: blur(100px); pointer-events: none; }
  .services-premium-container { position: relative; z-index: 2; }

  .services-premium-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.7rem; }
  .services-title-wrapper { max-width: 790px; margin: 0; text-align: left; }
  .services-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .services-title-wrapper .section-title { max-width: 760px; margin-bottom: 1rem; font-size: clamp(2.35rem, 4.2vw, 4.35rem); line-height: 1.04; letter-spacing: -.045em; }
  .services-premium-intro { max-width: 650px; margin: 0; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.75; }

  .services-promise { flex: 0 0 auto; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,103,0,.28); border-radius: 18px; background: rgba(255,255,255,.035); }
  .services-promise > i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,103,0,.13); color: var(--primary-orange); font-size: 1.2rem; }
  .services-promise div { display: flex; flex-direction: column; }
  .services-promise strong { color: var(--text-primary); font-size: .86rem; }
  .services-promise span { color: var(--text-secondary); font-size: .72rem; }

  .services-showcase { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .services-showcase .service-card:only-child { width: min(100%, 640px); margin-inline: auto; grid-column: 1 / -1; }
  .services-showcase .service-card { border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 24px 65px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease; }
  .services-showcase .service-card:hover { transform: translateY(-9px); border-color: rgba(255,103,0,.48); box-shadow: 0 32px 75px rgba(0,0,0,.32), 0 0 0 1px rgba(255,103,0,.07); }
  .service-card-link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
  .service-card-link:hover { color: inherit; }

  .service-visual { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: #111; }
  .service-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 48%, rgba(0,0,0,.48)); pointer-events: none; }
  .services-showcase .service-image { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease; }
  .services-showcase .service-card:hover .service-image { transform: scale(1.06); filter: saturate(1.08); }
  .service-card-number { position: absolute; z-index: 2; top: 1rem; left: 1rem; color: rgba(255,255,255,.9); font-size: .75rem; font-weight: 900; letter-spacing: .13em; }
  .service-card-badge { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .68rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(10,10,10,.72); color: #fff; font-size: .7rem; font-weight: 800; backdrop-filter: blur(10px); }
  .service-card-badge i { color: var(--primary-orange); }
  .service-card-open { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(10,10,10,.7); color: #fff; backdrop-filter: blur(10px); transition: transform .3s ease, background .3s ease; }
  .services-showcase .service-card:hover .service-card-open { transform: rotate(8deg) scale(1.08); background: var(--primary-orange); }

  .services-showcase .service-body { display: flex; flex: 1; flex-direction: column; padding: 1.55rem; }
  .service-kicker { margin: 0 0 .45rem; color: var(--primary-orange); font-size: .65rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
  .services-showcase .service-title { margin: 0 0 .85rem; color: var(--text-primary); font-size: 1.35rem; line-height: 1.25; font-weight: 850; }
  .services-showcase .service-description { margin: 0 0 1.15rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }
  .service-value-list { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.2rem; }
  .service-value-list span { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .6rem; border: 1px solid var(--border-color); border-radius: 999px; color: var(--text-secondary); font-size: .7rem; font-weight: 750; }
  .service-value-list i { color: var(--primary-orange); }
  .service-card-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border-color); color: var(--primary-orange); font-size: .86rem; font-weight: 850; }
  .service-card-cta i { transition: transform .25s ease; }
  .services-showcase .service-card:hover .service-card-cta i { transform: translateX(5px); }

  .services-premium-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.15rem 1.3rem; border: 1px solid var(--border-color); border-radius: 18px; background: rgba(255,255,255,.025); }
  .services-footer-copy { display: flex; align-items: center; gap: .85rem; }
  .services-footer-copy > i { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: rgba(255,103,0,.12); color: var(--primary-orange); }
  .services-footer-copy p { display: flex; flex-direction: column; margin: 0; }
  .services-footer-copy strong { color: var(--text-primary); font-size: .88rem; }
  .services-footer-copy span { color: var(--text-secondary); font-size: .76rem; }
  .services-all-link { display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; padding: .82rem 1.1rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 25px rgba(255,103,0,.23); transition: transform .25s ease, box-shadow .25s ease; }
  .services-all-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 32px rgba(255,103,0,.33); }

  [data-bs-theme="light"] .services-promise,
  [data-bs-theme="light"] .services-showcase .service-card,
  [data-bs-theme="light"] .services-premium-footer { background: rgba(255,255,255,.9); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .services-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .services-premium-heading { align-items: flex-start; flex-direction: column; }
  }

  @media (max-width: 767px) {
    .services-premium { padding: 5rem 0; }
    .services-title-wrapper { text-align: center; }
    .services-title-wrapper .section-subtitle { justify-content: center; }
    .services-promise { align-self: center; }
    .services-showcase { grid-template-columns: 1fr; }
    .services-showcase .service-card:only-child { grid-column: auto; }
    .services-premium-footer { align-items: stretch; flex-direction: column; }
    .services-all-link { justify-content: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .services-showcase .service-card,
    .services-showcase .service-image { transition: none; }
  }

  /* Empty State Services, Realizations, Testimonials & Partners */
  .empty-state-services, .empty-state-realizations, .empty-state-testimonials, .empty-state-partners {
    text-align: center;
    padding: 5rem 2rem;
    background: var(--glass-bg);
    border: 2px dashed var(--glass-border);
    border-radius: 30px;
    max-width: 800px;
    margin: 2rem auto;
    backdrop-filter: blur(10px);
  }

  .empty-icon-wrapper {
    width: 100px;
    height: 100px;
    background: rgba(255, 103, 0, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 2rem;
    position: relative;
  }

  .empty-icon-wrapper i {
    font-size: 3.5rem;
    color: var(--primary-orange);
  }

  .animate-rotate {
    animation: rotate-gear 10s linear infinite;
  }

  .animate-float {
    animation: float-icon 3s ease-in-out infinite;
  }

  @keyframes rotate-gear {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
  }

  @keyframes float-icon {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
  }

  .empty-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-body);
    margin-bottom: 1rem;
  }

  .empty-text {
    font-size: 1.1rem;
    color: var(--text-muted);
    max-width: 500px;
    margin: 0 auto 2rem;
    line-height: 1.6;
  }

  [data-bs-theme="light"] .empty-state-services, 
  [data-bs-theme="light"] .empty-state-realizations,
  [data-bs-theme="light"] .empty-state-testimonials,
  [data-bs-theme="light"] .empty-state-partners {
    background: rgba(255, 103, 0, 0.03);
    border-color: rgba(255, 103, 0, 0.2);
  }

  /* Solutions on home: isolated to preserve the original landing-page design. */
  .home-solutions-section {
    padding: 6rem 0;
    background: var(--bg-body);
  }

  .home-solutions-intro {
    max-width: 680px;
    margin: 1rem auto 0;
    color: var(--text-muted);
    line-height: 1.7;
  }

  .home-solution-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background: var(--card-bg);
    box-shadow: var(--shadow-color);
    transition: transform 0.3s ease, border-color 0.3s ease;
  }

  .home-solution-card:hover {
    transform: translateY(-8px);
    border-color: rgba(255, 103, 0, 0.45);
  }

  .home-solution-visual {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: radial-gradient(circle at top right, rgba(255, 103, 0, 0.2), transparent 62%);
  }

  .home-solution-visual > img,
  .home-solution-placeholder {
    width: 100%;
    height: 100%;
  }

  .home-solution-visual > img {
    object-fit: cover;
    transition: transform 0.4s ease;
  }

  .home-solution-card:hover .home-solution-visual > img {
    transform: scale(1.05);
  }

  .home-solution-placeholder {
    display: grid;
    place-items: center;
    color: var(--primary-orange);
    font-size: 2.8rem;
  }

  .home-solution-type,
  .home-solution-featured {
    position: absolute;
    top: 1rem;
    z-index: 1;
    padding: 0.4rem 0.65rem;
    border-radius: 8px;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
  }

  .home-solution-type {
    left: 1rem;
    background: rgba(10, 10, 10, 0.84);
    backdrop-filter: blur(8px);
  }

  .home-solution-featured {
    right: 1rem;
    background: var(--primary-orange);
  }

  .home-solution-body {
    padding: 1.5rem;
  }

  .home-solution-heading {
    display: flex;
    align-items: center;
    gap: 0.75rem;
  }

  .home-solution-heading h3 {
    margin: 0;
    color: var(--text-body);
    font-size: 1.15rem;
    font-weight: 700;
  }

  .home-solution-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    padding: 0.25rem;
    border-radius: 10px;
    background: #fff;
  }

  .home-solution-body p {
    min-height: 3.2em;
    margin: 1rem 0;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.6;
  }

  @media (max-width: 767.98px) {
    .home-solutions-section {
      padding: 4rem 0;
    }

    .home-solution-body p {
      min-height: 0;
    }
  }

  /* Premium digital solutions showcase */
  .solutions-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      radial-gradient(circle at 12% 15%, rgba(255,103,0,.11), transparent 28%),
      linear-gradient(160deg, var(--bg-body), rgba(255,103,0,.025));
    isolation: isolate;
  }

  .solutions-premium-container { position: relative; z-index: 2; }
  .solutions-grid-pattern { position: absolute; inset: 0; z-index: -2; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 75%, transparent); }
  .solutions-beam { position: absolute; z-index: -1; width: 520px; height: 520px; top: -300px; right: 4%; border-radius: 50%; background: rgba(255,103,0,.14); filter: blur(110px); pointer-events: none; }

  .solutions-premium-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.7rem; }
  .solutions-title-wrapper { max-width: 790px; margin: 0; text-align: left; }
  .solutions-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .solutions-title-wrapper .section-title { max-width: 760px; margin-bottom: 1rem; font-size: clamp(2.35rem, 4.2vw, 4.35rem); line-height: 1.04; letter-spacing: -.045em; }
  .solutions-title-wrapper .home-solutions-intro { max-width: 660px; margin: 0; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.75; }

  .solutions-signature { flex: 0 0 auto; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,103,0,.28); border-radius: 18px; background: rgba(255,255,255,.035); }
  .solutions-signature > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,103,0,.13); color: var(--primary-orange); font-size: 1.2rem; }
  .solutions-signature div { display: flex; flex-direction: column; }
  .solutions-signature strong { color: var(--text-primary); font-size: .86rem; }
  .solutions-signature small { color: var(--text-secondary); font-size: .72rem; }

  .solutions-showcase { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .solutions-showcase .home-solution-card:only-child { width: min(100%, 640px); margin-inline: auto; grid-column: 1 / -1; }
  .solutions-showcase .home-solution-card { border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 24px 65px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease; }
  .solutions-showcase .home-solution-card:hover { transform: translateY(-9px); border-color: rgba(255,103,0,.48); box-shadow: 0 32px 75px rgba(0,0,0,.32), 0 0 0 1px rgba(255,103,0,.07); }
  .home-solution-card-link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
  .home-solution-card-link:hover { color: inherit; }

  .solutions-showcase .home-solution-visual { aspect-ratio: 16 / 10; }
  .solutions-showcase .home-solution-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 50%, rgba(0,0,0,.38)); pointer-events: none; }
  .home-solution-badges { position: absolute; z-index: 2; top: 1rem; left: 1rem; right: 1rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
  .solutions-showcase .home-solution-type,
  .solutions-showcase .home-solution-featured { position: static; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; backdrop-filter: blur(10px); }
  .home-solution-preview { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(10,10,10,.7); color: #fff; backdrop-filter: blur(10px); transition: transform .3s ease, background .3s ease; }
  .home-solution-card:hover .home-solution-preview { transform: rotate(8deg) scale(1.08); background: var(--primary-orange); }

  .solutions-showcase .home-solution-body { display: flex; flex: 1; flex-direction: column; padding: 1.55rem; }
  .solutions-showcase .home-solution-heading { align-items: center; }
  .solutions-showcase .home-solution-heading > div { min-width: 0; }
  .solutions-showcase .home-solution-heading h3 { color: var(--text-primary); font-size: 1.3rem; font-weight: 850; }
  .home-solution-label { display: block; margin-bottom: .2rem; color: var(--primary-orange); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .solutions-showcase .home-solution-logo { width: 50px; height: 50px; flex: 0 0 auto; border-radius: 14px; }
  .home-solution-logo-fallback { width: 50px; height: 50px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, var(--primary-orange), #ff9a56); color: #fff; font-size: 1.15rem; font-weight: 900; }
  .solutions-showcase .home-solution-body > p { min-height: 0; margin: 1.1rem 0; color: var(--text-secondary); line-height: 1.65; }

  .home-solution-meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.2rem; }
  .home-solution-meta span { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .6rem; border: 1px solid var(--border-color); border-radius: 999px; color: var(--text-secondary); font-size: .7rem; font-weight: 750; }
  .home-solution-meta i { color: var(--primary-orange); }
  .home-solution-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border-color); color: var(--primary-orange); font-size: .86rem; font-weight: 850; }
  .home-solution-cta i { transition: transform .25s ease; }
  .home-solution-card:hover .home-solution-cta i { transform: translateX(5px); }

  .solutions-premium-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.15rem 1.3rem; border: 1px solid var(--border-color); border-radius: 18px; background: rgba(255,255,255,.025); }
  .solutions-proof { display: flex; align-items: center; gap: .85rem; }
  .solutions-proof > span { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: rgba(255,103,0,.12); color: var(--primary-orange); }
  .solutions-proof p { display: flex; flex-direction: column; margin: 0; }
  .solutions-proof strong { color: var(--text-primary); font-size: .88rem; }
  .solutions-proof small { color: var(--text-secondary); font-size: .76rem; }
  .solutions-all-link { display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; padding: .82rem 1.1rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 25px rgba(255,103,0,.23); transition: transform .25s ease, box-shadow .25s ease; }
  .solutions-all-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 32px rgba(255,103,0,.33); }

  [data-bs-theme="light"] .solutions-signature,
  [data-bs-theme="light"] .solutions-showcase .home-solution-card,
  [data-bs-theme="light"] .solutions-premium-footer { background: rgba(255,255,255,.9); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .solutions-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solutions-premium-heading { align-items: flex-start; flex-direction: column; }
  }

  @media (max-width: 767px) {
    .solutions-premium { padding: 5rem 0; }
    .solutions-title-wrapper { text-align: center; }
    .solutions-title-wrapper .section-subtitle { justify-content: center; }
    .solutions-signature { align-self: center; }
    .solutions-showcase { grid-template-columns: 1fr; }
    .solutions-showcase .home-solution-card:only-child { grid-column: auto; }
    .solutions-premium-footer { align-items: stretch; flex-direction: column; }
    .solutions-all-link { justify-content: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .solutions-showcase .home-solution-card,
    .solutions-showcase .home-solution-visual > img { transition: none; }
  }

  /* Realizations Section */
  .realizations-section {
    background: var(--bg-body);
    padding: 6rem 0;
  }

  .realization-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4/3;
    cursor: pointer;
  }

  .realization-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }

  .realization-card:hover .realization-image {
    transform: scale(1.1);
  }

  .realization-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
    padding: 2rem;
    transform: translateY(100%);
    transition: transform 0.4s ease;
  }

  .realization-card:hover .realization-overlay {
    transform: translateY(0);
  }

  .realization-title {
    color: white;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }

  .realization-category {
    color: var(--primary-orange);
    font-size: 0.9rem;
  }

  /* Filter Buttons */
  .filter-btn {
    background: transparent;
    border: 1px solid var(--border-color);
    color: var(--text-body);
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    font-weight: 500;
    transition: all 0.3s ease;
    cursor: pointer;
  }

  .filter-btn:hover {
    border-color: var(--primary-orange);
    color: var(--primary-orange);
  }

  .filter-btn.active {
    background: var(--primary-orange);
    border-color: var(--primary-orange);
    color: white !important;
  }

  [data-bs-theme="light"] .filter-btn {
    color: #333; /* Texte plus sombre en mode clair */
    border-color: rgba(0, 0, 0, 0.1);
  }
  
  [data-bs-theme="light"] .filter-btn:hover {
    color: var(--primary-orange);
    border-color: var(--primary-orange);
  }

  /* Why Choose Us Section */
  .why-us-section {
    background: var(--bg-body);
    padding: 6rem 0;
  }

  .why-us-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 2.5rem 2rem;
    text-align: center;
    transition: all 0.4s ease;
    height: 100%;
  }

  .why-us-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(255, 103, 0, 0.1);
    border-color: rgba(255, 103, 0, 0.3);
  }

  .why-us-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, rgba(255, 103, 0, 0.2) 0%, rgba(255, 103, 0, 0.05) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2rem;
    color: var(--primary-orange);
    transition: all 0.4s ease;
  }

  .why-us-card:hover .why-us-icon {
    transform: scale(1.1);
    background: linear-gradient(135deg, var(--primary-orange) 0%, #ff8533 100%);
    color: white;
  }

  .why-us-title {
    color: var(--text-body);
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
  }

  .why-us-text {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
  }

  /* Premium advantages bento */
  .advantages-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      radial-gradient(circle at 50% 0%, rgba(255,103,0,.1), transparent 32%),
      var(--bg-body);
    isolation: isolate;
  }

  .advantages-premium::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(circle at center, #000, transparent 72%); }
  .advantages-ring { position: absolute; z-index: -1; border: 1px solid rgba(255,103,0,.13); border-radius: 50%; pointer-events: none; }
  .advantages-ring-one { width: 440px; height: 440px; top: -280px; right: -80px; }
  .advantages-ring-two { width: 260px; height: 260px; bottom: -170px; left: -70px; }
  .advantages-container { position: relative; z-index: 2; }

  .advantages-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.7rem; }
  .advantages-title-wrapper { max-width: 790px; margin: 0; text-align: left; }
  .advantages-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .advantages-title-wrapper .section-title { max-width: 760px; margin-bottom: 1rem; font-size: clamp(2.35rem, 4.2vw, 4.35rem); line-height: 1.04; letter-spacing: -.045em; }
  .advantages-intro { max-width: 660px; margin: 0; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.75; }
  .advantages-contact-link { display: inline-flex; align-items: center; gap: .65rem; flex: 0 0 auto; padding: .88rem 1.15rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 26px rgba(255,103,0,.24); transition: transform .25s ease, box-shadow .25s ease; }
  .advantages-contact-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 32px rgba(255,103,0,.34); }

  .advantages-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 1.25rem; }
  .advantages-premium .why-us-card { position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 390px; padding: 1.45rem; border-radius: 24px; text-align: left; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 22px 58px rgba(0,0,0,.19); transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease; }
  .advantages-premium .why-us-card::before { content: ""; position: absolute; width: 160px; height: 160px; right: -85px; top: -85px; border-radius: 50%; background: rgba(255,103,0,.09); transition: transform .45s ease; }
  .advantages-premium .why-us-card:hover { transform: translateY(-7px); border-color: rgba(255,103,0,.45); box-shadow: 0 30px 70px rgba(0,0,0,.3); }
  .advantages-premium .why-us-card:hover::before { transform: scale(1.35); }
  .advantage-card-experience { grid-column: span 6; }
  .advantage-card-projects, .advantage-card-trust { grid-column: span 3; }
  .advantage-card-agility { grid-column: 1 / -1; min-height: 260px !important; }

  .advantage-card-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.15rem; color: var(--text-secondary); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
  .advantage-card-top i { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--border-color); border-radius: 50%; color: var(--text-primary); transition: background .3s ease, transform .3s ease; }
  .advantages-premium .why-us-card:hover .advantage-card-top i { transform: rotate(8deg); background: var(--primary-orange); color: #fff; }

  .advantages-premium .why-us-icon { position: absolute; right: 1.4rem; top: 5.5rem; width: 58px; height: 58px; margin: 0; background: rgba(255,103,0,.11); font-size: 1.4rem; }
  .advantages-premium .why-us-card:hover .why-us-icon { transform: scale(1.08); }
  .advantage-metric { display: flex; align-items: center; gap: .7rem; margin-bottom: auto; }
  .advantage-metric strong { color: var(--primary-orange); font-size: clamp(3rem, 5vw, 5rem); line-height: .9; font-weight: 900; letter-spacing: -.06em; }
  .advantage-metric sup { font-size: 1.2rem; }
  .advantage-metric span { color: var(--text-secondary); font-size: .68rem; line-height: 1.35; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
  .advantages-premium .why-us-title { margin: 1.4rem 0 .65rem; color: var(--text-primary); font-size: 1.25rem; font-weight: 850; }
  .advantages-premium .why-us-text { margin: 0 0 1.15rem; color: var(--text-secondary); font-size: .86rem; line-height: 1.65; }
  .advantage-proof { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; padding: .4rem .6rem; border: 1px solid var(--border-color); border-radius: 999px; color: var(--text-secondary); font-size: .68rem; font-weight: 800; }
  .advantage-proof i { color: var(--primary-orange); }

  .advantage-card-agility { display: grid !important; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1.5rem; }
  .advantage-card-agility .advantage-card-top { align-self: stretch; flex-direction: column; margin: 0; }
  .advantage-card-agility .why-us-icon { position: static; align-self: center; }
  .advantage-agility-copy { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(280px,1fr); align-items: center; gap: 2rem; }
  .advantage-kicker { color: var(--primary-orange); font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .advantage-card-agility .why-us-title { margin: .45rem 0 0; font-size: clamp(1.35rem,2.2vw,2rem); }
  .advantage-card-agility .why-us-text { margin: 0; }
  .advantage-steps { display: flex; align-items: center; gap: .65rem; padding: .8rem; border: 1px solid var(--border-color); border-radius: 16px; }
  .advantage-steps span { display: flex; flex-direction: column; color: var(--text-primary); font-size: .7rem; font-weight: 800; }
  .advantage-steps b { color: var(--primary-orange); font-size: .62rem; }
  .advantage-steps > i { color: var(--text-secondary); font-size: .72rem; }

  [data-bs-theme="light"] .advantages-premium .why-us-card { background: rgba(255,255,255,.92); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 1100px) {
    .advantage-card-experience, .advantage-card-projects, .advantage-card-trust { grid-column: span 4; }
    .advantage-card-agility { grid-template-columns: auto 1fr; }
    .advantage-steps { grid-column: 1 / -1; justify-self: stretch; justify-content: center; }
  }

  @media (max-width: 767px) {
    .advantages-premium { padding: 5rem 0; }
    .advantages-heading { align-items: stretch; flex-direction: column; }
    .advantages-title-wrapper { text-align: center; }
    .advantages-title-wrapper .section-subtitle { justify-content: center; }
    .advantages-contact-link { justify-content: center; }
    .advantages-grid { grid-template-columns: 1fr; }
    .advantage-card-experience, .advantage-card-projects, .advantage-card-trust, .advantage-card-agility { grid-column: auto; }
    .advantages-premium .why-us-card { min-height: 360px; }
    .advantage-card-agility { display: flex !important; align-items: stretch; flex-direction: column; }
    .advantage-card-agility .advantage-card-top { flex-direction: row; }
    .advantage-card-agility .why-us-icon { align-self: flex-start; }
    .advantage-agility-copy { grid-template-columns: 1fr; gap: 1rem; }
    .advantage-steps { width: 100%; overflow-x: auto; justify-content: flex-start; }
  }

  @media (prefers-reduced-motion: reduce) {
    .advantages-premium .why-us-card,
    .advantages-premium .why-us-card::before { transition: none; }
  }

  /* Testimonials Section */
  .testimonials-section {
    background: var(--bg-body);
    padding: 6rem 0;
  }

  .testimonial-card {
    background: var(--card-bg);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 2.5rem;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .testimonial-card:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: var(--primary-orange);
    box-shadow: 0 20px 40px rgba(255, 103, 0, 0.15);
  }

  .testimonial-quote {
    color: var(--primary-orange);
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: 1.5rem;
    opacity: 0.5;
  }

  .testimonial-text {
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    font-style: italic;
    position: relative;
  }

  .testimonial-stars {
    color: #ffc107;
    margin-bottom: 1rem;
    font-size: 0.9rem;
  }

  .testimonial-author {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
  }

  .testimonial-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--primary-orange);
  }

  .testimonial-info h5 {
    color: var(--text-body);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
  }

  .testimonial-info span {
    color: var(--text-muted);
    font-size: 0.85rem;
  }

  /* Stats Section */
  .stats-section {
    background: linear-gradient(135deg, rgba(255, 103, 0, 0.18) 0%, rgba(10, 10, 10, 0.94) 100%),
                var(--home-stats-image);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 5rem 0;
    position: relative;
  }

  .stats-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
  }

  .stats-container {
    position: relative;
    z-index: 2;
  }

  .stat-item {
    text-align: center;
    padding: 2rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    height: 100%;
    backdrop-filter: blur(10px);
  }

  .stat-number {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--primary-orange);
    line-height: 1;
    margin-bottom: 0.5rem;
  }

  .stat-label {
    color: white;
    font-size: 1.1rem;
    font-weight: 500;
  }

  /* Premium client voices */
  .testimonials-premium { position: relative; overflow: hidden; padding: 7rem 0; background: radial-gradient(circle at 85% 15%,rgba(255,103,0,.1),transparent 28%),var(--bg-body); isolation: isolate; }
  .testimonials-premium::before { content: "\201C"; position: absolute; z-index: -2; left: 2%; top: -8rem; color: rgba(255,103,0,.045); font-family: Georgia,serif; font-size: 38rem; line-height: 1; pointer-events: none; }
  .testimonials-glow { position: absolute; z-index: -1; width: 360px; height: 360px; right: -160px; bottom: -100px; border-radius: 50%; background: rgba(255,103,0,.12); filter: blur(100px); pointer-events: none; }
  .testimonials-container { position: relative; z-index: 2; }
  .testimonials-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.5rem; }
  .testimonials-title-wrapper { max-width: 790px; margin: 0; text-align: left; }
  .testimonials-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .testimonials-title-wrapper .section-title { max-width: 760px; margin-bottom: 1rem; font-size: clamp(2.35rem,4.2vw,4.35rem); line-height: 1.04; letter-spacing: -.045em; }
  .testimonials-intro { max-width: 650px; margin: 0; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.75; }
  .testimonials-controls { display: flex; gap: .75rem; flex: 0 0 auto; }
  .testimonial-nav-btn { min-width: 104px; height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: 0 1rem; border: 1px solid rgba(255,103,0,.35); border-radius: 999px; background: rgba(255,255,255,.04); color: var(--text-primary); font-weight: 800; transition: transform .25s ease,background .25s ease,border-color .25s ease; }
  .testimonial-nav-next { background: var(--primary-orange); border-color: var(--primary-orange); color: #fff; }
  .testimonial-nav-btn:hover:not(:disabled),.testimonial-nav-btn:focus-visible { transform: translateY(-2px); border-color: var(--primary-orange); background: rgba(255,103,0,.12); outline: none; }
  .testimonial-nav-next:hover:not(:disabled) { background: #ff7d24; color: #fff; }
  .testimonial-nav-btn:disabled { opacity: .4; cursor: not-allowed; }

  .testimonials-carousel { overflow-x: auto; padding: .5rem .15rem 1.5rem; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; outline: none; }
  .testimonials-carousel::-webkit-scrollbar { display: none; }
  .testimonials-carousel:focus-visible { border-radius: 26px; box-shadow: 0 0 0 3px rgba(255,103,0,.3); }
  .testimonials-track { display: flex; gap: 1.35rem; }
  .testimonials-track-compact { justify-content: center; }
  .testimonial-slide { flex: 0 0 calc((100% - 1.35rem)/2); min-width: 0; scroll-snap-align: start; }
  .testimonials-premium .testimonial-card { position: relative; overflow: hidden; min-height: 410px; padding: 1.55rem; border-radius: 26px; background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); box-shadow: 0 24px 65px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease; }
  .testimonials-premium .testimonial-card::after { content: ""; position: absolute; width: 180px; height: 180px; right: -100px; top: -100px; border-radius: 50%; background: rgba(255,103,0,.09); transition: transform .4s ease; }
  .testimonials-premium .testimonial-card:hover { transform: translateY(-7px); border-color: rgba(255,103,0,.45); box-shadow: 0 30px 70px rgba(0,0,0,.3); }
  .testimonials-premium .testimonial-card:hover::after { transform: scale(1.35); }
  .testimonial-card-top { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
  .testimonial-verified { display: inline-flex; align-items: center; gap: .4rem; color: var(--primary-orange); font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
  .testimonial-index { color: var(--text-secondary); font-size: .72rem; font-weight: 900; letter-spacing: .1em; }
  .testimonials-premium .testimonial-quote { position: absolute; right: 1.5rem; top: 3.8rem; margin: 0; font-size: 5rem; opacity: .12; }
  .testimonial-main { display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 2rem 0 1.5rem; }
  .testimonials-premium .testimonial-stars { display: flex; align-items: center; gap: .22rem; margin-bottom: 1.2rem; }
  .testimonials-premium .testimonial-stars span { margin-left: .45rem; color: var(--text-secondary); font-size: .7rem; font-weight: 850; }
  .testimonials-premium .testimonial-text { margin: 0; color: var(--text-primary); font-family: Georgia,serif; font-size: clamp(1.1rem,1.8vw,1.45rem); line-height: 1.65; font-style: italic; }
  .testimonials-premium .testimonial-author { margin-top: auto; padding-top: 1.25rem; border-top: 1px solid var(--border-color); }
  .testimonials-premium .testimonial-avatar { width: 54px; height: 54px; border: 2px solid var(--primary-orange); }
  .testimonials-premium .testimonial-info h5 { margin-bottom: .2rem; font-size: .95rem; font-weight: 850; }
  .testimonials-premium .testimonial-info span { color: var(--text-secondary); font-size: .75rem; }
  .testimonial-trust-icon { margin-left: auto; color: var(--primary-orange); font-size: 1.3rem; }
  .testimonials-footer { display: flex; align-items: center; gap: 1rem; }
  .testimonials-progress { width: min(360px,70%); height: 4px; overflow: hidden; border-radius: 99px; background: var(--border-color); }
  .testimonials-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--primary-orange),#ff9b59); transition: width .3s ease; }
  .testimonials-footer p { margin: 0; color: var(--text-secondary); font-size: .82rem; font-weight: 750; }

  /* Premium impact dashboard */
  .impact-premium { padding: 6.5rem 0; background-position: center 35%; background-attachment: fixed; }
  .impact-premium::before { background: linear-gradient(110deg,rgba(7,7,7,.97),rgba(7,7,7,.82)); }
  .impact-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.4rem; }
  .impact-kicker { display: flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; color: var(--primary-orange); font-size: .74rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
  .impact-heading h2 { margin: 0; color: #fff; font-size: clamp(2.2rem,4vw,4rem); line-height: 1.04; font-weight: 900; letter-spacing: -.045em; }
  .impact-heading > p { max-width: 430px; margin: 0; color: rgba(255,255,255,.67); line-height: 1.7; }
  .impact-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
  .impact-premium .stat-item { position: relative; overflow: hidden; min-height: 250px; display: flex; flex-direction: column; align-items: flex-start; padding: 1.3rem; border: 1px solid rgba(255,255,255,.13); border-radius: 22px; background: rgba(255,255,255,.065); text-align: left; backdrop-filter: blur(14px); transition: transform .35s ease,border-color .35s ease,background .35s ease; }
  .impact-premium .stat-item:hover { transform: translateY(-6px); border-color: rgba(255,103,0,.48); background: rgba(255,255,255,.095); }
  .stat-top { width: 100%; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.55); font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
  .stat-top i { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,103,0,.13); color: var(--primary-orange); font-size: 1rem; }
  .impact-premium .stat-number { margin: auto 0 .5rem; color: #fff; font-size: clamp(3.2rem,5vw,5rem); font-weight: 900; letter-spacing: -.06em; }
  .impact-premium .stat-number::after { content: "+"; margin-left: .08em; color: var(--primary-orange); font-size: .36em; vertical-align: top; }
  .impact-premium .stat-label { color: #fff; font-size: .94rem; font-weight: 850; }
  .stat-source { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; color: rgba(255,255,255,.5); font-size: .64rem; font-weight: 750; }
  .stat-tone-blue .stat-top i { color: #61a9ff; background: rgba(45,134,255,.13); }
  .stat-tone-green .stat-top i { color: #5cdb95; background: rgba(45,190,112,.13); }
  .stat-tone-purple .stat-top i { color: #b991ff; background: rgba(144,91,255,.13); }
  .impact-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1.25rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.045); }
  .impact-footer span { color: rgba(255,255,255,.58); font-size: .75rem; }
  .impact-footer span i { margin-right: .35rem; color: var(--primary-orange); }
  .impact-footer a { display: inline-flex; align-items: center; gap: .55rem; color: #fff; font-size: .8rem; font-weight: 850; text-decoration: none; }
  .impact-footer a:hover { color: var(--primary-orange); }

  [data-bs-theme="light"] .testimonials-premium .testimonial-card { background: rgba(255,255,255,.92); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .testimonials-heading,.impact-heading { align-items: flex-start; flex-direction: column; }
    .impact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  }

  @media (max-width: 767px) {
    .testimonials-premium,.impact-premium { padding: 5rem 0; }
    .testimonials-title-wrapper { text-align: center; }
    .testimonials-title-wrapper .section-subtitle { justify-content: center; }
    .testimonials-controls { width: 100%; justify-content: center; }
    .testimonials-track-compact { justify-content: flex-start; }
    .testimonial-slide { flex-basis: 88%; }
    .impact-grid { grid-template-columns: 1fr 1fr; }
    .impact-heading { text-align: center; }
    .impact-kicker { justify-content: center; }
    .impact-heading > p { max-width: none; }
    .impact-footer { align-items: stretch; flex-direction: column; text-align: center; }
    .impact-footer a { justify-content: center; }
  }

  @media (max-width: 480px) {
    .impact-grid { grid-template-columns: 1fr; }
    .impact-premium .stat-item { min-height: 220px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .testimonials-carousel { scroll-behavior: auto; }
    .testimonials-premium .testimonial-card,.impact-premium .stat-item { transition: none; }
  }

  /* Partners Section */
  .partners-section {
    position: relative;
    overflow: hidden;
    background:
      linear-gradient(135deg, rgba(255, 103, 0, 0.07), transparent 36%),
      var(--bg-body);
    padding: 7rem 0 6rem;
    isolation: isolate;
  }

  .partners-container { position: relative; z-index: 2; }

  .partners-glow {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 103, 0, 0.13);
    filter: blur(90px);
    pointer-events: none;
    z-index: -1;
  }

  .partners-glow-one { width: 340px; height: 340px; top: -150px; right: 5%; }
  .partners-glow-two { width: 260px; height: 260px; bottom: -130px; left: 3%; opacity: .55; }

  .partners-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.5rem;
  }

  .partners-title-wrapper { text-align: left; margin: 0; max-width: 690px; }
  .partners-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .5rem; }
  .partners-title-wrapper .section-title { margin-bottom: .8rem; }

  .partners-intro {
    max-width: 650px;
    margin: 0;
    color: var(--text-secondary);
    font-size: 1.04rem;
    line-height: 1.75;
  }

  .partners-controls { display: flex; gap: .75rem; flex-shrink: 0; }

  .partner-nav-btn {
    min-width: 104px;
    height: 48px;
    padding: 0 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 1px solid rgba(255, 103, 0, .35);
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    color: var(--text-primary);
    font-weight: 700;
    transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  }

  .partner-nav-btn:hover:not(:disabled),
  .partner-nav-btn:focus-visible {
    transform: translateY(-2px);
    border-color: var(--primary-orange);
    background: rgba(255, 103, 0, .12);
    outline: none;
  }

  .partner-nav-btn-next { background: var(--primary-orange); border-color: var(--primary-orange); color: #fff; }
  .partner-nav-btn-next:hover:not(:disabled) { background: #ff7d24; color: #fff; }
  .partner-nav-btn:disabled { opacity: .4; cursor: not-allowed; }

  .partners-carousel {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: .5rem .15rem 1.75rem;
    outline: none;
  }

  .partners-carousel::-webkit-scrollbar { display: none; }
  .partners-carousel:focus-visible { border-radius: 24px; box-shadow: 0 0 0 3px rgba(255, 103, 0, .3); }

  .partners-track { display: flex; gap: 1.35rem; }
  .partners-track-compact { justify-content: center; }

  .partner-slide {
    flex: 0 0 calc((100% - 2.7rem) / 3);
    min-width: 0;
    scroll-snap-align: start;
  }

  .partner-card {
    position: relative;
    min-height: 360px;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 1.25rem;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
    color: inherit;
    text-decoration: none;
    transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
  }

  .partner-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--primary-orange), transparent);
    transform: scaleX(.25);
    opacity: .55;
    transition: transform .4s ease, opacity .4s ease;
  }

  .partner-card:hover {
    transform: translateY(-8px);
    border-color: rgba(255, 103, 0, .52);
    box-shadow: 0 28px 65px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 103, 0, .08);
    color: inherit;
  }

  .partner-card:hover::before { transform: scaleX(1); opacity: 1; }

  .partner-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
  .partner-trust-badge { color: var(--primary-orange); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .partner-index { color: var(--text-secondary); font-size: .78rem; font-weight: 800; }

  .partner-logo-wrapper {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 18px;
    padding: 1.35rem;
    height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .4s ease, box-shadow .4s ease;
  }

  .partner-card:hover .partner-logo-wrapper { transform: scale(1.025); box-shadow: 0 14px 30px rgba(0,0,0,.13); }

  .partner-name-fallback {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--primary-orange), #ff9148);
    color: #fff;
    font-weight: 900;
    font-size: 1.25rem;
    text-align: center;
    box-shadow: 0 10px 24px rgba(255,103,0,.25);
  }

  .partner-logo {
    max-width: 100%;
    max-height: 86px;
    object-fit: contain;
    filter: saturate(.8);
    transition: filter .4s ease, transform .4s ease;
  }

  .partner-card:hover .partner-logo { filter: saturate(1); transform: scale(1.035); }

  .partner-card-content { display: flex; flex: 1; flex-direction: column; padding: 1.25rem .25rem .15rem; }
  .partner-card-content h3 { margin: 0 0 .6rem; color: var(--text-primary); font-size: 1.18rem; font-weight: 800; }
  .partner-card-content p { margin: 0 0 1.2rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.6; }
  .partner-card-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border-color); color: var(--primary-orange); font-size: .84rem; font-weight: 800; }
  .partner-card-link i { transition: transform .25s ease; }
  .partner-card:hover .partner-card-link i { transform: translate(3px, -3px); }
  .partner-card-link-static { color: var(--text-secondary); }

  .partners-footer { display: flex; align-items: center; gap: 1rem; }
  .partners-progress { width: min(360px, 70%); height: 4px; overflow: hidden; border-radius: 99px; background: var(--border-color); }
  .partners-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary-orange), #ff9b59); transition: width .3s ease; }
  .partners-status { margin: 0; color: var(--text-secondary); font-size: .82rem; font-weight: 700; white-space: nowrap; }

  .partners-single .partners-heading { justify-content: center; text-align: center; }
  .partners-single .partners-title-wrapper { max-width: 760px; text-align: center; }
  .partners-single .partners-title-wrapper .section-subtitle { justify-content: center; }
  .partners-single .partners-track { justify-content: center; }
  .partners-single .partner-slide { flex-basis: min(100%, 940px); }
  .partners-single .partner-card { min-height: 340px; display: grid; grid-template-columns: minmax(280px,.9fr) minmax(320px,1.1fr); grid-template-rows: auto 1fr; column-gap: 1.5rem; padding: 1.4rem; }
  .partners-single .partner-card-topline { grid-column: 1 / -1; }
  .partners-single .partner-logo-wrapper { height: 100%; min-height: 230px; }
  .partners-single .partner-logo { max-width: 82%; max-height: 150px; }
  .partners-single .partner-card-content { justify-content: center; padding: 1rem .75rem; }
  .partners-single .partner-card-content h3 { font-size: clamp(1.45rem,2.3vw,2rem); }
  .partners-single .partner-card-content p { max-width: 430px; font-size: .96rem; line-height: 1.75; }
  .partners-single .partners-footer-single { justify-content: center; }
  .partners-single .partners-footer-single .partners-progress { width: min(100%,940px); }
  .partners-single .partners-footer-single .partners-status { display: none; }

  /* CTA Section */
  .cta-section {
    background: linear-gradient(135deg, var(--primary-orange) 0%, #ff8533 100%);
    padding: 5rem 0;
    text-align: center;
  }

  [data-bs-theme="light"] .partners-section,
  [data-bs-theme="light"] .testimonials-section {
    background: #f7f8fa;
  }

  [data-bs-theme="light"] .testimonial-card,
  [data-bs-theme="light"] .home-formation-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  }

  [data-bs-theme="light"] .section-title,
  [data-bs-theme="light"] .testimonial-info h5 {
    color: #111827;
  }

  [data-bs-theme="light"] .stats-section::before {
    background: rgba(0, 0, 0, 0.62);
  }

  [data-bs-theme="dark"] .partner-logo-wrapper {
    background: rgba(255, 255, 255, 0.94) !important;
  }

  [data-bs-theme="light"] .partner-card { background: rgba(255,255,255,.86); box-shadow: 0 18px 50px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .partner-slide { flex-basis: calc((100% - 1.35rem) / 2); }
  }

  @media (max-width: 767px) {
    .partners-section { padding: 5rem 0 4rem; }
    .partners-heading { align-items: flex-start; flex-direction: column; }
    .partners-title-wrapper { text-align: center; max-width: none; }
    .partners-title-wrapper .section-subtitle { justify-content: center; }
    .partners-controls { width: 100%; justify-content: center; }
    .partners-track-compact { justify-content: flex-start; }
    .partner-slide { flex-basis: 86%; }
    .partner-card { min-height: 350px; }
    .partners-single .partner-slide { flex-basis: 94%; }
    .partners-single .partner-card { display: flex; min-height: 0; }
    .partners-single .partner-logo-wrapper { min-height: 160px; height: 160px; }
    .partners-single .partner-card-content { padding: 1.25rem .25rem .15rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .partners-carousel { scroll-behavior: auto; }
    .partner-card, .partner-logo, .partner-logo-wrapper { transition: none; }
  }

  .cta-title {
    color: white;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }

  .cta-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.2rem;
    margin-bottom: 2rem;
  }

  /* Premium final conversion block */
  .final-cta-premium { position: relative; overflow: hidden; padding: 6rem 0; background: linear-gradient(125deg,#100b08 0%,#17100b 52%,#211006 100%); text-align: left; isolation: isolate; }
  .final-cta-premium::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg,#000,transparent 72%); }
  .final-cta-glow { position: absolute; z-index: -1; width: 440px; height: 440px; right: 5%; top: 50%; transform: translateY(-50%); border-radius: 50%; background: rgba(255,103,0,.2); filter: blur(110px); pointer-events: none; }
  .final-cta-container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); align-items: center; gap: clamp(3rem,7vw,7rem); }
  .final-cta-kicker { display: flex; align-items: center; gap: .5rem; margin: 0 0 .9rem; color: var(--primary-orange); font-size: .72rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
  .final-cta-premium .cta-title { max-width: 790px; margin: 0 0 1.15rem; font-size: clamp(2.5rem,4.7vw,4.8rem); line-height: 1.02; font-weight: 900; letter-spacing: -.05em; }
  .final-cta-premium .cta-text { max-width: 680px; margin: 0 0 1.5rem; color: rgba(255,255,255,.68); font-size: 1.04rem; line-height: 1.75; }
  .final-cta-trust { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; }
  .final-cta-trust span { display: inline-flex; align-items: center; gap: .4rem; color: rgba(255,255,255,.72); font-size: .75rem; font-weight: 750; }
  .final-cta-trust i { color: var(--primary-orange); }
  .final-cta-actions { position: relative; padding: 1.55rem; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(255,255,255,.065); box-shadow: 0 25px 70px rgba(0,0,0,.3); backdrop-filter: blur(16px); }
  .final-cta-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 1.2rem; border-radius: 16px; background: rgba(255,103,0,.16); color: var(--primary-orange); font-size: 1.35rem; }
  .final-cta-label { display: block; margin-bottom: .35rem; color: var(--primary-orange); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
  .final-cta-actions > strong { display: block; margin-bottom: .45rem; color: #fff; font-size: 1.2rem; }
  .final-cta-actions > p { margin: 0 0 1.25rem; color: rgba(255,255,255,.6); font-size: .86rem; }
  .final-cta-primary,.final-cta-secondary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-radius: 12px; font-weight: 850; text-decoration: none; transition: transform .25s ease,background .25s ease; }
  .final-cta-primary { margin-bottom: .65rem; background: var(--primary-orange); color: #fff; box-shadow: 0 10px 26px rgba(255,103,0,.25); }
  .final-cta-primary:hover { transform: translateY(-2px); color: #fff; }
  .final-cta-secondary { border: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.8); }
  .final-cta-secondary:hover { border-color: rgba(255,103,0,.5); background: rgba(255,103,0,.08); color: #fff; }

  @media (max-width: 991px) {
    .final-cta-container { grid-template-columns: 1fr; }
    .final-cta-copy { text-align: center; }
    .final-cta-kicker,.final-cta-trust { justify-content: center; }
    .final-cta-premium .cta-text { margin-inline: auto; }
    .final-cta-actions { width: min(100%,520px); margin-inline: auto; }
  }

  @media (max-width: 575px) {
    .final-cta-premium { padding: 4.5rem 0; }
    .final-cta-trust { align-items: center; flex-direction: column; }
  }

  .btn-cta {
    background: white;
    color: var(--primary-orange);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  }

  .btn-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    color: var(--primary-orange);
  }

  /* Responsive */
  @media (max-width: 768px) {
    .hero-title {
      font-size: 2.5rem;
    }

    .about-features {
      grid-template-columns: 1fr;
    }

    .stat-number {
      font-size: 2.5rem;
    }

    .stats-section {
      background-attachment: scroll;
    }

    .stat-item {
      padding: 1.5rem 0.75rem;
    }

    .hero-buttons {
      flex-direction: column;
      align-items: center;
    }
  }

  @media (max-width: 576px) {
    .partners-section,
    .cta-section,
    .stats-section {
      padding: 3.5rem 0;
    }

  }
  /* Home Formations Section */
  .home-formations-section {
    padding: 100px 0;
    background: rgba(255, 255, 255, 0.02);
  }

  .home-formation-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    overflow: hidden;
    height: 100%;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .home-formation-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 103, 0, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  }

  .hf-image-container {
    position: relative;
    height: 220px;
    overflow: hidden;
  }

  .hf-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }

  .home-formation-card:hover .hf-image {
    transform: scale(1.1);
  }

  .hf-price-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--primary-orange);
    color: white;
    padding: 8px 16px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    box-shadow: 0 8px 20px rgba(255, 103, 0, 0.4);
  }

  .hf-body {
    padding: 24px;
  }

  .hf-category {
    color: var(--primary-orange);
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 12px;
    display: block;
  }

  .hf-title {
    color: white;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.4;
  }

  .hf-text {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.95rem;
    margin-bottom: 24px;
    line-height: 1.6;
  }

  .hf-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }

  .hf-meta {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .hf-link {
    color: var(--primary-orange);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.3s ease;
  }

  .hf-link:hover {
    gap: 12px;
    color: #ff8533;
  }

  [data-bs-theme="light"] .home-formations-section {
    background: #f8f9fa;
  }

  [data-bs-theme="light"] .home-formation-card {
    background: white;
    border-color: rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  }

  [data-bs-theme="light"] .hf-title { color: #1a1a1a; }
  [data-bs-theme="light"] .hf-text { color: #666; }
  [data-bs-theme="light"] .hf-footer { border-top-color: #eee; }

  /* Premium learning catalogue */
  .learning-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      radial-gradient(circle at 15% 0%, rgba(255,103,0,.11), transparent 28%),
      linear-gradient(180deg, var(--bg-body), rgba(255,103,0,.025));
    isolation: isolate;
  }

  .learning-premium::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .11; background-image: radial-gradient(rgba(255,255,255,.45) .7px, transparent .7px); background-size: 29px 29px; mask-image: linear-gradient(90deg, #000, transparent 68%); }
  .learning-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,103,0,.15); border-radius: 50%; pointer-events: none; }
  .learning-orbit-one { width: 480px; height: 480px; right: -260px; top: -210px; }
  .learning-orbit-two { width: 260px; height: 260px; right: -115px; top: -70px; }
  .learning-container { position: relative; z-index: 2; }

  .learning-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.7rem; }
  .learning-title-wrapper { max-width: 820px; margin: 0; text-align: left; }
  .learning-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .learning-title-wrapper .section-title { max-width: 800px; margin-bottom: 1rem; font-size: clamp(2.35rem,4.2vw,4.35rem); line-height: 1.04; letter-spacing: -.045em; }
  .learning-intro { max-width: 660px; margin: 0; color: var(--text-secondary); font-size: 1.04rem; line-height: 1.75; }

  .learning-signature { flex: 0 0 auto; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,103,0,.28); border-radius: 18px; background: rgba(255,255,255,.035); }
  .learning-signature > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,103,0,.13); color: var(--primary-orange); font-size: 1.2rem; }
  .learning-signature div { display: flex; flex-direction: column; }
  .learning-signature strong { color: var(--text-primary); font-size: .86rem; }
  .learning-signature small { color: var(--text-secondary); font-size: .72rem; }

  .learning-showcase { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
  .learning-showcase .home-formation-card:only-child { width: min(100%,680px); margin-inline: auto; grid-column: 1 / -1; }
  .learning-showcase .home-formation-card { border-radius: 26px; background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); box-shadow: 0 24px 65px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease; }
  .learning-showcase .home-formation-card:hover { transform: translateY(-9px); border-color: rgba(255,103,0,.48); box-shadow: 0 32px 75px rgba(0,0,0,.32),0 0 0 1px rgba(255,103,0,.07); }
  .learning-card-link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
  .learning-card-link:hover { color: inherit; }

  .learning-showcase .hf-image-container { height: auto; aspect-ratio: 16 / 9.5; background: #111; }
  .learning-showcase .hf-image-container::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.05),transparent 48%,rgba(0,0,0,.48)); pointer-events: none; }
  .learning-showcase .hf-image { transition: transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease; }
  .learning-showcase .home-formation-card:hover .hf-image { transform: scale(1.055); filter: saturate(1.08); }
  .learning-card-number { position: absolute; z-index: 2; top: 1rem; left: 1rem; color: rgba(255,255,255,.9); font-size: .75rem; font-weight: 900; letter-spacing: .13em; }
  .learning-showcase .hf-price-badge { z-index: 2; top: 1rem; right: 1rem; display: flex; align-items: flex-end; gap: .3rem; padding: .55rem .7rem; border-radius: 12px; }
  .learning-showcase .hf-price-badge small { font-size: .55rem; font-weight: 750; opacity: .82; }
  .learning-showcase .hf-price-badge strong { font-size: 1rem; line-height: 1; }
  .learning-open { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(10,10,10,.72); color: #fff; backdrop-filter: blur(10px); transition: transform .3s ease,background .3s ease; }
  .learning-showcase .home-formation-card:hover .learning-open { transform: rotate(8deg) scale(1.08); background: var(--primary-orange); }

  .learning-showcase .hf-body { display: flex; flex: 1; flex-direction: column; padding: 1.55rem; }
  .learning-card-labels { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .55rem; margin-bottom: .9rem; }
  .learning-showcase .hf-category { margin: 0; }
  .learning-published { display: inline-flex; align-items: center; gap: .35rem; color: var(--text-secondary); font-size: .67rem; font-weight: 800; }
  .learning-published i { color: var(--primary-orange); }
  .learning-showcase .hf-title { margin: 0 0 .75rem; color: var(--text-primary); font-size: 1.35rem; line-height: 1.25; }
  .learning-showcase .hf-text { min-height: 0; margin: 0 0 1.15rem; color: var(--text-secondary); font-size: .9rem; line-height: 1.65; }

  .learning-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin-bottom: 1.2rem; }
  .learning-details > span { min-width: 0; display: grid; grid-template-columns: auto 1fr; column-gap: .4rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 12px; }
  .learning-details i { grid-row: 1 / 3; align-self: center; color: var(--primary-orange); }
  .learning-details small { color: var(--text-secondary); font-size: .57rem; font-weight: 750; text-transform: uppercase; }
  .learning-details strong { overflow: hidden; color: var(--text-primary); font-size: .67rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
  .learning-showcase .hf-footer { margin-top: auto; align-items: center; flex-wrap: nowrap; }
  .learning-trainer { display: inline-flex; align-items: center; gap: .4rem; color: var(--text-secondary); font-size: .68rem; font-weight: 750; }
  .learning-trainer i { color: var(--primary-orange); }

  .learning-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.15rem 1.3rem; border: 1px solid var(--border-color); border-radius: 18px; background: rgba(255,255,255,.025); }
  .learning-footer-copy { display: flex; align-items: center; gap: .85rem; }
  .learning-footer-copy > i { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: rgba(255,103,0,.12); color: var(--primary-orange); }
  .learning-footer-copy p { display: flex; flex-direction: column; margin: 0; }
  .learning-footer-copy strong { color: var(--text-primary); font-size: .88rem; }
  .learning-footer-copy span { color: var(--text-secondary); font-size: .76rem; }
  .learning-all-link { display: inline-flex; align-items: center; gap: .65rem; flex: 0 0 auto; padding: .82rem 1.1rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 25px rgba(255,103,0,.23); transition: transform .25s ease,box-shadow .25s ease; }
  .learning-all-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 32px rgba(255,103,0,.33); }

  [data-bs-theme="light"] .learning-signature,
  [data-bs-theme="light"] .learning-showcase .home-formation-card,
  [data-bs-theme="light"] .learning-footer { background: rgba(255,255,255,.92); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 991px) {
    .learning-heading { align-items: flex-start; flex-direction: column; }
    .learning-showcase { grid-template-columns: repeat(2,minmax(0,1fr)); }
  }

  @media (max-width: 767px) {
    .learning-premium { padding: 5rem 0; }
    .learning-title-wrapper { text-align: center; }
    .learning-title-wrapper .section-subtitle { justify-content: center; }
    .learning-signature { align-self: center; }
    .learning-showcase { grid-template-columns: 1fr; }
    .learning-showcase .home-formation-card:only-child { grid-column: auto; }
    .learning-footer { align-items: stretch; flex-direction: column; }
    .learning-all-link { justify-content: center; }
  }

  @media (max-width: 420px) {
    .learning-details { grid-template-columns: 1fr; }
    .learning-showcase .hf-footer { align-items: flex-start; flex-direction: column; }
  }

  @media (prefers-reduced-motion: reduce) {
    .learning-showcase .home-formation-card,
    .learning-showcase .hf-image { transition: none; }
  }

  .realizations-section,
  .home-formations-section {
    padding: 5rem 0;
  }

  .realization-card,
  .home-formation-card,
  .empty-state-services,
  .empty-state-realizations,
  .empty-state-testimonials,
  .empty-state-partners {
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    box-shadow: 0 18px 44px rgba(0,0,0,.24);
  }

  .realization-card {
    aspect-ratio: 1.12 / 1;
  }

  .realization-card:hover,
  .home-formation-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255,103,0,.32);
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
  }

  .realization-overlay {
    transform: none;
    padding: 1.1rem;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.86) 78%);
  }

  .realization-title,
  .hf-title {
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: 0;
  }

  .realization-category,
  .hf-category {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    padding: .25rem .55rem;
    background: rgba(255,103,0,.12);
    border: 1px solid rgba(255,103,0,.25);
    color: var(--primary-orange);
    font-size: .72rem;
    font-weight: 900;
  }

  .filter-btn {
    border-radius: 8px;
    padding: .6rem .9rem;
    font-size: .86rem;
    font-weight: 800;
  }

  /* Premium portfolio */
  .portfolio-premium {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background:
      radial-gradient(circle at 85% 10%, rgba(255,103,0,.1), transparent 30%),
      linear-gradient(180deg, var(--bg-body), rgba(255,103,0,.025), var(--bg-body));
    isolation: isolate;
  }

  .portfolio-container { position: relative; z-index: 2; }
  .portfolio-orb { position: absolute; border-radius: 50%; filter: blur(95px); pointer-events: none; z-index: -1; }
  .portfolio-orb-left { width: 280px; height: 280px; left: -130px; top: 38%; background: rgba(255,103,0,.11); }
  .portfolio-orb-right { width: 220px; height: 220px; right: -80px; bottom: 8%; background: rgba(255,145,72,.08); }

  .portfolio-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2.4rem; }
  .portfolio-title-wrapper { max-width: 760px; margin: 0; text-align: left; }
  .portfolio-title-wrapper .section-subtitle { display: flex; align-items: center; gap: .55rem; }
  .portfolio-title-wrapper .section-title { max-width: 720px; margin-bottom: 1rem; font-size: clamp(2.35rem, 4.2vw, 4.4rem); line-height: 1.04; letter-spacing: -.045em; }
  .portfolio-intro { max-width: 650px; margin: 0; color: var(--text-secondary); font-size: 1.05rem; line-height: 1.75; }

  .portfolio-counter { flex: 0 0 auto; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.25rem; border: 1px solid rgba(255,103,0,.28); border-radius: 18px; background: rgba(255,255,255,.035); }
  .portfolio-counter strong { color: var(--primary-orange); font-size: 2.15rem; line-height: 1; font-weight: 900; }
  .portfolio-counter span { color: var(--text-secondary); font-size: .72rem; line-height: 1.35; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

  .portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 2rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 18px; background: rgba(255,255,255,.025); }
  .portfolio-filters { display: flex; flex-wrap: wrap; gap: .55rem; }
  .portfolio-premium .filter-btn { min-height: 42px; display: inline-flex; align-items: center; gap: .5rem; padding: .65rem 1.05rem; border-radius: 12px; }
  .portfolio-premium .filter-btn.active { box-shadow: 0 8px 22px rgba(255,103,0,.24); }
  .portfolio-filter-status { padding-right: .75rem; color: var(--text-secondary); font-size: .82rem; font-weight: 800; white-space: nowrap; }

  .portfolio-premium .realization-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .portfolio-premium .realization-item { min-width: 0; transition: opacity .35s ease, transform .35s ease; }
  .portfolio-premium .realization-item:only-child { width: min(100%, 620px); margin-inline: auto; grid-column: 1 / -1; }

  .portfolio-premium .realization-card { aspect-ratio: auto; min-height: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border-color); border-radius: 26px; background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); color: inherit; text-decoration: none; box-shadow: 0 24px 65px rgba(0,0,0,.2); transition: transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease; }
  .portfolio-premium .realization-card:hover { transform: translateY(-8px); border-color: rgba(255,103,0,.48); box-shadow: 0 30px 75px rgba(0,0,0,.32), 0 0 0 1px rgba(255,103,0,.07); color: inherit; }

  .realization-visual { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #111; }
  .portfolio-premium .realization-image { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .5s ease; }
  .portfolio-premium .realization-card:hover .realization-image { transform: scale(1.055); filter: saturate(1.08); }
  .realization-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 45%, rgba(0,0,0,.42)); pointer-events: none; }

  .portfolio-premium .realization-category { position: absolute; z-index: 2; left: 1.1rem; bottom: 1.1rem; padding: .48rem .72rem; border-color: rgba(255,255,255,.18); background: rgba(12,12,12,.74); backdrop-filter: blur(10px); color: #fff; }
  .realization-number { position: absolute; z-index: 2; top: 1.1rem; left: 1.1rem; color: rgba(255,255,255,.88); font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
  .realization-open { position: absolute; z-index: 2; right: 1.1rem; bottom: 1.1rem; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(12,12,12,.72); color: #fff; backdrop-filter: blur(10px); transition: transform .3s ease, background .3s ease; }
  .portfolio-premium .realization-card:hover .realization-open { transform: rotate(8deg) scale(1.08); background: var(--primary-orange); }

  .realization-content { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
  .realization-eyebrow { margin: 0 0 .35rem; color: var(--primary-orange); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
  .portfolio-premium .realization-title { margin: 0 0 .8rem; color: var(--text-primary); font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.2; }
  .realization-description { margin: 0 0 1.25rem; color: var(--text-secondary); font-size: .91rem; line-height: 1.65; }
  .realization-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border-color); color: var(--primary-orange); font-size: .86rem; font-weight: 850; }
  .realization-cta i { transition: transform .25s ease; }
  .portfolio-premium .realization-card:hover .realization-cta i { transform: translateX(5px); }

  .portfolio-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.2rem 1.35rem; border: 1px solid var(--border-color); border-radius: 18px; }
  .portfolio-footer p { margin: 0; color: var(--text-secondary); }
  .portfolio-all-link { display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0; padding: .8rem 1.1rem; border-radius: 12px; background: var(--primary-orange); color: #fff; font-weight: 800; text-decoration: none; box-shadow: 0 9px 24px rgba(255,103,0,.22); transition: transform .25s ease, box-shadow .25s ease; }
  .portfolio-all-link:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 13px 30px rgba(255,103,0,.32); }

  [data-bs-theme="light"] .portfolio-counter,
  [data-bs-theme="light"] .portfolio-toolbar,
  [data-bs-theme="light"] .portfolio-premium .realization-card,
  [data-bs-theme="light"] .portfolio-footer { background: rgba(255,255,255,.88); box-shadow: 0 20px 55px rgba(15,23,42,.08); }

  @media (max-width: 767px) {
    .portfolio-premium { padding: 5rem 0; }
    .portfolio-heading { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
    .portfolio-title-wrapper { text-align: center; }
    .portfolio-title-wrapper .section-subtitle { justify-content: center; }
    .portfolio-counter { align-self: center; }
    .portfolio-toolbar { align-items: flex-start; flex-direction: column; }
    .portfolio-filter-status { padding: .25rem .4rem; }
    .portfolio-premium .realization-grid { grid-template-columns: 1fr; }
    .portfolio-premium .realization-item:only-child { grid-column: auto; }
    .portfolio-footer { align-items: stretch; flex-direction: column; text-align: center; }
    .portfolio-all-link { justify-content: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .portfolio-premium .realization-card,
    .portfolio-premium .realization-image,
    .portfolio-premium .realization-item { transition: none; }
  }

  .hf-image-container {
    height: 190px;
  }

  .hf-body {
    padding: 1.1rem;
  }

  .hf-price-badge {
    top: .8rem;
    right: .8rem;
    border-radius: 8px;
    padding: .45rem .7rem;
    font-size: .86rem;
  }

  .hf-footer {
    gap: .75rem;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  [data-bs-theme="light"] .realization-card,
  [data-bs-theme="light"] .home-formation-card,
  [data-bs-theme="light"] .empty-state-services,
  [data-bs-theme="light"] .empty-state-realizations,
  [data-bs-theme="light"] .empty-state-testimonials,
  [data-bs-theme="light"] .empty-state-partners {
    background: #fff;
    border-color: rgba(0,0,0,.08);
    box-shadow: 0 12px 34px rgba(0,0,0,.08);
  }

  /*
   * iOS Safari peut cesser de peindre le bas d'une page tres longue lorsque
   * plusieurs calques floutes, masques et contextes d'isolation se cumulent.
   * Sur mobile, les ornements couteux sont retires et le contenu fonctionnel
   * reste explicitement dans le flux et visible.
   */
  @media (max-width: 767px) {
    .portfolio-premium,
    .advantages-premium,
    .learning-premium,
    .testimonials-premium,
    .impact-premium,
    .partners-premium,
    .final-cta-premium {
      isolation: auto;
      contain: none;
    }

    .portfolio-orb,
    .advantages-ring,
    .final-cta-glow {
      display: none !important;
      filter: none !important;
    }

    .portfolio-premium::before,
    .advantages-premium::before,
    .learning-premium::before,
    .impact-premium::before,
    .final-cta-premium::before {
      -webkit-mask-image: none !important;
      mask-image: none !important;
    }

    .portfolio-premium .realization-category,
    .portfolio-premium .realization-open,
    .advantages-premium .why-us-card,
    .testimonials-premium .testimonial-card,
    .impact-premium .stat-item,
    .partners-premium .partner-card {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }

    .portfolio-container,
    .portfolio-toolbar,
    .portfolio-premium .realization-grid,
    .portfolio-premium .realization-item,
    .portfolio-premium .realization-card,
    .portfolio-footer,
    .advantages-container,
    .learning-container,
    .testimonials-container,
    .impact-container,
    .partners-container,
    .final-cta-container {
      visibility: visible !important;
      opacity: 1 !important;
      transform: none !important;
    }

    .portfolio-premium .realization-grid {
      width: 100%;
      height: auto;
      overflow: visible;
    }

    .portfolio-premium .realization-item {
      display: block;
      width: 100%;
      height: auto;
    }

    .portfolio-premium .realization-card {
      min-height: 0;
    }
  }

