.elementor-29 .elementor-element.elementor-element-63ff1fe{--display:flex;--min-height:650px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-29 .elementor-element.elementor-element-63ff1fe:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-63ff1fe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#13606A;}.elementor-29 .elementor-element.elementor-element-6deae1b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;}.elementor-29 .elementor-element.elementor-element-c0e1aaa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-29 .elementor-element.elementor-element-a74f216{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;}.elementor-29 .elementor-element.elementor-element-a74f216 .elementor-heading-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:rgba(255,255,255,0.88);}.elementor-29 .elementor-element.elementor-element-f1808f6 .elementor-heading-title{font-size:46px;font-weight:700;line-height:1.2em;color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-f95d8ec{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-size:16px;line-height:1.85em;color:rgba(255,255,255,0.95);}.elementor-29 .elementor-element.elementor-element-c52cec5{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:rgba(255,255,255,0.24);--border-color:rgba(255,255,255,0.24);--border-radius:20px 20px 20px 20px;--padding-top:30px;--padding-bottom:30px;--padding-left:26px;--padding-right:26px;}.elementor-29 .elementor-element.elementor-element-c52cec5:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-c52cec5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.12);}.elementor-29 .elementor-element.elementor-element-c52cec5.e-con{--align-self:center;}.elementor-29 .elementor-element.elementor-element-47aae72{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-29 .elementor-element.elementor-element-47aae72 .elementor-heading-title{font-size:17px;font-weight:700;line-height:1.45em;color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-b7d0f08{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:rgba(255,255,255,0.86);}.elementor-29 .elementor-element.elementor-element-e8f22a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:90px;--padding-bottom:90px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-e8f22a0:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-e8f22a0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5FCFF;}.elementor-29 .elementor-element.elementor-element-f80adb3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-7c790d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-7c790d2.e-con{--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-29 .elementor-element.elementor-element-e527933{width:var( --container-widget-width, 140px );max-width:140px;padding:6px 0px 6px 0px;--container-widget-width:140px;--container-widget-flex-grow:0;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:20px 20px 20px 20px;text-align:center;font-weight:600;color:var( --e-global-color-primary );}.elementor-29 .elementor-element.elementor-element-e527933.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-e527933 p{margin-block-end:0px;}.elementor-29 .elementor-element.elementor-element-9463f03{font-weight:500;color:var( --e-global-color-secondary );}.elementor-29 .elementor-element.elementor-element-7aee9a2{text-align:start;}.elementor-29 .elementor-element.elementor-element-7aee9a2 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:52px;font-weight:600;line-height:1.1em;color:#02002A;}.elementor-29 .elementor-element.elementor-element-6340d65{text-align:start;font-family:"Archivo", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;color:#494949;}.elementor-29 .elementor-element.elementor-element-dba93f9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--border-radius:25px 25px 25px 25px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-dba93f9:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-dba93f9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(2,0,42,0.05);}.elementor-29 .elementor-element.elementor-element-dba93f9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-29 .elementor-element.elementor-element-ef662a8.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-ef662a8 img{width:100%;height:600px;object-fit:cover;object-position:center center;border-radius:17px 17px 17px 17px;}.elementor-29 .elementor-element.elementor-element-26f92e7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-1b3f29a{text-align:center;}.elementor-29 .elementor-element.elementor-element-1b3f29a img{width:100%;height:600px;border-radius:17px 17px 17px 17px;}@media(min-width:768px){.elementor-29 .elementor-element.elementor-element-63ff1fe{--content-width:1350px;}.elementor-29 .elementor-element.elementor-element-6deae1b{--width:100%;}.elementor-29 .elementor-element.elementor-element-c0e1aaa{--width:49%;}.elementor-29 .elementor-element.elementor-element-c52cec5{--width:49%;}.elementor-29 .elementor-element.elementor-element-e8f22a0{--content-width:1350px;}.elementor-29 .elementor-element.elementor-element-f80adb3{--width:100%;}.elementor-29 .elementor-element.elementor-element-7c790d2{--width:100%;}.elementor-29 .elementor-element.elementor-element-dba93f9{--width:55%;}}/* Start custom CSS for container, class: .elementor-element-7c790d2 */.elementor-29 .elementor-element.elementor-element-7c790d2 { width: 45%; flex: 0 0 45%; order: 0; margin-right: 0; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dba93f9 */.elementor-29 .elementor-element.elementor-element-dba93f9 { flex: 1; width: auto; align-self: center; order: 0; height:100%}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80adb3 */.elementor-29 .elementor-element.elementor-element-f80adb3 { display: flex !important; flex-direction: row !important; flex-wrap: nowrap; width: 100%; max-width: 1400px; margin-left: auto; margin-right: auto; gap: 40px; }/* End custom CSS */
/* Start custom CSS *//* Fix Elementor rows — add side padding */
.elementor-element-6deae1b { padding-left: 20px !important; padding-right: 20px !important; }
.elementor-element-f80adb3 { padding-left: 20px !important; padding-right: 20px !important; }

/* Fix HTML sections — add desktop/tablet vertical spacing */
@media(min-width:1025px) { .ibn-tech-section { padding: 80px 0 !important; } }
@media(min-width:769px) and (max-width:1024px) { .ibn-tech-section { padding: 70px 0 !important; } }

/* Center video and trust section titles */
.ibn-video h3, .ibn-trust h3 { text-align: center !important; }

/* YouTube iframe fills the video frame */
.ibn-video-frame iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
  border-radius: 24px;
}

/* ===== TABLET (max-width: 1024px) ===== */
@media(max-width:1024px) {
  .elementor-element-63ff1fe { min-height: 550px !important; padding-top: 30px !important; padding-bottom: 30px !important; }
  .elementor-element-f1808f6 .elementor-heading-title { font-size: 38px !important; }
  .elementor-element-f95d8ec { font-size: 15px !important; }
  .elementor-element-c0e1aaa { width: 100% !important; flex-basis: 100% !important; }
  .elementor-element-c52cec5 { width: 100% !important; flex-basis: 100% !important; }
  .elementor-element-f80adb3 { flex-wrap: wrap !important; }
  .elementor-element-7c790d2 { width: 100% !important; flex: 0 0 100% !important; padding-top: 40px !important; padding-bottom: 40px !important; }
  .elementor-element-dba93f9 { width: 100% !important; flex: 0 0 100% !important; }
  .elementor-element-7aee9a2 .elementor-heading-title { font-size: 40px !important; }
  .elementor-element-ef662a8 img { height: 450px !important; }
  .ibn-video-frame { min-height: 450px !important; }
  .ibn-integrated-box { padding: 40px 32px !important; }
}

/* ===== MOBILE (max-width: 767px) ===== */
@media(max-width:767px) {
  .elementor-element-63ff1fe { min-height: auto !important; padding-top: 30px !important; padding-bottom: 30px !important; }
  .elementor-element-f1808f6 .elementor-heading-title { font-size: 30px !important; }
  .elementor-element-f95d8ec { font-size: 14px !important; }
  .elementor-element-f80adb3 { flex-direction: column !important; flex-wrap: wrap !important; }
  .elementor-element-7c790d2 { width: 100% !important; flex: 0 0 100% !important; padding-top: 30px !important; padding-bottom: 30px !important; }
  .elementor-element-dba93f9 { width: 100% !important; flex: 0 0 100% !important; order: 2 !important; }
  .elementor-element-7aee9a2 .elementor-heading-title { font-size: 30px !important; }
  .elementor-element-ef662a8 img { height: 300px !important; width: 100% !important; }
  .ibn-video-frame { min-height: 300px !important; }
}

.ibn-tech-page {
    --ibn-primary:#13606A;
    --ibn-primary-dark:#0D4A52;
    --ibn-secondary:#4476BB;
    --ibn-surface:#EEF8FC;
    --ibn-text:#1D2A34;
    --ibn-muted:#5A6B78;
    --ibn-white:#FFFFFF;
    --ibn-radius-lg:26px;
    --ibn-radius-md:18px;
    --ibn-shadow-soft:0 12px 35px rgba(10,56,62,.10);
    --ibn-shadow-strong:0 24px 55px rgba(10,56,62,.18);
    font-family:'Poppins',sans-serif;
    color:var(--ibn-text);
    background:#fff;
    overflow:hidden;
}

.ibn-tech-wrap {
    max-width:1350px !important;
    margin:0 auto;
    padding:0 24px;
}

.ibn-reveal-up,
.ibn-reveal-left,
.ibn-reveal-right,
.ibn-reveal-scale {
    opacity:0;
    will-change:opacity,transform;
}

.ibn-reveal-up {
    transform:translateY(28px);
    transition:opacity .75s ease, transform .75s ease;
}

.ibn-reveal-left {
    transform:translateX(-36px);
    transition:opacity .8s ease, transform .8s ease;
}

.ibn-reveal-right {
    transform:translateX(36px);
    transition:opacity .8s ease, transform .8s ease;
}

.ibn-reveal-scale {
    transform:scale(0.94);
    transition:opacity .85s ease, transform .85s ease;
}

.ibn-reveal-up.in,
.ibn-reveal-left.in,
.ibn-reveal-right.in,
.ibn-reveal-scale.in {
    opacity:1;
    transform:translate(0) scale(1);
}

.ibn-stagger-1 { transition-delay: calc(var(--stagger-delay, 80ms) * 0); }
.ibn-stagger-2 { transition-delay: calc(var(--stagger-delay, 80ms) * 1); }
.ibn-stagger-3 { transition-delay: calc(var(--stagger-delay, 80ms) * 2); }
.ibn-stagger-4 { transition-delay: calc(var(--stagger-delay, 80ms) * 3); }
.ibn-stagger-5 { transition-delay: calc(var(--stagger-delay, 80ms) * 4); }

/* ===== LIGHT AFRICA CARD (matches "Une première en Afrique" style) ===== */
.ibn-africa-light {
    background: #f0f7f9 !important;
    padding: 80px 0 !important;
}

.ibn-africa-card-light {
    background: #ffffff !important;
    border-left: 5px solid #13606A !important;
    border-radius: 22px !important;
    padding: 36px 40px !important;
    box-shadow: 0 14px 36px rgba(19,96,106,.09) !important;
    position: relative !important;
    overflow: hidden !important;
    border: none !important;
}

.ibn-africa-card-light::before {
    display: none !important;
}

.ibn-africa-card-light h3 {
    margin: 0 0 12px !important;
    color: #13606A !important;
    font-size: 29px !important;
    line-height: 1.2 !important;
}

.ibn-africa-card-light p {
    margin: 0 !important;
    color: #30424F !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    max-width: 700px !important;
}

/* ===== ORIGINAL AFRICA CARD (for other sections) ===== */
.ibn-africa {
    background: linear-gradient(180deg,#eef8fc 0%,#f8fcff 100%);
    padding: 80px 0;
}

.ibn-africa-card {
    border-radius: 22px;
    border: 1px solid rgba(19,96,106,.14);
    background: #fff;
    padding: 36px 40px;
    box-shadow: 0 14px 36px rgba(19,96,106,.09);
    position: relative;
    overflow: hidden;
}

.ibn-africa-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 100%;
    background: linear-gradient(180deg,var(--ibn-primary),var(--ibn-secondary));
}

.ibn-africa-card h3 {
    margin: 0 0 12px;
    color: var(--ibn-primary);
    font-size: 29px;
    line-height: 1.2;
}

.ibn-africa-card p {
    margin: 0;
    color: #30424F;
    font-size: 16px;
    line-height: 1.85;
    max-width: 700px;
}

.ibn-benefits h3,
.ibn-video h3,
.ibn-trust h3 {
    margin: 0 0 30px;
    color: var(--ibn-primary);
    font-size: 29px;
    line-height: 1.25;
    letter-spacing: -.2px;
    text-wrap: balance;
}

.ibn-benefits-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 14px;
}

.ibn-benefit {
    border: 1px solid #deebf2;
    border-radius: var(--ibn-radius-md);
    background: #fff;
    padding: 24px 16px 22px;
    text-align: center;
    box-shadow: 0 10px 24px rgba(19,96,106,.07);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.ibn-benefit:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 30px rgba(19,96,106,.12);
    border-color: #c8dce7;
}

.ibn-benefit-icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    margin: 0 auto 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg,var(--ibn-primary),var(--ibn-secondary));
    font-size: 17px;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(68,118,187,.32);
}

.ibn-benefit p {
    margin: 0;
    color: #2f404d;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 500;
}

.ibn-video {
    background: linear-gradient(180deg,#eef8fc 0%,#e8f3f9 100%);
}

.ibn-video-frame {
    position: relative;
    border-radius: 24px;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 36px;
    color: #fff;
    overflow: hidden;
    background:
        radial-gradient(circle at 70% 20%, rgba(68,118,187,.35), rgba(68,118,187,0) 42%),
        linear-gradient(125deg,#0f3f46 0%,#0a2f35 100%);
    box-shadow: 0 22px 44px rgba(19,96,106,.22);
}

.ibn-video-frame::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.18);
    pointer-events: none;
}

.ibn-video-frame .play {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,var(--ibn-secondary),#5f8ed1);
    font-size: 29px;
    box-shadow: 0 14px 28px rgba(68,118,187,.42);
    animation: ibn-pulse 2s ease-in-out infinite;
}

@keyframes ibn-pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 14px 28px rgba(68,118,187,.42); }
    50% { transform: scale(1.06); box-shadow: 0 18px 36px rgba(68,118,.55); }
}

.ibn-trust {
    padding-bottom: 120px;
}

.ibn-trust-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
}

.ibn-trust-item {
    border: 1px solid #dbe8ef;
    border-radius: 16px;
    padding: 20px 14px;
    background: #fff;
    text-align: center;
    box-shadow: 0 8px 20px rgba(19,96,106,.06);
    transition: transform .32s ease, box-shadow .32s ease;
}

.ibn-trust-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgba(19,96,106,.1);
}

.ibn-trust-item strong {
    display: block;
    color: var(--ibn-primary);
    font-size: 15px;
    margin-bottom: 8px;
}

.ibn-trust-item span {
    color: #50606D;
    font-size: 13px;
    line-height: 1.6;
}

#tech-page-root .elementor-widget {
    margin-bottom: 0 !important;
}

@media (max-width: 1199px) {
    .ibn-tech-wrap { padding: 0 20px; }
    .ibn-benefits-grid { grid-template-columns: repeat(3,1fr); }
    .ibn-trust-grid { grid-template-columns: repeat(2,1fr); }
    .ibn-africa-card-light { padding: 28px 22px !important; }
    .ibn-africa-card-light h3 { font-size: 25px !important; }
}

@media (max-width: 1100px) {
    .ibn-tech-hero h1 { font-size: 40px; }
    .ibn-zapx-title { font-size: 35px; }
    .ibn-zapx-subtitle { font-size: 20px; }
    .ibn-hero-grid { gap: 38px; }
    .ibn-zapx-grid { gap: 44px; }
}

@media (max-width: 768px) {
    .ibn-tech-wrap { padding: 0 18px; }
    .ibn-tech-hero { padding: 100px 0 85px; }
    .ibn-tech-hero h1 { font-size: 33px; }
    .ibn-tech-hero p { font-size: 15px; }
    .ibn-hero-chip { padding: 22px 20px; }
    .ibn-tech-section { padding: 80px 0; }
    .ibn-zapx-grid { grid-template-columns: 1fr; gap: 34px; }
    .ibn-zapx-media { aspect-ratio: 16/10; }
    .ibn-zapx-title { font-size: 29px; }
    .ibn-zapx-subtitle { font-size: 19px; }
    .ibn-zapx-copy { font-size: 14.5px; }
    .ibn-africa-card { padding: 28px 22px; }
    .ibn-africa-card h3 { font-size: 25px; }
    .ibn-africa-card-light { padding: 28px 22px !important; }
    .ibn-africa-card-light h3 { font-size: 25px !important; }
    .ibn-benefits h3, .ibn-video h3, .ibn-trust h3 { font-size: 25px; margin-bottom: 22px; }
    .ibn-benefits-grid { grid-template-columns: 1fr; gap: 12px; }
    .ibn-benefit { padding: 20px 16px; }
    .ibn-video-frame { min-height: 350px; padding: 28px 20px; }
    .ibn-trust-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .ibn-tech-hero h1 { font-size: 27px; }
    .ibn-tech-hero p { font-size: 14px; }
    .ibn-tech-hero { padding: 85px 0 65px; }
    .ibn-tech-section { padding: 60px 0; }
    .ibn-africa { padding: 50px 0; }
    .ibn-africa-light { padding: 50px 0 !important; }
    .ibn-africa-card { padding: 22px 16px; }
    .ibn-africa-card h3 { font-size: 23px; }
    .ibn-africa-card-light { padding: 22px 16px !important; }
    .ibn-africa-card-light h3 { font-size: 23px !important; }
    .ibn-video-frame { min-height: 310px; padding: 24px 16px; }
    .ibn-video-frame .play { width: 62px; height: 62px; font-size: 25px; }
    .ibn-trust { padding-bottom: 80px; }
}

@media (prefers-reduced-motion: reduce) {
    .ibn-reveal-up, .ibn-reveal-left, .ibn-reveal-right, .ibn-reveal-scale, .ibn-benefit, .ibn-trust-item, .ibn-zapx-media img { transition: none; transform: none; opacity: 1; }
    .ibn-video-frame .play { animation: none; }
}

.ibn-tech-page .ibn-reveal-up,
.ibn-tech-page .ibn-reveal-left,
.ibn-tech-page .ibn-reveal-right,
.ibn-tech-page .ibn-reveal-scale {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}/* End custom CSS */