:root{
  --blue:#0d4da8;--blue-deep:#062f78;--blue-navy:#061a43;--orange:#f26722;--green:#2e8b36;--red:#c3171d;--yellow:#f2c14b;--text:#23385f;--muted:#647493;--line:#dce7f5;--soft:#f5f9ff;--white:#fff;--black:#080808;--shadow:0 22px 60px rgba(6,26,67,.14);--heavy:0 34px 90px rgba(6,26,67,.24)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{font-family:inherit}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(220,231,245,.95);box-shadow:0 8px 22px rgba(6,26,67,.07);backdrop-filter:blur(16px)}
.top-shell{width:100%;max-width:1760px;margin:0 auto;min-height:64px;padding:3px 28px;display:grid;grid-template-columns:340px minmax(0,1fr)54px;align-items:center;gap:12px}.brand{display:flex;align-items:center;justify-content:flex-end}.brand img{width:320px;height:60px;object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.10))}.main-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:0 13px;border-radius:999px;background:var(--red);color:#fff;font-size:13.5px;font-weight:900;box-shadow:0 8px 18px rgba(195,23,29,.18);transition:.2s}.main-nav a:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(195,23,29,.28)}.nav-toggle{display:inline-flex;width:43px;height:43px;border:0;border-radius:13px;background:#070707;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;box-shadow:0 12px 26px rgba(0,0,0,.18)}.nav-toggle span{display:block;width:22px;height:3px;background:#fff;border-radius:999px}
main{margin:0;padding:0}.hero-slider{position:relative;margin:0;padding:0;background:#fff;line-height:0}.slider-stage{position:relative;width:100vw;height:min(755px,calc(100vw * 755 / 1920));margin:0 calc(50% - 50vw);overflow:hidden;background:#fff;box-shadow:0 18px 52px rgba(6,26,67,.18)}.slide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}.slide.is-active{opacity:1;z-index:1}.slide img{width:100%;height:100%;object-fit:cover;object-position:center;background:#fff}.slider-dots{display:none!important}.slider-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.93);color:var(--blue-deep);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(6,26,67,.18);transition:.2s}.slider-arrow:hover{transform:translateY(-50%) scale(1.06)}.slider-arrow.prev{left:18px}.slider-arrow.next{right:18px}
.hero-actions{max-width:1080px;margin:8px auto 0;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.hero-contact{min-height:35px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f1f6ff);display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:900;color:var(--blue-deep);box-shadow:0 10px 22px rgba(6,26,67,.08);white-space:nowrap}.hero-contact svg{width:15px;height:15px;fill:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 15px;border:0;border-radius:10px;font-size:13.5px;font-weight:900;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:.2s;box-shadow:0 12px 26px rgba(6,26,67,.14)}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(180deg,var(--blue),#08377d);color:#fff}.btn-secondary{background:linear-gradient(180deg,var(--orange),#d84f10);color:#fff}.outline-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:14px;border:1px solid var(--blue);color:var(--blue);font-weight:900;background:#fff;cursor:pointer}.outline-link.orange{border-color:var(--orange);color:var(--orange)}
.pro-section,.content-section{position:relative;padding:76px 6vw}.pro-section:before,.patterned-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 14%,rgba(13,77,168,.10),transparent 26%),radial-gradient(circle at 88% 20%,rgba(242,103,34,.12),transparent 24%),linear-gradient(135deg,rgba(46,139,54,.06),transparent 42%);pointer-events:none}.section-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}.section-kicker:before{content:"";width:34px;height:4px;border-radius:999px;background:var(--blue)}h1,h2,h3{margin:0;color:var(--blue-navy);line-height:1.06}.lead{font-size:20px!important;color:#1b3765!important;font-weight:750}.home-intro{display:grid;grid-template-columns:minmax(320px,1fr)minmax(360px,.9fr);gap:44px;align-items:center}.home-intro-copy,.home-stat-board,.section-head,.two-col,.pillar-grid,.metric-grid,.participation-grid,.programme-days,.sponsor-grid,.info-grid,.region-grid,.benefit-grid{position:relative;z-index:1}.home-intro h1{font-size:clamp(38px,5vw,78px);max-width:900px}.home-intro p{font-size:18px;line-height:1.7;max-width:860px}.intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.home-stat-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-stat-board article,.metric-grid article{border:1px solid rgba(13,77,168,.12);background:rgba(255,255,255,.92);box-shadow:var(--shadow);border-radius:24px;padding:24px}.home-stat-board strong,.metric-grid strong{display:block;color:var(--blue);font-size:34px}.home-stat-board span,.metric-grid span{display:block;margin-top:6px;font-weight:850;color:var(--text)}
.patronage{padding:70px 6vw;background:linear-gradient(180deg,#fff,#f7fbff)}.patronage-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.patronage-copy h2{font-size:clamp(34px,4vw,58px)}.patronage-copy h2 span{color:var(--blue)}.patronage-copy p{font-size:18px;line-height:1.7;max-width:760px}.patronage-icons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.patronage-icons span{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:900;color:var(--blue-deep);box-shadow:0 10px 25px rgba(6,26,67,.08)}.patronage-icons span:nth-child(2n) b{color:var(--green)}.patronage-icons span:nth-child(3n) b{color:var(--orange)}.patronage-card{position:relative;min-height:315px;border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1fr 300px 42px;box-shadow:var(--shadow)}.patronage-info{padding:38px 32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.patronage-info small{font-size:15px;font-weight:900;color:var(--text)}.patronage-info h3{font-size:clamp(32px,3vw,48px);color:var(--blue);margin:10px 0 8px;white-space:nowrap}.patronage-info strong{font-size:18px;color:var(--blue-navy);line-height:1.35}.patronage-emblem{width:110px;margin-top:24px}.president-portrait{height:100%;overflow:hidden}.president-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.ci-flag-ribbon{display:grid;grid-template-rows:1fr 1fr 1fr}.ci-flag-ribbon span:nth-child(1){background:var(--orange)}.ci-flag-ribbon span:nth-child(2){background:#fff}.ci-flag-ribbon span:nth-child(3){background:var(--green)}
.section-head{max-width:900px;margin:0 auto 34px;text-align:center}.section-head h2{font-size:clamp(34px,4vw,60px)}.section-head p{font-size:18px;line-height:1.7;color:var(--muted)}.pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.pillar-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.pillar-grid span{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--blue);color:#fff;font-weight:900}.pillar-grid h3{font-size:23px;margin:18px 0 10px}.pillar-grid p{line-height:1.55;color:var(--muted);font-weight:700}.compact-bottom{padding-bottom:70px}.white-section{background:#fff}.patterned-bg{background:#f7fbff}.page-hero{min-height:420px;padding:86px 6vw;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,67,.90),rgba(13,77,168,.72),rgba(242,103,34,.30))}.page-hero>div{position:relative;z-index:1;max-width:980px}.page-hero h1{font-size:clamp(42px,5vw,78px);color:#fff}.page-hero p{font-size:20px;line-height:1.65;max-width:850px;color:#eef6ff}.salon-hero{background-image:url("../uploads/slides/slide-001.webp")}.participate-hero{background-image:url("../uploads/slides/slide-002.webp")}.programme-hero{background-image:url("../uploads/slides/slide-003.webp")}.expo-hero{background-image:url("../uploads/slides/slide-004.webp")}.info-hero{background-image:url("../uploads/slides/slide-005.webp")}.contact-hero{background-image:url("../uploads/slides/slide-006.webp")}.two-col{display:grid;grid-template-columns:minmax(320px,1fr)minmax(320px,.85fr);gap:34px;align-items:start}.two-col h2{font-size:clamp(34px,4vw,62px)}.two-col p{font-size:18px;line-height:1.75}.premium-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.premium-panel h3{font-size:28px;margin-bottom:18px}.check-list{padding:0;margin:0;display:grid;gap:13px;list-style:none}.check-list li{position:relative;padding-left:30px;font-weight:750;line-height:1.5}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.participation-grid,.sponsor-grid,.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.participation-grid article,.sponsor-grid article,.info-grid article{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.participation-grid span,.sponsor-grid span,.info-grid span{display:inline-flex;color:var(--orange);text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.12em}.participation-grid h3,.sponsor-grid strong,.info-grid strong{display:block;color:var(--blue-deep);font-size:28px;line-height:1.15;margin:12px 0}.participation-grid p,.sponsor-grid p,.info-grid p{line-height:1.6;color:var(--muted);font-weight:700}.participation-grid button{border:0;border-radius:12px;background:var(--blue);color:#fff;padding:12px 16px;font-weight:900;cursor:pointer}.benefit-grid,.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1100px;margin:0 auto}.benefit-grid span,.region-grid span{background:linear-gradient(180deg,#fff,#f3f7ff);border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-align:center;font-weight:900;color:var(--blue-deep);box-shadow:0 10px 22px rgba(6,26,67,.07)}.programme-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.programme-days article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.programme-days span{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.programme-days h2{font-size:34px;margin:12px 0 20px}.programme-days li{margin:12px 0;font-weight:800;line-height:1.5}.expo-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.expo-details span{background:var(--blue);color:#fff;border-radius:14px;padding:14px;font-weight:900;text-align:center}.sponsor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sponsor-grid article:nth-child(1) strong{color:var(--orange)}.sponsor-grid article:nth-child(2) strong{color:var(--blue)}.sponsor-grid article:nth-child(3) strong{color:var(--green)}.sponsor-grid article:nth-child(4) strong{color:var(--red)}.contact-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:34px;align-items:start;background:#f7fbff}.contact-panel{background:var(--blue-deep);color:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow)}.contact-panel img{width:230px;background:#fff;border-radius:14px;padding:8px;margin-bottom:20px}.contact-panel strong{display:block;color:#cfe1ff;margin-top:18px}.contact-panel a,.contact-panel span{display:block;margin-top:8px;color:#fff;font-weight:900}.form-wrap.compact{max-width:980px;width:100%;padding:0}.premium-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.premium-form label{display:grid;gap:7px;font-size:13px;font-weight:900;color:var(--blue-deep);margin-bottom:14px}.premium-form input,.premium-form select,.premium-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;font:inherit;color:var(--text);background:#f8fbff;outline:none}.premium-form input:focus,.premium-form select:focus,.premium-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(13,77,168,.11);background:#fff}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.alert{border-radius:16px;padding:14px 16px;margin:0 0 18px;font-weight:800}.alert.success{background:#eaf8ef;color:var(--green);border:1px solid #bae3c1}.alert.error{background:#fff0ec;color:var(--red);border:1px solid #ffc7b8}.premium-modal{display:none;position:fixed;inset:0;z-index:3000}.premium-modal.is-open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(7px)}.modal-card{position:relative;width:min(1220px,92vw);max-height:88vh;margin:5vh auto;background:#fff;border-radius:30px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;box-shadow:0 38px 100px rgba(0,0,0,.34)}.modal-close{position:absolute;right:18px;top:16px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--blue-navy);font-size:26px;cursor:pointer;box-shadow:0 8px 22px rgba(6,26,67,.16)}.modal-visual{position:relative;min-height:620px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#061a43;color:#fff}.modal-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58}.modal-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,26,67,.90),transparent 58%)}.modal-visual>*{position:relative;z-index:1}.modal-visual-badge{align-self:flex-start;background:var(--orange);border-radius:999px;padding:9px 14px;font-weight:900;margin-bottom:18px}.modal-visual h3{font-size:34px;color:#fff}.modal-visual p,.modal-visual li{line-height:1.5;color:#e8f1ff;font-weight:750}.modal-visual ul{padding-left:18px}.modal-mini-grid{display:flex;gap:8px;flex-wrap:wrap}.modal-mini-grid span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 12px;font-weight:900}.modal-form-panel{padding:34px;overflow:auto}.modal-logo{width:210px;margin-bottom:16px}.modal-form-panel h2{font-size:38px}.modal-intro{font-weight:750;color:var(--muted);line-height:1.5}.modal-submit{width:100%;margin-top:6px}.modal-open{overflow:hidden}.site-footer{background:var(--blue-navy);color:#fff;padding:42px 6vw 24px}.footer-inner{max-width:1260px;margin:auto;display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:30px}.footer-logo{width:250px;background:#fff;border-radius:14px;padding:8px}.site-footer p,.site-footer a,.site-footer span{color:#e8f1ff;line-height:1.6}.site-footer strong{display:block;margin-bottom:12px}.site-footer a{display:block;margin:7px 0}.footer-bottom{text-align:center;margin-top:28px;color:#bdd1f3;font-weight:700}
@media(max-width:1300px){.top-shell{grid-template-columns:280px 1fr 50px;padding:4px 18px}.brand img{width:260px}.main-nav{gap:6px}.main-nav a{font-size:12.5px;padding:0 10px}.home-intro,.patronage-layout,.two-col{grid-template-columns:1fr}.sponsor-grid,.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-card{grid-template-columns:1fr}.modal-visual{min-height:330px}.modal-form-panel{max-height:56vh}.patronage-card{max-width:900px}}
@media(max-width:980px){.top-shell{grid-template-columns:1fr 50px}.brand{justify-content:flex-start}.brand img{width:220px}.main-nav{position:absolute;left:14px;right:14px;top:calc(100% + 8px);display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--heavy)}.main-nav.is-open{display:flex}.main-nav a{width:100%;min-height:40px}.slider-arrow{width:36px;height:36px;font-size:26px}.metric-grid,.participation-grid,.programme-days,.sponsor-grid,.info-grid,.benefit-grid,.region-grid,.home-stat-board{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.patronage-card{grid-template-columns:1fr}.ci-flag-ribbon{height:16px;grid-template-columns:1fr 1fr 1fr;grid-template-rows:none}.president-portrait{height:300px;order:2}.patronage-info{order:1}.footer-inner{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:640px){.top-shell{min-height:60px;padding:4px 10px}.brand img{width:188px}.slider-stage{height:58vw}.hero-actions{margin-top:6px}.hero-contact,.btn{min-height:32px;font-size:12px;padding:0 9px}.pro-section,.content-section,.patronage{padding:46px 18px}.home-intro h1,.page-hero h1{font-size:34px}.page-hero{min-height:360px;padding:58px 18px}.patronage-card{border-radius:22px}.patronage-info{padding:24px}.patronage-info h3{white-space:normal;font-size:32px}.modal-card{width:96vw;margin:2vh auto;max-height:96vh;border-radius:22px}.modal-form-panel{padding:22px}.modal-visual{min-height:260px}.modal-form-panel h2{font-size:30px}}

/* S2IA V7 — top menu simplifié selon instruction : noir, sans arrondi hors survol */
.site-header .main-nav{
    gap:18px;
}
.site-header .main-nav a{
    background:transparent !important;
    color:#050505 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    min-height:34px !important;
    padding:0 4px !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:34px !important;
    transition:background .18s ease,color .18s ease;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav a.is-active{
    background:#050505 !important;
    color:#f2c14b !important;
    transform:none !important;
    box-shadow:none !important;
    padding:0 8px !important;
}
.site-header .nav-toggle{
    background:#050505 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.site-header .nav-toggle span{background:#fff !important;}
@media(max-width:1300px){
    .site-header .main-nav{gap:12px;}
    .site-header .main-nav a{font-size:13.5px !important;}
}
@media(max-width:980px){
    .site-header .main-nav a{
        width:100%;
        justify-content:center;
        padding:0 8px !important;
    }
}

/* === V8 FINAL USER FIXES === */
.site-header{position:sticky;top:0;background:#fff!important;box-shadow:0 5px 18px rgba(6,26,67,.06)!important;border-bottom:1px solid #e6edf7!important;}
.top-shell{min-height:62px!important;padding:0 28px!important;grid-template-columns:320px minmax(0,1fr)48px!important;gap:14px!important;}
.brand{justify-content:center!important;}
.brand img{width:286px!important;height:58px!important;object-fit:contain!important;}
.site-header .main-nav{gap:20px!important;}
.site-header .main-nav a{
    background:transparent!important;
    color:#050505!important;
    box-shadow:none!important;
    border-radius:0!important;
    min-height:38px!important;
    line-height:38px!important;
    padding:0 2px!important;
    font-size:16px!important;
    font-weight:900!important;
    transform:none!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus{
    background:transparent!important;
    color:var(--red)!important;
    box-shadow:none!important;
    transform:none!important;
    padding:0 2px!important;
}
.site-header .main-nav a.is-active{
    background:transparent!important;
    color:var(--red)!important;
    box-shadow:none!important;
    transform:none!important;
    padding:0 2px!important;
}
.site-header .nav-toggle{width:42px!important;height:42px!important;background:#050505!important;border-radius:0!important;box-shadow:none!important;}
.site-header .nav-toggle span{background:#fff!important;width:23px!important;height:3px!important;}
.hero-slider{margin:0!important;padding:0!important;background:#fff!important;line-height:0!important;overflow:hidden!important;}
.slider-stage{width:100vw!important;height:calc(100vw * 786 / 1999)!important;max-height:none!important;min-height:0!important;margin:0 calc(50% - 50vw)!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:hidden!important;}
.slide img{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;background:transparent!important;}
.slider-dots{display:none!important;}
.slider-arrow{width:42px!important;height:42px!important;background:rgba(255,255,255,.92)!important;color:var(--blue-deep)!important;box-shadow:0 10px 26px rgba(6,26,67,.18)!important;}
.slider-arrow.prev{left:14px!important}.slider-arrow.next{right:14px!important}
.hero-actions{max-width:940px!important;margin:0 auto!important;padding:8px 10px 10px!important;gap:4px!important;background:#fff!important;}
.hero-contact{min-height:31px!important;padding:0 8px!important;border-radius:8px!important;font-size:12px!important;gap:5px!important;box-shadow:none!important;background:#fff!important;}
.hero-contact svg{width:13px!important;height:13px!important;}
.btn{min-height:32px!important;padding:0 12px!important;border-radius:8px!important;font-size:12.5px!important;box-shadow:0 8px 18px rgba(6,26,67,.10)!important;}
.salon-hero{background-image:url("../uploads/slides/slide-001.webp")!important}.participate-hero{background-image:url("../uploads/slides/slide-002.webp")!important}.programme-hero{background-image:url("../uploads/slides/slide-003.webp")!important}.expo-hero{background-image:url("../uploads/slides/slide-004.webp")!important}.info-hero{background-image:url("../uploads/slides/slide-005.webp")!important}.contact-hero{background-image:url("../uploads/slides/slide-006.webp")!important}
@media(max-width:1300px){
    .top-shell{grid-template-columns:260px minmax(0,1fr)46px!important;padding:0 16px!important;}
    .brand img{width:236px!important;height:54px!important;}
    .site-header .main-nav{gap:13px!important;}
    .site-header .main-nav a{font-size:13.5px!important;}
}
@media(max-width:980px){
    .top-shell{grid-template-columns:1fr 46px!important;}
    .brand{justify-content:flex-start!important;}
    .brand img{width:210px!important;}
    .main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 6px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:12px!important;box-shadow:var(--heavy)!important;}
    .main-nav.is-open{display:flex!important;}
    .site-header .main-nav a{width:100%!important;text-align:center!important;justify-content:center!important;}
}
@media(max-width:640px){
    .slider-stage{height:calc(100vw * 786 / 1999)!important;}
    .hero-actions{display:grid!important;grid-template-columns:1fr!important;}
    .hero-contact,.btn{width:100%!important;justify-content:center!important;min-height:34px!important;}
}

/* === V9 strict corrections === */
.site-header{position:sticky!important;top:0!important;z-index:80!important;background:#fff!important;border-bottom:1px solid #e5edf8!important;box-shadow:0 6px 20px rgba(8,46,117,.07)!important;}
.top-shell{max-width:1760px!important;min-height:70px!important;padding:6px 26px!important;grid-template-columns:300px minmax(0,1fr)48px!important;gap:18px!important;}
.brand{justify-content:flex-start!important;}
.brand img{width:278px!important;height:58px!important;object-fit:contain!important;}
.site-header .main-nav{gap:18px!important;}
.site-header .main-nav a{background:transparent!important;color:#080808!important;box-shadow:none!important;border-radius:0!important;min-height:36px!important;padding:0!important;font-size:15px!important;font-weight:900!important;line-height:1!important;transition:color .2s ease!important;}
.site-header .main-nav a:hover,.site-header .main-nav a:focus{background:transparent!important;color:#d71920!important;transform:none!important;box-shadow:none!important;}
.site-header .main-nav a.is-active{background:transparent!important;color:#d71920!important;box-shadow:none!important;}
.nav-toggle{display:inline-flex!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#000!important;box-shadow:0 10px 20px rgba(0,0,0,.18)!important;}
.nav-toggle span{background:#fff!important;width:22px!important;height:3px!important;}
main{margin:0!important;padding:0!important;}
.hero-slider{margin:0!important;padding:0!important;width:100%!important;background:#fff!important;line-height:0!important;overflow:hidden!important;}
.slider-stage{width:100vw!important;height:calc(100vw * 755 / 1920)!important;max-height:none!important;min-height:0!important;margin:0 calc(50% - 50vw)!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:hidden!important;}
.slide{background:#fff!important;}
.slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;background:#fff!important;}
.slider-dots{display:none!important;}
.slider-arrow{width:38px!important;height:38px!important;font-size:27px!important;background:rgba(255,255,255,.90)!important;}
.slider-arrow.prev{left:14px!important}.slider-arrow.next{right:14px!important}
.hero-actions{max-width:920px!important;margin:0 auto!important;padding:7px 10px 9px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;flex-wrap:wrap!important;background:#fff!important;}
.hero-contact{min-height:32px!important;padding:0 9px!important;border-radius:9px!important;font-size:12.5px!important;box-shadow:none!important;}
.hero-contact svg{width:14px!important;height:14px!important;}
.btn{min-height:33px!important;padding:0 13px!important;border-radius:9px!important;font-size:12.8px!important;box-shadow:0 7px 15px rgba(6,26,67,.12)!important;}
@media(max-width:980px){.top-shell{grid-template-columns:1fr 46px!important;min-height:62px!important;padding:4px 14px!important}.brand img{width:225px!important;height:52px!important}.main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 6px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:12px!important;box-shadow:var(--heavy)!important}.main-nav.is-open{display:flex!important}.site-header .main-nav a{width:100%!important;text-align:center!important;justify-content:center!important;min-height:40px!important}.slider-stage{height:calc(100vw * 755 / 1920)!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important;max-width:none!important}.hero-contact,.btn{width:100%!important;justify-content:center!important}}
@media(max-width:640px){.brand img{width:190px!important;height:46px!important}.nav-toggle{width:38px!important;height:38px!important}.hero-contact,.btn{font-size:12px!important;min-height:31px!important}}

/* === V10 public strict fixes === */
.site-header{position:sticky!important;top:0!important;z-index:80!important;background:#fff!important;border-bottom:1px solid #e7edf6!important;box-shadow:0 5px 16px rgba(8,46,117,.06)!important;}
.top-shell{max-width:1760px!important;min-height:66px!important;padding:5px 28px!important;grid-template-columns:295px minmax(0,1fr)46px!important;gap:18px!important;align-items:center!important;}
.brand{justify-content:flex-start!important;}
.brand img{width:272px!important;height:56px!important;object-fit:contain!important;}
.site-header .main-nav{gap:20px!important;}
.site-header .main-nav a{
    background:transparent!important;
    color:#050505!important;
    box-shadow:none!important;
    border-radius:0!important;
    min-height:38px!important;
    padding:0!important;
    font-size:15.5px!important;
    font-weight:900!important;
    line-height:38px!important;
    transition:color .18s ease!important;
}
.site-header .main-nav a:hover,.site-header .main-nav a:focus{background:transparent!important;color:#d71920!important;transform:none!important;box-shadow:none!important;}
.site-header .main-nav a.is-active{background:transparent!important;color:#d71920!important;box-shadow:none!important;}
.nav-toggle{display:inline-flex!important;width:42px!important;height:42px!important;border-radius:0!important;background:#000!important;box-shadow:none!important;}
.nav-toggle span{background:#fff!important;width:22px!important;height:3px!important;}
main{margin:0!important;padding:0!important;}
.hero-slider{margin:0!important;padding:0!important;width:100%!important;background:#fff!important;line-height:0!important;overflow:hidden!important;}
.slider-stage{width:100vw!important;height:calc(100vw * 786 / 1999)!important;max-height:none!important;min-height:0!important;margin:0 calc(50% - 50vw)!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:hidden!important;transform:none!important;}
.slide{background:#fff!important;}
.slide img{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;background:#fff!important;}
.slider-dots{display:none!important;}
.slider-arrow{width:38px!important;height:38px!important;font-size:28px!important;background:rgba(255,255,255,.94)!important;color:#082e75!important;border:0!important;box-shadow:0 8px 20px rgba(6,26,67,.14)!important;}
.slider-arrow.prev{left:12px!important}.slider-arrow.next{right:12px!important}
.hero-actions{max-width:930px!important;margin:0 auto!important;padding:7px 10px 9px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex-wrap:wrap!important;background:#fff!important;}
.hero-contact{min-height:31px!important;padding:0 8px!important;border-radius:8px!important;font-size:12.5px!important;gap:5px!important;box-shadow:none!important;background:#fff!important;border:1px solid #e5edf8!important;}
.hero-contact svg{width:13px!important;height:13px!important;}
.btn{min-height:31px!important;padding:0 12px!important;border-radius:8px!important;font-size:12.5px!important;box-shadow:0 7px 14px rgba(6,26,67,.10)!important;}
.btn-primary{background:#0d4da8!important;color:#fff!important}.btn-secondary{background:#f26722!important;color:#fff!important}
.site-footer{margin-top:0!important;}
@media(max-width:1180px){.top-shell{grid-template-columns:240px minmax(0,1fr)44px!important;padding:4px 16px!important}.brand img{width:225px!important;height:52px!important}.site-header .main-nav{gap:12px!important}.site-header .main-nav a{font-size:13px!important}}
@media(max-width:980px){.top-shell{grid-template-columns:1fr 44px!important;min-height:62px!important}.main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 6px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;border:1px solid #dce7f6!important;border-radius:14px!important;padding:12px!important;box-shadow:0 18px 45px rgba(8,46,117,.14)!important}.main-nav.is-open{display:flex!important}.site-header .main-nav a{width:100%!important;text-align:center!important;justify-content:center!important;min-height:40px!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important;max-width:none!important}.hero-contact,.btn{width:100%!important;justify-content:center!important}}
@media(max-width:640px){.brand img{width:190px!important;height:46px!important}.slider-stage{height:calc(100vw * 786 / 1999)!important}.nav-toggle{width:38px!important;height:38px!important}.hero-contact,.btn{font-size:12px!important;min-height:31px!important}}


/* === V13 accueil : actions, patronage, institutions, compteur === */
.site-header .main-nav a{background:transparent!important;color:#080808!important;border-radius:0!important;box-shadow:none!important;min-height:38px!important;padding:0!important;font-size:15.5px!important;font-weight:900!important;line-height:1!important;}
.site-header .main-nav a:hover,.site-header .main-nav a:focus{color:#d71920!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.site-header .main-nav a.is-active{color:#d71920!important;background:transparent!important;box-shadow:none!important;}
.hero-slider{margin:0!important;padding:0!important;background:#fff!important;line-height:0!important;}
.slider-stage{width:100vw!important;height:calc(100vw * 786 / 1999)!important;max-height:none!important;min-height:0!important;margin:0 calc(50% - 50vw)!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;}
.slide img{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;background:#fff!important;}
.slider-arrow{width:42px!important;height:42px!important;font-size:30px!important;background:rgba(255,255,255,.92)!important;color:#062f78!important;}
.hero-actions{max-width:none!important;width:100%!important;margin:0!important;padding:14px 22px!important;background:#050505!important;display:block!important;}
.hero-actions-inner{max-width:1780px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.action-pill{min-height:52px;padding:0 20px;border-radius:15px;background:#fff;color:#062f78;border:1px solid rgba(255,255,255,.35);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:17px;font-weight:950;white-space:nowrap;box-shadow:0 12px 26px rgba(0,0,0,.22);}
.action-pill svg{width:20px;height:20px;fill:#f26722;}
.action-button{min-height:54px!important;padding:0 24px!important;border-radius:15px!important;font-size:17px!important;font-weight:950!important;box-shadow:0 14px 28px rgba(0,0,0,.25)!important;}
.event-countdown{background:#fff;border-radius:16px;padding:8px 10px 9px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 26px rgba(0,0,0,.22);}
.countdown-title{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#062f78;white-space:nowrap;}
.countdown-grid{display:flex;align-items:center;gap:6px;}
.flip-tile{width:58px;height:58px;border-radius:13px;background:#14a389;color:#fff;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 -2px 0 rgba(0,0,0,.16),0 7px 14px rgba(0,0,0,.14);}
.flip-tile:nth-child(2){background:#0d4da8}.flip-tile:nth-child(3){background:#f26722}.flip-tile:nth-child(4){background:#2e8b36}.flip-tile:nth-child(5){background:#061a43}
.flip-tile:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.35);box-shadow:0 1px 0 rgba(0,0,0,.16);}
.flip-tile b{font-size:24px;line-height:1;font-weight:950;letter-spacing:-.04em;}
.flip-tile small{font-size:8.5px;text-transform:uppercase;font-weight:900;opacity:.95;margin-top:5px;}
.patronage-hero{background:#1f6f24;padding:36px 5vw 42px;color:#fff;position:relative;overflow:hidden;}
.patronage-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.14),transparent 32%),radial-gradient(circle at 84% 26%,rgba(242,103,34,.18),transparent 28%);pointer-events:none;}
.patronage-band{position:relative;z-index:1;max-width:1180px;margin:0 auto 20px;padding:14px 22px;border-radius:999px;background:#184f1d;color:#fff;text-align:center;font-size:22px;font-weight:950;letter-spacing:.01em;white-space:nowrap;box-shadow:0 15px 30px rgba(0,0,0,.18);}
.patronage-card-pro{position:relative;z-index:1;max-width:1360px;margin:0 auto;background:#fff;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(420px,1fr)390px 48px;box-shadow:0 32px 70px rgba(0,0,0,.22);}
.patronage-text-pro{background:#1f6f24;padding:40px 46px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:330px;}
.patronage-text-pro h2{color:#fff;font-size:clamp(36px,4vw,62px);line-height:1.02;margin:0 0 10px;font-weight:950;}
.patronage-text-pro p{color:#fff;font-size:clamp(22px,2.2vw,36px);line-height:1.18;margin:0;font-weight:900;}
.patronage-emblem-pro{width:140px;margin-top:26px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 16px 35px rgba(0,0,0,.17);}
.patronage-photo-pro{min-height:330px;background:#f8fbff;}
.patronage-photo-pro img{width:100%;height:100%;object-fit:cover;object-position:center;}
.ci-flag-pro{display:grid;grid-template-rows:1fr 1fr 1fr;min-height:330px;}.ci-flag-pro span:nth-child(1){background:#f26722}.ci-flag-pro span:nth-child(2){background:#fff}.ci-flag-pro span:nth-child(3){background:#2e8b36}
.institutional-portage{padding:34px 5vw 50px;background:#fff;}
.institutional-board{max-width:1380px;margin:0 auto;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 22px 55px rgba(6,26,67,.13);border:1px solid #e7edf6;}
.institutional-board img{width:100%;height:auto;display:block;}
.premium-modal .modal-card{width:min(1540px,96vw)!important;max-height:94vh!important;margin:3vh auto!important;overflow:auto!important;border-radius:30px!important;}
.premium-modal .modal-visual{min-height:560px!important;}
.premium-modal .modal-form-panel{padding:34px!important;max-height:none!important;overflow:visible!important;}
.premium-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.premium-modal .premium-form input,.premium-modal .premium-form select,.premium-modal .premium-form textarea{min-height:46px!important;}
@media(max-width:1420px){.hero-actions-inner{gap:9px}.action-pill{min-height:46px;font-size:14px;padding:0 14px}.action-button{min-height:48px!important;font-size:15px!important;padding:0 18px!important}.flip-tile{width:48px;height:50px}.flip-tile b{font-size:20px}.countdown-title{display:none}.patronage-card-pro{grid-template-columns:1fr 330px 42px}}
@media(max-width:1020px){.hero-actions-inner{display:grid;grid-template-columns:1fr 1fr;}.action-pill,.action-button,.event-countdown{width:100%;}.event-countdown{grid-column:1/-1;justify-content:center}.patronage-band{white-space:normal;font-size:18px}.patronage-card-pro{grid-template-columns:1fr}.ci-flag-pro{grid-template-columns:1fr 1fr 1fr;grid-template-rows:14px;min-height:14px}.patronage-photo-pro{min-height:300px}.premium-modal .modal-card{grid-template-columns:1fr!important}.premium-modal .modal-visual{min-height:260px!important}.premium-modal .form-grid{grid-template-columns:1fr!important;}}
@media(max-width:640px){.hero-actions{padding:12px 12px!important}.hero-actions-inner{grid-template-columns:1fr}.action-pill,.action-button{min-height:45px!important;font-size:14px!important}.event-countdown{display:block;text-align:center}.countdown-grid{justify-content:center;margin-top:8px;flex-wrap:wrap}.flip-tile{width:54px;height:54px}.patronage-hero{padding:28px 14px 34px}.patronage-card-pro{border-radius:20px}.patronage-text-pro{padding:28px 22px;min-height:auto}.patronage-text-pro h2{font-size:30px}.patronage-text-pro p{font-size:20px}.patronage-emblem-pro{width:100px}.institutional-portage{padding:22px 12px 34px}.slider-stage{height:calc(100vw * 786 / 1999)!important}.premium-modal .modal-card{width:97vw!important;margin:1.5vh auto!important;max-height:97vh!important}.premium-modal .modal-form-panel{padding:22px!important}}

/* === V13 page backgrounds webp === */
.salon-hero{background-image:url("../uploads/slides/slide-001.webp")!important}.participate-hero{background-image:url("../uploads/slides/slide-002.webp")!important}.programme-hero{background-image:url("../uploads/slides/slide-003.webp")!important}.expo-hero{background-image:url("../uploads/slides/slide-004.webp")!important}.info-hero{background-image:url("../uploads/slides/slide-005.webp")!important}.contact-hero{background-image:url("../uploads/slides/slide-006.webp")!important}


/* ================================
   V14 — Optimisation affichage + bloc Haut Patronage
   ================================ */

/* Allègement rendu général */
.hero-slider,
.slider-stage,
.slide,
.slide img,
.patronage-hero,
.patronage-card-pro,
.institutional-board {
  contain: layout paint;
}
.slide img,
.patronage-photo-pro img,
.institutional-board img {
  image-rendering: auto;
}

/* Bloc Haut Patronage : suppression du grand fond vert et présentation institutionnelle premium */
.patronage-hero{
  background:#fff!important;
  color:var(--blue-navy)!important;
  padding:36px 5vw 54px!important;
  position:relative!important;
  overflow:hidden!important;
}
.patronage-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 9% 6%, rgba(13,77,168,.055), transparent 26%),
    radial-gradient(circle at 91% 12%, rgba(242,103,34,.075), transparent 22%),
    linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;
  pointer-events:none!important;
}

/* Ancienne bande verte neutralisée */
.patronage-band{display:none!important;}

.patronage-titleline{
  position:relative!important;
  z-index:1!important;
  max-width:1420px!important;
  margin:0 auto 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  text-align:center!important;
}
.patronage-titleline strong{
  color:#0b1f43!important;
  font-size:clamp(20px,2.15vw,34px)!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
.patronage-titleline .title-line{
  width:min(180px,14vw)!important;
  height:3px!important;
  border-radius:999px!important;
  position:relative!important;
}
.patronage-titleline .title-line.orange{background:linear-gradient(90deg,transparent,#f26722)!important;}
.patronage-titleline .title-line.green{background:linear-gradient(90deg,#2e8b36,transparent)!important;}
.patronage-titleline .title-line:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:10px!important;
  height:10px!important;
  transform:translateY(-50%) rotate(45deg)!important;
  background:#e7b64f!important;
  border-radius:2px!important;
}
.patronage-titleline .title-line.orange:after{right:-10px!important;}
.patronage-titleline .title-line.green:after{left:-10px!important;}

.patronage-card-pro{
  position:relative!important;
  z-index:1!important;
  max-width:1540px!important;
  margin:0 auto!important;
  min-height:335px!important;
  background:#fff!important;
  border:1px solid #e8eef7!important;
  border-radius:30px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(420px,44%)!important;
  box-shadow:0 22px 60px rgba(6,26,67,.12)!important;
}

.patronage-text-pro{
  background:
    radial-gradient(circle at 10% 0%,rgba(242,103,34,.06),transparent 25%),
    radial-gradient(circle at 90% 110%,rgba(46,139,54,.07),transparent 28%),
    #fff!important;
  color:var(--blue-navy)!important;
  min-height:335px!important;
  padding:42px 54px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.patronage-deco{
  display:block!important;
  width:150px!important;
  height:3px!important;
  margin:0 0 22px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#f26722 0%,#f2c14b 50%,#2e8b36 100%)!important;
  position:relative!important;
}
.patronage-deco:after{
  content:""!important;
  position:absolute!important;
  left:72px!important;
  top:50%!important;
  width:9px!important;
  height:9px!important;
  transform:translateY(-50%) rotate(45deg)!important;
  background:#e7b64f!important;
  border-radius:2px!important;
}
.patronage-text-pro h2{
  margin:0!important;
  color:#16611f!important;
  font-size:clamp(30px,3.1vw,50px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:950!important;
}
.patronage-text-pro h2 span{
  display:block!important;
  color:#1a6b28!important;
  font-size:.88em!important;
  font-weight:900!important;
}
.patronage-text-pro p{
  margin:16px 0 20px!important;
  color:#122846!important;
  font-size:clamp(18px,1.55vw,26px)!important;
  line-height:1.35!important;
  font-weight:750!important;
}
.patronage-emblem-wrap{
  width:98px!important;
  height:78px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid #edf2f9!important;
  box-shadow:0 12px 28px rgba(6,26,67,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px!important;
}
.patronage-emblem-pro{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}

.patronage-photo-pro{
  position:relative!important;
  min-height:335px!important;
  height:100%!important;
  background:#f8fbff!important;
  overflow:hidden!important;
}
.patronage-photo-pro img{
  width:100%!important;
  height:100%!important;
  min-height:335px!important;
  object-fit:cover!important;
  object-position:center!important;
}
.patronage-photo-pro:before{
  content:""!important;
  position:absolute!important;
  left:-64px!important;
  top:-18%!important;
  bottom:-18%!important;
  width:128px!important;
  background:#fff!important;
  border-radius:50%!important;
  z-index:2!important;
  box-shadow:16px 0 0 rgba(242,103,34,.92),24px 0 0 #fff,34px 0 0 rgba(46,139,54,.92)!important;
  pointer-events:none!important;
}
.patronage-photo-pro .ci-curve{display:none!important;}
.ci-flag-pro{display:none!important;}

/* Portage institutionnel : plus léger visuellement */
.institutional-portage{
  padding:24px 5vw 44px!important;
  background:#fff!important;
}
.institutional-board{
  max-width:1380px!important;
  margin:0 auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 14px 36px rgba(6,26,67,.08)!important;
  border:1px solid #edf2f9!important;
}
.institutional-board img{
  width:100%!important;
  height:auto!important;
  display:block!important;
}

/* Responsive patronage */
@media(max-width:1100px){
  .patronage-titleline strong{white-space:normal!important;font-size:24px!important;}
  .patronage-titleline .title-line{width:70px!important;}
  .patronage-card-pro{
    grid-template-columns:1fr!important;
    max-width:760px!important;
  }
  .patronage-text-pro{
    min-height:auto!important;
    padding:34px 30px!important;
  }
  .patronage-photo-pro,
  .patronage-photo-pro img{
    min-height:320px!important;
  }
  .patronage-photo-pro:before{display:none!important;}
}
@media(max-width:640px){
  .patronage-hero{padding:30px 14px 42px!important;}
  .patronage-titleline{gap:10px!important;margin-bottom:16px!important;}
  .patronage-titleline .title-line{width:38px!important;}
  .patronage-titleline strong{font-size:18px!important;}
  .patronage-card-pro{border-radius:22px!important;}
  .patronage-text-pro{padding:28px 22px!important;}
  .patronage-text-pro h2{font-size:30px!important;}
  .patronage-text-pro p{font-size:17px!important;}
  .patronage-photo-pro,
  .patronage-photo-pro img{min-height:260px!important;}
}


/* ================================
   V15 — Section Haut Patronage image + Portage Institutionnel
   ================================ */

/* Logo top : utiliser le même format visuel que le pied de page, aligné à gauche */
.top-shell{
  grid-template-columns:270px minmax(0,1fr)54px!important;
  min-height:68px!important;
  padding:6px 28px!important;
}
.brand{
  justify-content:flex-start!important;
}
.brand img{
  width:250px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Remplacement complet de l'ancien bloc Haut Patronage */
.patronage-hero,
.patronage-band,
.patronage-card-pro,
.institutional-portage{
  display:none!important;
}

.patronage-image-section{
  width:100%;
  background:#fff;
  padding:22px 5vw 10px;
  contain:layout paint;
}
.patronage-image-section img{
  width:min(100%,1920px);
  height:auto;
  margin:0 auto;
  display:block;
  border-radius:0;
  box-shadow:none;
  background:#fff;
}

/* Portage Institutionnel : zone verte + 5 vignettes */
.institutional-vignettes{
  width:100%;
  padding:22px 5vw 44px;
  background:#fff;
}
.institutional-vignettes-inner{
  width:min(100%,1500px);
  margin:0 auto;
  background:#2e8b36;
  border-radius:28px;
  padding:28px 30px 34px;
  box-shadow:0 18px 45px rgba(6,26,67,.12);
  overflow:hidden;
  position:relative;
}
.institutional-vignettes-inner:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.14),transparent 26%),
    radial-gradient(circle at 92% 28%,rgba(242,103,34,.12),transparent 26%);
  pointer-events:none;
}
.institutional-vignettes h2{
  position:relative;
  z-index:1;
  margin:0 0 24px;
  text-align:center;
  color:#fff;
  font-size:clamp(25px,2.4vw,38px);
  line-height:1.1;
  font-weight:950;
  letter-spacing:.02em;
}
.institution-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.institution-card{
  background:#fff;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.72);
  padding:16px 13px 14px;
  min-height:178px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  box-shadow:0 14px 30px rgba(6,26,67,.12);
  transition:transform .2s ease, box-shadow .2s ease;
}
.institution-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(6,26,67,.18);
}
.institution-logo-box{
  width:100%;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.institution-logo-box img{
  max-width:100%;
  max-height:86px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.institution-card h3{
  margin:12px 0 0;
  color:#06377e;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  text-align:center;
}

/* Ajustements responsive */
@media(max-width:1280px){
  .top-shell{grid-template-columns:235px minmax(0,1fr)50px!important;}
  .brand img{width:220px!important;max-height:52px!important;}
  .institution-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
  .top-shell{grid-template-columns:1fr 50px!important;}
  .brand img{width:210px!important;}
  .patronage-image-section{padding:16px 12px 8px;}
  .institutional-vignettes{padding:18px 12px 34px;}
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .brand img{width:185px!important;max-height:48px!important;}
  .institutional-vignettes-inner{padding:22px 16px 24px;border-radius:22px;}
  .institution-grid{grid-template-columns:1fr;}
  .institution-card{min-height:156px;}
}

/* ================================
   V16 — Corrections strictes demandées
   ================================ */

/* Logo top : même fichier/format que le pied de page, taille conservée */
.site-header .top-shell{
  grid-template-columns:300px minmax(0,1fr)54px!important;
  min-height:92px!important;
  padding:8px 28px!important;
}
.site-header .brand{
  justify-content:flex-start!important;
  align-items:center!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
  width:250px!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:#fff!important;
  border-radius:14px!important;
  padding:8px!important;
  box-shadow:none!important;
  filter:none!important;
  display:block!important;
}

/* Portage institutionnel : plus de fond vert, logos seulement, pas de titres en bas */
.institutional-vignettes{
  background:#fff!important;
  padding:26px 5vw 46px!important;
}
.institutional-vignettes-inner{
  background:#fff!important;
  border:1px solid #e7edf6!important;
  box-shadow:0 14px 34px rgba(6,26,67,.08)!important;
  border-radius:24px!important;
  padding:28px 28px 32px!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
  color:#073b7a!important;
  font-size:clamp(24px,2.2vw,36px)!important;
  margin:0 0 24px!important;
  text-align:center!important;
}
.institutional-vignettes h2:after{
  content:"";
  display:block;
  width:170px;
  height:4px;
  margin:12px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#0d4da8,#f26722,#f2c14b,#2e8b36);
}
.institution-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
}
.institution-card{
  background:#fff!important;
  border:1px solid #dfe9f6!important;
  border-radius:22px!important;
  padding:18px!important;
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 12px 28px rgba(6,26,67,.08)!important;
}
.institution-logo-box{
  width:100%!important;
  min-height:110px!important;
  height:110px!important;
  border-radius:16px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.institution-logo-box img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:110px!important;
  object-fit:contain!important;
  display:block!important;
}
.institution-card h3{display:none!important;}

/* Popups : présentation plus compacte, complète et lisible */
.premium-modal .modal-card{
  width:min(1220px,94vw)!important;
  max-height:90vh!important;
  margin:5vh auto!important;
  display:grid!important;
  grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr)!important;
  overflow:hidden!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 34px 90px rgba(0,0,0,.32)!important;
}
.premium-modal .modal-close{
  width:38px!important;
  height:38px!important;
  right:14px!important;
  top:14px!important;
  z-index:10!important;
}
.premium-modal .modal-visual{
  min-height:0!important;
  height:auto!important;
  padding:26px!important;
}
.premium-modal .modal-visual h3{
  font-size:clamp(24px,2.2vw,34px)!important;
  line-height:1.12!important;
}
.premium-modal .modal-visual p,
.premium-modal .modal-visual li{
  font-size:14px!important;
  line-height:1.45!important;
}
.premium-modal .modal-form-panel{
  padding:28px 34px!important;
  overflow:auto!important;
  max-height:90vh!important;
}
.premium-modal .modal-logo{
  width:205px!important;
  height:auto!important;
  margin:0 0 14px!important;
  background:#fff!important;
  border-radius:12px!important;
  padding:6px!important;
}
.premium-modal .modal-form-panel h2{
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1.08!important;
  margin:0 0 12px!important;
}
.premium-modal .modal-intro{
  font-size:16px!important;
  line-height:1.45!important;
  margin:0 0 18px!important;
}
.premium-modal .premium-form{
  padding:22px!important;
  border-radius:22px!important;
}
.premium-modal .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.premium-modal .premium-form label{
  font-size:13px!important;
  margin-bottom:12px!important;
}
.premium-modal .premium-form input,
.premium-modal .premium-form select,
.premium-modal .premium-form textarea{
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  font-size:14px!important;
}
.premium-modal .premium-form textarea{
  min-height:84px!important;
}
.premium-modal .modal-submit{
  min-height:46px!important;
  font-size:15px!important;
  border-radius:12px!important;
}

@media(max-width:1300px){
  .site-header .top-shell{grid-template-columns:280px minmax(0,1fr)50px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:250px!important;}
}
@media(max-width:1080px){
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .premium-modal .modal-card{grid-template-columns:1fr!important;width:min(760px,96vw)!important;margin:2vh auto!important;max-height:96vh!important;}
  .premium-modal .modal-visual{min-height:220px!important;}
  .premium-modal .modal-form-panel{max-height:none!important;}
}
@media(max-width:980px){
  .site-header .top-shell{grid-template-columns:1fr 50px!important;min-height:78px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:220px!important;}
}
@media(max-width:640px){
  .site-header .top-shell{min-height:68px!important;padding:6px 12px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:185px!important;padding:6px!important;}
  .institution-grid{grid-template-columns:1fr!important;}
  .institution-card{min-height:130px!important;}
  .premium-modal .modal-form-panel{padding:22px 18px!important;}
  .premium-modal .form-grid{grid-template-columns:1fr!important;}
  .premium-modal .modal-logo{width:178px!important;}
}

/* =========================================================
   S2IA V17 — Top menu, Portage Institutionnel, Popups, Chiffres clés
   ========================================================= */

/* Top menu type premium, inspiré de la référence fournie, sans image générée */
.site-header{
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
    padding:14px 24px 12px!important;
    background:linear-gradient(180deg,#fbfaf3 0%,#f1efe1 100%)!important;
    border-bottom:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
}
.site-header .top-shell{
    width:min(100%,1760px)!important;
    max-width:1760px!important;
    min-height:92px!important;
    margin:0 auto!important;
    padding:12px 22px!important;
    display:grid!important;
    grid-template-columns:330px minmax(0,1fr)58px!important;
    align-items:center!important;
    gap:20px!important;
    border-radius:38px!important;
    background:
      radial-gradient(circle at 0% 0%,rgba(46,139,54,.16),transparent 30%),
      radial-gradient(circle at 100% 0%,rgba(242,103,34,.12),transparent 26%),
      linear-gradient(180deg,#fffdf7 0%,#f6f2df 100%)!important;
    border:1px solid rgba(46,139,54,.14)!important;
    box-shadow:0 18px 44px rgba(6,26,67,.13)!important;
    overflow:hidden!important;
    position:relative!important;
}
.site-header .top-shell:before,
.site-header .top-shell:after{
    content:""!important;
    position:absolute!important;
    border-radius:50%!important;
    pointer-events:none!important;
    z-index:0!important;
}
.site-header .top-shell:before{
    width:240px!important;height:120px!important;left:-44px!important;bottom:-74px!important;background:rgba(46,139,54,.18)!important;
}
.site-header .top-shell:after{
    width:280px!important;height:160px!important;right:-72px!important;top:-88px!important;background:rgba(46,139,54,.14)!important;
}
.site-header .brand,
.site-header .main-nav,
.site-header .nav-toggle{position:relative!important;z-index:1!important;}
.site-header .brand{
    justify-content:flex-start!important;
    align-items:center!important;
    width:100%!important;
    min-height:68px!important;
    padding:8px 16px!important;
    border-radius:28px 10px 28px 10px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid rgba(46,139,54,.13)!important;
    box-shadow:0 12px 26px rgba(6,26,67,.07)!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
    width:250px!important;
    height:auto!important;
    max-width:250px!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    filter:drop-shadow(0 5px 10px rgba(6,26,67,.10))!important;
}
.site-header .main-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:28px!important;
}
.site-header .main-nav a{
    background:transparent!important;
    color:#111!important;
    box-shadow:none!important;
    border-radius:0!important;
    min-height:38px!important;
    padding:0!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1!important;
    position:relative!important;
    transition:color .18s ease!important;
}
.site-header .main-nav a:after{
    content:""!important;
    position:absolute!important;
    left:0!important;right:0!important;bottom:1px!important;
    height:3px!important;
    border-radius:999px!important;
    background:#d71920!important;
    transform:scaleX(0)!important;
    transform-origin:center!important;
    transition:transform .2s ease!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav a.is-active{
    color:#d71920!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
}
.site-header .main-nav a:hover:after,
.site-header .main-nav a:focus:after,
.site-header .main-nav a.is-active:after{transform:scaleX(1)!important;}
.site-header .nav-toggle{
    width:52px!important;height:52px!important;
    border-radius:16px!important;
    background:#111!important;
    box-shadow:0 14px 28px rgba(0,0,0,.18)!important;
}
.site-header .nav-toggle span{background:#fff!important;}

/* Actions principales : garde lisible sous slider */
.hero-actions-inner{width:min(100%,1440px)!important;}

/* Popups améliorés : gauche design, droite formulaire propre, contenu non coupé */
.premium-modal .modal-card{
    width:min(1500px,94vw)!important;
    max-height:92vh!important;
    height:auto!important;
    margin:4vh auto!important;
    display:grid!important;
    grid-template-columns:minmax(420px,.85fr) minmax(560px,1.15fr)!important;
    overflow:hidden!important;
    border-radius:28px!important;
    box-shadow:0 38px 95px rgba(0,0,0,.34)!important;
}
.premium-modal .modal-close{
    width:42px!important;height:42px!important;
    top:18px!important;right:18px!important;
    color:#061a43!important;
    background:#fff!important;
}
.premium-modal .modal-visual{
    min-height:640px!important;
    height:100%!important;
    padding:34px!important;
    background:#061a43!important;
    position:relative!important;
    overflow:hidden!important;
}
.premium-modal .modal-visual img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    opacity:.66!important;
}
.premium-modal .modal-visual:after{
    background:linear-gradient(0deg,rgba(6,26,67,.94),rgba(6,26,67,.40) 54%,rgba(6,26,67,.18))!important;
}
.modal-visual-content{position:relative!important;z-index:2!important;margin-top:auto!important;}
.premium-modal .modal-visual h3{font-size:clamp(28px,2.3vw,42px)!important;line-height:1.08!important;margin:0 0 12px!important;color:#fff!important;}
.premium-modal .modal-visual p,.premium-modal .modal-visual li{font-size:15px!important;line-height:1.55!important;color:#eef6ff!important;font-weight:800!important;}
.premium-modal .modal-visual-badge{display:inline-flex!important;background:#f26722!important;color:#fff!important;border-radius:999px!important;padding:9px 16px!important;font-weight:950!important;margin-bottom:16px!important;}
.premium-modal .modal-form-panel{
    padding:38px 40px!important;
    max-height:92vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#fff!important;
}
.premium-modal .modal-logo{width:210px!important;height:auto!important;margin:0 0 16px!important;}
.premium-modal .modal-form-panel h2{font-size:clamp(34px,3vw,48px)!important;line-height:1.08!important;margin:0 0 12px!important;color:#061a43!important;}
.premium-modal .modal-intro{font-size:17px!important;line-height:1.45!important;margin:0 0 20px!important;color:#667493!important;font-weight:850!important;}
.premium-modal .premium-form{padding:26px!important;border-radius:24px!important;box-shadow:none!important;background:#fff!important;}
.premium-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
.premium-modal .premium-form label{font-size:14px!important;color:#062e76!important;margin-bottom:14px!important;}
.premium-modal .premium-form input,.premium-modal .premium-form select,.premium-modal .premium-form textarea{
    min-height:48px!important;border-radius:14px!important;background:#f8fbff!important;
}
.premium-modal .premium-form textarea{min-height:92px!important;}
.premium-modal .modal-submit{min-height:50px!important;border-radius:14px!important;font-size:16px!important;}
.stand-visual-slider{position:absolute!important;inset:0!important;z-index:0!important;}
.stand-visual-slider .stand-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0!important;animation:standFade 10s infinite!important;}
.stand-visual-slider .stand-slide-one{animation-delay:0s!important;}
.stand-visual-slider .stand-slide-two{animation-delay:5s!important;}
@keyframes standFade{0%,45%{opacity:.68}50%,95%{opacity:0}100%{opacity:.68}}

/* Portage Institutionnel : fond vert renforcé + logos seuls */
.institutional-vignettes{
    padding:34px 5vw 54px!important;
    background:#fff!important;
}
.institutional-vignettes-inner{
    width:min(100%,1540px)!important;
    margin:0 auto!important;
    border-radius:30px!important;
    padding:32px 34px 38px!important;
    background:
      radial-gradient(circle at 12% 4%,rgba(255,255,255,.15),transparent 25%),
      linear-gradient(135deg,#1f7a2c 0%,#2e8b36 58%,#16611f 100%)!important;
    box-shadow:0 22px 54px rgba(6,26,67,.14)!important;
    border:1px solid rgba(255,255,255,.26)!important;
    overflow:hidden!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
    color:#fff!important;text-align:center!important;
    font-size:clamp(32px,3.2vw,54px)!important;
    font-weight:950!important;letter-spacing:.015em!important;
    margin:0 0 26px!important;
}
.institution-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;}
.institution-card{
    min-height:170px!important;
    padding:18px!important;
    border-radius:20px!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.8)!important;
    box-shadow:0 16px 38px rgba(6,26,67,.13)!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
}
.institution-card h3{display:none!important;}
.institution-logo-box{width:100%!important;min-height:122px!important;background:#fff!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.institution-logo-box img{max-width:96%!important;max-height:112px!important;width:auto!important;height:auto!important;object-fit:contain!important;filter:none!important;}

/* Chiffres clés */
.key-figures{
    padding:56px 5vw 70px!important;
    background:#fff!important;
}
.key-figures-inner{
    width:min(100%,1540px)!important;
    margin:0 auto!important;
    padding:46px 42px 48px!important;
    border-radius:34px!important;
    color:#fff!important;
    background:
      radial-gradient(circle at 14% 8%,rgba(13,77,168,.34),transparent 24%),
      radial-gradient(circle at 85% 14%,rgba(242,103,34,.25),transparent 24%),
      linear-gradient(135deg,#03070e 0%,#081327 50%,#050505 100%)!important;
    box-shadow:0 30px 80px rgba(0,0,0,.26)!important;
    position:relative!important;
    overflow:hidden!important;
}
.key-figures-inner:before{
    content:"";position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:38px 38px;opacity:.28;pointer-events:none;
}
.key-figures-head{position:relative;z-index:1;text-align:center;max-width:900px;margin:0 auto 32px;}
.key-figures-head span{display:inline-flex;margin-bottom:12px;color:#f2c14b;font-weight:950;text-transform:uppercase;letter-spacing:.18em;font-size:13px;}
.key-figures-head h2{color:#fff!important;font-size:clamp(36px,4vw,64px)!important;line-height:1.05!important;margin:0 0 12px!important;font-weight:950!important;}
.key-figures-head p{color:#dce8ff!important;font-size:18px!important;line-height:1.6!important;font-weight:750!important;margin:0!important;}
.key-grid{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;}
.key-card{
    padding:24px 16px 22px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07))!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 16px 36px rgba(0,0,0,.22)!important;
    text-align:center!important;
    min-height:230px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
}
.key-icon{width:76px!important;height:76px!important;border-radius:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.96)!important;margin-bottom:18px!important;box-shadow:0 14px 30px rgba(0,0,0,.18)!important;}
.key-icon svg{width:47px!important;height:47px!important;fill:none!important;stroke:#0d4da8!important;stroke-width:4!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.key-card:nth-child(2n) .key-icon svg{stroke:#f26722!important}.key-card:nth-child(3n) .key-icon svg{stroke:#2e8b36!important}
.key-card strong{display:block;color:#fff!important;font-size:clamp(26px,2.4vw,42px)!important;line-height:1.05!important;font-weight:950!important;margin-bottom:10px!important;}
.key-card span{display:block;color:#fff!important;font-size:15px!important;line-height:1.25!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em!important;}

@media(max-width:1280px){
  .site-header .top-shell{grid-template-columns:300px minmax(0,1fr)54px!important;}
  .site-header .main-nav{gap:18px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .institution-grid,.key-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .premium-modal .modal-card{grid-template-columns:1fr!important;width:min(880px,96vw)!important;}
  .premium-modal .modal-visual{min-height:270px!important;}
}
@media(max-width:980px){
  .site-header{padding:8px 10px!important;}
  .site-header .top-shell{grid-template-columns:1fr 52px!important;min-height:78px!important;border-radius:24px!important;}
  .site-header .brand{min-height:58px!important;max-width:310px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:220px!important;}
  .site-header .main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 8px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:14px!important;box-shadow:var(--heavy)!important;}
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{width:100%!important;text-align:center!important;justify-content:center!important;min-height:42px!important;}
  .institution-grid,.key-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:185px!important;}
  .institution-grid,.key-grid{grid-template-columns:1fr!important;}
  .institutional-vignettes-inner,.key-figures-inner{padding:26px 18px!important;border-radius:24px!important;}
  .premium-modal .modal-card{width:97vw!important;margin:1.5vh auto!important;max-height:97vh!important;}
  .premium-modal .modal-form-panel{padding:22px 18px!important;}
  .premium-modal .form-grid{grid-template-columns:1fr!important;}
  .premium-modal .modal-logo{width:170px!important;}
}



/* =========================================================
   S2IA V18 — Corrections strictes demandées
   ========================================================= */

/* Top menu : fond opaque, pas de slider visible derrière */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:4000!important;
  width:100%!important;
  padding:14px 24px!important;
  background:#ffffff!important;
  background-color:#ffffff!important;
  border-bottom:1px solid #e8edf5!important;
  box-shadow:0 12px 34px rgba(6,26,67,.10)!important;
  backdrop-filter:none!important;
}
.site-header .top-shell{
  width:min(100%,1780px)!important;
  min-height:82px!important;
  margin:0 auto!important;
  padding:10px 20px!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)58px!important;
  gap:24px!important;
  align-items:center!important;
  background:
    linear-gradient(90deg, rgba(46,139,54,.08) 0%, rgba(255,255,255,1) 18%, rgba(255,255,255,1) 82%, rgba(242,103,34,.08) 100%)!important;
  border:1px solid rgba(13,77,168,.13)!important;
  border-radius:30px!important;
  box-shadow:0 18px 45px rgba(6,26,67,.12)!important;
  overflow:hidden!important;
}
.site-header .brand{
  min-height:62px!important;
  justify-content:flex-start!important;
  background:#ffffff!important;
  border-radius:22px!important;
  padding:6px 12px!important;
  border:1px solid rgba(46,139,54,.18)!important;
  box-shadow:0 10px 24px rgba(6,26,67,.08)!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
  width:260px!important;
  max-width:260px!important;
  max-height:58px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
  flex-wrap:wrap!important;
}
.site-header .main-nav a{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  color:#111111!important;
  min-height:40px!important;
  padding:0 2px!important;
  font-size:16px!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  transition:color .2s ease, transform .2s ease!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a.is-active{
  color:#c3171d!important;
  transform:none!important;
}
.site-header .nav-toggle{
  background:#050505!important;
  border-radius:13px!important;
  box-shadow:0 12px 24px rgba(0,0,0,.18)!important;
}
.site-header .nav-toggle span{background:#ffffff!important;}

/* Bloc Président : champ réduit à gauche + mot de bienvenue à droite */
.patronage-image-section{display:none!important;}
.patronage-welcome{
  padding:34px 5vw 18px!important;
  background:#ffffff!important;
}
.patronage-welcome-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(420px,.92fr) minmax(420px,1.08fr)!important;
  gap:22px!important;
  align-items:stretch!important;
}
.patronage-identity-card,
.president-message-card{
  border-radius:28px!important;
  background:#ffffff!important;
  border:1px solid #e5edf7!important;
  box-shadow:0 18px 45px rgba(6,26,67,.10)!important;
  overflow:hidden!important;
}
.patronage-identity-card{
  padding:24px!important;
}
.patronage-kicker{
  display:inline-flex!important;
  align-items:center!important;
  color:#0d4da8!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  margin-bottom:16px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#f4f8ff!important;
  border:1px solid #dfe9f8!important;
}
.patronage-identity-content{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 210px!important;
  gap:18px!important;
  align-items:end!important;
}
.patronage-identity-text h2{
  margin:0!important;
  color:#0f5f25!important;
  font-size:clamp(26px,2.6vw,42px)!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
.patronage-identity-text h2 span{color:#0a541f!important;}
.patronage-identity-text p{
  margin:12px 0 18px!important;
  color:#10264d!important;
  font-size:clamp(16px,1.25vw,22px)!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.patronage-identity-text img{
  width:86px!important;
  height:auto!important;
  border-radius:14px!important;
  border:1px solid #edf2f8!important;
  background:#fff!important;
  padding:7px!important;
  box-shadow:0 10px 24px rgba(6,26,67,.08)!important;
}
.patronage-president-photo{
  margin:0!important;
  height:240px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#f8fbff!important;
  position:relative!important;
}
.patronage-president-photo:after{
  content:""!important;
  position:absolute!important;
  right:0;top:0;bottom:0;width:14px!important;
  background:linear-gradient(180deg,#f26722 0 33%,#fff 33% 66%,#2e8b36 66% 100%)!important;
}
.patronage-president-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.president-message-card{
  padding:30px 34px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(242,103,34,.09),transparent 28%),
    radial-gradient(circle at 0% 100%,rgba(46,139,54,.08),transparent 28%),
    #ffffff!important;
}
.president-message-card span{
  display:inline-flex!important;
  align-self:flex-start!important;
  margin-bottom:12px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#0d4da8!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.president-message-card h3{
  margin:0 0 14px!important;
  color:#061a43!important;
  font-size:clamp(24px,2.1vw,36px)!important;
  line-height:1.14!important;
  font-weight:950!important;
}
.president-message-card p{
  margin:0!important;
  color:#263b61!important;
  font-size:clamp(16px,1.15vw,20px)!important;
  line-height:1.62!important;
  font-weight:700!important;
}

/* Popups : utiliser les images fournies, logo centré et agrandi, présentation moins coupée */
.premium-modal .modal-card{
  width:min(1500px,94vw)!important;
  max-height:90vh!important;
  margin:5vh auto!important;
  border-radius:26px!important;
  display:grid!important;
  grid-template-columns:46% 54%!important;
  overflow:hidden!important;
}
.premium-modal .modal-visual{
  min-height:620px!important;
  padding:34px!important;
}
.premium-modal .modal-visual img,
.premium-modal .stand-slide{
  opacity:1!important;
  object-fit:cover!important;
  object-position:center!important;
}
.premium-modal .modal-visual:after{
  background:linear-gradient(0deg,rgba(6,26,67,.92) 0%,rgba(6,26,67,.70) 34%,rgba(6,26,67,.18) 100%)!important;
}
.premium-modal .modal-visual-content{
  max-width:92%!important;
}
.premium-modal .modal-visual h3{
  font-size:clamp(28px,2.7vw,46px)!important;
  line-height:1.08!important;
}
.premium-modal .modal-form-panel{
  padding:40px 44px 34px!important;
  max-height:90vh!important;
  overflow:auto!important;
}
.premium-modal .modal-logo{
  width:285px!important;
  max-width:82%!important;
  margin:0 auto 22px!important;
  display:block!important;
}
.premium-modal .modal-form-panel h2{
  text-align:center!important;
  font-size:clamp(32px,3vw,52px)!important;
  line-height:1.08!important;
  margin:0 0 12px!important;
}
.premium-modal .modal-intro{
  text-align:center!important;
  max-width:760px!important;
  margin:0 auto 24px!important;
}
.premium-modal .premium-form{
  border-radius:22px!important;
}
.premium-modal .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.stand-visual-slider .stand-slide-one{animation:s2iaStandA 10s infinite!important;}
.stand-visual-slider .stand-slide-two{animation:s2iaStandB 10s infinite!important;}
@keyframes s2iaStandA{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}
@keyframes s2iaStandB{0%,45%{opacity:0}50%,95%{opacity:1}100%{opacity:0}}

/* Portage institutionnel : nouveau design, sans grand fond vert, logos réels grands, pas de titres sous les vignettes */
.institutional-vignettes{
  padding:42px 5vw 52px!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(46,139,54,.08),transparent 24%),
    radial-gradient(circle at 92% 2%,rgba(242,103,34,.07),transparent 24%),
    #ffffff!important;
}
.institutional-vignettes-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  padding:34px 34px 38px!important;
  background:#ffffff!important;
  border-radius:30px!important;
  border:1px solid #e7eef7!important;
  box-shadow:0 18px 46px rgba(6,26,67,.09)!important;
  position:relative!important;
  overflow:hidden!important;
}
.institutional-vignettes-inner:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;height:8px!important;
  background:linear-gradient(90deg,#0d4da8 0%,#f26722 35%,#f2c14b 55%,#2e8b36 100%)!important;
}
.institutional-vignettes h2{
  margin:0 0 28px!important;
  color:#0f5f25!important;
  text-align:center!important;
  font-size:clamp(30px,3vw,50px)!important;
  font-weight:950!important;
  line-height:1.08!important;
}
.institution-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.institution-card{
  min-height:190px!important;
  padding:14px!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  box-shadow:0 15px 34px rgba(6,26,67,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.institution-card h3{display:none!important;}
.institution-logo-box{
  width:100%!important;
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.institution-logo-box img{
  max-width:98%!important;
  max-height:146px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
}

/* Chiffres clés : fond bleu éclatant, titres agrandis */
.key-figures{
  padding:52px 5vw 70px!important;
  background:#fff!important;
}
.key-figures-inner{
  background:
    radial-gradient(circle at 13% 8%,rgba(255,255,255,.18),transparent 24%),
    radial-gradient(circle at 86% 12%,rgba(242,103,34,.22),transparent 22%),
    linear-gradient(135deg,#0d4da8 0%,#073e90 48%,#062f78 100%)!important;
  color:#fff!important;
  border-radius:34px!important;
  box-shadow:0 30px 80px rgba(13,77,168,.30)!important;
}
.key-figures-head{
  max-width:1060px!important;
}
.key-figures-head>span{display:none!important;}
.key-figures-head h2,
.key-figures-head h3{
  margin:0!important;
  font-size:clamp(42px,4.8vw,78px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.key-figures-head h2{
  color:#f26722!important;
  text-shadow:0 3px 0 rgba(0,0,0,.12)!important;
}
.key-figures-head h3{
  color:#ffffff!important;
  margin-top:8px!important;
}
.key-figures-head p{
  margin:20px auto 0!important;
  color:#e7f0ff!important;
  max-width:920px!important;
}

/* Responsive strict */
@media(max-width:1280px){
  .site-header .top-shell{grid-template-columns:270px minmax(0,1fr)54px!important;gap:16px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:235px!important;max-width:235px!important;}
  .site-header .main-nav{gap:16px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .patronage-welcome-inner{grid-template-columns:1fr!important;}
  .institution-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  .site-header{padding:10px 12px!important;}
  .site-header .top-shell{grid-template-columns:1fr 52px!important;min-height:74px!important;}
  .site-header .brand{max-width:300px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:220px!important;}
  .site-header .main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 8px)!important;display:none!important;flex-direction:column!important;background:#fff!important;border:1px solid #e1e9f5!important;border-radius:18px!important;padding:14px!important;box-shadow:0 18px 44px rgba(6,26,67,.18)!important;}
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{justify-content:center!important;width:100%!important;min-height:42px!important;}
  .premium-modal .modal-card{grid-template-columns:1fr!important;width:min(760px,96vw)!important;}
  .premium-modal .modal-visual{min-height:270px!important;}
  .premium-modal .modal-form-panel{max-height:62vh!important;}
  .patronage-identity-content{grid-template-columns:1fr!important;}
  .patronage-president-photo{height:280px!important;}
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .key-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:640px){
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:188px!important;}
  .patronage-welcome{padding:26px 14px 12px!important;}
  .patronage-identity-card,.president-message-card{border-radius:22px!important;}
  .patronage-identity-card{padding:20px!important;}
  .president-message-card{padding:24px 20px!important;}
  .institution-grid,.key-grid{grid-template-columns:1fr!important;}
  .institution-logo-box{min-height:130px!important;}
  .institution-logo-box img{max-height:126px!important;}
  .premium-modal .modal-card{width:97vw!important;margin:1.5vh auto!important;max-height:97vh!important;}
  .premium-modal .modal-form-panel{padding:24px 18px!important;max-height:64vh!important;}
  .premium-modal .form-grid{grid-template-columns:1fr!important;}
  .premium-modal .modal-logo{width:210px!important;}
}



/* =========================================================
   S2IA V19 — Chiffres clés + Portage défilants + Popups non coupés
   ========================================================= */

/* Popups : correction des coupures en haut */
.premium-modal{
  overflow-y:auto!important;
  padding:18px 0!important;
}
.premium-modal .modal-card{
  margin:0 auto!important;
  max-height:calc(100vh - 36px)!important;
}
.premium-modal .modal-form-panel{
  max-height:calc(100vh - 36px)!important;
  overflow-y:auto!important;
}
.premium-modal .modal-visual{
  min-height:calc(100vh - 36px)!important;
}
.premium-modal .modal-logo{
  margin-top:0!important;
}

/* Chiffres clés : style maquette avec défilement sur une seule ligne */
.key-figures.key-strip-section{
  padding:38px 0 46px!important;
  background:#ffffff!important;
}
.key-strip-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 16px!important;
  background:#ffffff!important;
  color:#061a43!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.key-strip-head{
  text-align:center!important;
  margin:0 auto 22px!important;
  padding:0 20px!important;
}
.key-strip-head h2{
  margin:0!important;
  color:#0d4da8!important;
  font-size:clamp(28px,3vw,46px)!important;
  font-weight:950!important;
  line-height:1.05!important;
}
.key-strip-head h3{
  margin:8px 0 0!important;
  color:#061a43!important;
  font-size:clamp(28px,3vw,46px)!important;
  font-weight:950!important;
  line-height:1.05!important;
}
.key-strip-scroll{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:26px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  padding:0 28px 18px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#0d4da8 #eef4ff!important;
}
.key-strip-scroll::-webkit-scrollbar{height:10px!important;}
.key-strip-scroll::-webkit-scrollbar-track{background:#eef4ff!important;border-radius:999px!important;}
.key-strip-scroll::-webkit-scrollbar-thumb{background:#0d4da8!important;border-radius:999px!important;}
.key-strip-card{
  flex:0 0 205px!important;
  min-height:220px!important;
  scroll-snap-align:start!important;
  padding:20px 14px 18px!important;
  border-radius:18px!important;
  background:#ffffff!important;
  border:3px solid #e8eef8!important;
  box-shadow:0 16px 38px rgba(6,26,67,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.key-strip-card:nth-child(4n/**/+1){border-color:#cbdcf3!important;}
.key-strip-card:nth-child(4n/**/+2){border-color:#cfe5c9!important;}
.key-strip-card:nth-child(4n/**/+3){border-color:#ffe0c7!important;}
.key-strip-card:nth-child(4n/**/+4){border-color:#ffedc1!important;}
.key-strip-icon{
  width:68px!important;
  height:68px!important;
  margin:0 auto 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.key-strip-icon img{
  max-width:68px!important;
  max-height:68px!important;
  object-fit:contain!important;
}
.key-strip-card strong{
  display:block!important;
  color:#0d4da8!important;
  font-size:clamp(25px,2.2vw,40px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  margin:0 0 8px!important;
}
.key-strip-card:nth-child(4n/**/+2) strong{color:#2e8b36!important;}
.key-strip-card:nth-child(4n/**/+3) strong{color:#f26722!important;}
.key-strip-card:nth-child(4n/**/+4) strong{color:#f2b500!important;}
.key-strip-card span{
  display:block!important;
  color:#0d4da8!important;
  font-size:15px!important;
  line-height:1.22!important;
  font-weight:900!important;
}

/* Portage institutionnel : identique au style chiffres clés, défilant une seule ligne */
.institutional-vignettes{
  padding:34px 0 42px!important;
  background:#ffffff!important;
}
.institutional-vignettes-inner{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 16px!important;
  background:#ffffff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
  margin:0 0 22px!important;
  text-align:center!important;
  color:#0d4da8!important;
  font-size:clamp(28px,3vw,46px)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.institution-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:26px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  padding:0 28px 18px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#2e8b36 #eef4ff!important;
}
.institution-grid::-webkit-scrollbar{height:10px!important;}
.institution-grid::-webkit-scrollbar-track{background:#eef4ff!important;border-radius:999px!important;}
.institution-grid::-webkit-scrollbar-thumb{background:#2e8b36!important;border-radius:999px!important;}
.institution-card{
  flex:0 0 245px!important;
  min-height:185px!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#ffffff!important;
  border:3px solid #e5eef8!important;
  box-shadow:0 16px 38px rgba(6,26,67,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  scroll-snap-align:start!important;
}
.institution-card h3{display:none!important;}
.institution-logo-box{
  width:100%!important;
  min-height:145px!important;
  background:#ffffff!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.institution-logo-box img{
  max-width:100%!important;
  max-height:138px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Neutraliser l'ancien rendu bleu des chiffres clés */
.key-figures-inner,
.key-grid,
.key-card,
.key-icon{
  all:unset;
}
.key-figures-inner *{
  box-sizing:border-box;
}

@media(max-width:980px){
  .premium-modal{padding:12px 0!important;}
  .premium-modal .modal-card{max-height:calc(100vh - 24px)!important;}
  .premium-modal .modal-visual{min-height:280px!important;}
  .premium-modal .modal-form-panel{max-height:calc(100vh - 304px)!important;}
  .key-strip-card{flex-basis:190px!important;}
  .institution-card{flex-basis:230px!important;}
}
@media(max-width:640px){
  .premium-modal .modal-form-panel{max-height:62vh!important;}
  .key-strip-scroll,.institution-grid{gap:16px!important;padding-left:16px!important;padding-right:16px!important;}
  .key-strip-card{flex-basis:178px!important;min-height:205px!important;}
  .institution-card{flex-basis:214px!important;min-height:170px!important;}
}



/* =========================================================
   S2IA V20 — Présentation + Chiffres clés en damier avec flèches
   ========================================================= */

/* Texte de présentation du salon */
.s2ia-presentation{
  padding:54px 5vw 48px!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(13,77,168,.07),transparent 26%),
    radial-gradient(circle at 92% 8%,rgba(242,103,34,.06),transparent 24%),
    #ffffff!important;
}
.s2ia-presentation-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
}
.presentation-heading{
  text-align:center!important;
  margin:0 auto 30px!important;
  max-width:1040px!important;
}
.presentation-heading span{
  display:inline-flex!important;
  margin-bottom:12px!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#0d4da8!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  font-size:13px!important;
}
.presentation-heading h2{
  margin:0!important;
  color:#061a43!important;
  font-size:clamp(34px,4vw,62px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.presentation-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
  gap:22px!important;
  align-items:stretch!important;
}
.presentation-card{
  background:#ffffff!important;
  border:1px solid #e3edf8!important;
  border-radius:26px!important;
  padding:28px 30px!important;
  box-shadow:0 18px 46px rgba(6,26,67,.09)!important;
  position:relative!important;
  overflow:hidden!important;
}
.presentation-card:before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:7px!important;
  background:linear-gradient(180deg,#0d4da8 0%,#f26722 42%,#2e8b36 100%)!important;
}
.presentation-main{
  grid-row:span 2!important;
}
.presentation-card h3{
  margin:0 0 15px!important;
  color:#0d4da8!important;
  font-size:clamp(22px,2vw,32px)!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.presentation-card p,
.presentation-card li{
  color:#263b61!important;
  font-size:16.5px!important;
  line-height:1.68!important;
  font-weight:700!important;
}
.presentation-card p{
  margin:0 0 14px!important;
}
.presentation-card ul,
.presentation-card ol{
  margin:10px 0 0!important;
  padding-left:22px!important;
}
.presentation-card li{
  margin:7px 0!important;
}
.presentation-lead{
  color:#061a43!important;
  font-weight:950!important;
}

/* Chiffres clés : zone centrée, damier, flèches de défilement */
.key-figures.key-damier-section{
  padding:50px 5vw 72px!important;
  background:#ffffff!important;
}
.key-damier-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  padding:36px 34px 40px!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(255,255,255,.18),transparent 26%),
    radial-gradient(circle at 90% 12%,rgba(242,103,34,.22),transparent 24%),
    linear-gradient(135deg,#0d4da8 0%,#073f91 48%,#062f78 100%)!important;
  box-shadow:0 30px 80px rgba(13,77,168,.28)!important;
  position:relative!important;
  overflow:hidden!important;
}
.key-damier-inner:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)!important;
  background-size:38px 38px!important;
  opacity:.45!important;
  pointer-events:none!important;
}
.key-damier-head{
  position:relative!important;
  z-index:1!important;
  text-align:center!important;
  margin:0 auto 30px!important;
}
.key-damier-head h2,
.key-damier-head h3{
  margin:0!important;
  font-size:clamp(38px,4.4vw,72px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
.key-damier-head h2{
  color:#f26722!important;
  text-shadow:0 3px 0 rgba(0,0,0,.12)!important;
}
.key-damier-head h3{
  color:#ffffff!important;
  margin-top:8px!important;
}
.damier-nav-wrap{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 54px!important;
  gap:18px!important;
  align-items:center!important;
}
.key-damier-viewport{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2, minmax(176px, 1fr))!important;
  grid-auto-columns:minmax(230px, 230px)!important;
  gap:20px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth!important;
  scroll-snap-type:x mandatory!important;
  padding:8px 4px 18px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#f26722 rgba(255,255,255,.2)!important;
}
.key-damier-viewport::-webkit-scrollbar{height:10px!important;}
.key-damier-viewport::-webkit-scrollbar-track{background:rgba(255,255,255,.20)!important;border-radius:999px!important;}
.key-damier-viewport::-webkit-scrollbar-thumb{background:#f26722!important;border-radius:999px!important;}
.key-damier-card{
  scroll-snap-align:start!important;
  min-height:176px!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:2px solid rgba(255,255,255,.78)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.18)!important;
  padding:18px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.key-damier-card:nth-child(odd){
  transform:translateY(0)!important;
}
.key-damier-card:nth-child(even){
  transform:translateY(8px)!important;
}
.key-damier-icon{
  width:60px!important;
  height:60px!important;
  margin:0 auto 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.key-damier-icon img{
  max-width:60px!important;
  max-height:60px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.key-damier-card strong{
  display:block!important;
  font-size:clamp(24px,2.1vw,38px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  margin:0 0 6px!important;
  color:#0d4da8!important;
}
.key-damier-card:nth-child(3n/**/+2) strong{color:#2e8b36!important;}
.key-damier-card:nth-child(3n/**/+3) strong{color:#f26722!important;}
.key-damier-card span{
  display:block!important;
  color:#0d4da8!important;
  font-size:14px!important;
  line-height:1.22!important;
  font-weight:950!important;
}
.damier-arrow{
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  border:0!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  font-size:38px!important;
  line-height:1!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
  transition:transform .2s ease, background .2s ease, color .2s ease!important;
}
.damier-arrow:hover{
  transform:scale(1.06)!important;
  background:#f26722!important;
  color:#ffffff!important;
}

/* Neutraliser l'ancien affichage des chiffres clés en ligne */
.key-strip-section,
.key-strip-inner,
.key-strip-scroll,
.key-strip-card{
  all:unset;
}

/* Responsive */
@media(max-width:1100px){
  .presentation-grid{grid-template-columns:1fr!important;}
  .presentation-main{grid-row:auto!important;}
  .damier-nav-wrap{grid-template-columns:46px minmax(0,1fr) 46px!important;gap:10px!important;}
  .damier-arrow{width:46px!important;height:46px!important;font-size:32px!important;}
  .key-damier-viewport{grid-auto-columns:minmax(210px,210px)!important;}
}
@media(max-width:680px){
  .s2ia-presentation{padding:38px 16px 34px!important;}
  .presentation-card{padding:24px 22px!important;}
  .key-figures.key-damier-section{padding:34px 14px 52px!important;}
  .key-damier-inner{padding:28px 16px 34px!important;border-radius:24px!important;}
  .key-damier-head h2,.key-damier-head h3{font-size:34px!important;}
  .damier-nav-wrap{grid-template-columns:1fr!important;}
  .damier-arrow{display:none!important;}
  .key-damier-viewport{grid-template-rows:repeat(2, minmax(158px, 1fr))!important;grid-auto-columns:minmax(185px,185px)!important;}
}



/* =========================================================
   S2IA V21 — Harmonisation des titres, présentation premium,
   portage institutionnel, patronage et chiffres clés
   ========================================================= */

/* Titres centraux noirs et harmonisés */
.section-title,
.patronage-main-title,
.institutional-vignettes h2,
.presentation-heading h2,
.key-damier-head h2,
.key-damier-head h3{
  text-align:center!important;
  color:#090909!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}

/* Haut patronage : titre centré, noir, agrandi ; carte compacte */
.patronage-welcome{
  padding:38px 5vw 22px!important;
  background:#fff!important;
}
.patronage-main-title{
  margin:0 auto 24px!important;
  font-size:clamp(30px,3.2vw,54px)!important;
  line-height:1.08!important;
}
.patronage-welcome-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(420px,.92fr) minmax(420px,1.08fr)!important;
  gap:22px!important;
  align-items:stretch!important;
}
.patronage-identity-card,
.president-message-card{
  background:#fff!important;
  border:1px solid #e4edf8!important;
  border-radius:28px!important;
  box-shadow:0 18px 46px rgba(6,26,67,.09)!important;
  overflow:hidden!important;
}
.patronage-identity-card{
  padding:24px!important;
}
.patronage-identity-content{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 205px!important;
  gap:18px!important;
  align-items:center!important;
}
.patronage-identity-text h3{
  margin:0!important;
  color:#090909!important;
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  white-space:normal!important;
}
.patronage-identity-text h3 span{
  display:inline!important;
  color:#090909!important;
  white-space:nowrap!important;
}
.patronage-identity-text p{
  margin:12px 0 0!important;
  color:#1d2c44!important;
  font-size:clamp(15px,1.15vw,20px)!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.patronage-identity-text img,
.patronage-emblem-wrap,
.patronage-emblem-pro{
  display:none!important;
}
.patronage-president-photo{
  margin:0!important;
  width:205px!important;
  height:220px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#f8fbff!important;
  position:relative!important;
}
.patronage-president-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.president-message-card{
  padding:28px 34px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.president-message-card span{
  display:inline-flex!important;
  margin:0 auto 12px!important;
  color:#090909!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  font-size:clamp(20px,1.9vw,32px)!important;
  line-height:1.1!important;
  font-weight:950!important;
  text-transform:none!important;
  letter-spacing:-.02em!important;
}
.president-message-card h3{
  margin:0 0 16px!important;
  color:#ee7ea7!important;
  font-size:clamp(22px,2.1vw,36px)!important;
  line-height:1.16!important;
  font-weight:950!important;
  text-align:center!important;
}
.president-message-card p{
  margin:0!important;
  color:#202020!important;
  font-size:clamp(17px,1.25vw,22px)!important;
  line-height:1.7!important;
  font-weight:750!important;
  text-align:center!important;
}

/* Portage institutionnel : titre noir, taille réduite, logos harmonisés */
.institutional-vignettes{
  padding:32px 5vw 46px!important;
  background:#fff!important;
}
.institutional-vignettes-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid #e7eef8!important;
  border-radius:28px!important;
  box-shadow:0 16px 42px rgba(6,26,67,.08)!important;
  padding:30px 30px 36px!important;
  overflow:hidden!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
  margin:0 0 24px!important;
  font-size:clamp(30px,2.8vw,46px)!important;
  line-height:1.08!important;
  color:#090909!important;
}
.institution-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 4px 16px!important;
  scroll-snap-type:x proximity!important;
}
.institution-card{
  flex:0 0 245px!important;
  min-height:176px!important;
  border-radius:18px!important;
  padding:14px!important;
  background:#fff!important;
  border:2px solid #e4edf8!important;
  box-shadow:0 12px 30px rgba(6,26,67,.08)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.institution-logo-box{
  width:100%!important;
  height:142px!important;
  min-height:142px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:14px!important;
}
.institution-logo-box img{
  max-width:96%!important;
  max-height:132px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.institution-institution-logo-primature .institution-logo-box img{
  max-width:78%!important;
  max-height:108px!important;
}

/* Présentation stratégique : titre équilibré + couleurs demandées */
.s2ia-presentation{
  padding:58px 5vw 54px!important;
  background:
    radial-gradient(circle at 5% 4%,rgba(13,77,168,.06),transparent 22%),
    radial-gradient(circle at 96% 0%,rgba(242,103,34,.06),transparent 24%),
    #ffffff!important;
}
.s2ia-presentation-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
}
.presentation-heading{
  text-align:center!important;
  max-width:1200px!important;
  margin:0 auto 34px!important;
}
.presentation-heading span{
  color:#0d4da8!important;
  background:#eef5ff!important;
  border-radius:999px!important;
  padding:8px 16px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-size:13px!important;
}
.presentation-heading h2{
  margin:18px 0 0!important;
  font-size:clamp(34px,3.2vw,56px)!important;
  line-height:1.12!important;
}
.presentation-heading h2 strong{
  color:#ff0000!important;
  font-weight:950!important;
}
.presentation-heading h2 em{
  color:#ee7ea7!important;
  font-style:normal!important;
  font-weight:950!important;
}
.presentation-wide-list{
  display:grid!important;
  gap:26px!important;
}
.presentation-wide-card{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.42fr) minmax(0,.58fr)!important;
  align-items:stretch!important;
  background:#fff!important;
  border:1px solid #e4edf8!important;
  border-radius:30px!important;
  overflow:hidden!important;
  box-shadow:0 20px 52px rgba(6,26,67,.10)!important;
}
.presentation-wide-card.reverse{
  grid-template-columns:minmax(0,.58fr) minmax(360px,.42fr)!important;
}
.presentation-wide-card.reverse .presentation-illustration{order:2!important;}
.presentation-wide-card.reverse .presentation-copy{order:1!important;}
.presentation-illustration{
  margin:0!important;
  min-height:330px!important;
  background:#f5f9ff!important;
  overflow:hidden!important;
}
.presentation-illustration img{
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center!important;
}
.presentation-copy{
  padding:36px 40px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.presentation-copy h3{
  margin:0 0 18px!important;
  color:#0d4da8!important;
  font-size:clamp(26px,2.3vw,42px)!important;
  line-height:1.12!important;
  font-weight:950!important;
}
.presentation-copy p,
.presentation-copy li{
  color:#1b2c4b!important;
  font-size:17px!important;
  line-height:1.72!important;
  font-weight:730!important;
}
.presentation-copy p{margin:0 0 14px!important;}
.presentation-copy ul,
.presentation-copy ol{margin:8px 0 0!important;padding-left:23px!important;}
.presentation-copy li{margin:7px 0!important;}
.presentation-lead{font-weight:950!important;color:#061a43!important;}

/* Chiffres clés : taille standard, même format, fond vert éclatant full screen */
.key-figures.key-damier-section{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:48px 5vw 64px!important;
  background:#2e8b36!important;
}
.key-damier-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  padding:34px 34px 38px!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.17),transparent 24%),
    radial-gradient(circle at 88% 14%,rgba(242,103,34,.16),transparent 24%),
    linear-gradient(135deg,#2e8b36 0%,#21802f 55%,#146323 100%)!important;
  border-radius:30px!important;
  box-shadow:0 26px 70px rgba(8,68,22,.30)!important;
}
.key-damier-head h2,
.key-damier-head h3{
  font-size:clamp(30px,2.9vw,48px)!important;
  line-height:1.08!important;
  color:#090909!important;
  font-weight:950!important;
}
.key-damier-head h3{margin-top:8px!important;}
.key-damier-viewport{
  grid-template-rows:repeat(2,minmax(156px,1fr))!important;
  grid-auto-columns:minmax(215px,215px)!important;
}
.key-damier-card{
  min-height:156px!important;
  border-radius:20px!important;
}
.key-damier-card strong{
  font-size:clamp(23px,1.9vw,34px)!important;
}
.key-damier-card span{
  font-size:14px!important;
}

/* Admin title naming */
.admin-sidebar a[href$="key_figures.php"]{font-size:0!important;}
.admin-sidebar a[href$="key_figures.php"]::after{
  content:"Chiffres clés & marqueurs";
  font-size:18px!important;
}

/* Responsive */
@media(max-width:1120px){
  .patronage-welcome-inner,
  .presentation-wide-card,
  .presentation-wide-card.reverse{
    grid-template-columns:1fr!important;
  }
  .presentation-wide-card.reverse .presentation-illustration,
  .presentation-wide-card.reverse .presentation-copy{order:initial!important;}
  .patronage-identity-content{
    grid-template-columns:minmax(0,1fr) 185px!important;
  }
  .patronage-president-photo{width:185px!important;height:210px!important;}
}
@media(max-width:760px){
  .patronage-welcome{padding:32px 16px 16px!important;}
  .patronage-main-title{font-size:28px!important;}
  .patronage-identity-content{grid-template-columns:1fr!important;}
  .patronage-president-photo{width:100%!important;height:260px!important;}
  .president-message-card{padding:24px 20px!important;}
  .presentation-copy{padding:28px 22px!important;}
  .presentation-illustration,.presentation-illustration img{min-height:240px!important;}
  .presentation-heading h2{font-size:32px!important;}
  .institution-card{flex-basis:220px!important;}
  .key-damier-viewport{grid-auto-columns:minmax(180px,180px)!important;}
}

/* =====================================================
   V21 PREMIUM CONTINUE — corrections strictes demandées
   ===================================================== */

/* Header / logo */
.site-header .top-shell{
  grid-template-columns: 420px minmax(0,1fr) 58px !important;
}
.site-header .brand{
  justify-content:flex-start !important;
  padding: 10px 20px !important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
  width: 330px !important;
  max-width: 330px !important;
  max-height: 90px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Haut patronage */
.patronage-main-title{
  font-size: clamp(32px, 2.8vw, 46px) !important;
  line-height: 1.15 !important;
}
.president-message-card{
  align-items: stretch !important;
}
.president-message-card > span{
  display: none !important;
}
.president-message-card h3{
  margin: 0 0 14px !important;
  color: #0b2f63 !important;
  font-size: clamp(24px, 1.8vw, 32px) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-align: left !important;
}
.president-message-card p{
  margin: 0 !important;
  color: #22385f !important;
  font-family: Verdana, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  text-align: justify !important;
  text-align-last: auto !important;
}
.patronage-identity-text h3{
  font-size: clamp(28px, 2.2vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
.patronage-identity-text .president-function,
.patronage-identity-text .president-country,
.patronage-identity-text p{
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
}
.patronage-president-photo{
  width: min(100%, 250px) !important;
}

/* Portage institutionnel */
.institutional-vignettes{
  background: transparent !important;
  padding: 24px 4vw 44px !important;
}
.institutional-vignettes-inner{
  background: #082450 !important;
  border-radius: 28px !important;
  border: 0 !important;
  box-shadow: 0 16px 40px rgba(4, 16, 42, 0.18) !important;
  padding: 30px 24px 32px !important;
}
.institutional-vignettes-inner:before{display:none !important;}
.institutional-vignettes h2{
  color: #ffffff !important;
  font-size: clamp(30px, 2.6vw, 44px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  margin-bottom: 22px !important;
}
.institution-grid{
  gap: 16px !important;
  align-items: stretch !important;
}
.institution-card{
  background: #ffffff !important;
  border: 0 !important;
  min-height: 230px !important;
  padding: 18px 14px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.institution-logo-box{
  min-height: 130px !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.institution-logo-box img{
  width: 148px !important;
  height: 108px !important;
  max-width: 148px !important;
  max-height: 108px !important;
  object-fit: contain !important;
}
.institution-card h3{
  display: block !important;
  margin: 10px 0 0 !important;
  color: #071b38 !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* Présentation stratégique */
.presentation-heading span{
  color: #000000 !important;
  font-size: clamp(24px, 2vw, 36px) !important;
}
.presentation-heading h2{
  color: #111111 !important;
  font-size: clamp(40px, 4.2vw, 68px) !important;
  line-height: 1.08 !important;
}
.presentation-heading h2 strong{
  color: #ff2b2b !important;
  font-weight: 900 !important;
}
.presentation-heading h2 em{
  color: #000000 !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* Chiffres clés */
.key-damier-head h2{
  color: #ffffff !important;
  font-size: clamp(34px, 3vw, 52px) !important;
  margin-bottom: 0 !important;
}
.key-damier-head h3{display:none !important;}

/* Admin comfort */
.admin-form textarea{
  width: 100%;
  min-height: 120px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #d3dceb;
  font: inherit;
  resize: vertical;
}
.admin-form .form-grid .full{
  grid-column: 1 / -1;
}

@media (max-width: 1180px){
  .site-header .top-shell{grid-template-columns: 340px minmax(0,1fr) 56px !important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:280px !important;max-width:280px !important;}
}
@media (max-width: 980px){
  .site-header .top-shell{grid-template-columns: 1fr 54px !important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:250px !important;max-width:250px !important;}
  .institution-grid{grid-template-columns: repeat(2, minmax(0,1fr)) !important;}
}
@media (max-width: 640px){
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:220px !important;max-width:220px !important;}
  .institution-grid{grid-template-columns: 1fr !important;}
  .institution-card{min-height: 210px !important;}
}

/* =====================================================
   V21 STRICT USER PATCH — menu, admin-editable sections, visual strips
   ===================================================== */

/* Top menu compact, one line, white background, black text */
.site-header{
  background:#ffffff!important;
  border-bottom:1px solid #e7eef8!important;
  box-shadow:0 10px 30px rgba(6,26,67,.08)!important;
  padding:8px 22px!important;
}
.site-header .top-shell{
  max-width:1780px!important;
  min-height:82px!important;
  padding:8px 20px!important;
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)56px!important;
  gap:18px!important;
  align-items:center!important;
  background:#ffffff!important;
  border:1px solid #dbe7f5!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(6,26,67,.08)!important;
}
.site-header .brand{
  min-height:64px!important;
  padding:6px 12px!important;
  justify-content:flex-start!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(46,139,54,.18)!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
  width:330px!important;
  max-width:330px!important;
  height:auto!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.site-header .main-nav a{
  color:#000!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  padding:0 2px 5px!important;
  min-height:38px!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a.is-active{
  color:#c3171d!important;
}
.site-header .main-nav a:after{
  background:#c3171d!important;
  height:3px!important;
  bottom:0!important;
}
.site-header .nav-toggle{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  background:#061a43!important;
}
.site-header .nav-toggle span{background:#fff!important;}

/* Patronage requested fixes */
.patronage-main-title{
  font-size:clamp(28px,2.45vw,42px)!important;
  color:#000!important;
  text-align:center!important;
  font-weight:800!important;
}
.president-message-card > span{display:none!important;}
.president-message-card h3{
  color:#061a43!important;
  font-size:clamp(25px,1.8vw,34px)!important;
  font-weight:800!important;
  text-align:left!important;
  margin-bottom:16px!important;
}
.president-message-card p{
  color:#22385f!important;
  font-family:Verdana, Arial, sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.9!important;
  text-align:justify!important;
}

/* Portage institutionnel: fond unique bleu marine, image présidentielle répliquée + textes réécrits */
.institutional-vignettes{
  padding:30px 5vw 48px!important;
  background:#ffffff!important;
}
.institutional-vignettes-inner{
  background:#061a43!important;
  border:0!important;
  box-shadow:0 22px 50px rgba(6,26,67,.18)!important;
  border-radius:30px!important;
  padding:32px 28px 34px!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
  color:#fff!important;
  font-size:clamp(30px,2.8vw,48px)!important;
  font-weight:900!important;
  margin-bottom:26px!important;
}
.institution-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
}
.institution-card{
  min-height:260px!important;
  background:#fff!important;
  border-radius:22px!important;
  border:0!important;
  padding:18px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.institution-logo-box{
  width:100%!important;
  min-height:128px!important;
  margin-bottom:12px!important;
}
.institution-logo-box img{
  width:155px!important;
  height:112px!important;
  object-fit:contain!important;
}
.institution-card h3{
  display:block!important;
  color:#061a43!important;
  font-size:17px!important;
  line-height:1.4!important;
  font-weight:500!important;
  text-align:center!important;
  margin:0!important;
}

/* Presentation title: one line; red for rendez-vous mondial and Afrique industrielle; rest black */
.presentation-heading h2{
  white-space:nowrap!important;
  font-size:clamp(34px,3.55vw,62px)!important;
  line-height:1.08!important;
  color:#000!important;
}
.presentation-heading h2 strong{
  color:#f1091d!important;
  font-weight:950!important;
}
.presentation-heading h2 em,
.presentation-heading .presentation-black-prefix,
.presentation-heading .presentation-black-suffix{
  color:#000!important;
  font-style:normal!important;
}
.presentation-copy p,
.presentation-copy li{
  font-weight:400!important;
}

/* Chiffres clés: visual carousel conforming to provided style */
.key-figures.key-damier-section{
  background:#fff!important;
  padding:42px 0 52px!important;
}
.key-damier-inner{
  width:min(100%,1840px)!important;
  margin:0 auto!important;
  background:#ffffff!important;
  border-radius:22px!important;
  padding:0 58px!important;
  box-shadow:none!important;
}
.key-damier-head{
  text-align:center!important;
  margin:0 0 20px!important;
}
.key-damier-head h2{
  color:#061a43!important;
  font-size:clamp(30px,2.6vw,46px)!important;
  font-weight:900!important;
}
.key-damier-head h3{display:none!important;}
.damier-nav-wrap{
  position:relative!important;
  padding:0 54px!important;
}
.damier-arrow,
.strip-arrow{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:0!important;
  background:#13783b!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
  z-index:6!important;
}
.damier-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;}
.damier-prev{left:0!important;}
.damier-next{right:0!important;}
.key-damier-viewport{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  padding:0 0 8px!important;
}
.key-damier-viewport::-webkit-scrollbar{display:none!important;}
.key-damier-card.key-photo-card{
  flex:0 0 190px!important;
  height:330px!important;
  min-height:330px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.86)),var(--card-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  border:0!important;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)!important;
  position:relative!important;
  scroll-snap-align:start!important;
}
.key-card-overlay{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:16px!important;
  color:#fff!important;
  z-index:2!important;
}
.key-card-overlay strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  height:34px!important;
  padding:0 12px!important;
  margin:0 0 10px!important;
  border-radius:999px!important;
  background:#13783b!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
}
.key-card-overlay span{
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:900!important;
  text-shadow:0 2px 8px rgba(0,0,0,.5)!important;
}

/* Secteurs industriels exposants: same spirit as provided image */
.visual-strip-section{
  background:#fff!important;
  padding:30px 0 56px!important;
}
.visual-strip-head{text-align:center!important;margin-bottom:20px!important;}
.visual-strip-head h2,
.chambers-inner h2{
  margin:0!important;
  color:#061a43!important;
  font-size:clamp(30px,2.6vw,46px)!important;
  font-weight:900!important;
}
.visual-strip-wrap,
.chambers-wrap{
  width:min(100%,1840px)!important;
  margin:0 auto!important;
  position:relative!important;
  padding:0 54px!important;
}
.visual-strip-track{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  padding:0 0 8px!important;
}
.visual-strip-track::-webkit-scrollbar{display:none!important;}
.strip-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;}
.strip-prev,.chambers-prev{left:6px!important;}
.strip-next,.chambers-next{right:6px!important;}
.visual-sector-card{
  flex:0 0 174px!important;
  height:330px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background-image:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.88)),var(--sector-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)!important;
  position:relative!important;
  scroll-snap-align:start!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.visual-sector-card strong{
  position:absolute!important;
  left:18px!important;
  right:14px!important;
  bottom:54px!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.28!important;
  font-weight:900!important;
  text-shadow:0 2px 8px rgba(0,0,0,.52)!important;
}
.visual-sector-card span{
  position:absolute!important;
  left:18px!important;
  bottom:18px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#13783b!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Chambres de commerce: variant style */
.chambers-section{
  padding:38px 5vw 60px!important;
  background:#061a43!important;
}
.chambers-inner{width:min(100%,1760px)!important;margin:0 auto!important;}
.chambers-inner h2{color:#fff!important;text-align:center!important;margin-bottom:24px!important;}
.chambers-wrap{padding:0 54px!important;}
.chambers-track{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2,minmax(120px,auto))!important;
  grid-auto-columns:minmax(300px,340px)!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  scroll-snap-type:x proximity!important;
}
.chambers-track::-webkit-scrollbar{display:none!important;}
.chamber-card{
  min-height:120px!important;
  border-radius:20px!important;
  padding:18px 18px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  display:flex!important;
  gap:14px!important;
  align-items:flex-start!important;
}
.chamber-card span{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#13783b!important;
  color:#fff!important;
  font-weight:900!important;
}
.chamber-card strong{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:700!important;
}

/* Admin textarea comfort and previews */
.admin-form textarea{
  width:100%!important;
  min-height:110px!important;
  padding:12px 14px!important;
  border:1px solid #d3dceb!important;
  border-radius:14px!important;
  font:inherit!important;
  resize:vertical!important;
}
.table-icon.wide{width:76px!important;height:50px!important;object-fit:cover!important;}

@media(max-width:1280px){
  .site-header .top-shell{grid-template-columns:300px minmax(0,1fr)54px!important;gap:10px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:270px!important;max-width:270px!important;}
  .site-header .main-nav{gap:10px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .institution-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  .site-header .top-shell{grid-template-columns:1fr 54px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:240px!important;max-width:240px!important;}
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .presentation-heading h2{white-space:normal!important;}
  .chambers-track{grid-template-rows:repeat(2,minmax(115px,auto))!important;grid-auto-columns:minmax(280px,300px)!important;}
}
@media(max-width:640px){
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:210px!important;max-width:210px!important;}
  .institution-grid{grid-template-columns:1fr!important;}
  .visual-sector-card,.key-damier-card.key-photo-card{flex-basis:160px!important;height:300px!important;min-height:300px!important;}
  .damier-nav-wrap,.visual-strip-wrap,.chambers-wrap{padding:0 46px!important;}
  .damier-arrow,.strip-arrow{width:36px!important;height:36px!important;font-size:24px!important;}
}

/* Final key-title correction: no black-on-green */
.key-damier-head{
  width:max-content!important;
  max-width:92%!important;
  margin:0 auto 20px!important;
  padding:10px 34px!important;
  border-radius:999px!important;
  background:#13783b!important;
}
.key-damier-head h2{
  color:#ffffff!important;
  margin:0!important;
}


/* =========================================================
   S2IA V21 PRO PATCH — responsive, admin-ready sections
   ========================================================= */
:root{
  --s2ia-blue:#0d4da8;
  --s2ia-navy:#071f46;
  --s2ia-green:#2e9f42;
  --s2ia-light-green:#dff7df;
  --s2ia-orange:#f26722;
  --s2ia-red:#ef1224;
}

/* Top menu compact, white background, black text, aligned with logo + hamburger */
.site-header{
  background:#ffffff!important;
  border-bottom:1px solid #e4edf7!important;
  box-shadow:0 10px 28px rgba(6,26,67,.08)!important;
}
.site-header .top-shell{
  width:min(100%,1780px)!important;
  grid-template-columns:300px minmax(0,1fr)58px!important;
  gap:18px!important;
  min-height:78px!important;
  padding:8px 20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  border-radius:26px!important;
  box-shadow:0 12px 32px rgba(6,26,67,.08)!important;
  overflow:visible!important;
}
.site-header .brand{
  min-height:60px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  justify-content:flex-start!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact{
  width:270px!important;
  max-width:270px!important;
  max-height:66px!important;
  height:auto!important;
  object-fit:contain!important;
}
.site-header .main-nav{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:20px!important;
  min-width:0!important;
}
.site-header .main-nav a{
  white-space:nowrap!important;
  color:#000!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.005em!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a.is-active{
  color:var(--s2ia-red)!important;
}
.site-header .main-nav a:after{
  height:3px!important;
  bottom:-6px!important;
  background:var(--s2ia-red)!important;
}
.site-header .nav-toggle{
  width:50px!important;
  height:50px!important;
  background:var(--s2ia-navy)!important;
  border-radius:14px!important;
}
.site-header .nav-toggle span{background:#fff!important;}

/* Harmonisation générale des grands titres */
.section-title,
.patronage-main-title,
.institutional-vignettes h2,
.presentation-heading span,
.key-damier-head h2,
.visual-strip-head h2,
.chambers-inner h2{
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
}

/* Présentation stratégique : pas de débordement, style correct */
.presentation-heading{
  max-width:1520px!important;
  padding:0 20px!important;
  overflow:hidden!important;
}
.presentation-heading span{
  display:block!important;
  margin:0 auto 18px!important;
  color:#000!important;
  background:transparent!important;
  font-size:clamp(26px,2.25vw,42px)!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
}
.presentation-heading h2{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:baseline!important;
  gap:.28em!important;
  margin:0 auto!important;
  max-width:100%!important;
  color:#000!important;
  font-size:clamp(32px,4.1vw,68px)!important;
  line-height:1.05!important;
  font-weight:900!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.presentation-heading h2 strong,
.presentation-heading h2 .title-red{
  color:var(--s2ia-red)!important;
  font-weight:950!important;
}
.presentation-heading h2 em{
  color:#000!important;
  font-style:normal!important;
  font-weight:900!important;
}
.presentation-heading h2 em .afrique-red,
.presentation-heading h2 .afrique-red{
  color:var(--s2ia-red)!important;
}

/* Haut patronage */
.patronage-main-title{
  font-size:clamp(28px,2.6vw,44px)!important;
  color:#000!important;
}
.president-message-card > span{display:none!important;}
.president-message-card h3{
  margin:0 0 14px!important;
  color:#0b2f63!important;
  font-size:clamp(24px,1.7vw,32px)!important;
  font-weight:800!important;
  text-align:left!important;
}
.president-message-card p{
  font-family:Verdana,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.85!important;
  font-weight:400!important;
  text-align:justify!important;
  color:#213a62!important;
}

/* Portage institutionnel propre */
.institutional-vignettes{
  padding:34px 5vw 48px!important;
  background:#ffffff!important;
}
.institutional-vignettes-inner{
  width:min(100%,1560px)!important;
  margin:0 auto!important;
  padding:32px 30px 36px!important;
  background:var(--s2ia-navy)!important;
  border-radius:30px!important;
  border:0!important;
  box-shadow:0 20px 48px rgba(6,26,67,.16)!important;
  overflow:hidden!important;
}
.institutional-vignettes-inner:before{
  display:none!important;
}
.institutional-vignettes h2{
  margin:0 0 26px!important;
  color:#fff!important;
  font-size:clamp(30px,2.8vw,48px)!important;
  font-weight:900!important;
}
.institution-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px!important;
}
.institution-card{
  min-height:245px!important;
  padding:18px 14px!important;
  background:#fff!important;
  border:0!important;
  border-radius:22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 12px 26px rgba(0,0,0,.10)!important;
}
.institution-logo-box{
  min-height:112px!important;
  margin-bottom:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
}
.institution-logo-box img{
  width:130px!important;
  height:96px!important;
  max-width:130px!important;
  max-height:96px!important;
  object-fit:contain!important;
}
.institution-card h3{
  display:block!important;
  margin:0!important;
  color:#0b1d3a!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:500!important;
  text-align:center!important;
}

/* Chiffres clés : propre, lisible, pas de zone vide */
.key-figures.key-damier-section{
  padding:42px 5vw 54px!important;
  background:linear-gradient(135deg,#2fae48 0%,#1f8d35 100%)!important;
}
.key-damier-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.key-damier-head h2{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:320px!important;
  margin:0 auto 24px!important;
  padding:12px 34px!important;
  border-radius:999px!important;
  background:#0b7a32!important;
  color:#fff!important;
  font-size:clamp(32px,2.7vw,50px)!important;
  font-weight:950!important;
  text-shadow:0 3px 0 rgba(0,0,0,.20)!important;
}
.damier-nav-wrap{
  position:relative!important;
  padding:0 82px!important;
}
.damier-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  border:0!important;
  background:#fff!important;
  color:#0d7b36!important;
  font-size:42px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
  z-index:5!important;
}
.damier-prev{left:8px!important;}
.damier-next{right:8px!important;}
.key-damier-viewport{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  padding:8px 0 12px!important;
}
.key-damier-viewport::-webkit-scrollbar{display:none!important;}
.key-damier-card{
  flex:0 0 210px!important;
  min-height:190px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.65)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.12)!important;
  padding:20px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  scroll-snap-align:start!important;
}
.key-damier-icon{
  width:66px!important;
  height:66px!important;
  margin:0 auto 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.key-damier-icon img{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
}
.key-damier-card strong{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--s2ia-blue)!important;
  font-size:clamp(28px,2vw,38px)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.key-damier-card span{
  display:block!important;
  color:#07306c!important;
  font-size:16px!important;
  line-height:1.18!important;
  font-weight:800!important;
}

/* Secteurs industriels : titre rouge, fond vert clair, 2 lignes de 7 */
.visual-strip-section.sectors-strip{
  padding:52px 4vw 62px!important;
  background:linear-gradient(135deg,#dff9df 0%,#c7f2cf 48%,#eefded 100%)!important;
}
.visual-strip-head h2{
  margin:0 0 28px!important;
  color:var(--s2ia-red)!important;
  font-size:clamp(34px,3.1vw,56px)!important;
  font-weight:950!important;
}
.visual-strip-wrap{
  position:relative!important;
  width:min(100%,1600px)!important;
  margin:0 auto!important;
  padding:0 72px!important;
}
.visual-strip-track{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2, minmax(180px, 1fr))!important;
  grid-auto-columns:calc((100% - 108px) / 7)!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:6px 0 12px!important;
}
.visual-strip-track::-webkit-scrollbar{display:none!important;}
.visual-sector-card{
  min-height:180px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(46,139,54,.22)!important;
  box-shadow:0 16px 32px rgba(6,26,67,.08)!important;
  padding:20px 14px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  scroll-snap-align:start!important;
  position:relative!important;
  overflow:hidden!important;
}
.visual-sector-card:before{display:none!important;}
.visual-sector-card .sector-picto{
  width:82px!important;
  height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:12px!important;
}
.visual-sector-card .sector-picto img{
  width:76px!important;
  height:76px!important;
  object-fit:contain!important;
}
.visual-sector-card strong{
  color:#062a5d!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:850!important;
  max-width:100%!important;
}
.visual-sector-card span{
  position:absolute!important;
  top:10px!important;
  right:12px!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  background:#15813b!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:900!important;
}
.strip-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:54px!important;
  height:54px!important;
  border:0!important;
  border-radius:50%!important;
  background:#0b7a32!important;
  color:#fff!important;
  font-size:38px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
  z-index:5!important;
}
.strip-prev{left:0!important;}
.strip-next{right:0!important;}

/* Chambres de commerce : fond blanc avec design, images modifiables */
.chambers-section{
  padding:62px 5vw 70px!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(13,77,168,.08),transparent 24%),
    radial-gradient(circle at 90% 0%,rgba(242,103,34,.08),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;
  color:#071f46!important;
}
.chambers-inner{
  width:min(100%,1560px)!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid #dfe8f5!important;
  border-radius:32px!important;
  box-shadow:0 18px 46px rgba(6,26,67,.08)!important;
  padding:38px 30px 42px!important;
  position:relative!important;
  overflow:hidden!important;
}
.chambers-inner:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(13,77,168,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,77,168,.04) 1px,transparent 1px)!important;
  background-size:42px 42px!important;
  pointer-events:none!important;
}
.chambers-inner h2{
  position:relative!important;
  margin:0 0 30px!important;
  color:#071f46!important;
  font-size:clamp(34px,3vw,56px)!important;
  font-weight:950!important;
  text-align:center!important;
}
.chambers-wrap{
  position:relative!important;
  padding:0 72px!important;
}
.chambers-track{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2, minmax(190px,1fr))!important;
  grid-auto-columns:340px!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:4px 0 12px!important;
}
.chambers-track::-webkit-scrollbar{display:none!important;}
.chamber-card{
  scroll-snap-align:start!important;
  min-height:190px!important;
  background:#fff!important;
  border:1px solid #dfe8f5!important;
  border-radius:22px!important;
  box-shadow:0 14px 32px rgba(6,26,67,.08)!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
}
.chamber-card > span{display:none!important;}
.chamber-logo{
  width:84px!important;
  height:84px!important;
  border-radius:18px!important;
  background:#f3f8ff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.chamber-logo img{
  width:76px!important;
  height:58px!important;
  object-fit:contain!important;
}
.chamber-card strong{
  color:#0a2f67!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

/* Responsive */
@media(max-width:1280px){
  .site-header .top-shell{grid-template-columns:260px minmax(0,1fr)54px!important;gap:12px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:235px!important;max-width:235px!important;}
  .site-header .main-nav{gap:12px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .institution-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .visual-strip-track{grid-auto-columns:calc((100% - 54px) / 4)!important;}
}
@media(max-width:980px){
  .site-header .top-shell{grid-template-columns:1fr 52px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact{width:220px!important;max-width:220px!important;}
  .site-header .main-nav{position:absolute!important;left:12px!important;right:12px!important;top:calc(100% + 8px)!important;display:none!important;flex-direction:column!important;background:#fff!important;border:1px solid #dfe8f5!important;border-radius:18px!important;padding:14px!important;box-shadow:0 18px 44px rgba(6,26,67,.18)!important;}
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{width:100%!important;justify-content:center!important;min-height:42px!important;}
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .visual-strip-wrap,.chambers-wrap{padding:0 54px!important;}
  .visual-strip-track{grid-auto-columns:calc((100% - 18px) / 2)!important;}
  .chambers-track{grid-auto-columns:300px!important;}
}
@media(max-width:640px){
  .institution-grid{grid-template-columns:1fr!important;}
  .visual-strip-track{grid-template-rows:repeat(2, minmax(170px,1fr))!important;grid-auto-columns:230px!important;}
  .visual-strip-wrap,.chambers-wrap{padding:0 46px!important;}
  .strip-arrow{width:42px!important;height:42px!important;font-size:30px!important;}
  .damier-nav-wrap{padding:0 52px!important;}
  .damier-arrow{width:42px!important;height:42px!important;font-size:30px!important;}
  .key-damier-card{flex-basis:180px!important;min-height:170px!important;}
  .chambers-track{grid-template-rows:repeat(2,minmax(180px,1fr))!important;grid-auto-columns:260px!important;}
  .chamber-card{grid-template-columns:1fr!important;text-align:center!important;}
  .chamber-logo{margin:0 auto!important;}
}

/* Final overflow/titles normalization */
.presentation-heading .presentation-black-prefix,
.presentation-heading .presentation-black-suffix{
  display:inline!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
  color:#000!important;
}
.presentation-heading h2 strong{
  display:inline!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border-radius:0!important;
  color:var(--s2ia-red)!important;
}
body{overflow-x:hidden!important;}
img{max-width:100%;}


/* =========================================================
   S2IA V21 FINAL RETOUCHE — captures secteurs/chambres/chiffres
   ========================================================= */
body{overflow-x:hidden!important;}
img{max-width:100%;}

/* Harmonisation des titres */
.institutional-vignettes h2,
.presentation-heading span,
.key-damier-head h2,
.visual-strip-head h2,
.chambers-inner h2{
  font-family:Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}

/* Chiffres clés : plus de vide, cartes alignées et lisibles */
.key-figures.key-damier-section{
  padding:44px 5vw 54px!important;
  background:linear-gradient(135deg,#2ea948 0%,#1f8d35 100%)!important;
  min-height:auto!important;
}
.key-damier-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.key-damier-inner:before{display:none!important;}
.key-damier-head{
  margin:0 0 26px!important;
  text-align:center!important;
}
.key-damier-head h2{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:320px!important;
  margin:0 auto!important;
  padding:12px 34px!important;
  border-radius:999px!important;
  background:#0b7a32!important;
  color:#ffffff!important;
  font-size:clamp(30px,2.7vw,48px)!important;
  font-weight:950!important;
  text-shadow:0 3px 0 rgba(0,0,0,.18)!important;
}
.key-damier-head h3{display:none!important;}
.damier-nav-wrap{
  position:relative!important;
  display:block!important;
  padding:0 76px!important;
}
.damier-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  border:0!important;
  background:#ffffff!important;
  color:#0b7a32!important;
  font-size:42px!important;
  font-weight:900!important;
  z-index:10!important;
  box-shadow:0 14px 28px rgba(0,0,0,.16)!important;
}
.damier-prev{left:0!important;}
.damier-next{right:0!important;}
.key-damier-viewport{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:18px!important;
  overflow:visible!important;
  padding:6px 0 8px!important;
  scroll-snap-type:none!important;
  transform:none!important;
}
.key-damier-card{
  min-height:186px!important;
  width:auto!important;
  min-width:0!important;
  flex:none!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.12)!important;
  padding:18px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
  overflow:hidden!important;
  transform:none!important;
}
.key-damier-card:before{display:none!important;}
.key-damier-icon{
  width:66px!important;
  height:66px!important;
  margin:0 auto 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.key-damier-icon img{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
}
.key-damier-card strong{
  display:block!important;
  margin:0 0 8px!important;
  color:#0d4da8!important;
  font-size:clamp(25px,1.9vw,36px)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.key-damier-card span{
  display:block!important;
  color:#07306c!important;
  font-size:15px!important;
  line-height:1.18!important;
  font-weight:850!important;
}

/* Secteurs : 2 lignes de 7, sans cartes inclinées ni coupées */
.visual-strip-section.sectors-strip{
  padding:52px 4vw 62px!important;
  background:linear-gradient(135deg,#ddf8de 0%,#c8f1cf 48%,#effded 100%)!important;
  overflow:hidden!important;
}
.visual-strip-head h2{
  margin:0 0 30px!important;
  color:#ef1224!important;
  font-size:clamp(34px,3.4vw,60px)!important;
  font-weight:950!important;
}
.visual-strip-wrap{
  position:relative!important;
  width:min(100%,1640px)!important;
  margin:0 auto!important;
  padding:0 72px!important;
}
.visual-strip-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:4px 0 10px!important;
}
.visual-strip-track::-webkit-scrollbar{display:none!important;}
.sector-page{
  flex:0 0 100%!important;
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(190px,1fr))!important;
  gap:18px!important;
  scroll-snap-align:start!important;
  padding:0 4px!important;
}
.visual-sector-card{
  min-height:190px!important;
  width:auto!important;
  transform:none!important;
  rotate:0deg!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid rgba(46,139,54,.22)!important;
  box-shadow:0 14px 30px rgba(6,26,67,.08)!important;
  padding:20px 12px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  position:relative!important;
  overflow:hidden!important;
}
.visual-sector-card:before{display:none!important;}
.visual-sector-card .sector-picto{
  width:82px!important;
  height:82px!important;
  margin:0 auto 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.visual-sector-card .sector-picto img{
  width:76px!important;
  height:76px!important;
  object-fit:contain!important;
}
.visual-sector-card strong{
  color:#062a5d!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-shadow:none!important;
}
.visual-sector-card span{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:#11823b!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:13px!important;
  font-weight:950!important;
}
.strip-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:54px!important;
  height:54px!important;
  border:0!important;
  border-radius:50%!important;
  background:#0b7a32!important;
  color:#fff!important;
  font-size:38px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
  z-index:10!important;
}
.strip-prev{left:0!important;}
.strip-next{right:0!important;}

/* Chambres : fond blanc design, cartes complètes, sans coupure */
.chambers-section{
  padding:62px 5vw 74px!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(46,139,54,.10),transparent 25%),
    radial-gradient(circle at 92% 0%,rgba(242,103,34,.08),transparent 23%),
    linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  color:#071f46!important;
  overflow:hidden!important;
}
.chambers-inner{
  width:min(100%,1600px)!important;
  margin:0 auto!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  border-radius:30px!important;
  box-shadow:0 18px 46px rgba(6,26,67,.08)!important;
  padding:38px 30px 42px!important;
  position:relative!important;
  overflow:hidden!important;
}
.chambers-inner:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:
    linear-gradient(rgba(13,77,168,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,77,168,.04) 1px,transparent 1px)!important;
  background-size:42px 42px!important;
  pointer-events:none!important;
}
.chambers-inner h2{
  position:relative!important;
  z-index:1!important;
  margin:0 auto 30px!important;
  max-width:1260px!important;
  color:#071f46!important;
  font-size:clamp(30px,3vw,52px)!important;
  font-weight:950!important;
  text-align:center!important;
}
.chambers-wrap{
  position:relative!important;
  z-index:1!important;
  padding:0 70px!important;
}
.chambers-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:4px 0 10px!important;
}
.chambers-track::-webkit-scrollbar{display:none!important;}
.chambers-page{
  flex:0 0 100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(170px,1fr))!important;
  gap:18px!important;
  scroll-snap-align:start!important;
  padding:0 4px!important;
}
.chamber-card{
  min-height:170px!important;
  width:auto!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  box-shadow:0 14px 32px rgba(6,26,67,.08)!important;
  padding:18px!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  color:#071f46!important;
  overflow:hidden!important;
}
.chamber-card > span{display:none!important;}
.chamber-logo{
  width:86px!important;
  height:86px!important;
  border-radius:18px!important;
  background:#f3f8ff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.chamber-logo img{
  width:78px!important;
  height:60px!important;
  object-fit:contain!important;
}
.chamber-card strong{
  color:#0a2f67!important;
  font-size:16px!important;
  line-height:1.34!important;
  font-weight:850!important;
}

/* Responsive corrections */
@media(max-width:1280px){
  .key-damier-viewport{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .sector-page{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(180px,1fr))!important;}
  .chambers-page{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .damier-nav-wrap,
  .visual-strip-wrap,
  .chambers-wrap{padding:0 52px!important;}
  .key-damier-viewport{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .sector-page{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chambers-page{grid-template-columns:1fr!important;}
}
@media(max-width:560px){
  .key-damier-viewport{grid-template-columns:1fr!important;}
  .sector-page{grid-template-columns:1fr!important;}
  .damier-nav-wrap,
  .visual-strip-wrap,
  .chambers-wrap{padding:0 42px!important;}
  .damier-arrow,
  .strip-arrow{width:40px!important;height:40px!important;font-size:28px!important;}
  .chamber-card{grid-template-columns:1fr!important;text-align:center!important;}
  .chamber-logo{margin:0 auto!important;}
}

/* =========================================================
   V21 FINAL — correction précise des titres, chiffres, secteurs, chambres
   ========================================================= */

/* Style commun inspiré du titre Portage Institutionnel */
.institutional-vignettes h2,
.presentation-heading h2,
.key-damier-head h2,
.visual-strip-head h2,
.chambers-inner h2{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:fit-content!important;
  max-width:calc(100% - 32px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:14px 34px!important;
  border-radius:0!important;
  background:#082450!important;
  color:#ffffff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(30px,3vw,54px)!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
  box-shadow:0 12px 28px rgba(8,36,80,.18)!important;
}
.presentation-heading h2,
.presentation-heading h2 span,
.presentation-heading h2 strong,
.presentation-heading h2 em,
.presentation-heading .presentation-black-prefix,
.presentation-heading .presentation-black-suffix{
  color:#ffffff!important;
  background:transparent!important;
  text-shadow:none!important;
  font-style:normal!important;
  font-weight:950!important;
}
.presentation-heading > span,
.presentation-heading span:not(.presentation-black-prefix):not(.presentation-black-suffix):not(.afrique-red):not(.title-red){
  display:none!important;
}
.presentation-heading{
  margin:0 auto 30px!important;
  padding:0 12px!important;
  overflow:visible!important;
}
.presentation-heading h2{
  white-space:normal!important;
  flex-wrap:wrap!important;
  gap:.25em!important;
}

/* Titres des 3 blocs de présentation : sans numéros, lisibles */
.presentation-copy h3{
  color:#082450!important;
  font-size:clamp(30px,2.4vw,44px)!important;
  line-height:1.18!important;
  font-weight:900!important;
  margin:0 0 18px!important;
}
.presentation-copy p,
.presentation-copy li{
  color:#213a62!important;
  font-size:clamp(18px,1.35vw,24px)!important;
  line-height:1.82!important;
  font-weight:400!important;
}
.presentation-copy .presentation-lead{font-weight:400!important;}

/* Chiffres clés : pas de slide, 2 lignes centrées, champ réduit */
.key-figures.key-damier-section{
  padding:46px 5vw 56px!important;
  background:#ffffff!important;
  min-height:auto!important;
}
.key-damier-inner{
  width:min(100%,1160px)!important;
  margin:0 auto!important;
  padding:34px 34px 38px!important;
  background:linear-gradient(135deg,#2faa49 0%,#218c35 100%)!important;
  border-radius:30px!important;
  box-shadow:0 20px 52px rgba(31,141,53,.22)!important;
  overflow:visible!important;
}
.key-damier-inner:before{display:none!important;}
.key-damier-head{margin:0 0 28px!important;text-align:center!important;}
.key-damier-head h2{margin-top:0!important;margin-bottom:0!important;}
.key-damier-head h3,.damier-arrow{display:none!important;}
.key-damier-viewport{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:20px!important;
  max-width:980px!important;
  margin:0 auto!important;
  overflow:visible!important;
  padding:0!important;
  scroll-snap-type:none!important;
  transform:none!important;
}
.key-damier-card{
  flex:0 1 220px!important;
  width:220px!important;
  min-height:210px!important;
  border-radius:24px!important;
  background:#ffffff!important;
  border:0!important;
  box-shadow:0 14px 32px rgba(0,0,0,.13)!important;
  padding:22px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
}
.key-damier-card:before{display:none!important;}
.key-damier-icon{
  width:96px!important;
  height:96px!important;
  margin:0 auto 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.key-damier-icon img{
  width:88px!important;
  height:88px!important;
  object-fit:contain!important;
}
.key-damier-card strong{
  margin:0 0 8px!important;
  color:#0d4da8!important;
  font-size:clamp(31px,2.4vw,46px)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.key-damier-card span{
  color:#082450!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:850!important;
}

/* Secteurs industriels : pas de flèches, 5 carrés par ligne, image haut texte bas */
.visual-strip-section.sectors-strip{
  padding:52px 5vw 66px!important;
  background:linear-gradient(135deg,#dcf8df 0%,#c8f3cf 55%,#eefded 100%)!important;
  overflow:hidden!important;
}
.visual-strip-head h2{
  color:#ffffff!important;
  margin-bottom:34px!important;
}
.visual-strip-wrap{width:min(100%,1460px)!important;margin:0 auto!important;padding:0!important;}
.visual-strip-track{display:block!important;overflow:visible!important;padding:0!important;}
.sector-page{display:contents!important;}
.visual-sector-grid,
.visual-strip-track{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:22px!important;
}
.visual-sector-card{
  aspect-ratio:1/1!important;
  min-height:auto!important;
  width:auto!important;
  border-radius:26px!important;
  background:#ffffff!important;
  border:1px solid rgba(46,139,54,.25)!important;
  box-shadow:0 16px 34px rgba(6,26,67,.09)!important;
  padding:22px 16px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
  rotate:0deg!important;
  overflow:hidden!important;
}
.visual-sector-card:before{display:none!important;}
.visual-sector-card .sector-picto{
  width:108px!important;
  height:108px!important;
  margin:0 auto 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.visual-sector-card .sector-picto img{
  width:98px!important;
  height:98px!important;
  object-fit:contain!important;
}
.visual-sector-card strong{
  color:#082450!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-shadow:none!important;
}
.visual-sector-card span{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  background:#15813b!important;
  color:#ffffff!important;
  font-size:13px!important;
  font-weight:950!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.visual-strip-section .strip-arrow{display:none!important;}

/* Chambres : titre réduit, full screen gris foncé, cartes noires avec image haut / texte bas */
.chambers-section{
  width:100%!important;
  padding:54px 4vw 70px!important;
  background:#2f343c!important;
  color:#ffffff!important;
  overflow:hidden!important;
}
.chambers-inner{
  width:100%!important;
  max-width:1760px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.chambers-inner:before{display:none!important;}
.chambers-inner h2{
  white-space:nowrap!important;
  max-width:100%!important;
  font-size:clamp(24px,2.25vw,38px)!important;
  margin-bottom:34px!important;
  padding:12px 24px!important;
}
.chambers-wrap{padding:0!important;}
.chambers-track{display:block!important;overflow:visible!important;padding:0!important;}
.chambers-page{display:contents!important;}
.chambers-grid,
.chambers-track{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:22px!important;
}
.chamber-card{
  min-height:230px!important;
  background:#05070b!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:24px!important;
  box-shadow:0 16px 38px rgba(0,0,0,.20)!important;
  padding:22px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  color:#ffffff!important;
  overflow:hidden!important;
}
.chamber-card > span{display:none!important;}
.chamber-logo{
  width:112px!important;
  height:86px!important;
  border-radius:18px!important;
  background:#ffffff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 18px!important;
  overflow:hidden!important;
}
.chamber-logo img{
  width:96px!important;
  height:66px!important;
  object-fit:contain!important;
}
.chamber-card strong{
  color:#ffffff!important;
  font-size:16px!important;
  line-height:1.38!important;
  font-weight:700!important;
}
.chambers-section .strip-arrow{display:none!important;}

/* Responsive */
@media(max-width:1280px){
  .visual-sector-grid,.visual-strip-track{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .chambers-grid,.chambers-track{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:920px){
  .visual-sector-grid,.visual-strip-track{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chambers-grid,.chambers-track{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chambers-inner h2{white-space:normal!important;}
}
@media(max-width:560px){
  .key-damier-card{flex-basis:100%!important;width:100%!important;}
  .visual-sector-grid,.visual-strip-track{grid-template-columns:1fr!important;}
  .chambers-grid,.chambers-track{grid-template-columns:1fr!important;}
  .visual-sector-card{aspect-ratio:auto!important;min-height:230px!important;}
}

/* V21 final micro-correction : titre Chiffres clés aligné sur le style Portage Institutionnel */
.key-damier-head h2{
  background:#082450!important;
  color:#ffffff!important;
  border-radius:0!important;
}

/* =========================================================
   S2IA — RESTITUTION FIDÈLE PORTAGE / CHIFFRES / SECTEURS
   ========================================================= */

/* Portage institutionnel : comme la référence, bleu profond + titre bandeau + cartes blanches horizontales */
.institutional-vignettes{
  background:#1258ad!important;
  padding:54px 5vw 78px!important;
  overflow:hidden!important;
}
.institutional-vignettes-inner{
  width:min(100%,1680px)!important;
  margin:0 auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.institutional-vignettes-inner:before{display:none!important;}
.institutional-vignettes h2{
  display:inline-flex!important;
  align-items:center!important;
  gap:24px!important;
  margin:0 0 38px!important;
  padding:26px 44px!important;
  background:#071f46!important;
  color:#ffffff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(42px,4.3vw,72px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.institutional-vignettes h2:after{
  content:""!important;
  display:block!important;
  width:220px!important;
  height:5px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#0d4da8 0%,#f26722 45%,#f2c14b 70%,#2e8b36 100%)!important;
}
.institution-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.institution-card{
  min-height:118px!important;
  padding:16px 20px!important;
  border-radius:26px!important;
  background:#ffffff!important;
  border:0!important;
  box-shadow:0 18px 40px rgba(3,15,45,.18)!important;
  display:grid!important;
  grid-template-columns:94px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  text-align:left!important;
}
.institution-logo-box{
  width:94px!important;
  height:84px!important;
  min-height:84px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
}
.institution-logo-box img{
  width:88px!important;
  height:72px!important;
  max-width:88px!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.institution-card h3{
  display:block!important;
  margin:0!important;
  color:#061f46!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(15px,1.12vw,22px)!important;
  line-height:1.22!important;
  font-weight:900!important;
  text-align:left!important;
}

/* Chiffres clés : photo d’illustration au-dessus + bande bleu marine conforme à la référence */
.s2ia-key-figures-block{
  background:#ffffff!important;
  padding:58px 0 0!important;
}
.key-figures-photo{
  width:min(92vw,1680px)!important;
  margin:0 auto 34px!important;
  height:390px!important;
  border-radius:32px!important;
  overflow:hidden!important;
  box-shadow:0 24px 58px rgba(6,26,67,.14)!important;
}
.key-figures-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.figures-strip-reference{
  background:#061f42!important;
  padding:22px 4vw 26px!important;
  color:#ffffff!important;
}
.figures-strip-heading{
  width:min(100%,1480px)!important;
  margin:0 auto 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  text-transform:uppercase!important;
}
.figures-strip-heading span{
  display:block!important;
  width:170px!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#2e8b36 0%,#f2c14b 45%,#f26722 100%)!important;
}
.figures-strip-heading strong{
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(17px,1.25vw,24px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.10em!important;
}
.figures-reference-row{
  width:min(100%,1680px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:0!important;
}
.figure-reference-item{
  min-height:118px!important;
  padding:4px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  border-right:1px solid rgba(255,255,255,.45)!important;
}
.figure-reference-item:last-child{border-right:0!important;}
.figure-reference-icon{
  width:36px!important;
  height:36px!important;
  margin:0 0 6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.figure-reference-icon img{
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
}
.figure-reference-item strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#4dbc36!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(28px,2.3vw,48px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
.figure-reference-item.is-orange strong,
.figure-reference-item:nth-child(8) strong{
  color:#ff6b18!important;
}
.figure-reference-item small{
  display:block!important;
  color:#ffffff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(12px,.9vw,16px)!important;
  line-height:1.16!important;
  font-weight:700!important;
}

/* Secteurs industriels exposants : ligne de cartes image haut + bande texte bas, comme la référence */
.s2ia-sectors-reference{
  padding:58px 3.8vw 70px!important;
  background:#ffffff!important;
  overflow:hidden!important;
}
.s2ia-sectors-reference h2{
  margin:0 auto 30px!important;
  color:#061f46!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(30px,3.4vw,58px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  text-align:center!important;
  letter-spacing:-.03em!important;
}
.sectors-reference-wrap{
  width:min(100%,1740px)!important;
  margin:0 auto!important;
  position:relative!important;
  padding:0 60px!important;
}
.sectors-reference-track{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:none!important;
  padding:4px 2px 16px!important;
}
.sectors-reference-track::-webkit-scrollbar{display:none!important;}
.sector-reference-card{
  flex:0 0 148px!important;
  min-height:188px!important;
  border-radius:12px!important;
  border:2px solid #e0e6ee!important;
  background:#fff!important;
  box-shadow:0 10px 22px rgba(6,26,67,.10)!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}
.sector-reference-card figure{
  margin:0!important;
  height:128px!important;
  background:#eef3f8!important;
  overflow:hidden!important;
}
.sector-reference-card figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.sector-reference-title{
  min-height:58px!important;
  padding:8px 8px 9px!important;
  color:#ffffff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  line-height:1.12!important;
  font-weight:850!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.sector-reference-card.tone-1 .sector-reference-title{background:#2e8b36!important;}
.sector-reference-card.tone-2 .sector-reference-title{background:#f26722!important;}
.sector-reference-card.tone-3 .sector-reference-title{background:#0d4da8!important;}
.sector-reference-card.tone-4 .sector-reference-title{background:#9a5f1f!important;}
.sectors-ref-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:0!important;
  background:#0f873d!important;
  color:#ffffff!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
  z-index:5!important;
  box-shadow:0 12px 26px rgba(0,0,0,.18)!important;
  cursor:pointer!important;
}
.sectors-ref-prev{left:0!important;}
.sectors-ref-next{right:0!important;}

/* Popups : fonctionnement + présentation stable */
.form-feedback{
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border-radius:16px!important;
  font-weight:850!important;
  line-height:1.45!important;
}
.form-feedback.is-loading{background:#eef5ff!important;color:#0d4da8!important;border:1px solid #cfe0f6!important;}
.form-feedback.is-success{background:#e9f9ee!important;color:#117935!important;border:1px solid #bdebc9!important;}
.form-feedback.is-error{background:#fff0ec!important;color:#c7321f!important;border:1px solid #ffd0c4!important;}
.modal-submit:disabled{opacity:.72!important;cursor:wait!important;}
.premium-modal.is-open{display:grid!important;place-items:center!important;}
.premium-modal .modal-card{max-height:92vh!important;overflow:hidden!important;}
.premium-modal .modal-form-panel{overflow-y:auto!important;}

/* Responsive */
@media(max-width:1360px){
  .institution-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .figures-reference-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
  .figure-reference-item{border:1px solid rgba(255,255,255,.16)!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;}
}
@media(max-width:780px){
  .institutional-vignettes h2{width:100%!important;font-size:38px!important;justify-content:center!important;}
  .institutional-vignettes h2:after{display:none!important;}
  .institution-grid{grid-template-columns:1fr!important;}
  .figures-reference-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .figures-strip-heading span{display:none!important;}
  .key-figures-photo{height:290px!important;}
  .sectors-reference-wrap{padding:0 46px!important;}
  .sector-reference-card{flex-basis:138px!important;}
  .sectors-ref-arrow{width:40px!important;height:40px!important;font-size:28px!important;}
}
@media(max-width:520px){
  .institution-card{grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;}
  .institution-logo-box{width:72px!important;height:64px!important;min-height:64px!important;}
  .institution-logo-box img{width:68px!important;height:56px!important;}
  .figures-reference-row{grid-template-columns:1fr!important;}
}


/* =========================================================
   S2IA — REPRISE PROPRE DEMANDÉE : Chiffres clés + Portage
   ========================================================= */

/* Suppression visuelle des anciennes zones non utilisées */
.s2ia-key-figures-block,
.s2ia-sectors-reference,
.s2ia-key-figures-strip,
.s2ia-sectors-premium{
  display:none!important;
}

/* Chiffres clés : fond noir, titre blanc, 8 vignettes en 4 x 2 */
.s2ia-keyfig-black{
  background:
    radial-gradient(circle at 12% 0%, rgba(46,139,54,.16), transparent 24%),
    radial-gradient(circle at 88% 0%, rgba(242,103,34,.14), transparent 26%),
    linear-gradient(135deg,#05070b 0%,#111820 48%,#07090d 100%)!important;
  padding:62px 5vw 72px!important;
  color:#fff!important;
  overflow:hidden!important;
}
.s2ia-keyfig-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
}
.s2ia-section-title-dark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:28px!important;
  margin:0 auto 42px!important;
  text-align:center!important;
}
.s2ia-section-title-dark span{
  display:block!important;
  width:min(18vw,210px)!important;
  height:4px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#2e8b36 0%,#f2b500 45%,#f26722 100%)!important;
}
.s2ia-section-title-dark h2{
  margin:0!important;
  color:#ffffff!important;
  font-size:clamp(34px,3vw,58px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  text-shadow:0 8px 20px rgba(0,0,0,.38)!important;
}
.keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.keyfig-premium-card{
  min-height:238px!important;
  border-radius:30px!important;
  background:#ffffff!important;
  color:#000!important;
  padding:26px 20px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.65)!important;
  position:relative!important;
  overflow:hidden!important;
}
.keyfig-premium-card:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:8px!important;
  background:linear-gradient(90deg,#0d4da8 0%,#f26722 50%,#2e8b36 100%)!important;
}
.keyfig-premium-icon{
  width:92px!important;
  height:92px!important;
  margin:0 auto 18px!important;
  border-radius:24px!important;
  background:#f3f7fb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:inset 0 0 0 1px #e0e8f3!important;
}
.keyfig-premium-icon img{
  width:70px!important;
  height:70px!important;
  object-fit:contain!important;
}
.keyfig-premium-card strong{
  display:block!important;
  margin:0 0 10px!important;
  color:#000!important;
  font-size:clamp(34px,2.8vw,54px)!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
.keyfig-premium-card p{
  margin:0!important;
  color:#000!important;
  font-size:clamp(16px,1.2vw,22px)!important;
  line-height:1.28!important;
  font-weight:800!important;
}

/* Portage institutionnel : fond gris clair + format pilule comme la référence */
.institutional-clean-section{
  background:#e9e9e9!important;
  padding:64px 5vw 76px!important;
}
.institutional-clean-inner{
  width:min(100%,1540px)!important;
  margin:0 auto!important;
}
.institutional-clean-title{
  margin:0 auto 34px!important;
  text-align:center!important;
}
.institutional-clean-title h2{
  margin:0!important;
  color:#0a1d3f!important;
  font-size:clamp(34px,3vw,58px)!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}
.institution-pill-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
}
.institution-pill-card{
  min-height:132px!important;
  background:#ffffff!important;
  border-radius:28px!important;
  padding:18px 28px!important;
  display:grid!important;
  grid-template-columns:128px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
  box-shadow:0 18px 40px rgba(6,26,67,.10)!important;
  border:1px solid #dbe5f3!important;
}
.institution-pill-card:nth-child(5){
  grid-column:1 / -1!important;
  width:min(100%,760px)!important;
  margin:0 auto!important;
}
.institution-pill-logo{
  width:128px!important;
  height:92px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.institution-pill-logo img{
  width:116px!important;
  height:86px!important;
  max-width:116px!important;
  max-height:86px!important;
  object-fit:contain!important;
}
.institution-pill-text{
  min-width:0!important;
  text-align:left!important;
}
.institution-pill-text h3{
  margin:0!important;
  color:#000!important;
  font-size:clamp(21px,1.55vw,30px)!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

/* Responsivité */
@media(max-width:1180px){
  .keyfig-grid-premium{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .institution-pill-grid{
    grid-template-columns:1fr!important;
  }
  .institution-pill-card:nth-child(5){
    width:100%!important;
  }
}
@media(max-width:640px){
  .s2ia-keyfig-black,
  .institutional-clean-section{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .s2ia-section-title-dark{
    gap:14px!important;
  }
  .s2ia-section-title-dark span{
    width:70px!important;
  }
  .keyfig-grid-premium{
    grid-template-columns:1fr!important;
  }
  .keyfig-premium-card{
    min-height:210px!important;
  }
  .institution-pill-card{
    grid-template-columns:1fr!important;
    text-align:center!important;
    padding:24px 20px!important;
  }
  .institution-pill-logo{
    margin:0 auto!important;
  }
  .institution-pill-text{
    text-align:center!important;
  }
}


/* =========================================================
   S2IA — Ajustements demandés : tailles + admin complet
   ========================================================= */

/* Réduction des trois titres demandés */
.patronage-main-title,
.institutional-clean-title h2{
  font-size:clamp(26px,2.15vw,38px)!important;
  line-height:1.14!important;
  font-weight:850!important;
}
.patronage-identity-text h3{
  font-size:clamp(24px,2vw,34px)!important;
  line-height:1.16!important;
  font-weight:850!important;
}
.patronage-identity-text .president-function,
.patronage-identity-text .president-country{
  font-size:clamp(17px,1.25vw,22px)!important;
  line-height:1.35!important;
  font-weight:500!important;
}

/* Texte d’accueil demandé : Verdana 17, plus grand, pas gras */
.president-message-card p{
  font-family:Verdana,Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.85!important;
  font-weight:400!important;
  text-align:justify!important;
  color:#233b65!important;
}

/* Chiffres clés : vignettes un peu réduites + image ou pictogramme dans Admin */
.s2ia-keyfig-black{
  padding:54px 5vw 62px!important;
}
.keyfig-grid-premium{
  gap:18px!important;
}
.keyfig-premium-card{
  min-height:210px!important;
  padding:22px 18px 20px!important;
  border-radius:26px!important;
}
.keyfig-premium-icon{
  width:78px!important;
  height:78px!important;
  margin-bottom:14px!important;
}
.keyfig-premium-icon img{
  width:62px!important;
  height:62px!important;
  object-fit:contain!important;
}
.keyfig-premium-card strong{
  font-size:clamp(28px,2.35vw,44px)!important;
}
.keyfig-premium-card p{
  font-size:clamp(15px,1.05vw,19px)!important;
}

/* Portage institutionnel : une seule ligne + pastilles */
.institutional-clean-section{
  background:#e9e9e9!important;
  padding:54px 4vw 62px!important;
}
.institutional-clean-inner{
  width:min(100%,1680px)!important;
}
.institution-carousel-wrap{
  position:relative!important;
}
.institution-pill-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:4px 2px 18px!important;
}
.institution-pill-grid::-webkit-scrollbar{
  display:none!important;
}
.institution-pill-card{
  flex:0 0 calc((100% - 72px) / 5)!important;
  min-height:132px!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:105px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  border-radius:26px!important;
  scroll-snap-align:start!important;
}
.institution-pill-card:nth-child(5){
  grid-column:auto!important;
  width:auto!important;
  margin:0!important;
}
.institution-pill-logo{
  width:105px!important;
  height:82px!important;
}
.institution-pill-logo img{
  width:100px!important;
  height:76px!important;
  max-width:100px!important;
  max-height:76px!important;
  object-fit:contain!important;
}
.institution-pill-text h3{
  font-size:clamp(17px,1.18vw,23px)!important;
  line-height:1.18!important;
  font-weight:850!important;
}
.institution-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin-top:14px!important;
}
.institution-dot{
  width:12px!important;
  height:12px!important;
  border:0!important;
  border-radius:999px!important;
  background:#b8c2d2!important;
  cursor:pointer!important;
  padding:0!important;
  transition:.2s ease!important;
}
.institution-dot.is-active{
  width:34px!important;
  background:#0d4da8!important;
}

/* Admin preview images */
.table-icon{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid #e1e9f5!important;
  border-radius:14px!important;
  padding:6px!important;
}
.icon-preview{
  width:96px!important;
  height:96px!important;
  object-fit:contain!important;
  background:#fff!important;
  border:1px solid #e1e9f5!important;
  border-radius:16px!important;
  padding:8px!important;
}
.checkline{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  color:#0a2a61!important;
  font-weight:900!important;
}
.checkline input{
  width:18px!important;
  height:18px!important;
}

@media(max-width:1280px){
  .institution-pill-card{
    flex-basis:calc((100% - 36px) / 3)!important;
  }
}
@media(max-width:860px){
  .institution-pill-card{
    flex-basis:calc((100% - 18px) / 2)!important;
  }
}
@media(max-width:560px){
  .institution-pill-card{
    flex-basis:100%!important;
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .institution-pill-logo{
    margin:0 auto!important;
  }
}


/* =========================================================
   S2IA — Correction Portage institutionnel : texte sous logo
   ========================================================= */
.institution-pill-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:4px 2px 18px!important;
}
.institution-pill-grid::-webkit-scrollbar{
  display:none!important;
}
.institution-pill-card{
  flex:0 0 calc((100% - 72px) / 5)!important;
  min-height:240px!important;
  padding:24px 18px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  text-align:center!important;
  border-radius:28px!important;
}
.institution-pill-card:nth-child(5){
  grid-column:auto!important;
  width:auto!important;
  margin:0!important;
}
.institution-pill-logo{
  width:128px!important;
  height:92px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.institution-pill-logo img{
  width:116px!important;
  height:86px!important;
  max-width:116px!important;
  max-height:86px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.institution-pill-text{
  width:100%!important;
  min-width:0!important;
  text-align:center!important;
}
.institution-pill-text h3{
  margin:0!important;
  color:#000!important;
  font-size:clamp(16px,1.05vw,20px)!important;
  line-height:1.18!important;
  font-weight:850!important;
  text-align:center!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media(max-width:1280px){
  .institution-pill-card{
    flex-basis:calc((100% - 36px) / 3)!important;
  }
}
@media(max-width:860px){
  .institution-pill-card{
    flex-basis:calc((100% - 18px) / 2)!important;
  }
}
@media(max-width:560px){
  .institution-pill-card{
    flex-basis:100%!important;
    min-height:220px!important;
  }
}


/* =========================================================
   S2IA — Portage institutionnel : logos agrandis et centrés
   ========================================================= */
.institution-pill-card{
  flex:0 0 calc((100% - 72px) / 5)!important;
  min-height:285px!important;
  padding:26px 18px 24px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  gap:0!important;
  border-radius:28px!important;
}
.institution-pill-logo{
  width:190px!important;
  height:142px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.institution-pill-logo img{
  width:178px!important;
  height:132px!important;
  max-width:178px!important;
  max-height:132px!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0 auto!important;
}
.institution-pill-text{
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  text-align:center!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.institution-pill-text h3{
  width:100%!important;
  margin:0!important;
  color:#000!important;
  font-size:clamp(15px,1vw,19px)!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-align:center!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media(max-width:1280px){
  .institution-pill-card{
    flex-basis:calc((100% - 36px) / 3)!important;
  }
}
@media(max-width:860px){
  .institution-pill-card{
    flex-basis:calc((100% - 18px) / 2)!important;
  }
}
@media(max-width:560px){
  .institution-pill-card{
    flex-basis:100%!important;
    min-height:265px!important;
  }
  .institution-pill-logo{
    width:175px!important;
    height:130px!important;
  }
  .institution-pill-logo img{
    width:165px!important;
    height:122px!important;
  }
}


/* =========================================================
   S2IA — Chiffres clés : images HD à la place des pictogrammes
   ========================================================= */
.keyfig-premium-card{
  min-height:285px!important;
  padding:0 0 22px!important;
  justify-content:flex-start!important;
  overflow:hidden!important;
}
.keyfig-premium-card:before{
  z-index:3!important;
}
.keyfig-premium-icon{
  width:100%!important;
  height:128px!important;
  margin:0 0 18px!important;
  border-radius:0!important;
  background:#f3f7fb!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:block!important;
}
.keyfig-premium-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.keyfig-premium-card strong,
.keyfig-premium-card p{
  padding-left:18px!important;
  padding-right:18px!important;
}
@media(max-width:640px){
  .keyfig-premium-card{
    min-height:260px!important;
  }
  .keyfig-premium-icon{
    height:116px!important;
  }
}


/* =========================================================
   S2IA V26 — Présentation + secteurs + harmonisation titres
   ========================================================= */

/* Couleurs des valeurs chiffres clés tirées du logo */
.keyfig-color-1,
.keyfig-color-3,
.keyfig-color-6{
  color:#0d4da8!important;
}
.keyfig-color-2,
.keyfig-color-5,
.keyfig-color-8{
  color:#2e8b36!important;
}
.keyfig-color-4,
.keyfig-color-7{
  color:#f26722!important;
}

/* Titre Chiffres clés au même esprit que Haut Patronage / Portage */
.s2ia-section-title-dark h2{
  font-size:clamp(26px,2.15vw,38px)!important;
  line-height:1.14!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-shadow:none!important;
}
.s2ia-section-title-dark{
  gap:22px!important;
  margin-bottom:30px!important;
}
.s2ia-section-title-dark span{
  width:min(13vw,150px)!important;
  height:3px!important;
}

/* Présentation du Salon */
.salon-presentation-section{
  background:#ffffff!important;
  padding:70px 4vw 78px!important;
  overflow:hidden!important;
}
.salon-presentation-inner{
  width:min(100%,1620px)!important;
  margin:0 auto!important;
}
.salon-presentation-head{
  text-align:center!important;
  margin:0 auto 34px!important;
}
.salon-presentation-head h2{
  margin:0 0 12px!important;
  color:#071f46!important;
  font-size:clamp(28px,2.6vw,46px)!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.salon-presentation-head h3{
  margin:0!important;
  color:#f26722!important;
  font-size:clamp(24px,2.2vw,40px)!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.salon-presentation-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr) minmax(310px,.82fr)!important;
  gap:26px!important;
  align-items:stretch!important;
}
.salon-presentation-text,
.salon-presentation-logo,
.salon-audience-panel{
  border-radius:34px!important;
  box-shadow:0 22px 55px rgba(6,26,67,.10)!important;
}
.salon-presentation-text{
  background:#f8fbff!important;
  border:1px solid #dfe9f6!important;
  padding:34px 34px!important;
  display:flex!important;
  align-items:center!important;
}
.salon-presentation-text p{
  margin:0!important;
  color:#1f355d!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.86!important;
  font-weight:400!important;
  text-align:justify!important;
}
.salon-presentation-logo{
  background:
    radial-gradient(circle at 20% 10%,rgba(242,103,34,.13),transparent 35%),
    radial-gradient(circle at 80% 85%,rgba(46,139,54,.13),transparent 36%),
    #ffffff!important;
  border:1px solid #dfe9f6!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:420px!important;
  padding:30px!important;
}
.salon-presentation-logo img{
  width:min(100%,390px)!important;
  max-height:280px!important;
  object-fit:contain!important;
  display:block!important;
}
.salon-audience-panel{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:22px!important;
  background:#071f46!important;
  padding:24px!important;
}
.audience-card{
  position:relative!important;
  border-radius:26px!important;
  padding:28px 26px 24px!important;
  color:#ffffff!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#0d4da8 0%,#092a61 100%)!important;
}
.audience-card:before{
  content:""!important;
  position:absolute!important;
  right:-42px!important;
  top:-42px!important;
  width:135px!important;
  height:135px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.11)!important;
}
.exhibitor-card{
  background:linear-gradient(135deg,#f26722 0%,#c94412 100%)!important;
}
.audience-card span{
  display:inline-flex!important;
  width:42px!important;
  height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#ffffff!important;
  color:#071f46!important;
  font-size:16px!important;
  font-weight:950!important;
  margin-bottom:15px!important;
}
.audience-card h4{
  position:relative!important;
  margin:0 0 10px!important;
  color:#ffffff!important;
  font-size:clamp(24px,1.7vw,34px)!important;
  line-height:1.05!important;
  font-weight:950!important;
}
.audience-card p{
  position:relative!important;
  margin:0 0 18px!important;
  color:rgba(255,255,255,.92)!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:650!important;
}
.audience-btn{
  position:relative!important;
  border:0!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  font-size:15px!important;
  font-weight:950!important;
  padding:13px 20px!important;
  cursor:pointer!important;
  box-shadow:0 12px 24px rgba(0,0,0,.20)!important;
}
.audience-btn.secondary{
  color:#f26722!important;
}

/* Secteurs exposants : même esprit que les chiffres clés */
.s2ia-sector-black-grid{
  background:
    radial-gradient(circle at 8% 0%,rgba(13,77,168,.22),transparent 25%),
    radial-gradient(circle at 92% 0%,rgba(46,139,54,.18),transparent 25%),
    linear-gradient(135deg,#05070b 0%,#111820 48%,#07090d 100%)!important;
  padding:64px 5vw 76px!important;
}
.s2ia-sector-inner{
  width:min(100%,1580px)!important;
  margin:0 auto!important;
}
.sector-title-dark h2{
  color:#ffffff!important;
}
.sector-black-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
.sector-black-card{
  min-height:238px!important;
  border-radius:30px!important;
  background:#ffffff!important;
  color:#000!important;
  overflow:hidden!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.65)!important;
  position:relative!important;
}
.sector-black-card:before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:8px!important;
  background:linear-gradient(90deg,#0d4da8 0%,#f26722 50%,#2e8b36 100%)!important;
  z-index:2!important;
}
.sector-black-visual{
  height:132px!important;
  width:100%!important;
  overflow:hidden!important;
  background:#f3f7fb!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.sector-black-card h3{
  margin:0!important;
  min-height:98px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 18px!important;
  color:#000!important;
  font-size:clamp(16px,1.1vw,21px)!important;
  line-height:1.22!important;
  font-weight:850!important;
  text-align:center!important;
}

/* Responsive */
@media(max-width:1280px){
  .salon-presentation-grid{
    grid-template-columns:1fr!important;
  }
  .salon-presentation-logo{
    min-height:280px!important;
  }
  .salon-audience-panel{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto!important;
  }
  .sector-black-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .salon-audience-panel{
    grid-template-columns:1fr!important;
  }
  .sector-black-grid{
    grid-template-columns:1fr!important;
  }
  .salon-presentation-text{
    padding:24px 20px!important;
  }
}


/* =========================================================
   S2IA V27 — Présentation : logo supprimé, texte étendu, champs réduits
   ========================================================= */
.salon-presentation-grid{
  grid-template-columns:minmax(0,2.25fr) minmax(300px,.75fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.salon-presentation-text{
  min-height:auto!important;
  padding:36px 40px!important;
}
.salon-presentation-text p{
  font-family:Verdana,Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.82!important;
  font-weight:400!important;
  text-align:justify!important;
}
.salon-presentation-logo{
  display:none!important;
}
.salon-audience-panel{
  align-self:start!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  gap:16px!important;
  padding:18px!important;
}
.audience-card{
  min-height:auto!important;
  padding:18px 18px 17px!important;
  border-radius:22px!important;
}
.audience-card span{
  width:34px!important;
  height:34px!important;
  font-size:14px!important;
  margin-bottom:10px!important;
}
.audience-card h4{
  font-size:clamp(20px,1.32vw,26px)!important;
  line-height:1.08!important;
  margin-bottom:8px!important;
}
.audience-card p{
  font-size:14px!important;
  line-height:1.42!important;
  margin-bottom:13px!important;
}
.audience-btn{
  padding:10px 16px!important;
  font-size:14px!important;
}
.salon-audience-extra{
  background:#ffffff!important;
  color:#071f46!important;
  border-radius:22px!important;
  padding:18px!important;
  border:1px solid rgba(255,255,255,.45)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.18)!important;
}
.salon-audience-extra h4{
  margin:0 0 8px!important;
  color:#0d4da8!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.salon-audience-extra p{
  margin:0!important;
  color:#243b63!important;
  font-size:14px!important;
  line-height:1.48!important;
  font-weight:650!important;
}
@media(max-width:1280px){
  .salon-presentation-grid{
    grid-template-columns:1fr!important;
  }
  .salon-audience-panel{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:auto auto!important;
  }
  .salon-audience-extra{
    grid-column:1 / -1!important;
  }
}
@media(max-width:720px){
  .salon-audience-panel{
    grid-template-columns:1fr!important;
  }
  .salon-audience-extra{
    grid-column:auto!important;
  }
  .salon-presentation-text{
    padding:26px 22px!important;
  }
}

/* =========================================================
   S2IA V28 CLEAN — Responsive + popups + sections demandées
   Base : V27 validée, corrections ciblées uniquement
   ========================================================= */
:root{--s2ia-blue:#0d4da8;--s2ia-navy:#061a43;--s2ia-orange:#f26722;--s2ia-green:#2e8b36;--s2ia-red:#ef1224;}
html,body{max-width:100%;overflow-x:hidden!important;}
img{max-width:100%;height:auto;}

/* 1 / 3 — Header responsive TV, grands écrans et desktop : espacements non collés */
.site-header{background:#fff!important;z-index:1100!important;}
.site-header .top-shell{
  width:min(100%,1760px)!important;
  min-height:86px!important;
  padding:10px clamp(18px,2.2vw,42px)!important;
  display:grid!important;
  grid-template-columns:minmax(250px,340px) minmax(0,1fr) 58px!important;
  align-items:center!important;
  gap:clamp(18px,2vw,38px)!important;
}
.site-header .brand{justify-content:flex-start!important;min-width:0!important;}
.site-header .brand img{width:clamp(230px,16vw,320px)!important;height:70px!important;object-fit:contain!important;}
.site-header .main-nav{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:nowrap!important;gap:clamp(16px,1.35vw,30px)!important;min-width:0!important;}
.site-header .main-nav a{font-size:clamp(14px,.92vw,18px)!important;line-height:1.1!important;white-space:nowrap!important;color:#050505!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.site-header .main-nav a:hover,.site-header .main-nav a.is-active{color:var(--s2ia-red)!important;background:transparent!important;}
.site-header .nav-toggle{justify-self:end!important;width:54px!important;height:54px!important;border-radius:16px!important;background:#050505!important;}
.site-header .nav-toggle span{width:27px!important;height:4px!important;}

/* Slider : éviter étirement sur TV et grands écrans */
.slider-stage{width:100vw!important;height:auto!important;aspect-ratio:1920/755!important;max-height:min(78vh,820px)!important;min-height:360px!important;margin:0 calc(50% - 50vw)!important;background:#fff!important;overflow:hidden!important;box-shadow:none!important;}
.slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#fff!important;}
@media(min-width:1900px){.slider-stage{max-height:820px!important}.slide img{object-fit:contain!important}}

/* 5 — Actions + nouveau compteur alignés sur la même ligne en desktop */
.hero-actions{width:100%!important;max-width:none!important;margin:0!important;padding:16px 3vw!important;background:#050505!important;}
.hero-actions-inner{width:min(100%,1740px)!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(230px,.9fr) minmax(180px,.75fr) minmax(210px,.9fr) minmax(280px,1.05fr) minmax(430px,1.45fr)!important;gap:14px!important;align-items:center!important;justify-content:center!important;}
.action-pill,.action-button{width:100%!important;min-height:64px!important;border-radius:22px!important;font-size:clamp(16px,1vw,21px)!important;font-weight:950!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
.action-pill{background:#fff!important;color:#06326f!important;border:0!important;box-shadow:0 14px 30px rgba(0,0,0,.18)!important;}
.action-pill svg{width:26px!important;height:26px!important;margin-right:10px!important;fill:var(--s2ia-orange)!important;}
.action-button.btn-primary{background:#0d4da8!important;color:#fff!important;}
.action-button.btn-secondary{background:#f26722!important;color:#fff!important;}
.event-countdown{width:100%!important;min-height:64px!important;border-radius:20px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;padding:9px 12px!important;box-shadow:0 14px 30px rgba(0,0,0,.20)!important;}
.countdown-title{display:block!important;color:#06326f!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important;}
.countdown-grid{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;}
.flip-tile{width:62px!important;height:58px!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;color:#fff!important;box-shadow:0 9px 18px rgba(0,0,0,.18)!important;}
.flip-tile:nth-child(1){background:#18a999!important}.flip-tile:nth-child(2){background:#0d4da8!important}.flip-tile:nth-child(3){background:#f26722!important}.flip-tile:nth-child(4){background:#2e8b36!important}.flip-tile:nth-child(5){background:#061a43!important}
.flip-tile b{font-size:27px!important;line-height:.95!important;color:#fff!important;}.flip-tile small{font-size:10px!important;line-height:1!important;font-weight:950!important;color:#fff!important;text-transform:uppercase!important;}

/* 4 — couleurs des chiffres clés tirées du logo */
.keyfig-color-1,.keyfig-color-3,.keyfig-color-6{color:#0d4da8!important;}
.keyfig-color-2,.keyfig-color-5{color:#2e8b36!important;}
.keyfig-color-4,.keyfig-color-7,.keyfig-color-8{color:#f26722!important;}
.s2ia-section-title-dark h2{font-size:clamp(28px,2.15vw,38px)!important;letter-spacing:.02em!important;}

/* 6 — Secteurs : image pleine hauteur, texte collé au bas du champ */
.sector-black-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;}
.sector-black-card{height:300px!important;min-height:300px!important;border-radius:28px!important;background:#061a43!important;overflow:hidden!important;position:relative!important;box-shadow:0 24px 60px rgba(0,0,0,.28)!important;}
.sector-black-card:before{z-index:4!important;}
.sector-black-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#061a43!important;}
.sector-black-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(1.08) contrast(1.04)!important;}
.sector-black-card:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(6,26,67,.02),rgba(6,26,67,.18) 45%,rgba(6,26,67,.92) 100%)!important;z-index:2!important;}
.sector-black-card h3{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:3!important;min-height:auto!important;margin:0!important;padding:18px 14px 20px!important;color:#fff!important;background:linear-gradient(180deg,rgba(6,26,67,0),rgba(6,26,67,.98))!important;font-size:clamp(15px,1vw,19px)!important;text-shadow:0 6px 18px rgba(0,0,0,.58)!important;}

/* 7 — Trois blocs stratégiques */
.strategic-cards-section{padding:58px 4vw 62px!important;background:#fff!important;}
.strategic-cards-inner{width:min(100%,1660px)!important;margin:0 auto!important;}
.strategic-cards-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;}
.strategic-card{background:#fff!important;border:1px solid #dfe7f4!important;border-radius:24px!important;padding:34px 34px 30px!important;box-shadow:0 18px 42px rgba(6,26,67,.10)!important;min-height:350px!important;display:flex!important;flex-direction:column!important;}
.strategic-icon{width:72px!important;height:72px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:34px!important;font-weight:950!important;margin-bottom:20px!important;}.strategic-icon.green{background:#2e8b36!important}.strategic-icon.orange{background:#f26722!important}
.strategic-card h3{color:#050505!important;font-size:clamp(23px,1.55vw,32px)!important;line-height:1.15!important;text-transform:uppercase!important;letter-spacing:.01em!important;margin:0 0 22px!important;}.strategic-card p,.strategic-card li{font-size:17px!important;line-height:1.65!important;color:#2c374a!important;font-weight:600!important}.strategic-card ul{padding:0;margin:0 0 20px;list-style:none}.strategic-card li{position:relative;padding-left:28px;margin:8px 0}.strategic-card li:before{content:"✓";position:absolute;left:0;color:#2e8b36;font-weight:950}
.learn-more{margin-top:auto!important;border:0!important;background:transparent!important;font-size:17px!important;font-weight:950!important;cursor:pointer!important;padding:0!important;text-align:left!important}.learn-more.green{color:#2e8b36!important}.learn-more.orange{color:#f26722!important}.learn-more span{font-size:26px!important;vertical-align:-2px!important;margin-left:8px!important;}

/* 8 — Architecture globale */
.event-architecture-section{padding:46px 4vw 56px!important;background:#fff!important;}
.event-architecture-inner,.event-pillars-inner{width:min(100%,1760px)!important;margin:0 auto!important;}.section-line-title{display:flex!important;align-items:center!important;justify-content:center!important;gap:30px!important;margin:0 0 30px!important;text-align:center!important}.section-line-title h2{font-size:clamp(24px,2.1vw,42px)!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#071f46!important;font-weight:950!important}.section-line-title span{width:min(16vw,230px)!important;height:3px!important}.orange-line{background:#f26722!important}.green-line{background:#2e8b36!important}
.architecture-row{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important}.architecture-row article{min-height:118px!important;border:1px solid #dfe7f4!important;border-radius:18px!important;background:#fff!important;box-shadow:0 14px 32px rgba(6,26,67,.08)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;padding:16px!important}.architecture-row span{width:58px!important;height:58px!important;border-radius:50%!important;background:#f3f6fa!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;color:#0d4da8!important}.architecture-row strong{font-size:15px!important;line-height:1.25!important;color:#071f46!important;text-align:left!important;}

/* 9 — Les grands piliers */
.event-pillars-section{padding:46px 4vw 62px!important;background:#fff!important;}.pillars-row{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px!important}.pillars-row article{height:150px!important;border-radius:18px!important;overflow:hidden!important;position:relative!important;background-image:linear-gradient(180deg,rgba(6,26,67,.25),rgba(6,26,67,.78)),var(--pillar-img)!important;background-size:cover!important;background-position:center!important;box-shadow:0 15px 36px rgba(6,26,67,.18)!important;border:3px solid #eef3fa!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important;padding:14px!important}.pillars-row span{width:48px!important;height:48px!important;border-radius:50%!important;background:#061a43!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;margin-bottom:10px!important}.pillars-row strong{color:#fff!important;font-size:14px!important;line-height:1.18!important;text-transform:uppercase!important;text-shadow:0 4px 12px rgba(0,0,0,.55)!important;}

/* 10 — Footer comme référence */
.s2ia-footer-pro{background:#fff!important;color:#111!important;padding:42px 4vw 0!important;border-top:1px solid #dde7f4!important}.footer-pro-inner{width:min(100%,1740px)!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.2fr 1.5fr 1.25fr 1.15fr!important;gap:50px!important;align-items:start!important}.footer-logo{width:270px!important;background:transparent!important;border-radius:0!important;padding:0!important}.footer-socials{display:flex!important;gap:14px!important;margin-top:20px!important}.footer-socials a{width:44px!important;height:44px!important;border-radius:50%!important;border:2px solid #111!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#111!important;font-weight:950!important;font-size:18px!important}.s2ia-footer-pro h3{margin:0 0 18px!important;color:#111!important;text-transform:uppercase!important;font-size:17px!important;letter-spacing:.04em!important}.footer-links-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 36px!important}.s2ia-footer-pro a,.s2ia-footer-pro p{color:#333!important;font-size:16px!important;line-height:1.45!important}.footer-info-block p{margin:0 0 13px!important}.footer-info-block span{color:#f26722!important;margin-right:8px!important}.newsletter-form{display:grid!important;grid-template-columns:minmax(0,1fr)70px!important;gap:14px!important}.newsletter-form input{height:60px!important;border:2px solid #bfd1e6!important;border-radius:10px!important;padding:0 18px!important;font-size:16px!important}.newsletter-form button{height:60px!important;border:0!important;border-radius:10px!important;background:#2e8b36!important;color:#fff!important;font-size:30px!important;font-weight:950!important;cursor:pointer!important}.footer-pro-bottom{width:100vw!important;margin:28px calc(50% - 50vw) 0!important;padding:14px 4vw!important;border-top:1px solid #dde7f4!important;display:flex!important;justify-content:space-between!important;gap:20px!important;color:#566274!important;font-size:14px!important}.footer-pro-bottom a{font-size:14px!important;color:#566274!important;display:inline!important;}

/* 11 — Devenir panéliste */
.panelist-callout{background:#fff!important;color:#071f46!important}.panelist-callout h4{color:#0d4da8!important}.panelist-callout p{color:#243b63!important}.panelist-btn{background:#0d4da8!important;color:#fff!important;}

/* 12 — Sous-titre coloré */
.salon-subtitle-colored .subtitle-red{color:#ef1224!important}.salon-subtitle-colored .subtitle-blue{color:#0d4da8!important}.salon-subtitle-colored .subtitle-black{color:#050505!important}
.salon-presentation-head h3{font-size:clamp(26px,2.4vw,44px)!important;}

/* Popups : hauts non coupés, logos visibles, mobile / TV */
.premium-modal{overflow-y:auto!important;overscroll-behavior:contain!important;}.premium-modal.is-open{display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:clamp(16px,3vh,36px) 16px!important;}.premium-modal .modal-card{width:min(1360px,94vw)!important;max-height:none!important;margin:0 auto!important;border-radius:28px!important;overflow:hidden!important}.premium-modal .modal-form-panel{max-height:calc(100dvh - 72px)!important;overflow-y:auto!important;padding:34px 38px!important}.premium-modal .modal-logo{display:block!important;width:220px!important;height:auto!important;object-fit:contain!important;margin:0 auto 18px!important}.premium-modal .modal-form-panel h2{text-align:center!important}.premium-modal .modal-intro{text-align:center!important}.info-modal .info-modal-card{display:block!important;width:min(980px,94vw)!important;background:#fff!important;padding:48px!important;border-radius:28px!important;color:#172540!important}.info-modal-card h2{font-size:clamp(32px,3vw,54px)!important;margin-bottom:22px!important}.info-modal-card p,.info-modal-card li{font-size:18px!important;line-height:1.75!important;color:#24344f!important}

@media(max-width:1500px){.hero-actions-inner{grid-template-columns:repeat(4,minmax(0,1fr))!important}.event-countdown{grid-column:1/-1!important;width:min(720px,100%)!important;margin:0 auto!important}.architecture-row,.pillars-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}.footer-pro-inner{grid-template-columns:1fr 1fr!important}}
@media(max-width:1180px){.site-header .top-shell{grid-template-columns:260px minmax(0,1fr)54px!important}.site-header .main-nav{gap:14px!important}.site-header .main-nav a{font-size:14px!important}.strategic-cards-grid{grid-template-columns:1fr!important}.salon-presentation-grid{grid-template-columns:1fr!important}.sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:980px){.site-header .top-shell{grid-template-columns:1fr 54px!important;min-height:76px!important}.site-header .brand img{width:240px!important;height:60px!important}.site-header .main-nav{display:none!important;position:absolute!important;left:14px!important;right:14px!important;top:calc(100% + 8px)!important;flex-direction:column!important;background:#fff!important;border:1px solid #dfe7f4!important;border-radius:18px!important;padding:14px!important;box-shadow:0 22px 58px rgba(6,26,67,.18)!important}.site-header .main-nav.is-open{display:flex!important}.site-header .main-nav a{width:100%!important;min-height:46px!important;justify-content:center!important;font-size:16px!important}.premium-modal .modal-card{grid-template-columns:1fr!important;width:min(820px,96vw)!important}.premium-modal .modal-visual{min-height:260px!important;max-height:300px!important}.premium-modal .modal-form-panel{max-height:none!important;overflow:visible!important}.architecture-row,.pillars-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-pro-inner{grid-template-columns:1fr!important}.footer-pro-bottom{display:grid!important;text-align:center!important;justify-content:center!important}}
@media(max-width:760px){.slider-stage{min-height:0!important;height:auto!important;aspect-ratio:1920/755!important}.hero-actions{padding:18px 16px!important}.hero-actions-inner{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}.action-pill,.action-button{min-height:68px!important;border-radius:24px!important;font-size:20px!important}.event-countdown{grid-column:auto!important;min-height:78px!important;display:grid!important;gap:8px!important}.countdown-title{text-align:center!important}.countdown-grid{flex-wrap:wrap!important}.flip-tile{width:58px!important;height:56px!important}.salon-presentation-text p{font-size:17px!important;line-height:1.75!important}.sector-black-grid{grid-template-columns:1fr!important}.sector-black-card{height:280px!important}.architecture-row,.pillars-row{grid-template-columns:1fr!important}.premium-modal.is-open{padding:10px 8px!important}.premium-modal .modal-card{width:100%!important;border-radius:22px!important}.premium-modal .modal-visual{min-height:210px!important;max-height:230px!important;padding:20px!important}.premium-modal .modal-form-panel{padding:22px 16px 26px!important}.premium-modal .modal-logo{width:190px!important}.premium-modal .modal-form-panel h2{font-size:28px!important}.premium-modal .form-grid{grid-template-columns:1fr!important}.premium-modal input,.premium-modal select,.premium-modal textarea{min-height:54px!important;font-size:16px!important;border-radius:16px!important}.premium-modal .modal-submit{min-height:60px!important;font-size:17px!important;border-radius:18px!important}.footer-links-grid{grid-template-columns:1fr!important}.newsletter-form{grid-template-columns:1fr 64px!important}.s2ia-footer-pro{padding-left:22px!important;padding-right:22px!important}}


/* =========================================================
   S2IA V29 — Correctifs ciblés demandés
   Slider restauré, compteur compact, secteurs éclaircis, footer amélioré
   ========================================================= */

/* 1) Slider : retour au comportement stable, sans étirement déformant */
.hero-slider{
  margin:0!important;
  padding:0!important;
  background:#ffffff!important;
  line-height:0!important;
}
.slider-stage{
  position:relative!important;
  width:100vw!important;
  height:min(786px, calc(100vw * 786 / 1999))!important;
  min-height:340px!important;
  max-height:786px!important;
  aspect-ratio:1999/786!important;
  margin:0 calc(50% - 50vw)!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#ffffff!important;
  box-shadow:0 18px 52px rgba(6,26,67,.18)!important;
}
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#ffffff!important;
  filter:none!important;
  opacity:1!important;
}
@media(min-width:1800px){
  .slider-stage{
    height:786px!important;
  }
}

/* 2) Top menu : espacement correct sur grands écrans et TV */
.top-shell{
  max-width:1880px!important;
  grid-template-columns:minmax(280px,380px) minmax(0,1fr) 64px!important;
  gap:24px!important;
  padding:7px 34px!important;
}
.main-nav{
  gap:clamp(12px,1vw,24px)!important;
  flex-wrap:nowrap!important;
}
.main-nav a{
  white-space:nowrap!important;
  padding:0 clamp(12px,.9vw,20px)!important;
  min-height:38px!important;
  font-size:clamp(14px,.9vw,17px)!important;
}
.brand{
  justify-content:flex-start!important;
}
.brand img{
  width:clamp(260px,17vw,340px)!important;
  height:68px!important;
}
@media(max-width:1320px){
  .main-nav{
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  .main-nav a{
    font-size:13.5px!important;
    padding:0 12px!important;
  }
}
@media(max-width:860px){
  .top-shell{
    grid-template-columns:minmax(180px,1fr) 56px!important;
  }
  .main-nav{
    display:none!important;
  }
  .brand img{
    width:230px!important;
    height:62px!important;
  }
}

/* 3) Actions + nouveau compteur compact, sans texte “temps restant” */
.hero-actions{
  background:#050505!important;
  padding:18px 22px!important;
}
.hero-actions-inner{
  width:min(100%,1780px)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  flex-wrap:wrap!important;
}
.countdown-title{
  display:none!important;
}
.event-countdown{
  min-height:56px!important;
  padding:8px 12px!important;
  border-radius:18px!important;
  background:#ffffff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 14px 30px rgba(0,0,0,.25)!important;
  flex:0 1 auto!important;
}
.countdown-grid{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.flip-tile{
  width:56px!important;
  height:52px!important;
  border-radius:14px!important;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.14),0 8px 16px rgba(0,0,0,.16)!important;
}
.flip-tile b{
  font-size:22px!important;
  line-height:1!important;
}
.flip-tile small{
  font-size:8px!important;
  margin-top:4px!important;
}
@media(max-width:760px){
  .hero-actions-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .action-pill,
  .action-button{
    width:100%!important;
    min-height:62px!important;
    border-radius:22px!important;
    font-size:19px!important;
  }
  .event-countdown{
    width:100%!important;
    min-height:76px!important;
  }
  .countdown-grid{
    gap:7px!important;
  }
  .flip-tile{
    width:58px!important;
    height:58px!important;
  }
}

/* 4) Sous-titre présentation : une seule ligne sur desktop */
.salon-subtitle-colored{
  white-space:nowrap!important;
  text-align:center!important;
  line-height:1.12!important;
  font-size:clamp(24px,2.1vw,36px)!important;
}
@media(max-width:1100px){
  .salon-subtitle-colored{
    white-space:normal!important;
  }
}

/* 5) Secteurs industriels : format conservé, visuel éclairci, texte en bas */
.s2ia-sector-black-grid{
  background:linear-gradient(135deg,#061a43 0%,#071f46 55%,#0b2d63 100%)!important;
}
.sector-black-grid{
  gap:24px!important;
}
.sector-black-card{
  min-height:258px!important;
  background:#ffffff!important;
  border-radius:24px!important;
  overflow:hidden!important;
  position:relative!important;
  box-shadow:0 20px 48px rgba(0,0,0,.22)!important;
}
.sector-black-card:before{
  height:6px!important;
  z-index:4!important;
}
.sector-black-visual{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:#ffffff!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:brightness(1.15) contrast(1.03) saturate(1.08)!important;
  opacity:1!important;
}
.sector-black-card:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:42%!important;
  background:linear-gradient(180deg,rgba(3,14,34,0) 0%,rgba(3,14,34,.58) 45%,rgba(3,14,34,.82) 100%)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.sector-black-card h3{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:3!important;
  min-height:70px!important;
  padding:14px 18px 18px!important;
  color:#ffffff!important;
  text-shadow:0 4px 12px rgba(0,0,0,.65)!important;
  font-size:clamp(15px,1.05vw,20px)!important;
  line-height:1.17!important;
  font-weight:950!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}

/* 6) Popups : correction haut coupé et logo visible, sans changer le contenu */
.premium-modal{
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
.premium-modal.is-open{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:clamp(14px,2.4vh,30px) 16px!important;
}
.premium-modal .modal-card{
  margin:0 auto!important;
  max-height:none!important;
  width:min(1320px,94vw)!important;
  overflow:hidden!important;
}
.premium-modal .modal-form-panel{
  max-height:calc(100dvh - 52px)!important;
  overflow-y:auto!important;
  padding-top:34px!important;
}
.premium-modal .modal-logo{
  display:block!important;
  width:220px!important;
  max-width:72%!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0 auto 16px!important;
}
@media(max-width:920px){
  .premium-modal.is-open{
    padding:10px 8px!important;
  }
  .premium-modal .modal-card{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:22px!important;
  }
  .premium-modal .modal-visual{
    min-height:210px!important;
    max-height:250px!important;
  }
  .premium-modal .modal-form-panel{
    max-height:none!important;
    overflow:visible!important;
    padding:24px 16px 28px!important;
  }
  .premium-modal .modal-logo{
    width:200px!important;
  }
  .premium-form .form-grid{
    grid-template-columns:1fr!important;
  }
}

/* 7) Footer : meilleure présentation des liens rapides et infos pratiques */
.s2ia-footer-pro{
  background:#ffffff!important;
  color:#071f46!important;
  padding:44px 4vw 0!important;
}
.footer-pro-inner{
  width:min(100%,1740px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.15fr 1.65fr 1.35fr 1.15fr!important;
  gap:48px!important;
  align-items:start!important;
}
.s2ia-footer-pro h3{
  color:#000!important;
  font-size:18px!important;
  letter-spacing:.04em!important;
  margin-bottom:18px!important;
}
.footer-links-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px 48px!important;
}
.footer-links-grid a{
  color:#111!important;
  font-size:17px!important;
  line-height:1.25!important;
}
.footer-info-block p{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  color:#111!important;
  font-size:17px!important;
  line-height:1.45!important;
  margin:0 0 16px!important;
}
.footer-info-block p span{
  color:#f26722!important;
  font-size:20px!important;
  line-height:1.1!important;
  text-align:center!important;
}
.footer-info-block a{
  color:#111!important;
  font-size:17px!important;
}
.newsletter-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)58px!important;
  gap:12px!important;
  align-items:center!important;
}
.newsletter-form input{
  min-height:52px!important;
  border-radius:12px!important;
  border:2px solid #c8d9ef!important;
  padding:0 18px!important;
  font-size:16px!important;
}
.newsletter-form button{
  min-height:52px!important;
  border-radius:12px!important;
  background:#2e8b36!important;
  color:#fff!important;
  border:0!important;
  font-size:24px!important;
}
.footer-pro-bottom{
  border-top:1px solid #dfe8f5!important;
  margin-top:32px!important;
  padding:16px 0!important;
}
@media(max-width:1100px){
  .footer-pro-inner{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:700px){
  .footer-pro-inner{
    grid-template-columns:1fr!important;
  }
  .footer-links-grid{
    grid-template-columns:1fr!important;
  }
}

.footer-info-block em{font-style:normal;color:#111!important;}


/* =========================================================
   S2IA V30 — Ajustements ciblés demandés par le client
   Boutons desktop plus fins, slider mobile restauré,
   secteurs plus clairs, footer resserré, titre réduit.
   ========================================================= */

/* 1) Barre d’actions : desktop compact sur une seule ligne */
.hero-actions{padding:14px 18px!important;background:#050505!important;}
.hero-actions-inner{width:min(100%,1760px)!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:nowrap!important;}
.action-pill,.action-button{min-height:42px!important;border-radius:16px!important;font-size:14px!important;font-weight:900!important;padding:0 18px!important;line-height:1!important;box-shadow:none!important;}
.action-phone{flex:0 0 340px!important;justify-content:center!important;}
.action-email{flex:0 0 360px!important;justify-content:center!important;}
.action-button[data-modal-open="registerModal"],.hero-actions .btn-primary.action-button{flex:0 0 220px!important;}
.action-button[data-modal-open="standModal"],.hero-actions .btn-secondary.action-button{flex:0 0 280px!important;}
.action-pill svg{width:22px!important;height:22px!important;}
.action-pill span,.action-button{white-space:nowrap!important;}
.event-countdown{flex:0 0 auto!important;min-height:56px!important;padding:8px 12px!important;border-radius:16px!important;background:#ededed!important;box-shadow:none!important;}
.countdown-grid{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:nowrap!important;}
.flip-tile{width:70px!important;height:64px!important;border-radius:16px!important;box-shadow:0 6px 14px rgba(0,0,0,.12)!important;}
.flip-tile b{font-size:24px!important;}
.flip-tile small{font-size:11px!important;margin-top:4px!important;}
@media (max-width:1500px){
  .hero-actions-inner{flex-wrap:wrap!important;}
  .action-phone,.action-email,.hero-actions .btn-primary.action-button,.hero-actions .btn-secondary.action-button{flex:0 1 auto!important;}
}
@media (max-width:760px){
  .hero-actions{padding:12px 14px!important;}
  .hero-actions-inner{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;flex-wrap:wrap!important;}
  .action-pill,.action-button{width:100%!important;min-height:58px!important;border-radius:20px!important;font-size:18px!important;padding:0 16px!important;}
  .action-phone,.action-email,.hero-actions .btn-primary.action-button,.hero-actions .btn-secondary.action-button{flex:auto!important;}
  .event-countdown{width:100%!important;padding:10px 8px!important;}
  .countdown-grid{gap:6px!important;justify-content:center!important;}
  .flip-tile{width:54px!important;height:54px!important;border-radius:14px!important;}
  .flip-tile b{font-size:22px!important;}
  .flip-tile small{font-size:8px!important;}
}

/* 2) Slider : mobile restauré, image entière visible, flèches nettes */
.slider-stage{background:#fff!important;}
.slide img{background:#fff!important;object-position:center center!important;}
.slider-arrow{display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;background:rgba(255,255,255,.97)!important;color:#0d327a!important;border:1px solid rgba(13,50,122,.12)!important;box-shadow:0 10px 24px rgba(0,0,0,.16)!important;}
@media (max-width:760px){
  .slider-stage{width:100vw!important;height:auto!important;aspect-ratio:1999/786!important;min-height:210px!important;max-height:none!important;margin:0 calc(50% - 50vw)!important;overflow:hidden!important;}
  .slide img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;}
  .slider-arrow{width:38px!important;height:38px!important;font-size:28px!important;top:50%!important;}
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}
}

/* 3) Titre présentation : plus petit, sur une ligne, au-dessus du texte */
.salon-presentation-head{margin-bottom:18px!important;}
.salon-subtitle-colored{font-size:clamp(18px,1.55vw,28px)!important;line-height:1.2!important;white-space:nowrap!important;margin:2px 0 0!important;}
.salon-presentation-text{padding-top:0!important;}
@media (max-width:1180px){.salon-subtitle-colored{white-space:normal!important;}}

/* 4) Secteurs industriels : visuels clairs, sans film sombre, texte noir sur fond blanc */
.sector-black-card{background:#ffffff!important;box-shadow:0 18px 38px rgba(0,0,0,.16)!important;}
.sector-black-visual img{filter:brightness(1.18) contrast(1.04) saturate(1.06)!important;}
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-card h3{left:14px!important;right:14px!important;bottom:14px!important;min-height:auto!important;margin:0!important;padding:10px 14px!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;color:#111!important;text-shadow:none!important;box-shadow:0 8px 18px rgba(0,0,0,.08)!important;font-size:clamp(18px,1.1vw,22px)!important;line-height:1.15!important;font-weight:950!important;}
@media (max-width:760px){.sector-black-card h3{font-size:20px!important;padding:10px 12px!important;}}

/* 5) Footer : mobile / TV ajustés, liens rapides resserrés */
.footer-pro-inner{width:min(100%,1700px)!important;gap:28px!important;grid-template-columns:1.1fr 1.2fr 1.15fr 1.05fr!important;}
.footer-links-block{align-self:start!important;}
.footer-links-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 20px!important;align-content:start!important;}
.footer-links-grid a{display:block!important;margin:0!important;padding:0!important;font-size:15px!important;line-height:1.3!important;}
.footer-info-block p{margin:0 0 10px!important;grid-template-columns:24px minmax(0,1fr)!important;gap:8px!important;font-size:15px!important;}
.footer-newsletter-block p,.s2ia-footer-pro p,.s2ia-footer-pro a{font-size:15px!important;line-height:1.35!important;}
.footer-pro-bottom{padding:14px 3vw!important;}
@media (min-width:1600px){.footer-pro-inner{grid-template-columns:1.1fr 1.1fr 1fr 1fr!important;gap:36px!important;}}
@media (max-width:980px){
  .footer-pro-inner{grid-template-columns:1fr!important;gap:18px!important;}
  .footer-links-grid{grid-template-columns:1fr 1fr!important;gap:8px 16px!important;}
  .footer-brand-block,.footer-links-block,.footer-info-block,.footer-newsletter-block{text-align:left!important;}
}
@media (max-width:760px){
  .s2ia-footer-pro{padding:28px 18px 0!important;}
  .footer-logo{width:210px!important;}
  .footer-socials{gap:10px!important;margin-top:14px!important;}
  .footer-socials a{width:40px!important;height:40px!important;}
  .footer-links-grid{grid-template-columns:1fr 1fr!important;gap:8px 14px!important;}
  .footer-links-grid a{font-size:14px!important;line-height:1.25!important;}
  .footer-info-block p{font-size:14px!important;line-height:1.35!important;}
  .newsletter-form{grid-template-columns:minmax(0,1fr)58px!important;gap:10px!important;}
  .newsletter-form input,.newsletter-form button{height:48px!important;}
  .footer-pro-bottom{display:grid!important;gap:8px!important;text-align:center!important;justify-content:center!important;padding:12px 18px!important;}
}


/* =========================================================
   S2IA V31 — RESTAURATION TOP MENU + BARRE ACTIONS
   ========================================================= */

/* TOP MENU : figé, aligné, logo restauré */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:99999!important;
  width:100%!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(6,26,67,.10)!important;
}
.site-header .top-shell{
  width:min(100%,1880px)!important;
  margin:0 auto!important;
  min-height:92px!important;
  padding:8px 32px!important;
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)64px!important;
  align-items:center!important;
  gap:26px!important;
}
.site-header .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-header .brand img{
  width:330px!important;
  height:74px!important;
  max-width:330px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 5px 14px rgba(0,0,0,.10))!important;
}
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(16px,1.25vw,30px)!important;
  flex-wrap:nowrap!important;
}
.site-header .main-nav a{
  background:transparent!important;
  color:#050505!important;
  box-shadow:none!important;
  border-radius:0!important;
  min-height:42px!important;
  padding:0!important;
  font-size:clamp(15px,.95vw,18px)!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:color .2s ease!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav a.is-active{
  color:#d71920!important;
  background:transparent!important;
  transform:none!important;
  box-shadow:none!important;
}
.nav-toggle{
  width:54px!important;
  height:54px!important;
  border-radius:16px!important;
  background:#071f46!important;
}

/* BARRE ACTIONS : boutons remis et alignés */
.hero-actions{
  width:100%!important;
  background:#050505!important;
  padding:18px 22px 22px!important;
  margin:0!important;
}
.hero-actions-inner{
  width:min(100%,1760px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(250px,330px) minmax(190px,230px) minmax(250px,300px) minmax(300px,390px)!important;
  grid-template-areas:
    "phone register stand email"
    ". countdown countdown ."!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
}
.action-phone{grid-area:phone!important;}
.hero-actions .btn-primary.action-button{grid-area:register!important;}
.hero-actions .btn-secondary.action-button{grid-area:stand!important;}
.action-email{grid-area:email!important;}
.event-countdown{grid-area:countdown!important;}

.action-pill,
.hero-actions .action-button{
  width:100%!important;
  min-height:62px!important;
  border-radius:22px!important;
  padding:0 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  font-size:18px!important;
  line-height:1.1!important;
  font-weight:950!important;
  text-align:center!important;
  white-space:nowrap!important;
  box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
}
.action-pill{
  background:#fff!important;
  color:#071f46!important;
}
.action-pill svg{
  width:25px!important;
  height:25px!important;
  fill:#f26722!important;
}
.hero-actions .btn-primary.action-button{
  background:#0d4da8!important;
  color:#fff!important;
}
.hero-actions .btn-secondary.action-button{
  background:#f26722!important;
  color:#fff!important;
}
.event-countdown{
  width:min(100%,620px)!important;
  min-height:72px!important;
  padding:10px 18px!important;
  border-radius:22px!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
}
.countdown-title{display:none!important;}
.countdown-grid{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}
.flip-tile{
  width:66px!important;
  height:58px!important;
  border-radius:14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
}
.flip-tile b{font-size:26px!important;line-height:1!important;}
.flip-tile small{font-size:9px!important;margin-top:4px!important;}

/* Slider : pas de déformation, flèches visibles */
.slider-stage{
  width:100vw!important;
  height:calc(100vw * 786 / 1999)!important;
  max-height:786px!important;
  min-height:0!important;
  margin:0 calc(50% - 50vw)!important;
  overflow:hidden!important;
  background:#fff!important;
}
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.slider-arrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  background:rgba(255,255,255,.96)!important;
  color:#071f46!important;
}

/* Responsive contrôlé */
@media(max-width:1180px){
  .site-header .top-shell{
    grid-template-columns:300px minmax(0,1fr)56px!important;
    gap:16px!important;
    padding:8px 20px!important;
  }
  .site-header .brand img{
    width:285px!important;
    height:66px!important;
  }
  .site-header .main-nav{gap:14px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .hero-actions-inner{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "phone email"
      "register stand"
      "countdown countdown"!important;
  }
}
@media(max-width:980px){
  .site-header .top-shell{
    grid-template-columns:1fr 54px!important;
    min-height:78px!important;
  }
  .site-header .brand img{
    width:250px!important;
    height:62px!important;
  }
  .site-header .main-nav{
    display:none!important;
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    top:calc(100% + 8px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    background:#fff!important;
    border:1px solid #dfe7f4!important;
    border-radius:18px!important;
    padding:14px!important;
    box-shadow:0 22px 58px rgba(6,26,67,.18)!important;
  }
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:16px!important;
  }
}
@media(max-width:760px){
  .site-header .top-shell{padding:6px 14px!important;}
  .site-header .brand img{
    width:220px!important;
    height:56px!important;
  }
  .hero-actions{
    padding:16px 16px 20px!important;
  }
  .hero-actions-inner{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "phone"
      "register"
      "stand"
      "email"
      "countdown"!important;
    gap:14px!important;
  }
  .action-pill,
  .hero-actions .action-button{
    min-height:66px!important;
    border-radius:24px!important;
    font-size:20px!important;
  }
  .event-countdown{
    width:100%!important;
    min-height:76px!important;
  }
  .countdown-grid{
    gap:7px!important;
    flex-wrap:wrap!important;
  }
  .flip-tile{
    width:56px!important;
    height:56px!important;
  }
  .flip-tile b{font-size:23px!important;}
  .flip-tile small{font-size:8px!important;}
  .slider-stage{
    height:auto!important;
    aspect-ratio:1999/786!important;
  }
  .slide img{
    object-fit:contain!important;
    background:#fff!important;
  }
  .slider-arrow{
    width:38px!important;
    height:38px!important;
    font-size:28px!important;
  }
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}
}


/* =========================================================
   S2IA V32 — Correctifs stricts demandés
   - Compteur déplacé dans le top menu
   - Top menu fixe
   - Logo haut gauche agrandi
   - Barre actions restaurée sans compteur
   - Secteurs : texte sous image avec fond couleur
   ========================================================= */

/* Top menu fixe sur tous terminaux */
html{
  scroll-padding-top:112px!important;
}
body{
  padding-top:104px!important;
}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:999999!important;
  width:100%!important;
  background:#ffffff!important;
  box-shadow:0 10px 30px rgba(6,26,67,.12)!important;
}
.site-header .top-shell{
  width:min(100%,1900px)!important;
  margin:0 auto!important;
  min-height:104px!important;
  padding:8px 28px!important;
  display:grid!important;
  grid-template-columns:430px minmax(0,1fr)300px 60px!important;
  align-items:center!important;
  gap:20px!important;
}
.site-header .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-header .brand img,
.site-header .header-logo-exact{
  width:410px!important;
  height:88px!important;
  max-width:410px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(14px,1.05vw,24px)!important;
  flex-wrap:nowrap!important;
}
.site-header .main-nav a{
  background:transparent!important;
  color:#050505!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:42px!important;
  padding:0!important;
  font-size:clamp(14px,.9vw,17px)!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus,
.site-header .main-nav a.is-active{
  color:#d71920!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Compteur en haut à droite du top menu */
.site-header .header-countdown{
  width:290px!important;
  min-height:48px!important;
  padding:6px 8px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid #e3eaf5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 8px 22px rgba(6,26,67,.12)!important;
  justify-self:end!important;
  grid-column:auto!important;
  grid-area:auto!important;
}
.site-header .header-countdown .countdown-grid{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  flex-wrap:nowrap!important;
}
.site-header .header-countdown .flip-tile{
  width:48px!important;
  height:42px!important;
  min-width:48px!important;
  border-radius:11px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 5px 12px rgba(0,0,0,.12)!important;
}
.site-header .header-countdown .flip-tile b{
  font-size:18px!important;
  line-height:1!important;
}
.site-header .header-countdown .flip-tile small{
  font-size:7px!important;
  margin-top:2px!important;
  line-height:1!important;
}

/* Barre noire sous slider : restaurée sans compteur */
.hero-actions{
  width:100%!important;
  background:#050505!important;
  padding:18px 22px!important;
  margin:0!important;
}
.hero-actions-inner{
  width:min(100%,1660px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(270px,360px) minmax(210px,250px) minmax(270px,330px) minmax(320px,420px)!important;
  grid-template-areas:"phone register stand email"!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
}
.hero-actions .event-countdown{
  display:none!important;
}
.action-phone{grid-area:phone!important;}
.hero-actions .btn-primary.action-button{grid-area:register!important;}
.hero-actions .btn-secondary.action-button{grid-area:stand!important;}
.action-email{grid-area:email!important;}
.action-pill,
.hero-actions .action-button{
  width:100%!important;
  min-height:62px!important;
  border-radius:22px!important;
  padding:0 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
}
.action-pill{
  background:#ffffff!important;
  color:#071f46!important;
}
.action-pill svg{
  width:25px!important;
  height:25px!important;
  fill:#f26722!important;
}
.hero-actions .btn-primary.action-button{
  background:#0d4da8!important;
  color:#ffffff!important;
}
.hero-actions .btn-secondary.action-button{
  background:#f26722!important;
  color:#ffffff!important;
}

/* Titre demandé : suppression effective du texte complémentaire */
.salon-subtitle-colored{
  white-space:normal!important;
  font-size:clamp(22px,1.8vw,34px)!important;
  line-height:1.18!important;
}

/* Secteurs industriels : texte sous l’image, fond couleur par carte */
.sector-black-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:300px!important;
  background:#ffffff!important;
  border-radius:24px!important;
  overflow:hidden!important;
  position:relative!important;
  box-shadow:0 18px 38px rgba(0,0,0,.18)!important;
}
.sector-black-card:after{
  display:none!important;
  content:none!important;
}
.sector-black-visual{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:220px!important;
  flex:0 0 220px!important;
  overflow:hidden!important;
  background:#ffffff!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:brightness(1.16) contrast(1.04) saturate(1.08)!important;
  opacity:1!important;
  display:block!important;
}
.sector-black-card h3{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:2!important;
  min-height:76px!important;
  margin:0!important;
  padding:15px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  color:#ffffff!important;
  text-shadow:none!important;
  font-size:clamp(17px,1.1vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.sector-black-card:nth-child(4n/**/+1) h3{background:#0d4da8!important;}
.sector-black-card:nth-child(4n/**/+2) h3{background:#f26722!important;}
.sector-black-card:nth-child(4n/**/+3) h3{background:#2e8b36!important;}
.sector-black-card:nth-child(4n/**/+4) h3{background:#071f46!important;}

/* Responsive top menu fixe + compteur */
@media(max-width:1450px){
  body{padding-top:116px!important;}
  .site-header .top-shell{
    grid-template-columns:360px minmax(0,1fr)270px 58px!important;
    min-height:116px!important;
    gap:14px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:350px!important;
    height:78px!important;
  }
  .site-header .main-nav{
    gap:12px!important;
  }
  .site-header .main-nav a{
    font-size:13.5px!important;
  }
  .site-header .header-countdown{
    width:260px!important;
  }
  .site-header .header-countdown .flip-tile{
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
  }
}
@media(max-width:1120px){
  body{padding-top:128px!important;}
  .site-header .top-shell{
    grid-template-columns:1fr 58px!important;
    grid-template-areas:
      "brand toggle"
      "countdown countdown"!important;
    min-height:128px!important;
    padding:8px 18px!important;
  }
  .site-header .brand{grid-area:brand!important;}
  .site-header .nav-toggle{grid-area:toggle!important;}
  .site-header .header-countdown{
    grid-area:countdown!important;
    justify-self:center!important;
    width:min(100%,330px)!important;
  }
  .site-header .main-nav{
    display:none!important;
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    top:calc(100% + 8px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    background:#ffffff!important;
    border:1px solid #dfe7f4!important;
    border-radius:18px!important;
    padding:14px!important;
    box-shadow:0 22px 58px rgba(6,26,67,.18)!important;
  }
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{
    width:100%!important;
    min-height:46px!important;
    text-align:center!important;
    font-size:16px!important;
  }
  .hero-actions-inner{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "phone email"
      "register stand"!important;
  }
}
@media(max-width:760px){
  body{padding-top:126px!important;}
  html{scroll-padding-top:126px!important;}
  .site-header .top-shell{
    min-height:126px!important;
    padding:7px 14px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:245px!important;
    height:62px!important;
  }
  .site-header .header-countdown{
    width:100%!important;
    max-width:330px!important;
    min-height:44px!important;
  }
  .site-header .header-countdown .flip-tile{
    width:48px!important;
    min-width:48px!important;
    height:40px!important;
  }
  .hero-actions{
    padding:16px 16px 20px!important;
  }
  .hero-actions-inner{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "phone"
      "register"
      "stand"
      "email"!important;
    gap:14px!important;
  }
  .action-pill,
  .hero-actions .action-button{
    min-height:66px!important;
    border-radius:24px!important;
    font-size:20px!important;
  }
  .sector-black-grid{
    grid-template-columns:1fr!important;
  }
  .sector-black-visual{
    height:210px!important;
    flex-basis:210px!important;
  }
}

/* =========================================================
   S2IA V33 — Correctif STRICTEMENT limité aux popups
   Objectif : popups centrés, haut non coupé, logo visible,
   contenu accessible sur desktop, TV, tablette et mobile.
   ========================================================= */
.premium-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2000000!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:32px 20px!important;
  box-sizing:border-box!important;
}
.premium-modal.is-open,
.premium-modal[aria-hidden="false"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.premium-modal .modal-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
}
.premium-modal .modal-card{
  position:relative!important;
  z-index:1!important;
  width:min(1500px,94vw)!important;
  height:min(760px,calc(100dvh - 64px))!important;
  max-height:calc(100dvh - 64px)!important;
  min-height:0!important;
  margin:auto!important;
  display:grid!important;
  grid-template-columns:minmax(410px,44%) minmax(520px,56%)!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#ffffff!important;
  box-shadow:0 30px 90px rgba(0,0,0,.38)!important;
}
.premium-modal .modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:5!important;
}
.premium-modal .modal-visual{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:34px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.premium-modal .modal-visual img,
.premium-modal .stand-slide{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.premium-modal .modal-form-panel{
  height:100%!important;
  max-height:none!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding:24px 38px 30px!important;
  box-sizing:border-box!important;
  scroll-padding-top:24px!important;
}
.premium-modal .modal-logo{
  display:block!important;
  width:190px!important;
  max-width:60%!important;
  height:auto!important;
  max-height:90px!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto 12px!important;
}
.premium-modal .modal-form-panel h2{
  margin:0 0 10px!important;
  text-align:center!important;
  font-size:clamp(30px,2.7vw,44px)!important;
  line-height:1.08!important;
}
.premium-modal .modal-intro{
  margin:0 auto 16px!important;
  max-width:780px!important;
  text-align:center!important;
  font-size:16px!important;
  line-height:1.4!important;
}
.premium-modal .premium-form{
  padding:22px!important;
  border-radius:22px!important;
  box-sizing:border-box!important;
}
.premium-modal .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.premium-modal .premium-form label{
  margin-bottom:12px!important;
}
.premium-modal .premium-form input,
.premium-modal .premium-form select{
  min-height:48px!important;
  height:48px!important;
  border-radius:15px!important;
  font-size:15px!important;
}
.premium-modal .premium-form textarea{
  min-height:88px!important;
  border-radius:15px!important;
  font-size:15px!important;
}
.premium-modal .modal-submit{
  min-height:52px!important;
  border-radius:16px!important;
  font-size:16px!important;
}
@media(max-height:760px) and (min-width:921px){
  .premium-modal{
    padding:18px 16px!important;
  }
  .premium-modal .modal-card{
    height:calc(100dvh - 36px)!important;
    max-height:calc(100dvh - 36px)!important;
  }
  .premium-modal .modal-form-panel{
    padding:18px 32px 24px!important;
  }
  .premium-modal .modal-logo{
    width:165px!important;
    max-height:76px!important;
    margin-bottom:8px!important;
  }
  .premium-modal .modal-form-panel h2{
    font-size:clamp(28px,2.3vw,38px)!important;
    margin-bottom:8px!important;
  }
  .premium-modal .modal-intro{
    font-size:15px!important;
    margin-bottom:12px!important;
  }
  .premium-modal .premium-form{
    padding:18px!important;
  }
  .premium-modal .premium-form input,
  .premium-modal .premium-form select{
    min-height:44px!important;
    height:44px!important;
  }
  .premium-modal .premium-form textarea{
    min-height:76px!important;
  }
}
@media(max-width:920px){
  .premium-modal{
    padding:12px 10px!important;
  }
  .premium-modal.is-open,
  .premium-modal[aria-hidden="false"]{
    align-items:flex-start!important;
  }
  .premium-modal .modal-card{
    width:min(760px,100%)!important;
    height:auto!important;
    max-height:calc(100dvh - 24px)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .premium-modal .modal-visual{
    height:210px!important;
    min-height:210px!important;
    max-height:210px!important;
    padding:20px!important;
  }
  .premium-modal .modal-form-panel{
    height:auto!important;
    max-height:calc(100dvh - 246px)!important;
    overflow-y:auto!important;
    padding:22px 16px 26px!important;
  }
  .premium-modal .modal-logo{
    width:178px!important;
    max-height:76px!important;
    margin:0 auto 12px!important;
  }
  .premium-modal .modal-form-panel h2{
    font-size:26px!important;
  }
  .premium-modal .modal-intro{
    font-size:15px!important;
  }
  .premium-modal .form-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .premium-modal .premium-form{
    padding:18px!important;
  }
}
@media(max-width:520px){
  .premium-modal{
    padding:8px!important;
  }
  .premium-modal .modal-card{
    max-height:calc(100dvh - 16px)!important;
    border-radius:18px!important;
  }
  .premium-modal .modal-visual{
    height:170px!important;
    min-height:170px!important;
    max-height:170px!important;
    padding:16px!important;
  }
  .premium-modal .modal-visual h3{
    font-size:20px!important;
    line-height:1.12!important;
  }
  .premium-modal .modal-visual p,
  .premium-modal .modal-visual li{
    font-size:12.5px!important;
    line-height:1.32!important;
  }
  .premium-modal .modal-form-panel{
    max-height:calc(100dvh - 186px)!important;
    padding:18px 12px 22px!important;
  }
  .premium-modal .modal-logo{
    width:155px!important;
    max-height:66px!important;
  }
  .premium-modal .modal-form-panel h2{
    font-size:23px!important;
  }
  .premium-modal .modal-intro{
    font-size:13.5px!important;
    margin-bottom:12px!important;
  }
  .premium-modal .premium-form{
    padding:14px!important;
  }
  .premium-modal .premium-form input,
  .premium-modal .premium-form select{
    min-height:46px!important;
    height:46px!important;
  }
  .premium-modal .premium-form textarea{
    min-height:78px!important;
  }
}


/* =========================================================
   S2IA V34 — Sections partenaires et programmes
   ========================================================= */

.compact-strip-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  margin:0 auto 18px!important;
  color:#0d4da8!important;
  text-align:center!important;
}
.compact-strip-title h2{
  margin:0!important;
  color:#0d4da8!important;
  font-size:clamp(22px,1.55vw,34px)!important;
  line-height:1.12!important;
  font-weight:950!important;
}
.compact-strip-title.center-only:before,
.compact-strip-title.center-only:after{
  content:""!important;
  display:block!important;
  width:min(12vw,150px)!important;
  height:3px!important;
  border-radius:999px!important;
}
.compact-strip-title.center-only:before{background:#f26722!important;}
.compact-strip-title.center-only:after{background:#2e8b36!important;}
.strip-arrow{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  border:1px solid #dbe7f7!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  font-size:32px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(6,26,67,.10)!important;
}

/* Partenaires diplomatiques */
.diplomatic-partners-section{
  background:#ffffff!important;
  padding:28px 3vw 30px!important;
  border-top:1px solid #eef3fb!important;
  border-bottom:1px solid #eef3fb!important;
}
.s2ia-strip-inner{
  width:min(100%,1720px)!important;
  margin:0 auto!important;
}
.diplomatic-track{
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:8px 10px 12px!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
.diplomatic-track::-webkit-scrollbar{display:none!important;}
.diplomatic-card{
  flex:0 0 112px!important;
  min-height:112px!important;
  scroll-snap-align:start!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
}
.diplomatic-card img{
  width:62px!important;
  height:62px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  box-shadow:0 8px 18px rgba(6,26,67,.10)!important;
}
.flag-badge{
  width:66px!important;
  height:66px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:44px!important;
  background:#f8fbff!important;
  box-shadow:0 8px 20px rgba(6,26,67,.10)!important;
}
.diplomatic-card strong{
  color:#243b63!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:800!important;
}

/* Thématiques & programme */
.program-themes-section{
  background:#ffffff!important;
  padding:34px 4vw 42px!important;
}
.program-themes-inner{
  width:min(100%,1680px)!important;
  margin:0 auto!important;
}
.program-theme-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:18px!important;
}
.program-theme-card{
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #e0e8f5!important;
  border-radius:16px!important;
  box-shadow:0 12px 26px rgba(6,26,67,.08)!important;
}
.program-theme-image{
  width:100%!important;
  height:108px!important;
  background:#edf4fb!important;
  overflow:hidden!important;
}
.program-theme-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.program-theme-body{
  min-height:78px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  padding:12px 14px!important;
}
.program-theme-body span{
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f7fbff!important;
  color:#f26722!important;
  font-size:24px!important;
  border:1px solid #e1eaf7!important;
}
.program-theme-body h3{
  margin:0!important;
  color:#0d4da8!important;
  font-size:16px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
.program-theme-body p{
  margin:3px 0 0!important;
  color:#384d70!important;
  font-size:13px!important;
  line-height:1.12!important;
  font-weight:700!important;
}

/* Cloud logos : institutions économiques / partenaires */
.partner-logo-cloud-section{
  background:#ffffff!important;
  padding:34px 4vw 38px!important;
  border-top:1px solid #eef3fb!important;
}
.partner-logo-cloud-inner{
  width:min(100%,1660px)!important;
  margin:0 auto!important;
}
.logo-cloud-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  flex-wrap:wrap!important;
}
.logo-cloud-card{
  min-width:160px!important;
  height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 14px!important;
  background:#ffffff!important;
  border-radius:16px!important;
  border:1px solid #e3ebf6!important;
  box-shadow:0 10px 22px rgba(6,26,67,.06)!important;
}
.logo-cloud-card img{
  width:150px!important;
  height:64px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.logo-cloud-card strong{
  color:#0d4da8!important;
  font-size:16px!important;
  font-weight:900!important;
  text-align:center!important;
}
.event-finance-section{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
  padding-top:38px!important;
}
.finance-row{
  gap:24px 34px!important;
}
.finance-card{
  min-width:150px!important;
}

@media(max-width:1280px){
  .program-theme-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .compact-strip-title{
    gap:10px!important;
  }
  .compact-strip-title h2{
    font-size:23px!important;
  }
  .strip-arrow{
    width:34px!important;
    height:34px!important;
  }
  .diplomatic-track{
    gap:16px!important;
  }
  .diplomatic-card{
    flex-basis:92px!important;
  }
  .flag-badge{
    width:58px!important;
    height:58px!important;
    font-size:38px!important;
  }
  .program-theme-grid{
    grid-template-columns:1fr!important;
  }
  .program-theme-image{
    height:150px!important;
  }
  .logo-cloud-row{
    gap:16px!important;
  }
  .logo-cloud-card{
    width:calc(50% - 10px)!important;
    min-width:0!important;
  }
}

/* =========================================================
   S2IA V35 — Ajustements ciblés demandés
   ========================================================= */

/* 1-3. Header : menu plus lisible, logo plus grand, compteur légèrement agrandi */
.site-header .top-shell{
  grid-template-columns:480px minmax(0,1fr)330px 64px!important;
  min-height:116px!important;
  padding:9px 30px!important;
}
.site-header .brand img,
.site-header .header-logo-exact{
  width:455px!important;
  height:96px!important;
  max-width:455px!important;
}
.site-header .main-nav a{
  font-size:clamp(17px,1.06vw,21px)!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
}
.site-header .main-nav{
  gap:clamp(18px,1.35vw,32px)!important;
}
.site-header .header-countdown{
  width:320px!important;
  min-height:56px!important;
  padding:7px 9px!important;
}
.site-header .header-countdown .flip-tile{
  width:54px!important;
  min-width:54px!important;
  height:48px!important;
}
.site-header .header-countdown .flip-tile b{font-size:21px!important;}
.site-header .header-countdown .flip-tile small{font-size:8px!important;}

/* Titre commun au format Portage Institutionnel */
.compact-strip-title h2,
.partner-logo-cloud-section .compact-strip-title h2,
.event-finance-section .compact-strip-title h2,
.event-pillars-section .section-line-title h2,
.event-architecture-section .section-line-title h2{
  margin:0!important;
  color:#0a1d3f!important;
  font-size:clamp(34px,3vw,58px)!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}
.compact-strip-title.center-only:before,
.compact-strip-title.center-only:after,
.section-line-title span{
  width:min(12vw,170px)!important;
  height:4px!important;
  border-radius:999px!important;
}

/* 4. Partenaires diplomatiques : logos pays plus grands + flèches + pastilles */
.diplomatic-partners-section{
  padding:54px 3.5vw 56px!important;
  background:#ffffff!important;
}
.diplomatic-partners-section .compact-strip-title{
  margin-bottom:24px!important;
}
.diplomatic-track{
  gap:34px!important;
  padding:12px 12px 14px!important;
}
.diplomatic-card{
  flex:0 0 145px!important;
  min-height:154px!important;
  gap:12px!important;
}
.diplomatic-card img,
.flag-badge{
  width:92px!important;
  height:92px!important;
  font-size:60px!important;
  border:7px solid #ffffff!important;
  box-shadow:0 14px 34px rgba(6,26,67,.14)!important;
}
.diplomatic-card strong{
  color:#0a1d3f!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
.diplomatic-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin-top:8px!important;
}
.diplomatic-dot{
  width:11px!important;
  height:11px!important;
  border-radius:999px!important;
  border:0!important;
  background:#c9d7e8!important;
  cursor:pointer!important;
  transition:all .22s ease!important;
}
.diplomatic-dot.is-active{
  width:34px!important;
  background:#0d4da8!important;
}
.diplomatic-partners-section .strip-arrow{
  width:46px!important;
  height:46px!important;
  font-size:38px!important;
  color:#0d4da8!important;
}

/* 5. Secteurs industriels : image à gauche, texte vertical/colonne à droite sur fond blanc */
.s2ia-sector-black-grid{
  background:linear-gradient(135deg,#071f46 0%,#092f63 55%,#051a39 100%)!important;
  padding:68px 4vw 78px!important;
}
.sector-black-grid{
  width:min(100%,1680px)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
}
.sector-black-card{
  min-height:180px!important;
  height:180px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)118px!important;
  background:#ffffff!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 22px 52px rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.45)!important;
  position:relative!important;
}
.sector-black-card:before{height:5px!important;z-index:5!important;}
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  position:relative!important;
  inset:auto!important;
  height:100%!important;
  width:100%!important;
  flex:auto!important;
  overflow:hidden!important;
  background:#fff!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.13) contrast(1.05) saturate(1.08)!important;
  display:block!important;
}
.sector-black-card h3{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  min-height:100%!important;
  margin:0!important;
  padding:14px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffffff!important;
  color:#000000!important;
  text-shadow:none!important;
  box-shadow:inset 6px 0 0 var(--sector-color,#0d4da8)!important;
  font-size:clamp(15px,1vw,19px)!important;
  line-height:1.16!important;
  font-weight:950!important;
  text-align:center!important;
  writing-mode:vertical-rl!important;
  transform:rotate(180deg)!important;
}
.sector-black-card:nth-child(4n/**/+1){--sector-color:#0d4da8;}
.sector-black-card:nth-child(4n/**/+2){--sector-color:#f26722;}
.sector-black-card:nth-child(4n/**/+3){--sector-color:#2e8b36;}
.sector-black-card:nth-child(4n/**/+4){--sector-color:#071f46;}

/* 6 & 8. Institutions économiques / partenaires financiers : champs et logos agrandis */
.partner-logo-cloud-section{
  padding:58px 4vw 62px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)!important;
}
.partner-logo-cloud-inner{
  width:min(100%,1740px)!important;
}
.logo-cloud-row{
  gap:26px!important;
  align-items:stretch!important;
}
.logo-cloud-card{
  min-width:250px!important;
  height:142px!important;
  padding:16px 22px!important;
  border-radius:24px!important;
  border:1px solid #dbe6f4!important;
  box-shadow:0 18px 40px rgba(6,26,67,.10)!important;
}
.logo-cloud-card img{
  width:220px!important;
  height:106px!important;
  object-fit:contain!important;
}
.logo-cloud-card strong{
  font-size:20px!important;
  color:#071f46!important;
}
.finance-card{
  min-width:230px!important;
}

/* 7. Architecture globale : cartes agrandies avec vraies images */
.event-architecture-section{
  padding:62px 4vw 70px!important;
  background:#ffffff!important;
}
.event-architecture-inner,
.event-pillars-inner{
  width:min(100%,1760px)!important;
}
.event-architecture-section .section-line-title{
  margin-bottom:34px!important;
}
.architecture-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:26px!important;
}
.architecture-row article{
  min-height:240px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:center!important;
  justify-content:stretch!important;
  padding:18px!important;
  border-radius:28px!important;
  background:#ffffff!important;
  border:1px solid #dce8f6!important;
  box-shadow:0 20px 46px rgba(6,26,67,.10)!important;
}
.architecture-row figure{
  width:190px!important;
  height:178px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#eef4fb!important;
}
.architecture-row figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.architecture-row span{display:none!important;}
.architecture-row strong{
  font-size:clamp(22px,1.45vw,30px)!important;
  line-height:1.18!important;
  text-align:left!important;
  color:#071f46!important;
  font-weight:950!important;
}

/* 9. Grands piliers : cartes plus ergonomiques et lisibles */
.event-pillars-section{
  padding:62px 4vw 76px!important;
  background:#ffffff!important;
}
.event-pillars-section .section-line-title{
  margin-bottom:34px!important;
}
.pillars-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:26px!important;
}
.pillars-row article{
  height:260px!important;
  border-radius:28px!important;
  border:0!important;
  box-shadow:0 22px 52px rgba(6,26,67,.18)!important;
  background-image:linear-gradient(180deg,rgba(6,26,67,.04) 0%,rgba(6,26,67,.28) 42%,rgba(6,26,67,.86) 100%),var(--pillar-img)!important;
  padding:22px!important;
  justify-content:flex-end!important;
}
.pillars-row span{
  width:62px!important;
  height:62px!important;
  font-size:28px!important;
  background:rgba(255,255,255,.95)!important;
  color:#0d4da8!important;
  box-shadow:0 14px 28px rgba(0,0,0,.18)!important;
}
.pillars-row strong{
  font-size:clamp(18px,1.15vw,24px)!important;
  line-height:1.18!important;
  color:#ffffff!important;
  text-shadow:0 5px 16px rgba(0,0,0,.65)!important;
}

/* 10. Mobile : textes plus grands, images plus nettes, ergonomie améliorée */
@media(max-width:1450px){
  .site-header .top-shell{
    grid-template-columns:390px minmax(0,1fr)300px 60px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:370px!important;
    height:82px!important;
  }
  .site-header .main-nav a{font-size:15px!important;}
  .sector-black-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:1180px){
  .architecture-row,.pillars-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .program-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .logo-cloud-card{min-width:220px!important;}
  .sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  body{font-size:17px!important;}
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:265px!important;
    height:66px!important;
  }
  .site-header .main-nav a{font-size:18px!important;}
  .site-header .header-countdown{max-width:360px!important;}
  .site-header .header-countdown .flip-tile{
    width:54px!important;min-width:54px!important;height:44px!important;
  }
  .site-header .header-countdown .flip-tile b{font-size:20px!important;}
  .compact-strip-title h2,
  .partner-logo-cloud-section .compact-strip-title h2,
  .event-finance-section .compact-strip-title h2,
  .event-pillars-section .section-line-title h2,
  .event-architecture-section .section-line-title h2{
    font-size:clamp(29px,8vw,40px)!important;
  }
  .diplomatic-track{gap:20px!important;}
  .diplomatic-card{flex-basis:116px!important;min-height:138px!important;}
  .diplomatic-card img,.flag-badge{width:82px!important;height:82px!important;font-size:52px!important;}
  .diplomatic-card strong{font-size:15px!important;}
  .sector-black-grid{grid-template-columns:1fr!important;}
  .sector-black-card{height:172px!important;grid-template-columns:minmax(0,1fr)104px!important;border-radius:20px!important;}
  .sector-black-card h3{font-size:18px!important;padding:12px 9px!important;}
  .program-theme-grid{grid-template-columns:1fr!important;}
  .program-theme-image{height:185px!important;}
  .program-theme-body h3{font-size:20px!important;}
  .program-theme-body p{font-size:16px!important;}
  .logo-cloud-row{gap:16px!important;}
  .logo-cloud-card{width:100%!important;height:136px!important;min-width:0!important;}
  .logo-cloud-card img{width:230px!important;height:100px!important;}
  .architecture-row,.pillars-row{grid-template-columns:1fr!important;}
  .architecture-row article{grid-template-columns:1fr!important;min-height:auto!important;}
  .architecture-row figure{width:100%!important;height:190px!important;}
  .architecture-row strong{text-align:center!important;font-size:24px!important;}
  .pillars-row article{height:250px!important;}
  .pillars-row strong{font-size:22px!important;}
}


/* =========================================================
   S2IA V36 — Correctifs ciblés demandés
   Header, titres, secteurs, institutions, architecture et piliers
   ========================================================= */

/* Header : logo haut gauche au format du footer, menu rapproché et sans superposition avec le compteur */
.site-header .top-shell{
  width:min(100%,1900px)!important;
  min-height:104px!important;
  padding:8px 24px!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)270px 58px!important;
  align-items:center!important;
  gap:14px!important;
}
.site-header .brand{justify-content:flex-start!important;}
.site-header .brand img,
.site-header .brand img.header-logo-exact,
.site-header .header-logo-exact{
  width:270px!important;
  max-width:270px!important;
  height:auto!important;
  min-height:82px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:#ffffff!important;
  border-radius:18px!important;
  padding:8px!important;
}
.site-header .main-nav{
  justify-content:flex-start!important;
  gap:clamp(10px,.9vw,20px)!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
}
.site-header .main-nav a{
  font-size:clamp(15px,.92vw,18px)!important;
  font-weight:950!important;
  white-space:nowrap!important;
  letter-spacing:-.015em!important;
}
.site-header .header-countdown{
  width:260px!important;
  min-height:52px!important;
  padding:6px 7px!important;
  justify-self:end!important;
}
.site-header .header-countdown .countdown-grid{gap:5px!important;}
.site-header .header-countdown .flip-tile{
  width:46px!important;
  min-width:46px!important;
  height:44px!important;
  border-radius:12px!important;
}
.site-header .header-countdown .flip-tile b{font-size:19px!important;}
.site-header .header-countdown .flip-tile small{font-size:7px!important;}
@media(max-width:1450px){
  .site-header .top-shell{grid-template-columns:270px minmax(0,1fr)248px 54px!important;gap:10px!important;}
  .site-header .brand img,.site-header .brand img.header-logo-exact,.site-header .header-logo-exact{width:248px!important;max-width:248px!important;min-height:76px!important;}
  .site-header .main-nav{gap:10px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .site-header .header-countdown{width:242px!important;}
  .site-header .header-countdown .flip-tile{width:42px!important;min-width:42px!important;height:40px!important;}
}
@media(max-width:1120px){
  .site-header .top-shell{grid-template-columns:1fr 56px!important;grid-template-areas:"brand toggle" "countdown countdown"!important;min-height:128px!important;}
  .site-header .brand{grid-area:brand!important;}
  .site-header .nav-toggle{grid-area:toggle!important;}
  .site-header .header-countdown{grid-area:countdown!important;justify-self:center!important;width:min(100%,320px)!important;}
  .site-header .main-nav{display:none!important;}
  .site-header .main-nav.is-open{display:flex!important;}
}
@media(max-width:760px){
  .site-header .brand img,.site-header .brand img.header-logo-exact,.site-header .header-logo-exact{width:230px!important;max-width:230px!important;min-height:62px!important;}
}

/* Tous les titres listés alignés sur le style de Secteurs industriels exposants */
.compact-strip-title h2,
.salon-presentation-head h2,
.program-themes-section .compact-strip-title h2,
.partner-logo-cloud-section .compact-strip-title h2,
.event-finance-section .compact-strip-title h2,
.event-pillars-section .section-line-title h2,
.event-architecture-section .section-line-title h2,
.diplomatic-partners-section .compact-strip-title h2{
  font-family:inherit!important;
  font-size:clamp(34px,3vw,58px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  text-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
.salon-presentation-head h2,
.compact-strip-title h2,
.partner-logo-cloud-section .compact-strip-title h2,
.event-architecture-section .section-line-title h2,
.event-pillars-section .section-line-title h2{
  color:#071f46!important;
}
.s2ia-section-title-dark h2,
.sector-title-dark h2{color:#ffffff!important;}
.section-line-title span,
.compact-strip-title.center-only:before,
.compact-strip-title.center-only:after{height:4px!important;}

/* Partenaires diplomatiques : drapeaux plus grands + flèches/pastilles visibles */
.diplomatic-card{flex:0 0 150px!important;min-height:158px!important;}
.diplomatic-card img,.flag-badge{width:96px!important;height:96px!important;font-size:62px!important;}
.diplomatic-dots{display:flex!important;justify-content:center!important;gap:8px!important;margin-top:12px!important;}
.diplomatic-dot{width:12px!important;height:12px!important;border-radius:50%!important;background:#c5d4e8!important;border:0!important;}
.diplomatic-dot.is-active{width:34px!important;border-radius:999px!important;background:#0d4da8!important;}

/* Secteurs industriels : image couvrant tout le champ, texte horizontal en bas, blanc avec ombre/contour */
.s2ia-sector-black-grid{background:#071f46!important;padding:68px 4vw 78px!important;}
.sector-black-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px!important;width:min(100%,1680px)!important;margin:0 auto!important;}
.sector-black-card{
  position:relative!important;
  display:block!important;
  height:238px!important;
  min-height:238px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 22px 52px rgba(0,0,0,.26)!important;
  border:1px solid rgba(255,255,255,.60)!important;
}
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:#ffffff!important;}
.sector-black-visual img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:brightness(1.12) contrast(1.04) saturate(1.08)!important;display:block!important;}
.sector-black-card h3{
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  min-height:72px!important;
  margin:0!important;
  padding:14px 18px 18px!important;
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.56) 100%)!important;
  color:#ffffff!important;
  -webkit-text-stroke:.45px rgba(0,0,0,.75)!important;
  text-shadow:0 3px 2px rgba(0,0,0,.95),0 9px 20px rgba(0,0,0,.75)!important;
  font-size:clamp(18px,1.25vw,25px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  text-align:center!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* Institutions économiques : cartes plus grandes avec images d’illustration modifiables */
.economic-logo-section{background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%)!important;padding:62px 4vw 68px!important;}
.economic-image-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;width:min(100%,1540px)!important;margin:0 auto!important;}
.economic-image-card{height:230px!important;min-width:0!important;border-radius:24px!important;overflow:hidden!important;position:relative!important;padding:0!important;background:#ffffff!important;border:1px solid #dbe7f4!important;box-shadow:0 20px 46px rgba(6,26,67,.12)!important;}
.economic-image-card img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:brightness(1.08) contrast(1.03)!important;}
.economic-image-card strong{position:absolute!important;left:16px!important;right:16px!important;bottom:14px!important;background:rgba(255,255,255,.94)!important;color:#071f46!important;border-radius:14px!important;padding:10px 14px!important;text-align:center!important;font-size:20px!important;line-height:1.15!important;font-weight:950!important;box-shadow:0 8px 18px rgba(0,0,0,.10)!important;}

/* Architecture globale : même esprit que Secteurs industriels */
.event-architecture-section{background:#ffffff!important;padding:64px 4vw 72px!important;}
.architecture-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;width:min(100%,1600px)!important;margin:0 auto!important;}
.architecture-row article{position:relative!important;display:block!important;height:240px!important;min-height:240px!important;padding:0!important;border-radius:24px!important;overflow:hidden!important;background:#ffffff!important;border:1px solid #dbe7f4!important;box-shadow:0 20px 46px rgba(6,26,67,.14)!important;}
.architecture-row figure{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;border-radius:0!important;overflow:hidden!important;background:#ffffff!important;}
.architecture-row figure img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:brightness(1.08) contrast(1.04)!important;display:block!important;}
.architecture-row strong{position:absolute!important;left:0!important;right:0!important;bottom:0!important;min-height:70px!important;padding:14px 18px 18px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.58))!important;color:#ffffff!important;text-align:center!important;font-size:clamp(19px,1.25vw,25px)!important;line-height:1.15!important;font-weight:950!important;text-shadow:0 4px 3px rgba(0,0,0,.95),0 10px 20px rgba(0,0,0,.75)!important;-webkit-text-stroke:.4px rgba(0,0,0,.70)!important;}

/* Partenaires Event & institutions financières : champs agrandis, images/photos, flèches + pastilles */
.event-finance-section{background:#ffffff!important;padding:64px 4vw 72px!important;}
.finance-title-with-arrows{gap:20px!important;}
.event-finance-section .strip-arrow{width:46px!important;height:46px!important;font-size:38px!important;flex:0 0 46px!important;}
.finance-row{display:flex!important;align-items:stretch!important;justify-content:flex-start!important;gap:26px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;padding:8px 8px 16px!important;flex-wrap:nowrap!important;}
.finance-row::-webkit-scrollbar{display:none!important;}
.finance-image-card{flex:0 0 300px!important;height:218px!important;min-width:300px!important;position:relative!important;overflow:hidden!important;border-radius:24px!important;padding:0!important;border:1px solid #dbe7f4!important;background:#ffffff!important;box-shadow:0 18px 40px rgba(6,26,67,.12)!important;scroll-snap-align:start!important;}
.finance-image-card img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:brightness(1.08) contrast(1.03)!important;}
.finance-image-card strong{position:absolute!important;left:14px!important;right:14px!important;bottom:14px!important;background:rgba(255,255,255,.95)!important;color:#071f46!important;border-radius:14px!important;padding:10px 12px!important;text-align:center!important;font-size:18px!important;line-height:1.15!important;font-weight:950!important;box-shadow:0 8px 18px rgba(0,0,0,.10)!important;}
.event-finance-dots{display:flex!important;justify-content:center!important;gap:8px!important;margin-top:14px!important;}
.event-finance-dot{width:12px!important;height:12px!important;border-radius:50%!important;border:0!important;background:#c5d4e8!important;cursor:pointer!important;}
.event-finance-dot.is-active{width:34px!important;border-radius:999px!important;background:#0d4da8!important;}

/* Grands piliers : images naturelles, pas de film, texte noir sur fond blanc */
.event-pillars-section{background:#ffffff!important;padding:64px 4vw 76px!important;}
.pillars-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;width:min(100%,1600px)!important;margin:0 auto!important;}
.pillars-row article{position:relative!important;height:270px!important;border-radius:24px!important;overflow:hidden!important;padding:0!important;display:block!important;background-image:var(--pillar-img)!important;background-size:cover!important;background-position:center!important;box-shadow:0 20px 46px rgba(6,26,67,.14)!important;border:1px solid #dbe7f4!important;}
.pillars-row article:before,.pillars-row article:after{display:none!important;content:none!important;}
.pillars-row span{position:absolute!important;left:18px!important;top:18px!important;width:54px!important;height:54px!important;border-radius:14px!important;background:#ffffff!important;color:#0d4da8!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important;font-size:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.pillars-row strong{position:absolute!important;left:14px!important;right:14px!important;bottom:14px!important;background:#ffffff!important;color:#111!important;border-radius:16px!important;padding:12px 14px!important;font-size:18px!important;line-height:1.18!important;font-weight:850!important;text-shadow:none!important;text-align:center!important;box-shadow:0 10px 22px rgba(0,0,0,.12)!important;}

/* Mobile : textes et images plus lisibles */
@media(max-width:1180px){
  .sector-black-grid,.architecture-row,.pillars-row,.economic-image-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .compact-strip-title h2,.salon-presentation-head h2,.program-themes-section .compact-strip-title h2,.partner-logo-cloud-section .compact-strip-title h2,.event-finance-section .compact-strip-title h2,.event-pillars-section .section-line-title h2,.event-architecture-section .section-line-title h2{font-size:clamp(30px,8.2vw,42px)!important;line-height:1.08!important;}
  .sector-black-grid,.architecture-row,.pillars-row,.economic-image-row{grid-template-columns:1fr!important;}
  .sector-black-card,.architecture-row article{height:260px!important;}
  .sector-black-card h3,.architecture-row strong{font-size:22px!important;min-height:76px!important;}
  .economic-image-card{height:240px!important;}
  .finance-image-card{flex-basis:86vw!important;min-width:86vw!important;height:230px!important;}
  .pillars-row article{height:260px!important;}
  .pillars-row strong{font-size:18px!important;}
}


/* =========================================================
   S2IA V37 — Correctifs stricts demandés
   Logo 374x150, titres uniformes, textes hors images,
   flèches/pastilles économiques, meilleure ergonomie menu
   ========================================================= */

/* 1 — Header : logo haut gauche exact 374x150, menu espacé */
body{padding-top:166px!important;}
html{scroll-padding-top:166px!important;}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:999999!important;
  background:#ffffff!important;
}
.site-header .top-shell{
  width:min(100%,1920px)!important;
  min-height:166px!important;
  padding:8px 34px!important;
  display:grid!important;
  grid-template-columns:410px minmax(660px,1fr)290px 62px!important;
  align-items:center!important;
  gap:28px!important;
}
.site-header .brand{
  width:410px!important;
  min-width:410px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-header .brand img,
.site-header .brand img.header-logo-exact,
.site-header .header-logo-exact{
  width:374px!important;
  height:150px!important;
  max-width:374px!important;
  max-height:150px!important;
  min-height:150px!important;
  object-fit:contain!important;
  object-position:left center!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.10))!important;
}
.site-header .main-nav{
  justify-content:flex-start!important;
  gap:clamp(18px,1.35vw,34px)!important;
  padding-left:10px!important;
  padding-right:18px!important;
  flex-wrap:nowrap!important;
}
.site-header .main-nav a{
  font-size:clamp(15px,1vw,19px)!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}
.site-header .header-countdown{
  justify-self:end!important;
  width:280px!important;
  min-height:56px!important;
}
.site-header .header-countdown .countdown-grid{gap:5px!important;}
.site-header .header-countdown .flip-tile{
  width:48px!important;
  min-width:48px!important;
  height:44px!important;
}
.site-header .header-countdown .flip-tile b{font-size:19px!important;}
.site-header .header-countdown .flip-tile small{font-size:7px!important;}

@media(max-width:1540px){
  body{padding-top:132px!important;}
  html{scroll-padding-top:132px!important;}
  .site-header .top-shell{
    min-height:132px!important;
    grid-template-columns:330px minmax(520px,1fr)260px 58px!important;
    gap:18px!important;
    padding:8px 24px!important;
  }
  .site-header .brand,
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:310px!important;
    min-width:310px!important;
    max-width:310px!important;
    height:116px!important;
    max-height:116px!important;
    min-height:116px!important;
  }
  .site-header .main-nav{gap:14px!important;padding-left:6px!important;}
  .site-header .main-nav a{font-size:14px!important;}
  .site-header .header-countdown{width:250px!important;}
  .site-header .header-countdown .flip-tile{width:43px!important;min-width:43px!important;height:40px!important;}
}
@media(max-width:1120px){
  body{padding-top:138px!important;}
  html{scroll-padding-top:138px!important;}
  .site-header .top-shell{
    grid-template-columns:1fr 58px!important;
    grid-template-areas:"brand toggle" "countdown countdown"!important;
    min-height:138px!important;
    padding:8px 18px!important;
  }
  .site-header .brand{grid-area:brand!important;width:auto!important;min-width:0!important;}
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:280px!important;
    min-width:0!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
  }
  .site-header .header-countdown{
    grid-area:countdown!important;
    justify-self:center!important;
    width:min(100%,330px)!important;
  }
  .site-header .nav-toggle{grid-area:toggle!important;}
}
@media(max-width:760px){
  body{padding-top:126px!important;}
  html{scroll-padding-top:126px!important;}
  .site-header .top-shell{min-height:126px!important;padding:7px 14px!important;}
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:238px!important;
    height:74px!important;
    min-height:74px!important;
  }
}

/* 2 — Uniformisation de tous les grands titres, une ligne desktop */
.patronage-main-title,
.s2ia-section-title-dark h2,
.institutional-clean-title h2,
.compact-strip-title h2,
.salon-presentation-head h2,
.section-line-title h2,
.sector-title-dark h2{
  color:#071f46!important;
  font-family:Inter,Arial,Verdana,sans-serif!important;
  font-weight:950!important;
  font-size:clamp(28px,2.55vw,48px)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  text-transform:none!important;
  white-space:nowrap!important;
  text-shadow:0 12px 28px rgba(6,26,67,.10)!important;
}
.s2ia-section-title-dark,
.compact-strip-title,
.section-line-title,
.sector-title-dark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(16px,2.3vw,42px)!important;
  margin-bottom:30px!important;
}
.s2ia-section-title-dark span,
.section-line-title span,
.sector-title-dark span,
.compact-strip-title.center-only:before,
.compact-strip-title.center-only:after{
  width:min(11vw,180px)!important;
  height:4px!important;
  border-radius:999px!important;
}
.s2ia-section-title-dark span:first-child,
.section-line-title .orange-line,
.sector-title-dark span:first-child,
.compact-strip-title.center-only:before{background:#f26722!important;}
.s2ia-section-title-dark span:last-child,
.section-line-title .green-line,
.sector-title-dark span:last-child,
.compact-strip-title.center-only:after{background:#2e8b36!important;}
@media(max-width:1180px){
  .patronage-main-title,
  .s2ia-section-title-dark h2,
  .institutional-clean-title h2,
  .compact-strip-title h2,
  .salon-presentation-head h2,
  .section-line-title h2,
  .sector-title-dark h2{
    white-space:normal!important;
    font-size:clamp(26px,5vw,38px)!important;
  }
}

/* 3 — Partenaires diplomatiques : drapeaux plus grands, flèches/pastilles propres */
.diplomatic-partners-section{padding:38px 3vw 42px!important;}
.diplomatic-track{gap:30px!important;padding:12px 10px 16px!important;}
.diplomatic-card{flex:0 0 132px!important;min-height:142px!important;}
.diplomatic-card img,
.flag-badge{
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  border-radius:50%!important;
}
.flag-badge{font-size:54px!important;}
.diplomatic-card strong{
  font-size:15px!important;
  color:#071f46!important;
  font-weight:850!important;
}
.diplomatic-dots,
.economic-dots,
.event-finance-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:16px!important;
}
.diplomatic-dot,
.economic-dot,
.event-finance-dot{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  border:0!important;
  background:#c9d7ea!important;
  cursor:pointer!important;
}
.diplomatic-dot.is-active,
.economic-dot.is-active,
.event-finance-dot.is-active{
  width:28px!important;
  border-radius:999px!important;
  background:#f26722!important;
}

/* 4 — Secteurs industriels : image haut format large + texte hors image en bas */
.s2ia-sector-black-grid{
  background:#071f46!important;
  padding:60px 4vw 70px!important;
}
.sector-black-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
}
.sector-black-card{
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.95/1!important;
  flex:0 0 auto!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22)!important;
  border:1px solid rgba(255,255,255,.55)!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.06)!important;
}
.sector-black-card h3{
  position:static!important;
  background:transparent!important;
  color:#ffffff!important;
  min-height:auto!important;
  margin:0!important;
  padding:0 8px!important;
  display:block!important;
  text-align:center!important;
  font-size:clamp(17px,1.15vw,21px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.80),
    0 5px 14px rgba(0,0,0,.90)!important;
  box-shadow:none!important;
}
@media(max-width:1180px){.sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){.sector-black-grid{grid-template-columns:1fr!important;}}

/* 5 — Institutions économiques : texte hors image + flèches + pastilles */
.economic-logo-section{background:#ffffff!important;padding:54px 3vw 58px!important;}
.economic-title-with-arrows.center-only:before,
.economic-title-with-arrows.center-only:after{display:none!important;}
.economic-image-row{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  justify-content:flex-start!important;
  gap:28px!important;
  padding:8px 8px 14px!important;
  scrollbar-width:none!important;
}
.economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-image-card{
  flex:0 0 360px!important;
  min-width:360px!important;
  height:auto!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  scroll-snap-align:start!important;
}
.economic-image-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
}
.economic-image-card strong{
  display:block!important;
  color:#071f46!important;
  background:transparent!important;
  text-align:center!important;
  font-size:clamp(17px,1.15vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  padding:0 4px!important;
}

/* 6 — Architecture : texte hors image en bas, texte noir */
.event-architecture-section{background:#ffffff!important;padding:58px 4vw 64px!important;}
.architecture-row{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
}
.architecture-row article{
  min-height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}
.architecture-row figure{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.9/1!important;
  margin:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 16px 34px rgba(6,26,67,.14)!important;
  border:1px solid #dfe8f5!important;
}
.architecture-row figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.05)!important;
}
.architecture-row strong{
  display:block!important;
  color:#090909!important;
  background:transparent!important;
  text-align:center!important;
  font-size:clamp(18px,1.2vw,23px)!important;
  line-height:1.18!important;
  font-weight:850!important;
  text-shadow:none!important;
  padding:0 6px!important;
}
@media(max-width:980px){.architecture-row{grid-template-columns:1fr!important;}}

/* 7 — Partenaires Event : image libre + texte sous l’image, flèches/pastilles */
.event-finance-section{background:#f7fbff!important;padding:58px 3vw 64px!important;}
.finance-title-with-arrows.center-only:before,
.finance-title-with-arrows.center-only:after{display:none!important;}
.finance-row{
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  justify-content:flex-start!important;
  gap:28px!important;
  padding:8px 8px 14px!important;
  scrollbar-width:none!important;
}
.finance-row::-webkit-scrollbar{display:none!important;}
.finance-image-card,
.finance-card{
  flex:0 0 340px!important;
  min-width:340px!important;
  height:auto!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  scroll-snap-align:start!important;
}
.finance-image-card img,
.finance-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
}
.finance-image-card strong,
.finance-card strong{
  display:block!important;
  color:#071f46!important;
  background:transparent!important;
  text-align:center!important;
  font-size:clamp(16px,1.1vw,21px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  padding:0 4px!important;
}

/* 8 — Grands piliers : images naturelles + texte en noir sur fond blanc */
.event-pillars-section{background:#ffffff!important;padding:60px 4vw 72px!important;}
.pillars-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:28px!important;
}
.pillars-row article{
  position:relative!important;
  height:auto!important;
  min-height:auto!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  box-shadow:0 18px 38px rgba(6,26,67,.12)!important;
  display:flex!important;
  flex-direction:column!important;
}
.pillars-row article:before{
  content:""!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.4/1!important;
  background-image:var(--pillar-img)!important;
  background-size:cover!important;
  background-position:center!important;
  filter:none!important;
  opacity:1!important;
}
.pillars-row article:after{display:none!important;content:none!important;}
.pillars-row article span{display:none!important;}
.pillars-row article strong{
  position:static!important;
  background:#ffffff!important;
  color:#111111!important;
  text-shadow:none!important;
  width:100%!important;
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:16px 18px!important;
  font-size:clamp(17px,1.1vw,22px)!important;
  line-height:1.2!important;
  font-weight:850!important;
}
@media(max-width:980px){.pillars-row{grid-template-columns:1fr!important;}}

/* Mobile : conserver la lisibilité */
@media(max-width:760px){
  .diplomatic-card{flex-basis:116px!important;}
  .diplomatic-card img,.flag-badge{width:72px!important;height:72px!important;}
  .program-theme-image{height:auto!important;aspect-ratio:2.55/1!important;}
  .economic-image-card,.finance-image-card,.finance-card{flex-basis:82vw!important;min-width:82vw!important;}
  .sector-black-card h3,.architecture-row strong,.economic-image-card strong,.finance-card strong,.pillars-row article strong{
    font-size:19px!important;
  }
}


/* =========================================================
   S2IA V38 — Correctifs stricts demandés
   Secteurs comme les piliers, 20 secteurs, titres chiffres clés blancs,
   institutions avec textes hors images, menu non réduit.
   ========================================================= */

/* Ne pas réduire le top menu sur desktop */
@media(min-width:1121px){
  .site-header .main-nav a{font-size:clamp(17px,1.05vw,20px)!important;}
  .site-header .main-nav{gap:clamp(18px,1.25vw,30px)!important;}
}

/* Chiffres clés : titre en blanc comme demandé */
.s2ia-keyfig-black .s2ia-section-title-dark h2,
.s2ia-keyfig-black .sector-title-dark h2{
  color:#ffffff!important;
  text-shadow:0 12px 28px rgba(0,0,0,.35)!important;
}
.s2ia-keyfig-black .s2ia-section-title-dark span:first-child{background:#f26722!important;}
.s2ia-keyfig-black .s2ia-section-title-dark span:last-child{background:#2e8b36!important;}

/* Secteurs industriels : image libre + texte hors image, en bas, sans fond */
.s2ia-sector-black-grid .sector-black-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:34px 30px!important;
}
.s2ia-sector-black-grid .sector-black-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:14px!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  color:#ffffff!important;
}
.s2ia-sector-black-grid .sector-black-card:before,
.s2ia-sector-black-grid .sector-black-card:after{display:none!important;content:none!important;}
.s2ia-sector-black-grid .sector-black-visual{
  order:1!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.95/1!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:18px!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22)!important;
}
.s2ia-sector-black-grid .sector-black-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.06)!important;
  opacity:1!important;
}
.s2ia-sector-black-grid .sector-black-card h3{
  order:2!important;
  position:static!important;
  inset:auto!important;
  min-height:auto!important;
  margin:0!important;
  padding:0 8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:block!important;
  color:#ffffff!important;
  text-align:center!important;
  font-size:clamp(17px,1.15vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  text-shadow:0 2px 0 rgba(0,0,0,.88),0 6px 15px rgba(0,0,0,.95)!important;
}
@media(max-width:1320px){.s2ia-sector-black-grid .sector-black-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:980px){.s2ia-sector-black-grid .sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:680px){.s2ia-sector-black-grid .sector-black-grid{grid-template-columns:1fr!important;}}

/* Institutions économiques : textes sous les images, jamais sur les images */
.economic-logo-section .economic-image-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  justify-content:flex-start!important;
  gap:28px!important;
  padding:8px 8px 14px!important;
  scrollbar-width:none!important;
}
.economic-logo-section .economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-logo-section .economic-image-card,
.partner-logo-cloud-section.economic-logo-section .logo-cloud-card.economic-image-card{
  position:relative!important;
  flex:0 0 360px!important;
  min-width:360px!important;
  width:360px!important;
  height:auto!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  scroll-snap-align:start!important;
  overflow:visible!important;
}
.economic-logo-section .economic-image-card img{
  order:1!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
}
.economic-logo-section .economic-image-card strong{
  order:2!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  min-height:auto!important;
  margin:0!important;
  padding:0 6px!important;
  background:transparent!important;
  color:#071f46!important;
  text-align:center!important;
  font-size:clamp(17px,1.15vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  box-shadow:none!important;
  border-radius:0!important;
}
@media(max-width:760px){
  .economic-logo-section .economic-image-card,
  .partner-logo-cloud-section.economic-logo-section .logo-cloud-card.economic-image-card{flex-basis:82vw!important;min-width:82vw!important;width:82vw!important;}
}


/* =========================================================
   S2IA V38 — Corrections strictes : secteurs, institutions,
   titre chiffres clés blanc, menu non réduit
   ========================================================= */

/* Top menu : conserver une taille lisible sans toucher au logo */
.site-header .main-nav a{
  font-size:clamp(17px,1.05vw,21px)!important;
  font-weight:950!important;
}
@media(max-width:1540px){
  .site-header .main-nav a{font-size:16px!important;}
  .site-header .main-nav{gap:clamp(12px,1vw,22px)!important;}
}

/* Chiffres clés : titre blanc sur fond sombre */
.s2ia-keyfig-black .s2ia-section-title-dark h2,
.s2ia-keyfig-black .keyfig-title-dark h2,
.s2ia-keyfig-black h2{
  color:#ffffff!important;
  text-shadow:0 6px 20px rgba(255,255,255,.12)!important;
}
.s2ia-keyfig-black .s2ia-section-title-dark span:first-child{background:#f26722!important;}
.s2ia-keyfig-black .s2ia-section-title-dark span:last-child{background:#2e8b36!important;}

/* Secteurs industriels : présentation type “grands piliers”, 20 secteurs, texte hors image */
.s2ia-sector-black-grid{
  background:#071f46!important;
  padding:62px 4vw 76px!important;
}
.s2ia-sector-inner{
  width:min(100%,1760px)!important;
  margin:0 auto!important;
}
.sector-black-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
}
.sector-black-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  gap:12px!important;
  padding:0!important;
}
.sector-black-card:before,
.sector-black-card:after{
  display:none!important;
  content:none!important;
}
.sector-black-visual{
  position:relative!important;
  order:1!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.65)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.24)!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  filter:brightness(1.1) contrast(1.04) saturate(1.06)!important;
  opacity:1!important;
}
.sector-black-card h3{
  position:static!important;
  order:2!important;
  inset:auto!important;
  transform:none!important;
  min-height:auto!important;
  width:100%!important;
  display:block!important;
  margin:0!important;
  padding:0 8px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#ffffff!important;
  text-align:center!important;
  font-size:clamp(16px,1.05vw,20px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  text-shadow:0 2px 0 rgba(0,0,0,.95),0 7px 18px rgba(0,0,0,.95)!important;
}
@media(max-width:1280px){.sector-black-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:900px){.sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:620px){.sector-black-grid{grid-template-columns:1fr!important;}.sector-black-card h3{font-size:19px!important;}}

/* Institutions économiques : texte strictement sous l’image, jamais superposé */
.economic-image-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:28px!important;
  padding:10px 8px 16px!important;
  scrollbar-width:none!important;
}
.economic-image-row::-webkit-scrollbar{display:none!important;}
.logo-cloud-card.economic-image-card,
.economic-image-card{
  position:relative!important;
  flex:0 0 360px!important;
  min-width:360px!important;
  height:auto!important;
  min-height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
}
.logo-cloud-card.economic-image-card img,
.economic-image-card img{
  order:1!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.12)!important;
}
.logo-cloud-card.economic-image-card strong,
.economic-image-card strong{
  position:static!important;
  order:2!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  background:transparent!important;
  color:#071f46!important;
  text-align:center!important;
  font-size:clamp(17px,1.15vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  margin:0!important;
  padding:0 4px!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
@media(max-width:760px){.logo-cloud-card.economic-image-card,.economic-image-card{flex-basis:82vw!important;min-width:82vw!important;}}


/* =========================================================
   S2IA V38 — Corrections strictes demandées
   Secteurs industriels, titre Chiffres clés, institutions économiques
   ========================================================= */

/* Top menu : ne pas réduire les textes */
.site-header .main-nav a{
  font-size:clamp(17px,1.08vw,20px)!important;
  font-weight:950!important;
}

/* Chiffres clés : titre en blanc sur fond noir */
.s2ia-keyfig-black .s2ia-section-title-dark h2,
.s2ia-keyfig-black .sector-title-dark h2{
  color:#ffffff!important;
  text-shadow:0 10px 26px rgba(0,0,0,.35)!important;
}
.s2ia-keyfig-black .s2ia-section-title-dark span:first-child{background:#f26722!important;}
.s2ia-keyfig-black .s2ia-section-title-dark span:last-child{background:#2e8b36!important;}

/* Secteurs industriels : présentation propre, 20 éléments, image puis texte en bas hors image */
.s2ia-sector-black-grid{
  background:#071f46!important;
  padding:64px 4vw 78px!important;
  overflow:hidden!important;
}
.s2ia-sector-inner{width:min(100%,1780px)!important;margin:0 auto!important;}
.sector-title-dark h2{color:#ffffff!important;text-shadow:0 10px 28px rgba(0,0,0,.22)!important;}
.sector-black-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:30px 34px!important;
  align-items:start!important;
}
.sector-black-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  min-height:0!important;
  height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
  color:#ffffff!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  order:1!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  flex:0 0 auto!important;
  aspect-ratio:2.95/1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 16px 34px rgba(0,0,0,.26)!important;
  border:1px solid rgba(255,255,255,.55)!important;
}
.sector-black-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.06)!important;
  opacity:1!important;
}
.sector-black-card h3{
  order:2!important;
  position:static!important;
  inset:auto!important;
  z-index:1!important;
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:0 8px!important;
  background:transparent!important;
  color:#ffffff!important;
  text-align:center!important;
  font-size:clamp(17px,1.08vw,21px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.85),
    0 5px 14px rgba(0,0,0,.92)!important;
  transform:none!important;
  writing-mode:horizontal-tb!important;
}
@media(max-width:1280px){.sector-black-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:980px){.sector-black-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:680px){.sector-black-grid{grid-template-columns:1fr!important;}.sector-black-card h3{font-size:20px!important;}}

/* Institutions économiques : textes strictement sous les images, jamais sur l’image */
.economic-logo-section .logo-cloud-row,
.economic-logo-section .economic-image-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:28px!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:10px 8px 16px!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
.economic-logo-section .economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-logo-section .logo-cloud-card,
.economic-logo-section .economic-image-card{
  position:relative!important;
  flex:0 0 360px!important;
  min-width:360px!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  scroll-snap-align:start!important;
}
.economic-logo-section .logo-cloud-card img,
.economic-logo-section .economic-image-card img{
  order:1!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
}
.economic-logo-section .logo-cloud-card strong,
.economic-logo-section .economic-image-card strong{
  order:2!important;
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0 4px!important;
  background:transparent!important;
  color:#071f46!important;
  text-align:center!important;
  font-size:clamp(17px,1.12vw,22px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  text-shadow:none!important;
  transform:none!important;
}

/* =========================================================
   S2IA V39 — CORRECTIF STRICTEMENT MOBILE UNIQUEMENT
   Objectif : affichage mobile lisible, slider visible sous le header,
   textes agrandis, sections empilées proprement. Aucun changement desktop.
   ========================================================= */

@media (max-width: 980px){
  html{
    scroll-padding-top: 168px!important;
    overflow-x:hidden!important;
  }
  body{
    padding-top: 168px!important;
    overflow-x:hidden!important;
    font-size:17px!important;
  }

  /* Header mobile : fixe, hauteur cohérente, menu non superposé au slider */
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:999999!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(6,26,67,.14)!important;
  }
  .site-header .top-shell{
    width:100%!important;
    min-height:168px!important;
    padding:8px 16px 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)56px!important;
    grid-template-areas:
      "brand toggle"
      "countdown countdown"!important;
    align-items:center!important;
    gap:8px!important;
  }
  .site-header .brand{
    grid-area:brand!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:min(76vw,300px)!important;
    height:92px!important;
    max-height:92px!important;
    min-height:92px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav-toggle{
    grid-area:toggle!important;
    justify-self:end!important;
    width:52px!important;
    height:52px!important;
    border-radius:16px!important;
  }
  .site-header .header-countdown{
    grid-area:countdown!important;
    justify-self:center!important;
    width:min(100%,390px)!important;
    max-width:390px!important;
    min-height:52px!important;
    padding:6px 8px!important;
    border-radius:18px!important;
  }
  .site-header .header-countdown .countdown-grid{
    gap:6px!important;
    flex-wrap:nowrap!important;
  }
  .site-header .header-countdown .flip-tile{
    width:52px!important;
    min-width:52px!important;
    height:46px!important;
    border-radius:12px!important;
  }
  .site-header .header-countdown .flip-tile b{font-size:20px!important;line-height:1!important;}
  .site-header .header-countdown .flip-tile small{font-size:8px!important;line-height:1!important;}

  /* Menu mobile : texte agrandi, affichage propre quand ouvert */
  .site-header .main-nav{
    display:none!important;
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:176px!important;
    max-height:calc(100dvh - 190px)!important;
    overflow-y:auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    background:#ffffff!important;
    border:1px solid #dfe8f5!important;
    border-radius:20px!important;
    padding:14px!important;
    box-shadow:0 24px 68px rgba(6,26,67,.22)!important;
  }
  .site-header .main-nav.is-open{display:flex!important;}
  .site-header .main-nav a{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:18px!important;
    line-height:1.15!important;
    padding:0 10px!important;
    border-radius:14px!important;
  }

  /* Slider : visible intégralement sous le header fixe */
  .hero-slider{
    display:block!important;
    position:relative!important;
    z-index:1!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    clear:both!important;
  }
  .slider-stage{
    display:block!important;
    width:100vw!important;
    height:auto!important;
    aspect-ratio:1999/786!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 calc(50% - 50vw)!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#ffffff!important;
    transform:none!important;
  }
  .slide{
    position:absolute!important;
    inset:0!important;
    background:#ffffff!important;
  }
  .slide img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#ffffff!important;
    filter:none!important;
    opacity:1!important;
  }
  .slider-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:20!important;
    border-radius:50%!important;
    font-size:30px!important;
    background:rgba(255,255,255,.96)!important;
    color:#071f46!important;
    box-shadow:0 8px 22px rgba(6,26,67,.22)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}

  /* Barre actions mobile : boutons lisibles */
  .hero-actions{padding:16px 14px 20px!important;}
  .hero-actions-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"phone" "register" "stand" "email"!important;
    gap:13px!important;
    width:100%!important;
  }
  .action-pill,
  .hero-actions .action-button{
    min-height:64px!important;
    border-radius:24px!important;
    font-size:19px!important;
    padding:0 16px!important;
    width:100%!important;
  }

  /* Titres et textes mobile : plus lisibles */
  .patronage-main-title,
  .s2ia-section-title-dark h2,
  .institutional-clean-title h2,
  .compact-strip-title h2,
  .salon-presentation-head h2,
  .section-line-title h2,
  .sector-title-dark h2{
    font-size:clamp(27px,7.2vw,40px)!important;
    line-height:1.12!important;
    white-space:normal!important;
    letter-spacing:-.02em!important;
  }
  .salon-subtitle-colored{
    font-size:clamp(22px,6vw,32px)!important;
    line-height:1.18!important;
  }
  .salon-presentation-text p,
  .president-message-card p,
  .strategic-card p,
  .strategic-card li{
    font-size:17px!important;
    line-height:1.72!important;
  }
  .president-message-card h3,
  .salon-audience-panel h4,
  .strategic-card h3,
  .program-theme-body h3{
    font-size:22px!important;
    line-height:1.22!important;
  }

  /* Sections mobiles : empilement propre */
  .patronage-welcome-grid,
  .salon-presentation-grid,
  .strategic-card-grid,
  .program-theme-grid,
  .architecture-row,
  .pillars-row{
    grid-template-columns:1fr!important;
  }
  .salon-audience-panel,
  .president-message-card,
  .strategic-card,
  .program-theme-card,
  .keyfig-premium-card{
    border-radius:22px!important;
  }

  /* Chiffres clés : images/texte plus grands mais sans débordement */
  .keyfig-grid-premium{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .keyfig-premium-icon img{
    height:130px!important;
    object-fit:cover!important;
  }
  .keyfig-premium-card strong{
    font-size:clamp(32px,10vw,46px)!important;
  }
  .keyfig-premium-card p{
    font-size:18px!important;
  }

  /* Cartes secteurs / architecture / piliers : lisibles sur mobile */
  .sector-black-grid,
  .s2ia-sector-black-grid .sector-black-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .sector-black-visual,
  .s2ia-sector-black-grid .sector-black-visual,
  .architecture-row figure,
  .pillars-row article:before{
    aspect-ratio:2.55/1!important;
    min-height:150px!important;
  }
  .sector-black-card h3,
  .s2ia-sector-black-grid .sector-black-card h3,
  .architecture-row strong,
  .economic-image-card strong,
  .finance-card strong,
  .pillars-row article strong{
    font-size:20px!important;
    line-height:1.24!important;
  }

  /* Logos/partenaires : cartes plus confortables */
  .diplomatic-card{flex-basis:118px!important;}
  .diplomatic-card img,
  .flag-badge{width:76px!important;height:76px!important;}
  .diplomatic-card strong{font-size:14px!important;}
  .economic-image-card,
  .finance-image-card,
  .finance-card{
    flex-basis:86vw!important;
    min-width:86vw!important;
    width:86vw!important;
  }
  .economic-image-card img,
  .finance-image-card img,
  .finance-card img{
    aspect-ratio:2.35/1!important;
  }

  /* Footer mobile : lisible et sans grands vides */
  .footer-pro-inner{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .footer-links-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px 16px!important;
  }
  .footer-links-grid a,
  .footer-info-block p,
  .footer-info-block a{
    font-size:16px!important;
    line-height:1.45!important;
  }
}

@media (max-width: 480px){
  html{scroll-padding-top:154px!important;}
  body{padding-top:154px!important;}
  .site-header .top-shell{
    min-height:154px!important;
    padding:7px 12px 9px!important;
  }
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:min(72vw,238px)!important;
    height:72px!important;
    min-height:72px!important;
  }
  .site-header .header-countdown{
    min-height:46px!important;
    max-width:320px!important;
  }
  .site-header .header-countdown .flip-tile{
    width:47px!important;
    min-width:47px!important;
    height:40px!important;
  }
  .site-header .header-countdown .flip-tile b{font-size:18px!important;}
  .site-header .main-nav{top:160px!important;}
  .slider-arrow{width:38px!important;height:38px!important;font-size:27px!important;}
  .action-pill,
  .hero-actions .action-button{min-height:62px!important;font-size:18px!important;}
  .footer-links-grid{grid-template-columns:1fr!important;}
}


/* =========================================================
   S2IA V40 — Mobile first + nouvelles sections
   ========================================================= */

/* Prompt installation application mobile */






.install-btn{
  border:0!important;
  background:#0d4da8!important;
  color:#fff!important;
  min-height:38px!important;
  border-radius:14px!important;
  padding:0 14px!important;
  font-weight:900!important;
}
.install-close{
  width:34px!important;height:34px!important;border-radius:50%!important;border:0!important;background:#eef4fb!important;color:#071f46!important;font-size:22px!important;font-weight:900!important;
}

/* Nouvelles sections desktop/tablette/TV */
.s2ia-showcase-section,
.world-chambers-section{
  padding:58px 4vw 70px!important;
  background:#ffffff!important;
}
.s2ia-showcase-inner,
.world-chambers-inner{
  width:min(100%,1720px)!important;
  margin:0 auto!important;
}
.showcase-card-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:26px!important;
}
.profile-card{
  border:1px solid #dfe8f5!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 18px 42px rgba(6,26,67,.12)!important;
  display:flex!important;
  flex-direction:column!important;
  text-decoration:none!important;
  color:#071f46!important;
}
.profile-card img{
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  filter:brightness(1.04) contrast(1.03) saturate(1.05)!important;
}
.profile-card-body{
  padding:18px 20px 22px!important;
  text-align:center!important;
  background:#ffffff!important;
}
.profile-card-body h3,
.profile-card-body strong{
  margin:0!important;
  color:#071f46!important;
  font-size:clamp(19px,1.2vw,24px)!important;
  line-height:1.15!important;
  font-weight:950!important;
  display:block!important;
}
.profile-card-body p,
.profile-card-body em{
  margin:8px 0 0!important;
  color:#263b5d!important;
  font-style:normal!important;
  font-size:clamp(15px,.95vw,18px)!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.leader-card{
  cursor:pointer!important;
  border:1px solid #dfe8f5!important;
  text-align:inherit!important;
  font:inherit!important;
}
.leader-card:hover{transform:translateY(-3px)!important;box-shadow:0 24px 52px rgba(6,26,67,.16)!important;}

.world-chambers-viewport{
  position:relative!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)54px!important;
  gap:18px!important;
  align-items:center!important;
}
.world-chambers-track{
  display:flex!important;
  gap:22px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  padding:8px 4px 18px!important;
  scrollbar-width:none!important;
}
.world-chambers-track::-webkit-scrollbar{display:none!important;}
.world-chamber-card{
  flex:0 0 280px!important;
  scroll-snap-align:start!important;
  border-radius:22px!important;
  border:1px solid #dfe8f5!important;
  background:#ffffff!important;
  box-shadow:0 16px 36px rgba(6,26,67,.10)!important;
  padding:22px 18px!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:16px!important;
  min-height:230px!important;
}
.world-chamber-card img{
  width:100%!important;
  height:90px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#ffffff!important;
}
.world-chamber-card h3{
  margin:0!important;
  color:#071f46!important;
  font-size:17px!important;
  line-height:1.28!important;
  font-weight:850!important;
}
.world-chamber-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:14px!important;
}
.world-chamber-dot{
  width:10px!important;height:10px!important;border:0!important;border-radius:50%!important;background:#c8d7ea!important;cursor:pointer!important;
}
.world-chamber-dot.is-active{
  width:30px!important;border-radius:999px!important;background:#f26722!important;
}
.leader-info-card{max-width:880px!important;}
.leader-modal-image{
  width:100%!important;
  max-height:380px!important;
  object-fit:cover!important;
  border-radius:22px!important;
  margin-bottom:22px!important;
}
.leader-modal-subtitle{
  font-weight:900!important;
  color:#0d4da8!important;
}

/* Responsive desktop/laptop pour nouvelles sections */
@media(max-width:1280px){
  .showcase-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:980px){
  .showcase-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* MOBILE / TABLETTE : traiter uniquement affichage mobile/tablette */
@media(max-width:1024px){
  body{
    padding-top:112px!important;
    overflow-x:hidden!important;
  }
  html{
    scroll-padding-top:112px!important;
    overflow-x:hidden!important;
  }
  .site-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:999999!important;
    background:#ffffff!important;
    box-shadow:0 8px 30px rgba(6,26,67,.14)!important;
  }
  .site-header .top-shell{
    min-height:112px!important;
    width:100%!important;
    padding:10px 16px!important;
    display:grid!important;
    grid-template-columns:1fr 58px!important;
    grid-template-areas:"brand toggle"!important;
    gap:10px!important;
    align-items:center!important;
  }
  .site-header .brand{
    grid-area:brand!important;
    width:auto!important;
    min-width:0!important;
    justify-content:flex-start!important;
  }
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:min(72vw,320px)!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .header-countdown{
    display:none!important;
  }
  .site-header .nav-toggle{
    grid-area:toggle!important;
    width:56px!important;
    height:56px!important;
    border-radius:17px!important;
    background:#071f46!important;
    z-index:1000001!important;
  }
  .site-header .main-nav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(88vw,420px)!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:118px 24px 30px!important;
    background:linear-gradient(180deg,#071f46 0%,#0d4da8 100%)!important;
    border:0!important;
    border-radius:28px 0 0 28px!important;
    box-shadow:-30px 0 70px rgba(0,0,0,.38)!important;
    transform:translateX(110%)!important;
    transition:transform .32s ease!important;
    z-index:1000000!important;
    overflow-y:auto!important;
  }
  .site-header .main-nav.is-open{
    transform:translateX(0)!important;
  }
  .site-header .main-nav a{
    width:100%!important;
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 18px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.12)!important;
    color:#ffffff!important;
    font-size:20px!important;
    font-weight:950!important;
    text-align:left!important;
    box-shadow:none!important;
  }
  .site-header .main-nav a.is-active,
  .site-header .main-nav a:hover{
    background:#ffffff!important;
    color:#f26722!important;
  }
  body.mobile-nav-open{
    overflow:hidden!important;
  }

  /* Slider mobile grand format */
  .hero-slider{
    margin-top:0!important;
    background:#ffffff!important;
  }
  .slider-stage{
    width:100vw!important;
    height:72vh!important;
    min-height:520px!important;
    max-height:760px!important;
    aspect-ratio:auto!important;
    margin:0 calc(50% - 50vw)!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:#071f46!important;
  }
  .slide img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .slider-arrow{
    width:48px!important;
    height:48px!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.95)!important;
    color:#071f46!important;
    font-size:34px!important;
    z-index:5!important;
  }
  .slider-arrow.prev{left:12px!important;}
  .slider-arrow.next{right:12px!important;}
  .slider-dots{
    bottom:16px!important;
    transform:translateX(-50%) scale(1.08)!important;
  }

  /* actions et contenu mobile */
  .hero-actions{padding:18px 16px!important;}
  .hero-actions-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
  }
  .action-pill,.hero-actions .action-button{
    width:100%!important;
    min-height:64px!important;
    border-radius:22px!important;
    font-size:20px!important;
  }
  .section-line-title h2,
  .compact-strip-title h2,
  .s2ia-section-title-dark h2,
  .institutional-clean-title h2,
  .patronage-main-title,
  .sector-title-dark h2{
    font-size:clamp(30px,7.6vw,42px)!important;
    line-height:1.08!important;
    white-space:normal!important;
  }
  p, li{
    font-size:18px!important;
    line-height:1.65!important;
  }
  .salon-presentation-text p,
  .president-message-card p,
  .strategic-card p{
    font-size:18px!important;
    line-height:1.75!important;
  }

  /* Popups mobile/tablette non coupés */
  .premium-modal{
    position:fixed!important;
    inset:0!important;
    overflow-y:auto!important;
    padding:14px 10px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overscroll-behavior:contain!important;
  }
  .premium-modal.is-open,
  .premium-modal[aria-hidden="false"]{
    display:flex!important;
  }
  .premium-modal .modal-card{
    width:100%!important;
    max-width:760px!important;
    max-height:none!important;
    min-height:auto!important;
    margin:0 auto 18px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .premium-modal .modal-visual{
    min-height:260px!important;
    max-height:none!important;
    height:34vh!important;
    padding:20px!important;
  }
  .premium-modal .modal-form-panel{
    padding:24px 18px 30px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .premium-modal .modal-logo{
    width:220px!important;
    max-width:75%!important;
    margin:0 auto 18px!important;
    display:block!important;
  }
  .premium-modal .modal-form-panel h2{
    font-size:clamp(30px,8vw,44px)!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .premium-modal .modal-intro{
    font-size:18px!important;
    line-height:1.45!important;
    text-align:center!important;
  }
  .premium-modal .form-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .premium-modal .premium-form input,
  .premium-modal .premium-form select,
  .premium-modal .premium-form textarea{
    min-height:58px!important;
    border-radius:18px!important;
    font-size:17px!important;
  }
  .premium-modal .modal-submit{
    min-height:64px!important;
    font-size:19px!important;
    border-radius:20px!important;
  }

  /* Sections nouvelles et existantes en mobile */
  .s2ia-showcase-section,
  .world-chambers-section,
  .program-themes-section,
  .partner-logo-cloud-section,
  .event-architecture-section,
  .event-pillars-section,
  .s2ia-sector-black-grid{
    padding:42px 18px 52px!important;
  }
  .showcase-card-grid,
  .sector-black-grid,
  .program-theme-grid,
  .architecture-row,
  .pillars-row{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .profile-card img,
  .sector-black-visual,
  .architecture-row figure,
  .pillars-row article:before,
  .program-theme-image{
    min-height:240px!important;
  }
  .profile-card-body h3,
  .profile-card-body strong,
  .world-chamber-card h3,
  .sector-black-card h3,
  .architecture-row strong,
  .pillars-row article strong,
  .program-theme-body h3{
    font-size:22px!important;
    line-height:1.2!important;
  }
  .profile-card-body p,
  .profile-card-body em,
  .program-theme-body p{
    font-size:17px!important;
  }
  .world-chambers-viewport{
    grid-template-columns:42px minmax(0,1fr)42px!important;
    gap:8px!important;
  }
  .world-chamber-card{
    flex-basis:78vw!important;
    min-height:250px!important;
  }
  .world-chamber-card img{
    height:120px!important;
  }
  
}
@media(max-width:520px){
  body{padding-top:104px!important;}
  html{scroll-padding-top:104px!important;}
  .site-header .top-shell{min-height:104px!important;padding:8px 12px!important;}
  .site-header .brand img,
  .site-header .brand img.header-logo-exact,
  .site-header .header-logo-exact{
    width:min(74vw,280px)!important;
    height:82px!important;
    min-height:82px!important;
  }
  .slider-stage{
    height:68vh!important;
    min-height:470px!important;
  }
  .site-header .main-nav{
    width:92vw!important;
    padding-top:108px!important;
  }
  
  .install-btn{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:44px!important;
  }
  .install-close{
    grid-column:3!important;
    grid-row:1!important;
  }
}


/* =========================================================
   S2IA V41 — Correctif strict : Slider + Chambres partenaires
   ========================================================= */

/* Slider : les nouvelles bannières sont au format 1999x786 optimisé */
.slider-stage{
  width:100vw!important;
  height:calc(100vw * 786 / 1999)!important;
  max-height:786px!important;
  min-height:360px!important;
  margin:0 calc(50% - 50vw)!important;
  overflow:hidden!important;
  background:#ffffff!important;
}
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#ffffff!important;
}
@media(max-width:760px){
  .slider-stage{
    min-height:430px!important;
    height:64vh!important;
    max-height:680px!important;
    aspect-ratio:auto!important;
  }
}

/* Chambres de commerce & d’industrie : correction de l’affichage cassé */
.world-chambers-section{
  padding:54px 4vw 62px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f6f9fe 100%)!important;
  overflow:hidden!important;
}
.world-chambers-inner{
  width:min(100%,1720px)!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.world-chambers-section .section-line-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,2.4vw,44px)!important;
  margin:0 0 28px!important;
  width:100%!important;
}
.world-chambers-section .section-line-title h2{
  margin:0!important;
  color:#071f46!important;
  font-size:clamp(30px,2.35vw,46px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.world-chambers-section .section-line-title span{
  flex:0 0 min(13vw,180px)!important;
  height:4px!important;
  border-radius:999px!important;
}
.world-chambers-viewport{
  width:100%!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)54px!important;
  align-items:center!important;
  gap:18px!important;
  min-height:0!important;
  position:relative!important;
}
.world-chambers-viewport .strip-arrow{
  position:relative!important;
  z-index:5!important;
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  border:0!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  font-size:38px!important;
  box-shadow:0 12px 28px rgba(6,26,67,.14)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.world-chambers-track{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 110px) / 6)!important;
  gap:22px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  padding:10px 4px 18px!important;
  scrollbar-width:none!important;
  min-height:0!important;
  align-items:stretch!important;
}
.world-chambers-track::-webkit-scrollbar{display:none!important;}
.world-chamber-card{
  scroll-snap-align:start!important;
  width:auto!important;
  min-width:0!important;
  min-height:190px!important;
  height:auto!important;
  border-radius:20px!important;
  border:1px solid #dfe8f5!important;
  background:#ffffff!important;
  box-shadow:0 14px 32px rgba(6,26,67,.10)!important;
  padding:18px 14px 16px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  text-align:center!important;
  overflow:hidden!important;
}
.world-chamber-card img{
  width:100%!important;
  height:82px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:#ffffff!important;
  flex:0 0 auto!important;
}
.world-chamber-card h3{
  margin:0!important;
  padding:0!important;
  color:#071f46!important;
  font-size:clamp(14px,.9vw,17px)!important;
  line-height:1.22!important;
  font-weight:850!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.world-chamber-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:16px 0 0!important;
  min-height:12px!important;
  flex-wrap:wrap!important;
}
.world-chamber-dot{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  border:0!important;
  padding:0!important;
  background:#c9d7ea!important;
  cursor:pointer!important;
}
.world-chamber-dot.is-active{
  width:30px!important;
  border-radius:999px!important;
  background:#0d4da8!important;
}
@media(max-width:1280px){
  .world-chambers-track{grid-auto-columns:calc((100% - 66px) / 4)!important;}
  .world-chambers-section .section-line-title h2{white-space:normal!important;}
}
@media(max-width:820px){
  .world-chambers-viewport{grid-template-columns:44px minmax(0,1fr)44px!important;gap:10px!important;}
  .world-chambers-viewport .strip-arrow{width:42px!important;height:42px!important;font-size:32px!important;}
  .world-chambers-track{grid-auto-columns:78vw!important;gap:16px!important;}
  .world-chamber-card{min-height:210px!important;padding:20px 16px!important;}
  .world-chamber-card img{height:96px!important;max-height:96px!important;}
  .world-chamber-card h3{font-size:18px!important;}
}


/* =========================================================
   S2IA V42 — Correctif strict Slider uniquement
   Objectif : restaurer l'affichage desktop et mobile sans toucher aux autres sections.
   ========================================================= */
html,body{overflow-x:hidden!important;}
.hero-slider{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#ffffff!important;
  overflow:hidden!important;
  line-height:0!important;
}
.slider-stage{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:1999/786!important;
  max-height:786px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#ffffff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transform:none!important;
}
.slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#ffffff!important;
  transform:none!important;
}
.slider-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:0!important;
  background:rgba(255,255,255,.96)!important;
  color:#071f46!important;
  box-shadow:0 12px 28px rgba(6,26,67,.18)!important;
  opacity:1!important;
  visibility:visible!important;
}
.slider-arrow.prev{left:18px!important;right:auto!important;}
.slider-arrow.next{right:18px!important;left:auto!important;}
.slider-arrow:hover{transform:translateY(-50%) scale(1.04)!important;}

@media(min-width:2000px){
  .slider-stage{
    height:786px!important;
    aspect-ratio:auto!important;
  }
}

@media(max-width:760px){
  .hero-slider{
    width:100%!important;
    margin:0!important;
    background:#ffffff!important;
    overflow:hidden!important;
  }
  .slider-stage{
    width:100%!important;
    height:clamp(230px,58vw,360px)!important;
    min-height:230px!important;
    max-height:360px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    background:#ffffff!important;
  }
  .slide img{
    object-fit:contain!important;
    object-position:center center!important;
    background:#ffffff!important;
  }
  .slider-arrow{
    width:40px!important;
    height:40px!important;
    font-size:28px!important;
    top:50%!important;
  }
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}
}

/* =========================================================
   S2IA V43 — Correctifs demandés : institutions, chambres, speakers
   ========================================================= */

/* Institutions Africaines d’intégration économiques : 20 éléments, images lisibles, texte sous image */
.economic-logo-section .compact-strip-title h2{
  white-space:nowrap!important;
  color:#071f46!important;
}
.economic-logo-section .logo-cloud-row,
.economic-logo-section .economic-image-row{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 96px) / 5)!important;
  gap:24px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  padding:14px 8px 22px!important;
  scrollbar-width:none!important;
  justify-content:start!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:1680px!important;
  margin:0 auto!important;
}
.economic-logo-section .logo-cloud-row::-webkit-scrollbar,
.economic-logo-section .economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-logo-section .logo-cloud-card,
.economic-logo-section .economic-image-card{
  scroll-snap-align:start!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  min-height:270px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  box-shadow:0 18px 40px rgba(6,26,67,.12)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  overflow:hidden!important;
}
.economic-logo-section .logo-cloud-card img,
.economic-logo-section .economic-image-card img{
  width:100%!important;
  height:150px!important;
  aspect-ratio:auto!important;
  border-radius:18px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#ffffff!important;
  border:1px solid #edf3fb!important;
  box-shadow:none!important;
  padding:10px!important;
}
.economic-logo-section .logo-cloud-card strong,
.economic-logo-section .economic-image-card strong{
  position:static!important;
  display:block!important;
  width:100%!important;
  background:transparent!important;
  color:#071f46!important;
  box-shadow:none!important;
  padding:0!important;
  text-align:center!important;
  font-size:clamp(18px,1.05vw,22px)!important;
  line-height:1.16!important;
  font-weight:950!important;
  white-space:normal!important;
}
.economic-logo-section .strip-arrow{display:flex!important;}
.economic-dots{display:flex!important;justify-content:center!important;gap:9px!important;margin-top:10px!important;}
.economic-dot{width:11px!important;height:11px!important;border-radius:50%!important;background:#c5d7ee!important;border:0!important;}
.economic-dot.is-active{width:30px!important;border-radius:999px!important;background:#0d4da8!important;}

/* Chambres de commerce : vignettes et textes agrandis */
.world-chambers-section .section-line-title h2{
  font-size:clamp(34px,2.55vw,52px)!important;
  white-space:nowrap!important;
}
.world-chambers-track{
  grid-auto-columns:calc((100% - 72px) / 4)!important;
  gap:24px!important;
  padding:14px 8px 24px!important;
}
.world-chamber-card{
  min-height:310px!important;
  padding:26px 20px 24px!important;
  border-radius:26px!important;
  box-shadow:0 20px 48px rgba(6,26,67,.14)!important;
}
.world-chamber-card img{
  width:170px!important;
  max-width:82%!important;
  height:128px!important;
  object-fit:contain!important;
  margin-bottom:18px!important;
}
.world-chamber-card h3{
  font-size:clamp(19px,1.2vw,24px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
}

/* Speakers & orateurs : 30 éléments, 5 par ligne desktop, textes plus visibles */
.speakers-orators-section .section-line-title h2{
  white-space:nowrap!important;
}
.speakers-grid,
.showcase-card-grid.speakers-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:26px!important;
  align-items:stretch!important;
}
.speakers-grid .profile-card{
  min-height:360px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 18px 42px rgba(6,26,67,.14)!important;
}
.speakers-grid .profile-card img{
  height:190px!important;
  width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.speakers-grid .profile-card-body{
  padding:20px 18px 22px!important;
  min-height:152px!important;
}
.speakers-grid .profile-card-body h3{
  font-size:clamp(20px,1.15vw,24px)!important;
  line-height:1.15!important;
  font-weight:950!important;
  color:#071f46!important;
}
.speakers-grid .profile-card-body p{
  font-size:clamp(15px,.9vw,18px)!important;
  line-height:1.32!important;
  font-weight:800!important;
  color:#18355f!important;
}

@media(max-width:1380px){
  .speakers-grid,.showcase-card-grid.speakers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .economic-logo-section .logo-cloud-row,.economic-logo-section .economic-image-row{grid-auto-columns:calc((100% - 48px) / 3)!important;}
  .world-chambers-track{grid-auto-columns:calc((100% - 48px) / 3)!important;}
}
@media(max-width:900px){
  .speakers-grid,.showcase-card-grid.speakers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .economic-logo-section .logo-cloud-row,.economic-logo-section .economic-image-row{grid-auto-columns:calc((100% - 24px) / 2)!important;}
  .world-chambers-track{grid-auto-columns:calc((100% - 24px) / 2)!important;}
  .world-chambers-section .section-line-title h2,.economic-logo-section .compact-strip-title h2{white-space:normal!important;}
}
@media(max-width:620px){
  .speakers-grid,.showcase-card-grid.speakers-grid{grid-template-columns:1fr!important;}
  .economic-logo-section .logo-cloud-row,.economic-logo-section .economic-image-row{grid-auto-columns:82vw!important;}
  .world-chambers-track{grid-auto-columns:82vw!important;}
  .world-chamber-card{min-height:300px!important;}
}


/* =========================================================
   S2IA V44 — Correctifs ciblés demandés
   Chiffres clés style cartes financières, chambres images seules,
   institutions africaines style thématiques, slider full screen,
   responsive mobile et ajustement images admin.
   ========================================================= */

/* Slider full screen : suppression de tout cadrage centré/coupé */
.hero-slider{
  width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.slider-stage{
  width:100vw!important;
  margin:0!important;
  height:calc(100vw * 786 / 1999)!important;
  max-height:786px!important;
  min-height:430px!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#fff!important;
}
.slide,
.slide.is-active{
  width:100%!important;
  height:100%!important;
}
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff!important;
}
.slider-arrow{
  z-index:25!important;
  width:50px!important;
  height:50px!important;
  top:50%!important;
  border-radius:50%!important;
}
.slider-arrow.prev{left:24px!important;}
.slider-arrow.next{right:24px!important;}

/* Chiffres clés : même logique que les cartes Institutions financières partenaires */
.s2ia-keyfig-black{
  background:
    radial-gradient(circle at 12% 0%, rgba(46,139,54,.16), transparent 24%),
    radial-gradient(circle at 88% 0%, rgba(242,103,34,.14), transparent 26%),
    linear-gradient(135deg,#05070b 0%,#111820 48%,#07090d 100%)!important;
  padding:64px 4vw 76px!important;
}
.s2ia-keyfig-inner{
  width:min(100%,1720px)!important;
}
.keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
}
.keyfig-premium-card{
  min-height:0!important;
  border-radius:24px!important;
  background:#ffffff!important;
  color:#071f46!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  box-shadow:0 20px 44px rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.70)!important;
}
.keyfig-premium-card:before{display:none!important;content:none!important;}
.keyfig-premium-icon{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.72/1!important;
  margin:0!important;
  border-radius:0!important;
  background:#f8fbff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:block!important;
}
.keyfig-premium-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.keyfig-premium-card strong{
  display:block!important;
  margin:0!important;
  padding:24px 18px 6px!important;
  color:#000!important;
  font-size:clamp(32px,2.8vw,48px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  text-align:center!important;
}
.keyfig-premium-card p{
  margin:0!important;
  padding:0 18px 30px!important;
  color:#000!important;
  font-size:clamp(17px,1.12vw,22px)!important;
  line-height:1.22!important;
  font-weight:900!important;
  text-align:center!important;
}

/* Chambres de commerce : uniquement images/logos, champs plus bas et uniformisés */
.world-chambers-section{
  padding:52px 3vw 60px!important;
  background:#ffffff!important;
}
.world-chambers-inner{
  width:min(100%,1760px)!important;
}
.world-chambers-viewport{
  grid-template-columns:54px minmax(0,1fr)54px!important;
  gap:18px!important;
  align-items:center!important;
}
.world-chambers-track{
  gap:24px!important;
  padding:8px 4px 10px!important;
}
.world-chamber-card{
  flex:0 0 300px!important;
  width:300px!important;
  height:155px!important;
  min-height:155px!important;
  padding:0!important;
  border-radius:22px!important;
  overflow:hidden!important;
  display:block!important;
  border:1px solid #dfe8f5!important;
  background:#ffffff!important;
  box-shadow:0 18px 38px rgba(6,26,67,.10)!important;
}
.world-chamber-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:#ffffff!important;
}
.world-chamber-card h3,
.world-chamber-card strong,
.world-chamber-card p,
.world-chamber-card span{
  display:none!important;
}

/* Institutions Africaines d’intégration économiques : même esprit que Thématiques & programme */
.economic-logo-section{
  background:#ffffff!important;
  padding:56px 4vw 64px!important;
}
.economic-image-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
  width:min(100%,1680px)!important;
  margin:0 auto!important;
  overflow:visible!important;
  scrollbar-width:auto!important;
  scroll-snap-type:none!important;
}
.economic-image-card{
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  position:relative!important;
  padding:0!important;
  background:#ffffff!important;
  border:1px solid #e0e8f5!important;
  box-shadow:0 12px 26px rgba(6,26,67,.08)!important;
  display:flex!important;
  flex-direction:column!important;
}
.economic-image-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2.55/1!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.05)!important;
  display:block!important;
  border-radius:0!important;
}
.economic-image-card strong{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:78px!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  border-radius:0!important;
  padding:14px 18px!important;
  text-align:center!important;
  font-size:clamp(17px,1vw,21px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  box-shadow:none!important;
}
.economic-dots,
.economic-title-with-arrows .strip-arrow{
  display:none!important;
}

/* Images dans l’Admin : vignettes/aperçus ajustés proprement */
.admin-table img,
.table-icon,
.table-icon.wide,
.preview,
.icon-preview{
  object-fit:contain!important;
  object-position:center!important;
  background:#ffffff!important;
}
.table-icon.wide{
  width:120px!important;
  height:72px!important;
  border-radius:10px!important;
  padding:5px!important;
}
.preview.icon-preview,
.preview{
  max-width:260px!important;
  max-height:160px!important;
  width:auto!important;
  height:auto!important;
  border-radius:14px!important;
}

/* Responsive mobile/tablette : lisibilité et non-débordement */
@media(max-width:1180px){
  .slider-stage{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1999/786!important;
  }
  .keyfig-grid-premium{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .economic-image-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .slider-stage{
    width:100vw!important;
    margin:0!important;
    aspect-ratio:1.05/1!important;
    height:auto!important;
    min-height:420px!important;
    max-height:none!important;
  }
  .slide img{
    object-fit:cover!important;
    object-position:center center!important;
  }
  .slider-arrow{
    width:42px!important;
    height:42px!important;
  }
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}

  .s2ia-keyfig-black{
    padding:42px 16px 52px!important;
  }
  .keyfig-grid-premium{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .keyfig-premium-card strong{
    font-size:38px!important;
  }
  .keyfig-premium-card p{
    font-size:19px!important;
  }

  .world-chambers-section{
    padding:42px 16px 50px!important;
  }
  .world-chambers-viewport{
    grid-template-columns:42px minmax(0,1fr)42px!important;
    gap:8px!important;
  }
  .world-chamber-card{
    flex-basis:230px!important;
    width:230px!important;
    height:124px!important;
    min-height:124px!important;
  }
  .world-chamber-card img{
    object-fit:cover!important;
  }

  .economic-logo-section{
    padding:42px 16px 50px!important;
  }
  .economic-image-row{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .economic-image-card img{
    aspect-ratio:2.2/1!important;
  }
  .economic-image-card strong{
    font-size:20px!important;
    min-height:auto!important;
  }
}

/* =========================================================
   S2IA V45 — Corrections strictes demandées
   Chiffres clés / Secteurs / Institutions économiques en style Speakers,
   suppression blocs stratégiques, slider full screen 1999x786,
   uniformisation des grands titres.
   ========================================================= */

/* Slider : pleine largeur, ratio exact 1999x786, sans cadrage centré */
.hero-slider{
  width:100vw!important;
  max-width:none!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border-radius:0!important;
}
.slider-stage{
  width:100vw!important;
  max-width:none!important;
  height:calc(100vw * 786 / 1999)!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1999/786!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#ffffff!important;
}
.slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:#ffffff!important;
}
.slider-arrow{
  z-index:40!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:50px!important;
  height:50px!important;
}
.slider-arrow.prev{left:22px!important;right:auto!important;}
.slider-arrow.next{right:22px!important;left:auto!important;}

/* Suppression visuelle stricte de la zone stratégique indiquée */
.strategic-cards-section{display:none!important;}

/* Uniformisation des grands titres concernés : même esprit que Secteurs industriels */
.institutional-clean-title h2,
.diplomatic-partners-section .compact-strip-title h2,
.salon-presentation-head h2,
.program-themes-section .compact-strip-title h2,
.economic-logo-section .compact-strip-title h2,
.event-architecture-section .section-line-title h2,
.event-finance-section .compact-strip-title h2,
.event-pillars-section .section-line-title h2,
.state-heads-section .section-line-title h2,
.world-chambers-section .section-line-title h2,
.financial-partners-section .section-line-title h2,
.speakers-orators-section .section-line-title h2{
  font-family:Inter, Arial, Verdana, sans-serif!important;
  color:#071f46!important;
  font-size:clamp(32px,3vw,56px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-shadow:0 12px 28px rgba(6,26,67,.10)!important;
}
.institutional-clean-title,
.diplomatic-partners-section .compact-strip-title,
.salon-presentation-head,
.program-themes-section .compact-strip-title,
.economic-logo-section .compact-strip-title,
.event-architecture-section .section-line-title,
.event-finance-section .compact-strip-title,
.event-pillars-section .section-line-title,
.state-heads-section .section-line-title,
.world-chambers-section .section-line-title,
.financial-partners-section .section-line-title,
.speakers-orators-section .section-line-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,2.4vw,42px)!important;
  margin-bottom:34px!important;
}
.section-line-title span,
.compact-strip-title.center-only:before,
.compact-strip-title.center-only:after,
.s2ia-section-title-dark span{
  height:4px!important;
  border-radius:999px!important;
}
@media(max-width:1180px){
  .institutional-clean-title h2,
  .diplomatic-partners-section .compact-strip-title h2,
  .salon-presentation-head h2,
  .program-themes-section .compact-strip-title h2,
  .economic-logo-section .compact-strip-title h2,
  .event-architecture-section .section-line-title h2,
  .event-finance-section .compact-strip-title h2,
  .event-pillars-section .section-line-title h2,
  .state-heads-section .section-line-title h2,
  .world-chambers-section .section-line-title h2,
  .financial-partners-section .section-line-title h2,
  .speakers-orators-section .section-line-title h2{
    white-space:normal!important;
    font-size:clamp(28px,6vw,42px)!important;
  }
}

/* Chiffres clés : même présentation que Speakers & orateurs + fond orange du logo */
.s2ia-keyfig-black{
  background:
    radial-gradient(circle at 10% 0%, rgba(255,255,255,.20), transparent 24%),
    linear-gradient(135deg,#f26722 0%,#ff7a2b 42%,#de5417 100%)!important;
  padding:64px 4vw 74px!important;
}
.s2ia-keyfig-inner{width:min(100%,1720px)!important;margin:0 auto!important;}
.s2ia-keyfig-black .s2ia-section-title-dark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,2.4vw,42px)!important;
  margin-bottom:34px!important;
}
.s2ia-keyfig-black .s2ia-section-title-dark h2{
  color:#ffffff!important;
  font-family:Inter,Arial,Verdana,sans-serif!important;
  font-size:clamp(32px,3vw,56px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}
.s2ia-keyfig-black .s2ia-section-title-dark span:first-child{background:#ffffff!important;opacity:.95!important;}
.s2ia-keyfig-black .s2ia-section-title-dark span:last-child{background:#2e8b36!important;}
.keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:26px!important;
  align-items:stretch!important;
  width:min(100%,1720px)!important;
  margin:0 auto!important;
}
.keyfig-premium-card{
  border:1px solid #dfe8f5!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 18px 42px rgba(6,26,67,.18)!important;
  display:flex!important;
  flex-direction:column!important;
  text-decoration:none!important;
  color:#071f46!important;
  min-height:360px!important;
  padding:0!important;
}
.keyfig-premium-icon{
  width:100%!important;
  height:190px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#eef4fb!important;
  box-shadow:none!important;
}
.keyfig-premium-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.04) contrast(1.03) saturate(1.05)!important;
}
.keyfig-premium-card strong{
  margin:0!important;
  padding:22px 16px 6px!important;
  display:block!important;
  color:#071f46!important;
  font-size:clamp(28px,2.3vw,42px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  text-shadow:none!important;
}
.keyfig-premium-card p{
  margin:0!important;
  padding:0 16px 24px!important;
  color:#18355f!important;
  font-size:clamp(16px,1vw,20px)!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-align:center!important;
}

/* Secteurs industriels : même logique que Speakers & orateurs + fond vert pomme du logo, sans toucher aux images elles-mêmes */
.s2ia-sector-black-grid{
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.20), transparent 24%),
    linear-gradient(135deg,#2e8b36 0%,#45b449 46%,#1f7e2d 100%)!important;
  padding:64px 4vw 78px!important;
}
.s2ia-sector-inner{width:min(100%,1720px)!important;margin:0 auto!important;}
.s2ia-sector-black-grid .s2ia-section-title-dark h2,
.s2ia-sector-black-grid .sector-title-dark h2{
  color:#ffffff!important;
  font-family:Inter,Arial,Verdana,sans-serif!important;
  font-size:clamp(32px,3vw,56px)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}
.s2ia-sector-black-grid .s2ia-section-title-dark span:first-child{background:#f26722!important;}
.s2ia-sector-black-grid .s2ia-section-title-dark span:last-child{background:#ffffff!important;opacity:.95!important;}
.sector-black-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:26px!important;
  align-items:stretch!important;
  width:min(100%,1720px)!important;
  margin:0 auto!important;
}
.sector-black-card{
  border:1px solid #dfe8f5!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 18px 42px rgba(6,26,67,.18)!important;
  display:flex!important;
  flex-direction:column!important;
  text-decoration:none!important;
  color:#071f46!important;
  min-height:360px!important;
  padding:0!important;
  position:relative!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  width:100%!important;
  height:190px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#eef4fb!important;
  box-shadow:none!important;
  position:static!important;
  inset:auto!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.04) contrast(1.03) saturate(1.05)!important;
  opacity:1!important;
}
.sector-black-card h3{
  position:static!important;
  inset:auto!important;
  margin:0!important;
  padding:22px 18px 24px!important;
  min-height:150px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffffff!important;
  color:#071f46!important;
  text-align:center!important;
  font-size:clamp(19px,1.15vw,24px)!important;
  line-height:1.15!important;
  font-weight:950!important;
  text-shadow:none!important;
  box-shadow:none!important;
}

/* Institutions Africaines d’intégration économiques : style Speakers, images seules, sans titres ni textes */
.economic-logo-section{
  background:#ffffff!important;
  padding:60px 4vw 70px!important;
}
.economic-logo-section .partner-logo-cloud-inner{width:min(100%,1720px)!important;margin:0 auto!important;}
.economic-image-row{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:26px!important;
  align-items:stretch!important;
  width:min(100%,1720px)!important;
  margin:0 auto!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
}
.economic-image-card,
.partner-logo-cloud-section.economic-logo-section .logo-cloud-card.economic-image-card{
  border:1px solid #dfe8f5!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:0 18px 42px rgba(6,26,67,.12)!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  min-height:250px!important;
  padding:0!important;
  position:relative!important;
}
.economic-image-card img{
  width:100%!important;
  height:250px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  filter:brightness(1.05) contrast(1.03) saturate(1.06)!important;
}
.economic-image-card strong,
.economic-image-card h3,
.economic-image-card p,
.economic-image-card span:not(.flag-badge){
  display:none!important;
}
.economic-dots,
.economic-title-with-arrows .strip-arrow{display:none!important;}

/* Responsive : garder le rendu propre sur tablette/mobile */
@media(max-width:1380px){
  .keyfig-grid-premium,
  .sector-black-grid,
  .economic-image-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .keyfig-premium-card,
  .sector-black-card{min-height:340px!important;}
}
@media(max-width:900px){
  .keyfig-grid-premium,
  .sector-black-grid,
  .economic-image-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .slider-stage{height:calc(100vw * 786 / 1999)!important;min-height:300px!important;}
}
@media(max-width:620px){
  .keyfig-grid-premium,
  .sector-black-grid,
  .economic-image-row{grid-template-columns:1fr!important;}
  .keyfig-premium-icon,
  .sector-black-visual{height:210px!important;}
  .economic-image-card img{height:220px!important;}
  .keyfig-premium-card,
  .sector-black-card{min-height:0!important;}
  .sector-black-card h3{min-height:auto!important;font-size:21px!important;}
  .keyfig-premium-card strong{font-size:38px!important;}
  .keyfig-premium-card p{font-size:19px!important;}
  .slider-stage{min-height:260px!important;}
}

/* =========================================================
   S2IA V46 — Corrections strictes secteurs / institutions / chambres / slider
   ========================================================= */

/* Slider : plein écran, aucune marge latérale, ratio bannières 1999x786 */
.hero-slider{
  width:100vw!important;
  max-width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border-radius:0!important;
  line-height:0!important;
}
.slider-stage{
  width:100vw!important;
  max-width:100vw!important;
  height:calc(100vw * 786 / 1999)!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:1999/786!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#ffffff!important;
}
.slider-stage .slide,
.slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.slider-stage .slide img,
.slider-stage [data-slide] img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:#ffffff!important;
}
.slider-arrow{
  z-index:60!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;
  color:#071f46!important;
  box-shadow:0 14px 32px rgba(6,26,67,.22)!important;
}
.slider-arrow.prev{left:24px!important;right:auto!important;}
.slider-arrow.next{right:24px!important;left:auto!important;}

/* Secteurs industriels exposants : même logique que Speakers, 2 lignes + défilement */
.s2ia-sector-black-grid{
  background:#39a64a!important;
  padding:64px 4vw 76px!important;
  overflow:hidden!important;
}
.s2ia-sector-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.sector-carousel-viewport{
  position:relative!important;
  width:min(100%,1780px)!important;
  margin:0 auto!important;
  padding:0 66px!important;
}
.sector-black-grid{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(2,auto)!important;
  grid-auto-columns:calc((100% - 112px) / 5)!important;
  grid-template-columns:none!important;
  gap:30px 28px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:6px 0 14px!important;
}
.sector-black-grid::-webkit-scrollbar{display:none!important;}
.sector-black-card{
  min-height:430px!important;
  height:auto!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #dbe7f4!important;
  box-shadow:0 18px 42px rgba(6,26,67,.18)!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  scroll-snap-align:start!important;
  color:#071f46!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  width:100%!important;
  height:225px!important;
  min-height:225px!important;
  flex:0 0 225px!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
  box-shadow:none!important;
  border:0!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.06)!important;
  display:block!important;
}
.sector-black-card h3{
  position:static!important;
  width:100%!important;
  min-height:150px!important;
  margin:0!important;
  padding:24px 20px 26px!important;
  background:#ffffff!important;
  color:#071f46!important;
  text-align:center!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  font-size:clamp(21px,1.25vw,29px)!important;
  line-height:1.14!important;
  font-weight:950!important;
  text-shadow:none!important;
  box-shadow:none!important;
  white-space:normal!important;
}
.sector-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:6!important;
  width:54px!important;
  height:54px!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  box-shadow:0 16px 34px rgba(6,26,67,.22)!important;
}
.sector-prev{left:0!important;}
.sector-next{right:0!important;}
.sector-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:20px auto 0!important;
}
.sector-dot{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  border:0!important;
  background:rgba(255,255,255,.58)!important;
  cursor:pointer!important;
}
.sector-dot.is-active{
  width:32px!important;
  border-radius:999px!important;
  background:#ffffff!important;
}

/* Institutions Africaines d’intégration économiques : images seules, plein écran, flèches + pastilles */
.economic-logo-section{
  width:100vw!important;
  max-width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  padding:58px 0 62px!important;
  background:#ffffff!important;
  overflow:hidden!important;
}
.economic-logo-section .partner-logo-cloud-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.economic-logo-section .economic-title-with-arrows{
  width:min(100%,1780px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 32px!important;
}
.economic-image-row{
  width:min(100%,1780px)!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:8px 66px 16px!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-columns:none!important;
  grid-auto-columns:calc((100% - 120px) / 5)!important;
  gap:30px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  justify-content:start!important;
  align-items:stretch!important;
}
.economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-image-card{
  min-width:0!important;
  width:auto!important;
  height:170px!important;
  min-height:170px!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid #dbe7f4!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
  overflow:hidden!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  scroll-snap-align:start!important;
}
.economic-image-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
  display:block!important;
}
.economic-image-card strong,
.economic-image-card h3,
.economic-image-card p,
.economic-image-card span:not(.sr-only){
  display:none!important;
}
.economic-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:16px auto 0!important;
}
.economic-dot{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  border:0!important;
  background:#c7d7ec!important;
  cursor:pointer!important;
}
.economic-dot.is-active{
  width:32px!important;
  border-radius:999px!important;
  background:#0d4da8!important;
}

/* Chambres de commerce : bloc full width, images/logos uniquement, champs allongés */
.world-chambers-section{
  width:100vw!important;
  max-width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  padding:58px 0 64px!important;
  background:#ffffff!important;
  overflow:hidden!important;
}
.world-chambers-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.world-chambers-section .section-line-title{
  width:min(100%,1780px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 32px!important;
}
.world-chambers-viewport{
  position:relative!important;
  width:min(100%,1780px)!important;
  margin:0 auto!important;
  padding:0 66px!important;
}
.world-chambers-track{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-columns:none!important;
  grid-auto-columns:360px!important;
  gap:30px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:8px 0 14px!important;
  justify-content:start!important;
}
.world-chambers-track::-webkit-scrollbar{display:none!important;}
.world-chamber-card{
  width:360px!important;
  height:150px!important;
  min-height:150px!important;
  border-radius:22px!important;
  background:#ffffff!important;
  border:1px solid #dbe7f4!important;
  box-shadow:0 16px 34px rgba(6,26,67,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:16px 24px!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
}
.world-chamber-card img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.world-chamber-card h3,
.world-chamber-card strong,
.world-chamber-card p,
.world-chamber-card span:not(.sr-only){display:none!important;}
.world-chamber-dots{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:16px auto 0!important;
}
.world-chamber-dot{
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  border:0!important;
  background:#c7d7ec!important;
  cursor:pointer!important;
}
.world-chamber-dot.is-active{
  width:32px!important;
  border-radius:999px!important;
  background:#0d4da8!important;
}

@media(max-width:1320px){
  .sector-black-grid{grid-auto-columns:calc((100% - 56px) / 3)!important;}
  .economic-image-row{grid-auto-columns:calc((100% - 60px) / 3)!important;}
  .world-chambers-track{grid-auto-columns:320px!important;}
  .world-chamber-card{width:320px!important;}
}
@media(max-width:900px){
  .slider-stage{height:auto!important;aspect-ratio:1999/786!important;}
  .slider-stage .slide img,.slider-stage [data-slide] img{object-fit:contain!important;}
  .slider-arrow{width:42px!important;height:42px!important;}
  .slider-arrow.prev{left:10px!important;}
  .slider-arrow.next{right:10px!important;}
  .sector-carousel-viewport,.world-chambers-viewport{padding:0 52px!important;}
  .sector-black-grid{grid-auto-columns:80vw!important;grid-template-rows:repeat(2,auto)!important;gap:22px!important;}
  .sector-black-card{min-height:360px!important;}
  .sector-black-visual{height:190px!important;min-height:190px!important;flex-basis:190px!important;}
  .sector-black-card h3{font-size:22px!important;min-height:124px!important;padding:22px 16px!important;}
  .economic-image-row{grid-auto-columns:78vw!important;padding-left:52px!important;padding-right:52px!important;}
  .economic-image-card{height:150px!important;}
  .world-chambers-track{grid-auto-columns:78vw!important;}
  .world-chamber-card{width:78vw!important;height:138px!important;}
}

/* =========================================================
   S2IA V47 — Corrections strictes demandées
   ========================================================= */

/* Slider : plein écran strict, ratio bannières 1999x786, pas de centrage coupé */
.hero-slider{
  width:100vw!important;
  max-width:100vw!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
}
.slider-stage{
  width:100vw!important;
  max-width:100vw!important;
  height:calc(100vw * 786 / 1999)!important;
  max-height:none!important;
  min-height:0!important;
  aspect-ratio:1999/786!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#ffffff!important;
}
.slider-stage .slide,
.slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.slider-stage .slide img,
.slider-stage [data-slide] img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
.slider-arrow{
  z-index:80!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  border:2px solid rgba(13,77,168,.12)!important;
  box-shadow:0 16px 34px rgba(6,26,67,.24)!important;
}
.slider-arrow.prev{left:24px!important;right:auto!important;}
.slider-arrow.next{right:24px!important;left:auto!important;}

/* Partenaires diplomatiques -> Pays participants et portage diplomatique : noms sous drapeaux */
.diplomatic-partners-section .compact-strip-title h2{
  color:#071f46!important;
}
.diplomatic-track{
  align-items:flex-start!important;
  gap:32px!important;
}
.diplomatic-card{
  min-height:136px!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.diplomatic-card strong{
  display:block!important;
  color:#071f46!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:850!important;
  text-align:center!important;
  max-width:118px!important;
}

/* Présentation salon : titre demandé, champ texte réduit, bouton En savoir+ */
.salon-presentation-head h2{
  color:#071f46!important;
  font-weight:950!important;
  text-align:center!important;
  font-size:clamp(30px,2.7vw,52px)!important;
  line-height:1.05!important;
  margin-bottom:18px!important;
}
.salon-presentation-grid{
  grid-template-columns:minmax(0,1fr) 420px!important;
  gap:32px!important;
  align-items:stretch!important;
}
.salon-presentation-text{
  max-height:none!important;
  padding:34px 38px!important;
}
.salon-presentation-text p{
  font-size:17px!important;
  line-height:1.75!important;
  font-family:Verdana,Arial,sans-serif!important;
  text-align:justify!important;
}
.salon-readmore-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 28px!important;
  margin-top:20px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0d4da8!important;
  color:#ffffff!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 14px 30px rgba(13,77,168,.22)!important;
}
.salon-presentation-modal-card{
  max-width:960px!important;
}
.salon-presentation-modal-card p{
  font-size:18px!important;
  line-height:1.75!important;
  text-align:justify!important;
}

/* Secteurs industriels : 2 lignes par page, flèches centrées, étiquettes blanches arrondies, texte noir */
.s2ia-sector-black-grid{
  background:#39a64a!important;
  padding:64px 0 80px!important;
  overflow:hidden!important;
}
.s2ia-sector-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
}
.s2ia-sector-black-grid .s2ia-section-title-dark,
.s2ia-sector-black-grid .sector-title-dark{
  width:min(100%,1720px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 32px!important;
}
.s2ia-sector-black-grid .s2ia-section-title-dark h2,
.s2ia-sector-black-grid .sector-title-dark h2{
  color:#ffffff!important;
  font-size:clamp(34px,3vw,58px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  white-space:nowrap!important;
  text-shadow:0 10px 26px rgba(0,0,0,.20)!important;
}
.sector-carousel-viewport{
  position:relative!important;
  width:min(100%,1840px)!important;
  margin:0 auto!important;
  padding:0 92px!important;
  overflow:visible!important;
}
.sector-carousel-track,
.sector-black-grid.sector-carousel-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-flow:unset!important;
  grid-auto-columns:unset!important;
}
.sector-carousel-track::-webkit-scrollbar{display:none!important;}
.sector-page{
  flex:0 0 100%!important;
  min-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,auto)!important;
  gap:34px 34px!important;
  align-items:start!important;
  scroll-snap-align:start!important;
  padding:4px 4px 8px!important;
  box-sizing:border-box!important;
}
.sector-black-card{
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:0!important;
  position:relative!important;
  color:#071f46!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  flex:0 0 auto!important;
  aspect-ratio:1.85/1!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.86)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.15)!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.06)!important;
  opacity:1!important;
}
.sector-black-card h3{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  min-height:68px!important;
  margin:0!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:#071f46!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:clamp(17px,1vw,22px)!important;
  line-height:1.15!important;
  font-weight:850!important;
  text-shadow:none!important;
  box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
  white-space:normal!important;
  overflow:visible!important;
}
.sector-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:10!important;
  width:62px!important;
  height:62px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#eef6ff 100%)!important;
  color:#0d4da8!important;
  border:3px solid rgba(255,255,255,.95)!important;
  font-size:42px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 16px 34px rgba(0,0,0,.20)!important;
}
.sector-arrow:hover{background:#f26722!important;color:#ffffff!important;}
.sector-prev{left:16px!important;}
.sector-next{right:16px!important;}
.sector-dots{margin-top:24px!important;}
.sector-dot{background:rgba(255,255,255,.58)!important;}
.sector-dot.is-active{background:#ffffff!important;}

/* Partenaires institutionnels : titre renommé, images seules conservées */
.economic-logo-section .compact-strip-title h2{
  color:#071f46!important;
}

/* Fonds des sections demandées sans toucher aux vignettes */
.speakers-orators-section{
  background:#123f73!important;
}
.state-heads-section{
  background:#5f6368!important;
}
.financial-partners-section{
  background:#f6aa54!important;
}
.event-pillars-section{
  background:#d3d3d3!important;
}

/* Titres sur fonds colorés : garder les traits et titres lisibles */
.speakers-orators-section .section-line-title h2,
.state-heads-section .section-line-title h2,
.financial-partners-section .section-line-title h2,
.event-pillars-section .section-line-title h2{
  color:#ffffff!important;
  text-shadow:0 10px 24px rgba(0,0,0,.20)!important;
}
.event-pillars-section .section-line-title h2{color:#071f46!important;text-shadow:none!important;}

@media(max-width:1320px){
  .sector-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,auto)!important;}
}
@media(max-width:900px){
  .slider-stage{height:auto!important;aspect-ratio:1999/786!important;min-height:280px!important;}
  .slider-stage .slide img,.slider-stage [data-slide] img{object-fit:contain!important;background:#ffffff!important;}
  .sector-carousel-viewport{padding:0 64px!important;}
  .sector-page{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;}
  .sector-arrow{width:52px!important;height:52px!important;border-radius:16px!important;font-size:34px!important;}
}
@media(max-width:640px){
  .salon-presentation-grid{grid-template-columns:1fr!important;}
  .salon-presentation-head h2{font-size:30px!important;}
  .salon-presentation-text{padding:24px 20px!important;}
  .salon-presentation-text p{font-size:16px!important;line-height:1.65!important;}
  .sector-carousel-viewport{padding:0 48px!important;}
  .sector-page{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:24px!important;}
  .sector-black-visual{aspect-ratio:1.85/1!important;}
  .sector-black-card h3{font-size:20px!important;}
  .sector-prev{left:8px!important;}.sector-next{right:8px!important;}
}

/* =========================================================
   S2IA V48 — corrections ciblées : secteurs, présentation, partenaires institutionnels
   ========================================================= */

/* Présentation du salon : éviter tout débordement et rendre le texte lisible */
.salon-presentation-section{
  overflow:hidden!important;
  padding:64px 4vw 72px!important;
  background:#ffffff!important;
}
.salon-presentation-inner{
  width:min(100%,1680px)!important;
  margin:0 auto!important;
}
.salon-presentation-head{
  max-width:100%!important;
  padding:0 12px!important;
  margin:0 auto 34px!important;
  text-align:center!important;
  overflow:hidden!important;
}
.salon-presentation-head h2{
  display:block!important;
  width:100%!important;
  max-width:1540px!important;
  margin:0 auto 18px!important;
  color:#071f46!important;
  font-size:clamp(32px,2.35vw,48px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
}
.salon-presentation-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;
  gap:34px!important;
  align-items:start!important;
}
.salon-presentation-text{
  min-height:auto!important;
  max-height:none!important;
  padding:34px 38px!important;
  border-radius:28px!important;
  background:#f8fbff!important;
  border:1px solid #dce7f5!important;
  box-shadow:0 16px 34px rgba(6,26,67,.08)!important;
}
.salon-presentation-text p{
  font-family:Verdana,Arial,sans-serif!important;
  font-size:19px!important;
  line-height:1.78!important;
  color:#071f46!important;
  text-align:justify!important;
  margin:0!important;
}
.salon-readmore-btn{
  position:relative!important;
  margin-top:22px!important;
  min-height:54px!important;
  padding:0 30px!important;
  border-radius:18px!important;
  font-size:18px!important;
}

/* Secteurs industriels exposants : vignettes propres type speakers, image en haut + texte en bas */
.s2ia-sector-black-grid{
  background:#39a64a!important;
  padding:64px 0 82px!important;
  overflow:hidden!important;
}
.s2ia-sector-inner{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.s2ia-sector-black-grid .sector-title-dark{
  width:min(100%,1720px)!important;
  margin:0 auto 40px!important;
  padding:0 32px!important;
}
.s2ia-sector-black-grid .sector-title-dark h2{
  color:#ffffff!important;
  text-shadow:0 9px 24px rgba(0,0,0,.18)!important;
  white-space:normal!important;
}
.sector-carousel-viewport{
  position:relative!important;
  width:min(100%,1840px)!important;
  margin:0 auto!important;
  padding:0 92px!important;
  overflow:visible!important;
}
.sector-carousel-track,
.sector-black-grid.sector-carousel-track{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:0!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:0!important;
  margin:0!important;
}
.sector-carousel-track::-webkit-scrollbar{display:none!important;}
.sector-page{
  flex:0 0 100%!important;
  min-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,auto)!important;
  gap:34px 34px!important;
  align-items:stretch!important;
  scroll-snap-align:start!important;
  padding:2px 4px 8px!important;
  box-sizing:border-box!important;
}
.sector-black-card{
  min-height:360px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 18px 38px rgba(0,0,0,.16)!important;
  padding:0!important;
  gap:0!important;
  position:relative!important;
}
.sector-black-card:before,
.sector-black-card:after{display:none!important;content:none!important;}
.sector-black-visual{
  width:100%!important;
  height:auto!important;
  flex:0 0 auto!important;
  aspect-ratio:1.55/1!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:0!important;
  box-shadow:none!important;
}
.sector-black-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:brightness(1.08) contrast(1.03) saturate(1.05)!important;
  opacity:1!important;
}
.sector-black-card h3{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  min-height:116px!important;
  flex:1 1 auto!important;
  margin:0!important;
  padding:20px 18px!important;
  border-radius:0!important;
  background:#ffffff!important;
  color:#071f46!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:clamp(19px,1.2vw,24px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  text-shadow:none!important;
  box-shadow:none!important;
  white-space:normal!important;
  overflow:visible!important;
}
.sector-arrow{
  top:50%!important;
  transform:translateY(-50%)!important;
  width:64px!important;
  height:64px!important;
  border-radius:50%!important;
  background:#ffffff!important;
  color:#0d4da8!important;
  border:3px solid rgba(13,77,168,.10)!important;
  font-size:44px!important;
  line-height:1!important;
  box-shadow:0 18px 38px rgba(0,0,0,.20)!important;
}
.sector-prev{left:18px!important;}
.sector-next{right:18px!important;}
.sector-arrow:hover{background:#071f46!important;color:#ffffff!important;}
.sector-dots{margin-top:28px!important;}
.sector-dot{background:rgba(255,255,255,.65)!important;}
.sector-dot.is-active{background:#f26722!important;}

/* Partenaires institutionnels : uniquement photos/images, aucun texte visible dans les vignettes */
.economic-logo-section{
  background:#ffffff!important;
  padding:58px 0 66px!important;
  overflow:hidden!important;
}
.economic-logo-section .partner-logo-cloud-inner{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.economic-logo-section .economic-title-with-arrows{
  width:min(100%,1720px)!important;
  margin:0 auto 34px!important;
  padding:0 34px!important;
}
.economic-image-row{
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:26px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
  padding:0 86px 14px!important;
  margin:0!important;
}
.economic-image-row::-webkit-scrollbar{display:none!important;}
.economic-image-card{
  flex:0 0 420px!important;
  width:420px!important;
  min-width:420px!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  padding:0!important;
  margin:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid #dfe8f5!important;
  box-shadow:0 18px 38px rgba(6,26,67,.10)!important;
  scroll-snap-align:start!important;
}
.economic-image-card img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
  filter:brightness(1.06) contrast(1.02) saturate(1.04)!important;
}
.economic-image-card strong,
.economic-image-card h3,
.economic-image-card p,
.economic-image-card span:not(.sr-only),
.economic-image-card .program-theme-body,
.economic-image-card .logo-card-title{
  display:none!important;
  visibility:hidden!important;
}

@media(max-width:1280px){
  .sector-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(2,auto)!important;}
  .sector-black-card{min-height:340px!important;}
  .economic-image-card{flex-basis:360px!important;width:360px!important;min-width:360px!important;height:210px!important;min-height:210px!important;}
}
@media(max-width:900px){
  .salon-presentation-grid{grid-template-columns:1fr!important;}
  .salon-presentation-head h2{font-size:30px!important;}
  .salon-presentation-text{padding:24px 20px!important;}
  .salon-presentation-text p{font-size:17px!important;line-height:1.68!important;}
  .sector-carousel-viewport{padding:0 62px!important;}
  .sector-page{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;}
  .sector-arrow{width:52px!important;height:52px!important;font-size:34px!important;}
  .economic-image-row{padding-left:62px!important;padding-right:62px!important;}
  .economic-image-card{flex-basis:78vw!important;width:78vw!important;min-width:78vw!important;height:220px!important;min-height:220px!important;}
}
@media(max-width:640px){
  .sector-carousel-viewport{padding:0 48px!important;}
  .sector-page{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:24px!important;}
  .sector-black-card{min-height:0!important;}
  .sector-black-visual{aspect-ratio:1.7/1!important;}
  .sector-black-card h3{min-height:94px!important;font-size:20px!important;padding:18px 14px!important;}
  .sector-prev{left:8px!important;}.sector-next{right:8px!important;}
  .economic-image-card{flex-basis:84vw!important;width:84vw!important;min-width:84vw!important;height:190px!important;min-height:190px!important;}
}

/* V49 - Refonte ciblée : Secteurs industriels exposants uniquement */
.s2ia-sector-black-grid{
  background:
    radial-gradient(circle at 8% 6%, rgba(255,255,255,.10), transparent 20%),
    linear-gradient(180deg, #3dae49 0%, #34a845 100%)!important;
}
.s2ia-sector-inner{
  position:relative!important;
}
.s2ia-sector-black-grid .sector-title-dark{
  margin-bottom:34px!important;
}
.sector-carousel-viewport{
  padding:10px 102px 0!important;
}
.sector-page{
  gap:30px 28px!important;
  align-items:start!important;
}
.sector-black-card{
  min-height:0!important;
  height:auto!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0 6px 14px!important;
  gap:0!important;
  align-items:stretch!important;
  transform:none!important;
  transition:transform .25s ease!important;
}
.sector-black-card:hover{
  transform:translateY(-4px)!important;
}
.sector-black-visual{
  width:100%!important;
  aspect-ratio:1.62 / 1!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 14px 30px rgba(7,31,70,.16)!important;
}
.sector-black-visual img{
  border-radius:26px!important;
  filter:none!important;
  transform:scale(1.001)!important;
}
.sector-black-card h3{
  width:calc(100% - 34px)!important;
  min-height:96px!important;
  margin:-18px auto 0!important;
  padding:18px 18px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(13,77,168,.10)!important;
  box-shadow:0 14px 24px rgba(7,31,70,.12)!important;
  color:#071f46!important;
  font-size:clamp(20px,1.18vw,24px)!important;
  font-weight:900!important;
  line-height:1.14!important;
  letter-spacing:-0.02em!important;
  text-align:center!important;
  text-shadow:none!important;
}
.sector-arrow{
  width:70px!important;
  height:70px!important;
  border-radius:22px!important;
  border:0!important;
  background:linear-gradient(180deg,#ffffff 0%, #eef4ff 100%)!important;
  color:#0d4da8!important;
  font-size:38px!important;
  font-weight:900!important;
  box-shadow:0 16px 34px rgba(7,31,70,.18)!important;
}
.sector-arrow:hover{
  background:linear-gradient(180deg,#f26722 0%, #ff8a3d 100%)!important;
  color:#ffffff!important;
}
.sector-prev{left:18px!important;}
.sector-next{right:18px!important;}
.sector-dots{
  margin-top:18px!important;
}
.sector-dot{
  width:12px!important;
  height:12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.60)!important;
}
.sector-dot.is-active{
  width:40px!important;
  background:#f26722!important;
}

@media(max-width:1280px){
  .sector-carousel-viewport{padding:8px 84px 0!important;}
  .sector-page{gap:26px!important;}
  .sector-black-card h3{width:calc(100% - 24px)!important;font-size:22px!important;}
}
@media(max-width:900px){
  .sector-carousel-viewport{padding:8px 68px 0!important;}
  .sector-page{gap:22px!important;}
  .sector-black-visual{aspect-ratio:1.58/1!important;}
  .sector-black-card h3{min-height:92px!important;padding:16px 16px!important;font-size:20px!important;}
  .sector-arrow{width:56px!important;height:56px!important;font-size:30px!important;border-radius:18px!important;}
}
@media(max-width:640px){
  .sector-carousel-viewport{padding:8px 52px 0!important;}
  .sector-page{gap:20px!important;}
  .sector-black-card{padding:0 2px 10px!important;}
  .sector-black-visual{aspect-ratio:1.6/1!important;border-radius:22px!important;}
  .sector-black-visual img{border-radius:22px!important;}
  .sector-black-card h3{width:calc(100% - 18px)!important;min-height:84px!important;margin:-16px auto 0!important;padding:15px 14px!important;border-radius:18px!important;font-size:19px!important;line-height:1.12!important;}
  .sector-arrow{width:50px!important;height:50px!important;font-size:28px!important;border-radius:16px!important;}
  .sector-prev{left:6px!important;}
  .sector-next{right:6px!important;}
}
/* =========================================================
   S2IA V51 FINAL — corrections strictement demandées
   ========================================================= */

/* Présentation complète du salon */
.salon-presentation-full-v51{max-height:none!important;overflow:visible!important;padding:34px 38px!important;}
.salon-presentation-full-v51 p{font-family:Verdana,Arial,sans-serif!important;font-size:18px!important;line-height:1.72!important;font-weight:400!important;text-align:justify!important;color:#17345d!important;margin:0!important;}
.salon-readmore-btn{display:none!important;}

/* Sections alignées sur le style Chefs d’États, gouvernements & institutions */
.v51-unified-section{padding:58px 4vw 70px!important;background:#fff!important;}
.v51-themes-section{background:linear-gradient(180deg,#fff 0%,#f6f9fd 100%)!important;}
.v51-sectors-section{background:linear-gradient(180deg,#f5fbf5 0%,#edf8ef 100%)!important;}
.v51-architecture-section{background:#fff!important;}
.v51-chambers-section{background:linear-gradient(180deg,#fff 0%,#f6f9fc 100%)!important;}
.v51-unified-section .s2ia-showcase-inner{width:min(100%,1720px)!important;margin:0 auto!important;}
.v51-unified-section .section-line-title{margin-bottom:32px!important;}
.v51-unified-section .section-line-title h2{color:#071f46!important;font-family:Inter,Arial,Verdana,sans-serif!important;font-size:clamp(30px,2.45vw,48px)!important;line-height:1.06!important;font-weight:950!important;letter-spacing:-.035em!important;text-transform:none!important;white-space:nowrap!important;text-shadow:none!important;}
.v51-unified-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important;align-items:stretch!important;}
.v51-unified-card{min-width:0!important;min-height:350px!important;border:1px solid #dfe8f5!important;border-radius:24px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 42px rgba(6,26,67,.12)!important;display:flex!important;flex-direction:column!important;transition:transform .22s ease,box-shadow .22s ease!important;}
.v51-unified-card:hover{transform:translateY(-4px)!important;box-shadow:0 24px 52px rgba(6,26,67,.16)!important;}
.v51-unified-card>img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;display:block!important;filter:brightness(1.04) contrast(1.03) saturate(1.05)!important;}
.v51-unified-card .profile-card-body{flex:1 1 auto!important;min-height:126px!important;padding:18px 20px 22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:#fff!important;}
.v51-unified-card .profile-card-body h3{margin:0!important;color:#071f46!important;font-size:clamp(19px,1.2vw,24px)!important;line-height:1.15!important;font-weight:950!important;letter-spacing:-.02em!important;}
.v51-unified-card .profile-card-body p{margin:8px 0 0!important;color:#263b5d!important;font-size:clamp(15px,.95vw,18px)!important;line-height:1.34!important;font-weight:700!important;}
.v51-chamber-card>img{object-fit:contain!important;padding:18px!important;background:#fff!important;}

/* Chiffres clés : vignettes un peu moins hautes */
.keyfig-premium-card{min-height:244px!important;padding-bottom:18px!important;}
.keyfig-premium-icon{height:112px!important;margin-bottom:14px!important;}
.keyfig-premium-card strong{font-size:clamp(29px,2.2vw,43px)!important;}
.keyfig-premium-card p{font-size:clamp(14px,1vw,18px)!important;}

/* Compteur supérieur : nouveau style professionnel */
.site-header .header-countdown{position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#071f46 0%,#0d4da8 100%)!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;padding:8px 10px 8px 82px!important;box-shadow:0 14px 30px rgba(6,26,67,.22)!important;}
.site-header .header-countdown:before{content:"S2IA 2027"!important;position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;width:58px!important;color:#fff!important;font-size:11px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:.05em!important;text-align:center!important;}
.site-header .header-countdown:after{content:""!important;position:absolute!important;left:76px!important;top:12px!important;bottom:12px!important;width:2px!important;border-radius:999px!important;background:linear-gradient(180deg,#f26722,#55b947)!important;}
.site-header .header-countdown .countdown-grid{gap:5px!important;}
.site-header .header-countdown .flip-tile{width:46px!important;min-width:46px!important;height:44px!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.20)!important;box-shadow:none!important;}
.site-header .header-countdown .flip-tile b{color:#fff!important;font-size:18px!important;}
.site-header .header-countdown .flip-tile small{color:#dce9ff!important;font-size:7px!important;}

/* Slider desktop */
.hero-slider,.slider-stage{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:#fff!important;}
.slider-stage{height:auto!important;aspect-ratio:1999/786!important;min-height:0!important;max-height:none!important;overflow:hidden!important;}
.slider-stage .slide img,.slider-stage [data-slide] img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}

@media(max-width:1380px){.v51-unified-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:980px){
  .v51-unified-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;}
  .v51-unified-section .section-line-title h2{white-space:normal!important;}
  .salon-presentation-grid{grid-template-columns:1fr!important;}
  .salon-presentation-full-v51 p{font-size:17px!important;line-height:1.68!important;}
  .keyfig-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  /* Header mobile et menu latéral droite -> gauche */
  body{padding-top:96px!important;}
  html{scroll-padding-top:96px!important;}
  .site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:99999!important;background:#fff!important;}
  .site-header .top-shell{min-height:96px!important;height:96px!important;grid-template-columns:minmax(0,1fr) 58px!important;grid-template-areas:"brand toggle"!important;padding:8px 14px!important;gap:12px!important;}
  .site-header .brand{grid-area:brand!important;width:auto!important;min-width:0!important;}
  .site-header .brand img,.site-header .header-logo-exact{width:260px!important;max-width:calc(100vw - 92px)!important;height:80px!important;min-height:80px!important;object-fit:contain!important;object-position:left center!important;}
  .site-header .header-countdown{display:none!important;}
  .site-header .nav-toggle{grid-area:toggle!important;position:relative!important;z-index:100004!important;width:52px!important;height:52px!important;border-radius:17px!important;background:#071f46!important;box-shadow:0 12px 26px rgba(6,26,67,.22)!important;}
  .site-header .nav-toggle span{transition:transform .25s ease,opacity .25s ease!important;}
  body.mobile-nav-open .nav-toggle{position:fixed!important;top:20px!important;right:18px!important;}
  body.mobile-nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)!important;}
  body.mobile-nav-open .nav-toggle span:nth-child(2){opacity:0!important;}
  body.mobile-nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important;}
  .site-header .main-nav{display:flex!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(88vw,420px)!important;height:100dvh!important;min-height:100vh!important;padding:112px 24px 34px!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;overflow-y:auto!important;background:linear-gradient(180deg,#071f46 0%,#0d3666 100%)!important;border:0!important;border-radius:0!important;box-shadow:-28px 0 70px rgba(0,0,0,.34)!important;transform:translateX(104%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:transform .32s ease,opacity .25s ease,visibility .25s ease!important;z-index:100003!important;}
  .site-header .main-nav:before{content:"Navigation S2IA"!important;display:block!important;margin:0 0 18px!important;padding-bottom:18px!important;border-bottom:1px solid rgba(255,255,255,.20)!important;color:#fff!important;font-size:22px!important;line-height:1.1!important;font-weight:950!important;}
  .site-header .main-nav.is-open{transform:translateX(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .site-header .main-nav a{width:100%!important;min-height:58px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;border-radius:16px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;font-size:18px!important;font-weight:850!important;text-align:left!important;}
  .site-header .main-nav a:hover,.site-header .main-nav a.is-active{background:#f26722!important;color:#fff!important;}
  body.mobile-nav-open{overflow:hidden!important;}
  body.mobile-nav-open:before{content:""!important;position:fixed!important;inset:0!important;z-index:100002!important;background:rgba(0,0,0,.58)!important;backdrop-filter:blur(5px)!important;}

  /* Slider mobile grand format */
  .hero-slider{margin-top:0!important;background:#fff!important;}
  .slider-stage{width:100vw!important;height:clamp(220px,60vw,300px)!important;min-height:220px!important;max-height:300px!important;aspect-ratio:auto!important;margin:0 calc(50% - 50vw)!important;background:#fff!important;overflow:hidden!important;}
  .slider-stage .slide img,.slider-stage [data-slide] img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#fff!important;}
  .slider-arrow{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:15px!important;background:rgba(255,255,255,.96)!important;color:#071f46!important;font-size:30px!important;box-shadow:0 12px 26px rgba(0,0,0,.22)!important;opacity:1!important;visibility:visible!important;}
  .slider-arrow.prev{left:10px!important;}.slider-arrow.next{right:10px!important;}

  /* Contenus mobiles */
  .hero-actions{padding:16px!important;}
  .hero-actions-inner{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;}
  .action-pill,.hero-actions .action-button{width:100%!important;min-height:60px!important;border-radius:20px!important;font-size:18px!important;}
  .v51-unified-section{padding:48px 18px 56px!important;}
  .section-line-title{gap:14px!important;margin-bottom:26px!important;}
  .section-line-title span{width:54px!important;min-width:36px!important;}
  .section-line-title h2,.v51-unified-section .section-line-title h2{font-size:clamp(27px,6vw,36px)!important;line-height:1.08!important;}
  .profile-card-body h3,.profile-card-body strong,.v51-unified-card .profile-card-body h3{font-size:21px!important;}
  .profile-card-body p,.profile-card-body em,.v51-unified-card .profile-card-body p{font-size:17px!important;}

  /* Popups mobiles */
  .premium-modal.is-open{padding:10px 8px!important;align-items:flex-start!important;}
  .premium-modal .modal-card{width:100%!important;max-width:100%!important;max-height:none!important;display:grid!important;grid-template-columns:1fr!important;border-radius:22px!important;overflow:visible!important;}
  .premium-modal .modal-visual{min-height:210px!important;max-height:240px!important;}
  .premium-modal .modal-form-panel{max-height:none!important;overflow:visible!important;padding:24px 16px 28px!important;}
  .premium-modal .modal-logo{width:210px!important;}
  .premium-modal .form-grid{grid-template-columns:1fr!important;}
  .premium-modal input,.premium-modal select,.premium-modal textarea{min-height:52px!important;font-size:16px!important;}
}

@media(max-width:620px){
  .v51-unified-grid{grid-template-columns:1fr!important;gap:22px!important;}
  .v51-unified-card{min-height:0!important;}
  .v51-unified-card>img{height:230px!important;aspect-ratio:auto!important;}
  .v51-unified-card .profile-card-body{min-height:112px!important;}
  .keyfig-grid-premium{grid-template-columns:1fr!important;}
  .keyfig-premium-card{min-height:226px!important;}
  .salon-presentation-full-v51{padding:24px 20px!important;}
  .salon-presentation-full-v51 p{font-size:17px!important;line-height:1.64!important;text-align:left!important;}
}
/* =========================================================
   S2IA V52 — Correctif STRICTEMENT mobile/tablette
   Aucun style desktop n'est modifié.
   ========================================================= */
.mobile-slider-dots{display:none!important;}

@media (max-width:980px){
  /* Header mobile : logo agrandi, hamburger réduit */
  html{scroll-padding-top:104px!important;}
  body{padding-top:104px!important;}
  .site-header .top-shell{
    height:104px!important;
    min-height:104px!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    grid-template-areas:"brand toggle"!important;
    gap:10px!important;
    padding:6px 12px!important;
  }
  .site-header .brand{
    grid-area:brand!important;
    min-width:0!important;
    width:auto!important;
    justify-content:flex-start!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(300px,calc(100vw - 76px))!important;
    max-width:min(300px,calc(100vw - 76px))!important;
    height:90px!important;
    min-height:90px!important;
    max-height:90px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav-toggle{
    grid-area:toggle!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:13px!important;
    gap:4px!important;
    box-shadow:0 8px 18px rgba(6,26,67,.18)!important;
  }
  .site-header .nav-toggle span{
    width:20px!important;
    height:2px!important;
  }
  body.mobile-nav-open .nav-toggle{
    top:16px!important;
    right:14px!important;
  }

  /* Slider mobile : grand format, sans espace blanc, pastilles uniquement */
  .hero-slider{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    background:#071f46!important;
    overflow:hidden!important;
  }
  .slider-stage{
    position:relative!important;
    width:100vw!important;
    height:clamp(320px,72vw,560px)!important;
    min-height:320px!important;
    max-height:560px!important;
    aspect-ratio:auto!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    background:#071f46!important;
    line-height:0!important;
  }
  .slider-stage .slide,
  .slider-stage [data-slide]{
    position:absolute!important;
    inset:0!important;
    overflow:hidden!important;
    background:#071f46!important;
  }
  .slider-stage .slide:before,
  .slider-stage [data-slide]:before{
    content:""!important;
    position:absolute!important;
    inset:-28px!important;
    z-index:0!important;
    background-image:var(--slide-mobile-bg)!important;
    background-size:cover!important;
    background-position:center!important;
    filter:blur(20px) brightness(.68) saturate(1.12)!important;
    transform:scale(1.12)!important;
  }
  .slider-stage .slide:after,
  .slider-stage [data-slide]:after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(180deg,rgba(7,31,70,.10),rgba(7,31,70,.22))!important;
    pointer-events:none!important;
  }
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:transparent!important;
    filter:none!important;
    opacity:1!important;
  }
  .slider-stage .slider-arrow{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .slider-stage .mobile-slider-dots,
  .slider-stage .slider-dots.mobile-slider-dots{
    position:absolute!important;
    left:50%!important;
    bottom:14px!important;
    z-index:30!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:20px!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:rgba(7,31,70,.58)!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.20)!important;
  }
  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:10px!important;
    height:10px!important;
    min-width:10px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.62)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:width .2s ease,background .2s ease!important;
  }
  .slider-stage .mobile-slider-dots button.is-active{
    width:30px!important;
    background:#f26722!important;
  }
  .hero-slider + .hero-actions,
  .hero-actions{
    margin-top:0!important;
    border-top:0!important;
  }

  /* Haut patronage : photo et identité centrées */
  .patronage-welcome{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .patronage-welcome-inner{
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  .patronage-identity-card{
    padding:22px 18px!important;
  }
  .patronage-identity-content{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    text-align:center!important;
  }
  .patronage-president-photo{
    order:1!important;
    width:min(230px,72vw)!important;
    height:270px!important;
    min-height:270px!important;
    margin:0 auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .patronage-president-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    display:block!important;
  }
  .patronage-identity-text{
    order:2!important;
    width:100%!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .patronage-identity-text h3{
    width:100%!important;
    margin:0 0 8px!important;
    text-align:center!important;
    font-size:clamp(25px,6.6vw,34px)!important;
    line-height:1.12!important;
  }
  .patronage-identity-text .president-function,
  .patronage-identity-text .president-country,
  .patronage-identity-text p{
    width:100%!important;
    margin:2px 0!important;
    text-align:center!important;
    font-size:18px!important;
    line-height:1.35!important;
  }

  /* Présentation du Salon : titres propres, non superposés, texte lisible */
  .salon-presentation-section{
    padding:48px 16px 58px!important;
    overflow:hidden!important;
  }
  .salon-presentation-inner{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  .salon-presentation-head{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 24px!important;
    padding:0 4px!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .salon-presentation-head h2{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 14px!important;
    padding:0!important;
    color:#071f46!important;
    font-size:clamp(28px,7.2vw,36px)!important;
    line-height:1.12!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:center!important;
  }
  .salon-subtitle-colored{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:clamp(23px,6vw,30px)!important;
    line-height:1.18!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .salon-subtitle-colored .subtitle-red{
    display:block!important;
    width:100%!important;
    color:#e51e2a!important;
  }
  .salon-presentation-grid{
    grid-template-columns:1fr!important;
    gap:20px!important;
    margin-top:0!important;
  }
  .salon-presentation-full-v51,
  .salon-presentation-text{
    width:100%!important;
    max-width:100%!important;
    padding:24px 20px!important;
    border-radius:22px!important;
  }
  .salon-presentation-full-v51 p,
  .salon-presentation-text p{
    margin:0!important;
    color:#17345d!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:17px!important;
    line-height:1.68!important;
    text-align:left!important;
    overflow-wrap:break-word!important;
  }
}

@media (max-width:620px){
  html{scroll-padding-top:98px!important;}
  body{padding-top:98px!important;}
  .site-header .top-shell{
    height:98px!important;
    min-height:98px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(286px,calc(100vw - 72px))!important;
    max-width:min(286px,calc(100vw - 72px))!important;
    height:86px!important;
    min-height:86px!important;
    max-height:86px!important;
  }
  .site-header .nav-toggle{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:12px!important;
  }
  .slider-stage{
    height:clamp(320px,78vw,390px)!important;
    min-height:320px!important;
    max-height:390px!important;
  }
  .patronage-president-photo{
    width:min(220px,74vw)!important;
    height:255px!important;
    min-height:255px!important;
  }
  .salon-presentation-head h2{
    font-size:clamp(27px,7.4vw,34px)!important;
  }
  .salon-subtitle-colored{
    font-size:clamp(22px,6.2vw,28px)!important;
  }
}
/* =========================================================
   S2IA V53 — Correctifs ciblés mobile + Message du Président
   Desktop conservé, hors ajout du lien/popup Président.
   ========================================================= */

/* Éléments nouveaux, valables desktop et mobile */
.mobile-action-icon{display:none;}
.president-message-card{
  background:var(--welcome-card-bg,#fff)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
}
.president-message-card h3{
  color:var(--welcome-title-color,#071f46)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:var(--welcome-title-size,27px)!important;
}
.president-message-card p{
  color:var(--welcome-body-color,#233b65)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:var(--welcome-body-size,17px)!important;
  text-align:var(--welcome-text-align,justify)!important;
}
.president-message-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:18px 0 0!important;
  padding:0 0 6px!important;
  border:0!important;
  border-bottom:2px solid currentColor!important;
  background:transparent!important;
  color:var(--welcome-link-color,#0d4da8)!important;
  font-family:var(--welcome-font-family,Verdana),Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.president-message-modal.is-open{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  overflow-y:auto!important;
}
.president-message-modal-card{
  width:min(920px,94vw)!important;
  max-height:90vh!important;
  display:block!important;
  overflow-y:auto!important;
  margin:0!important;
  padding:38px 42px 42px!important;
  border-radius:30px!important;
  background:var(--president-popup-bg,#fff)!important;
}
.president-popup-heading{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
  margin-bottom:28px!important;
}
.president-popup-heading img{
  width:130px!important;
  height:150px!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:22px!important;
  box-shadow:0 14px 30px rgba(6,26,67,.14)!important;
}
.president-popup-heading span{
  display:block!important;
  margin-bottom:8px!important;
  color:#f26722!important;
  font-size:15px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.president-popup-heading h2{
  margin:0!important;
  color:var(--president-popup-title-color,#071f46)!important;
  font-family:var(--president-popup-font,Verdana),Arial,sans-serif!important;
  font-size:var(--president-popup-title-size,32px)!important;
  line-height:1.1!important;
}
.president-popup-content{
  color:var(--president-popup-text-color,#233b65)!important;
  font-family:var(--president-popup-font,Verdana),Arial,sans-serif!important;
  font-size:var(--president-popup-text-size,18px)!important;
  line-height:1.78!important;
  text-align:var(--president-popup-align,justify)!important;
}

@media (max-width:980px){
  /* Menu mobile net, sans flou sur le contenu */
  .site-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }
  .site-header .main-nav{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    opacity:1!important;
    background:#071f46!important;
    text-rendering:optimizeLegibility!important;
    -webkit-font-smoothing:antialiased!important;
  }
  .site-header .main-nav a{
    filter:none!important;
    opacity:1!important;
    text-shadow:none!important;
  }
  body.mobile-nav-open:before{
    background:rgba(3,12,28,.66)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }

  /* Logo plus grand et hamburger légèrement agrandi */
  html{scroll-padding-top:116px!important;}
  body{padding-top:116px!important;}
  .site-header .top-shell{
    height:116px!important;
    min-height:116px!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    gap:8px!important;
    padding:6px 12px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(342px,calc(100vw - 76px))!important;
    max-width:min(342px,calc(100vw - 76px))!important;
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav-toggle{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:15px!important;
    gap:5px!important;
  }
  .site-header .nav-toggle span{
    width:23px!important;
    height:3px!important;
  }
  body.mobile-nav-open .nav-toggle{
    top:18px!important;
    right:16px!important;
  }

  /* Slider mobile plein cadre : chaque bannière remplit le slider */
  .hero-slider{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#071f46!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .slider-stage{
    width:100vw!important;
    height:clamp(430px,116vw,650px)!important;
    min-height:430px!important;
    max-height:650px!important;
    aspect-ratio:auto!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#071f46!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .slider-stage .slide,
  .slider-stage [data-slide]{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:#071f46!important;
    overflow:hidden!important;
  }
  .slider-stage .slide:before,
  .slider-stage .slide:after,
  .slider-stage [data-slide]:before,
  .slider-stage [data-slide]:after{
    display:none!important;
    content:none!important;
    background:none!important;
    filter:none!important;
  }
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#071f46!important;
    filter:none!important;
    opacity:1!important;
  }
  /* Suppression définitive des flèches du slider en mobile */
  .hero-slider .slider-arrow,
  .hero-slider [data-prev],
  .hero-slider [data-next],
  .slider-stage .slider-arrow,
  .slider-stage > button.prev,
  .slider-stage > button.next{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .slider-stage .mobile-slider-dots,
  .slider-stage .slider-dots.mobile-slider-dots{
    left:50%!important;
    right:auto!important;
    bottom:16px!important;
    z-index:40!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    background:rgba(7,31,70,.76)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
  }
  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:11px!important;
    height:11px!important;
    min-width:11px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.70)!important;
  }
  .slider-stage .mobile-slider-dots button.is-active{
    width:34px!important;
    background:#f26722!important;
  }
  .hero-slider + .hero-actions,
  .hero-actions{
    margin-top:0!important;
    border-top:0!important;
  }

  /* Pictogrammes sur les deux boutons d'action mobile */
  .hero-actions .action-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
  }
  .mobile-action-icon{
    display:inline-flex!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
    font-size:21px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  .mobile-action-label{
    display:inline-block!important;
  }

  /* Popup Président mobile */
  .president-message-link{
    width:100%!important;
    justify-content:center!important;
    font-size:17px!important;
  }
  .president-message-modal.is-open{
    align-items:flex-start!important;
    padding:10px 8px!important;
  }
  .president-message-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 20px)!important;
    margin:0!important;
    padding:26px 18px 30px!important;
    border-radius:22px!important;
  }
  .president-popup-heading{
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:16px!important;
    align-items:center!important;
    padding-right:32px!important;
  }
  .president-popup-heading img{
    width:90px!important;
    height:110px!important;
    border-radius:18px!important;
  }
  .president-popup-heading h2{
    font-size:min(var(--president-popup-title-size,32px),28px)!important;
  }
  .president-popup-content{
    font-size:min(var(--president-popup-text-size,18px),18px)!important;
    line-height:1.68!important;
  }
}

@media (max-width:620px){
  html{scroll-padding-top:112px!important;}
  body{padding-top:112px!important;}
  .site-header .top-shell{
    height:112px!important;
    min-height:112px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(326px,calc(100vw - 72px))!important;
    max-width:min(326px,calc(100vw - 72px))!important;
    height:100px!important;
    min-height:100px!important;
    max-height:100px!important;
  }
  .site-header .nav-toggle{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
  }
  .slider-stage{
    height:clamp(420px,124vw,590px)!important;
    min-height:420px!important;
    max-height:590px!important;
  }
  .president-popup-heading{
    grid-template-columns:1fr!important;
    text-align:center!important;
    padding-right:0!important;
  }
  .president-popup-heading img{
    margin:0 auto!important;
  }
}
/* =====================================================================
   S2IA V56 — Correction professionnelle ciblée
   Zones concernées : header/compteur, menu mobile, slider mobile,
   raisons de participer, packs sponsoring et packs exposition.
   ===================================================================== */

:root{
  --v56-navy:#071f46;
  --v56-blue:#0d4da8;
  --v56-orange:#f26722;
  --v56-green:#24833a;
  --v56-ink:#13284a;
  --v56-muted:#5c6d88;
  --v56-line:#dce5ef;
  --v56-soft:#f4f7fb;
  --v56-warm:#fffaf4;
  --v56-shadow:0 24px 65px rgba(7,31,70,.13);
}

/* ---------------------------------------------------------------------
   1. HEADER ET COMPTEUR — UNE SEULE ARCHITECTURE, AUCUN FOND OPAQUE
   --------------------------------------------------------------------- */
.site-header{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:100000!important;
  width:100%!important;
  background:rgba(255,255,255,.985)!important;
  border:0!important;
  border-bottom:1px solid #e3eaf2!important;
  box-shadow:0 9px 30px rgba(7,31,70,.09)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
}

.site-header .top-shell{
  width:min(100%,1920px)!important;
  max-width:1920px!important;
  min-height:82px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:7px clamp(16px,2vw,38px)!important;
  display:grid!important;
  grid-template-columns:minmax(250px,330px) minmax(480px,1fr) auto!important;
  grid-template-areas:"brand navigation countdown"!important;
  align-items:center!important;
  column-gap:clamp(14px,1.5vw,28px)!important;
  row-gap:0!important;
}

.site-header .brand{
  grid-area:brand!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  width:auto!important;
}

.site-header .brand img,
.site-header .header-logo-exact{
  display:block!important;
  width:clamp(250px,17vw,322px)!important;
  max-width:100%!important;
  height:68px!important;
  min-height:0!important;
  max-height:68px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}

.site-header .main-nav{
  grid-area:navigation!important;
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.site-header .mobile-nav-head,
.site-header .mobile-nav-contact{
  display:none!important;
}

.site-header .main-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.site-header .main-nav .main-nav-links > a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:#f2f5f9!important;
  color:var(--v56-ink)!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:850!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}

.site-header .main-nav .main-nav-links > a:hover,
.site-header .main-nav .main-nav-links > a:focus-visible{
  transform:translateY(-2px)!important;
  background:#e8eef7!important;
  color:var(--v56-blue)!important;
  box-shadow:0 8px 17px rgba(7,31,70,.09)!important;
}

.site-header .main-nav .main-nav-links > a.is-active{
  background:var(--v56-navy)!important;
  color:#fff!important;
  border-color:var(--v56-navy)!important;
}

.site-header .mobile-nav-index,
.site-header .mobile-nav-arrow{
  display:none!important;
}

.site-header .header-countdown{
  grid-area:countdown!important;
  position:relative!important;
  justify-self:end!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.site-header .header-countdown::before,
.site-header .header-countdown::after{
  display:none!important;
  content:none!important;
}

.site-header .header-countdown .countdown-grid{
  display:grid!important;
  grid-template-columns:auto 8px auto 8px auto 8px auto!important;
  align-items:start!important;
  justify-content:center!important;
  gap:4px!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}

.countdown-unit{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  gap:5px!important;
}

.countdown-digits{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
}

.flip-digit{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:44px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d1d7de!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#f8f9fa 0%,#eceff2 49%,#e4e7ea 50%,#f6f7f8 100%)!important;
  color:#303942!important;
  font-family:"Arial Narrow",Arial,sans-serif!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  text-shadow:0 1px 0 #fff!important;
  box-shadow:inset 0 1px 0 #fff,0 4px 9px rgba(35,43,52,.14)!important;
}

.flip-digit::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:1px!important;
  background:rgba(55,63,72,.24)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.75)!important;
  pointer-events:none!important;
}

.flip-digit::after{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  right:2px!important;
  top:2px!important;
  height:45%!important;
  border-radius:3px 3px 0 0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.44),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}

.flip-digit.is-flipping{
  animation:v56FlipPulse .34s ease!important;
}

@keyframes v56FlipPulse{
  0%{transform:rotateX(0deg)}
  48%{transform:rotateX(-9deg)}
  100%{transform:rotateX(0deg)}
}

.countdown-unit small{
  display:block!important;
  margin:0!important;
  color:#7b8591!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.countdown-separator{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  color:#5a636c!important;
  font-family:Arial,sans-serif!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:700!important;
}

.site-header .nav-toggle{
  display:none!important;
}

/* ---------------------------------------------------------------------
   2. SLIDER — TRAITEMENT IDENTIQUE DES 10 BANNIÈRES
   --------------------------------------------------------------------- */
.hero-slider{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  line-height:0!important;
}

.slider-stage{
  position:relative!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0 calc(50% - 50vw)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.slider-viewport{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1999/786!important;
  overflow:hidden!important;
  background:#fff!important;
}

.slider-stage .slide,
.slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  background:#fff!important;
  transform:none!important;
  transition:opacity .65s ease,visibility .65s ease!important;
}

.slider-stage .slide.is-active,
.slider-stage [data-slide].is-active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}

.slider-stage .slide::before,
.slider-stage .slide::after,
.slider-stage [data-slide]::before,
.slider-stage [data-slide]::after{
  display:none!important;
  content:none!important;
  background:none!important;
  filter:none!important;
}

.slider-stage .slide-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}

.slider-stage .slide-media,
.slider-stage .slide img,
.slider-stage [data-slide] img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  background:#fff!important;
}

.slider-stage .slider-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0 0 5px!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--v56-navy)!important;
  font-size:38px!important;
  line-height:1!important;
  font-weight:400!important;
  box-shadow:0 14px 32px rgba(7,31,70,.24)!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(-50%)!important;
  transition:transform .2s ease,background .2s ease!important;
}

.slider-stage .slider-arrow:hover{
  background:#fff!important;
  transform:translateY(-50%) scale(1.06)!important;
}

.slider-stage .slider-arrow.prev{left:22px!important;right:auto!important}
.slider-stage .slider-arrow.next{right:22px!important;left:auto!important}
.slider-control-bar{display:none!important}
.slider-stage .mobile-slider-dots{display:none!important}

/* ---------------------------------------------------------------------
   3. RAISONS DE PARTICIPER — COMPOSITION ORIGINALE ET LISIBLE
   --------------------------------------------------------------------- */
.s2ia-participation-reasons{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(70px,6vw,112px) 0!important;
  background:
    radial-gradient(circle at 4% 2%,rgba(36,131,58,.10) 0 130px,transparent 132px),
    radial-gradient(circle at 96% 96%,rgba(242,103,34,.10) 0 170px,transparent 172px),
    linear-gradient(135deg,#f7f8f7 0%,#fffaf4 52%,#f3f7fb 100%)!important;
}

.s2ia-participation-reasons .s2ia-showcase-inner,
.s2ia-pack-section .s2ia-showcase-inner{
  width:min(94%,1660px)!important;
  max-width:1660px!important;
  margin:0 auto!important;
  padding:0!important;
}

.reasons-shell{
  position:relative!important;
  z-index:1!important;
}

.reasons-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:36px!important;
  margin:0 0 36px!important;
  padding:0 0 28px!important;
  border-bottom:1px solid rgba(7,31,70,.13)!important;
}

.reasons-copy{max-width:980px!important}

.reasons-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  margin:0 0 15px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--v56-green)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  box-shadow:0 8px 24px rgba(7,31,70,.08)!important;
}

.reasons-intro h2{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(38px,4.25vw,72px)!important;
  line-height:.98!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

.reasons-intro h2 em{
  color:var(--v56-orange)!important;
  font-family:Georgia,serif!important;
  font-weight:600!important;
}

.reasons-intro p{
  max-width:870px!important;
  margin:18px 0 0!important;
  color:#41536f!important;
  font-size:clamp(16px,1.15vw,20px)!important;
  line-height:1.65!important;
}

.reasons-summary{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-width:205px!important;
  padding:18px 20px!important;
  border:1px solid rgba(7,31,70,.12)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 16px 35px rgba(7,31,70,.08)!important;
}

.reasons-summary strong{
  color:var(--v56-navy)!important;
  font-size:50px!important;
  line-height:1!important;
  font-weight:950!important;
}

.reasons-summary span{
  color:#52647e!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}

.reasons-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}

.reason-item{
  --reason-accent:var(--v56-blue);
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:164px!important;
  margin:0!important;
  padding:22px 22px 24px!important;
  overflow:hidden!important;
  border:1px solid rgba(7,31,70,.10)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 13px 32px rgba(7,31,70,.075)!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}

.reason-item::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:5px!important;
  background:var(--reason-accent)!important;
}

.reason-item:hover{
  transform:translateY(-5px)!important;
  border-color:color-mix(in srgb,var(--reason-accent) 35%,#dce5ef)!important;
  box-shadow:0 22px 44px rgba(7,31,70,.12)!important;
}

.reason-tone-1{--reason-accent:#0d4da8}
.reason-tone-2{--reason-accent:#f26722}
.reason-tone-3{--reason-accent:#24833a}
.reason-tone-4{--reason-accent:#8358b5}

.reason-topline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 18px!important;
}

.reason-number{
  color:var(--reason-accent)!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}

.reason-tag{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--reason-accent) 10%,#fff)!important;
  color:var(--reason-accent)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.reason-item p{
  max-width:88%!important;
  margin:0!important;
  color:var(--v56-ink)!important;
  font-size:17px!important;
  line-height:1.5!important;
  font-weight:750!important;
}

.reason-arrow{
  position:absolute!important;
  right:20px!important;
  bottom:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:#f1f4f8!important;
  color:var(--reason-accent)!important;
  font-size:17px!important;
  font-weight:900!important;
}

/* ---------------------------------------------------------------------
   4. PACKS SPONSORING ET EXPOSITION — IMAGES PLEIN CADRE, CARTES ALIGNÉES
   --------------------------------------------------------------------- */
.s2ia-pack-section{
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(72px,6vw,112px) 0!important;
}

.sponsor-pack-section{
  background:linear-gradient(180deg,#fff 0%,#f4f7fb 100%)!important;
}

.exhibition-pack-section{
  background:linear-gradient(145deg,#f8fafc 0%,#fff 58%,#fff8f2 100%)!important;
}

.pack-section-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,620px)!important;
  align-items:end!important;
  gap:40px!important;
  margin:0 0 38px!important;
  padding:0 0 26px!important;
  border-bottom:1px solid #dce4ee!important;
}

.pack-section-eyebrow{
  display:block!important;
  margin:0 0 10px!important;
  color:var(--v56-orange)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.exhibition-heading .pack-section-eyebrow{color:var(--v56-green)!important}

.pack-section-header h2{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(38px,4vw,68px)!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}

.pack-section-header p{
  margin:0!important;
  color:#50617b!important;
  font-size:17px!important;
  line-height:1.65!important;
}

.professional-pack-grid{
  display:grid!important;
  gap:20px!important;
  align-items:stretch!important;
}

.sponsor-pack-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.exhibition-pack-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.professional-pack-card{
  --pack-accent:var(--v56-blue);
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #dfe6ee!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(7,31,70,.09)!important;
  isolation:isolate!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}

.professional-pack-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  z-index:5!important;
  height:5px!important;
  background:var(--pack-accent)!important;
}

.professional-pack-card:hover{
  transform:translateY(-7px)!important;
  border-color:color-mix(in srgb,var(--pack-accent) 36%,#dfe6ee)!important;
  box-shadow:0 28px 62px rgba(7,31,70,.15)!important;
}

.sponsor-tone-1{--pack-accent:#0d4da8}
.sponsor-tone-2{--pack-accent:#d49a00}
.sponsor-tone-3{--pack-accent:#24833a}
.sponsor-tone-4{--pack-accent:#b1682d}
.expo-tone-1{--pack-accent:#0d4da8}
.expo-tone-2{--pack-accent:#d49a00}
.expo-tone-3{--pack-accent:#24833a}
.expo-tone-4{--pack-accent:#b1682d}
.expo-tone-5{--pack-accent:#7952ad}
.expo-tone-6{--pack-accent:#f26722}
.expo-tone-7{--pack-accent:#1f5eaa}
.expo-tone-8{--pack-accent:#19a086}

.pack-visual-button{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#eef3f8!important;
  color:inherit!important;
  cursor:pointer!important;
  line-height:0!important;
}

.pack-visual-button::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,transparent 45%,rgba(7,31,70,.72) 100%)!important;
  pointer-events:none!important;
}

.pack-visual-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#eef3f8!important;
  transform:scale(1.01)!important;
  transition:transform .45s ease!important;
}

.professional-pack-card:hover .pack-visual-button img{
  transform:scale(1.055)!important;
}

.pack-serial{
  position:absolute!important;
  top:18px!important;
  left:18px!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(7,31,70,.93)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  box-shadow:0 8px 20px rgba(7,31,70,.18)!important;
}

.pack-view-label{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:15px!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:left!important;
}

.pack-view-label b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:31px!important;
  height:31px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--pack-accent)!important;
  font-size:15px!important;
}

.professional-pack-content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:25px 24px 24px!important;
}

.pack-heading-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  margin:0 0 9px!important;
}

.pack-tier-dot{
  flex:0 0 auto!important;
  width:11px!important;
  height:11px!important;
  margin-top:9px!important;
  border-radius:50%!important;
  background:var(--pack-accent)!important;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--pack-accent) 13%,transparent)!important;
}

.professional-pack-card h3{
  margin:0!important;
  color:var(--v56-navy)!important;
  font-size:clamp(23px,1.7vw,31px)!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}

.professional-pack-card .pack-subtitle{
  margin:8px 0 18px!important;
  color:#556783!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:650!important;
}

.pack-advantages{
  display:grid!important;
  gap:10px!important;
  margin:0 0 20px!important;
  padding:0!important;
  list-style:none!important;
}

.pack-advantages li{
  position:relative!important;
  margin:0!important;
  padding:0 0 0 24px!important;
  color:#253b5c!important;
  font-size:14px!important;
  line-height:1.45!important;
}

.pack-advantages li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  color:var(--pack-accent)!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:950!important;
}

.pack-more{
  margin:-4px 0 20px!important;
  color:var(--pack-accent)!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:850!important;
}

.pack-card-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:5px!important;
}

.pack-action-outline,
.pack-action-primary,
.pack-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:8px 13px!important;
  border-radius:12px!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  text-align:center!important;
  cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;
}

.pack-action-outline{
  border:1px solid #cdd8e5!important;
  background:#fff!important;
  color:var(--v56-navy)!important;
}

.pack-action-primary,
.pack-cta{
  border:1px solid var(--pack-accent)!important;
  background:var(--pack-accent)!important;
  color:#fff!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--pack-accent) 25%,transparent)!important;
}

.pack-action-outline:hover,
.pack-action-primary:hover,
.pack-cta:hover{
  transform:translateY(-2px)!important;
}

.exhibition-meta-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
}

.stand-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--pack-accent) 11%,#fff)!important;
  color:var(--pack-accent)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.stand-pack-number{
  color:#c4cfdd!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:950!important;
}

.exhibition-professional-card .pack-area{
  color:var(--pack-accent)!important;
  font-weight:850!important;
}

/* ---------------------------------------------------------------------
   5. POPUPS DES STANDS — GRANDE IMAGE, DETAILS CLAIRS
   --------------------------------------------------------------------- */
.stand-pack-modal{
  z-index:100020!important;
}

.stand-pack-modal .modal-backdrop{
  background:rgba(4,15,34,.78)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}

.stand-pack-modal-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
  align-items:stretch!important;
  gap:0!important;
  width:min(94vw,1460px)!important;
  max-width:1460px!important;
  max-height:90dvh!important;
  margin:5dvh auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 38px 100px rgba(0,0,0,.38)!important;
}

.stand-pack-photo{
  min-height:570px!important;
  overflow:hidden!important;
  background:#edf2f8!important;
}

.stand-pack-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:570px!important;
  object-fit:cover!important;
  object-position:center!important;
}

.stand-pack-copy{
  display:flex!important;
  flex-direction:column!important;
  max-height:90dvh!important;
  padding:54px 42px 38px!important;
  overflow-y:auto!important;
}

.stand-pack-copy .stand-type-badge{
  align-self:flex-start!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:31px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:var(--v56-navy)!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

.stand-pack-copy h2{
  margin:18px 0 8px!important;
  color:var(--v56-navy)!important;
  font-size:clamp(31px,3vw,48px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}

.stand-pack-copy h3{
  margin:24px 0 13px!important;
  color:var(--v56-navy)!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
}

.stand-pack-copy .pack-subtitle{
  margin:0!important;
  color:#5a6b84!important;
  font-size:16px!important;
  line-height:1.55!important;
}

.stand-pack-copy .pack-advantages{
  margin-bottom:26px!important;
}

.stand-pack-copy .pack-advantages li{
  font-size:15px!important;
}

.stand-pack-copy .pack-cta{
  align-self:flex-start!important;
  min-width:220px!important;
  min-height:48px!important;
  margin-top:auto!important;
  border-color:var(--v56-orange)!important;
  background:var(--v56-orange)!important;
  font-size:13px!important;
}

.stand-pack-modal-card .modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(7,31,70,.12)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--v56-navy)!important;
  font-size:28px!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(7,31,70,.15)!important;
}

/* ---------------------------------------------------------------------
   6. TABLETTE / MOBILE — HEADER COMPACT, MENU CLAIR DE DROITE A GAUCHE
   --------------------------------------------------------------------- */
@media (max-width:1500px){
  .site-header .top-shell{
    grid-template-columns:minmax(235px,285px) minmax(420px,1fr) auto!important;
    column-gap:14px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{width:270px!important}
  .site-header .main-nav .main-nav-links > a{padding:0 10px!important;font-size:11.6px!important}
  .flip-digit{width:25px!important;height:41px!important;font-size:25px!important}
  .countdown-separator{height:41px!important;font-size:21px!important}
}

@media (max-width:1260px){
  .sponsor-pack-grid,
  .exhibition-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:1100px){
  html{scroll-padding-top:128px!important}
  body{padding-top:0!important;overflow-x:hidden!important}

  .site-header{
    position:sticky!important;
    top:0!important;
    min-height:0!important;
  }

  .site-header .top-shell{
    width:100%!important;
    min-height:126px!important;
    height:126px!important;
    padding:2px 12px 4px!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    grid-template-rows:69px 51px!important;
    grid-template-areas:
      "brand toggle"
      "countdown countdown"!important;
    column-gap:8px!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand{
    align-self:center!important;
    height:69px!important;
    overflow:hidden!important;
  }

  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(350px,calc(100vw - 86px))!important;
    max-width:min(350px,calc(100vw - 86px))!important;
    height:66px!important;
    min-height:0!important;
    max-height:66px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    z-index:100015!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    width:56px!important;
    min-width:56px!important;
    height:56px!important;
    margin:0!important;
    padding:0!important;
    gap:6px!important;
    border:0!important;
    border-radius:17px!important;
    background:var(--v56-navy)!important;
    box-shadow:0 12px 26px rgba(7,31,70,.22)!important;
    cursor:pointer!important;
  }

  .site-header .nav-toggle span{
    display:block!important;
    width:26px!important;
    height:3px!important;
    margin:0!important;
    border-radius:999px!important;
    background:#fff!important;
    transition:transform .25s ease,opacity .2s ease!important;
  }

  .site-header .nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)!important}
  .site-header .nav-toggle.is-open span:nth-child(2){opacity:0!important}
  .site-header .nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important}

  .site-header .header-countdown{
    grid-area:countdown!important;
    justify-self:center!important;
    align-self:center!important;
    width:100%!important;
    height:49px!important;
    min-height:49px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:0!important;
  }

  .site-header .header-countdown .countdown-grid{
    grid-template-columns:auto 7px auto 7px auto 7px auto!important;
    gap:3px!important;
  }

  .flip-digit{
    width:24px!important;
    height:36px!important;
    border-radius:4px!important;
    font-size:23px!important;
    box-shadow:inset 0 1px 0 #fff,0 3px 7px rgba(35,43,52,.14)!important;
  }

  .countdown-digits{gap:2px!important}
  .countdown-unit{gap:4px!important}
  .countdown-unit small{font-size:7px!important;letter-spacing:.07em!important}
  .countdown-separator{height:36px!important;font-size:20px!important}

  /* Volet mobile clair, professionnel et couvrant l'écran. */
  .site-header .main-nav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:100014!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:min(92vw,455px)!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#fbfcfe 0%,#eef3f8 100%)!important;
    box-shadow:-34px 0 90px rgba(3,16,37,.28)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .34s cubic-bezier(.22,.78,.28,1),opacity .25s ease,visibility .25s ease!important;
  }

  .site-header .main-nav.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }

  body.mobile-nav-open{
    overflow:hidden!important;
    touch-action:none!important;
  }

  body.mobile-nav-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100012!important;
    display:block!important;
    background:rgba(3,15,34,.52)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
  }

  .site-header .mobile-nav-head{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:104px!important;
    padding:17px 17px 16px 20px!important;
    border-bottom:1px solid #dce5ef!important;
    background:#fff!important;
  }

  .mobile-nav-brand{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    min-width:0!important;
  }

  .mobile-nav-brand img{
    display:block!important;
    flex:0 0 auto!important;
    width:112px!important;
    height:58px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .mobile-nav-brand div{
    display:flex!important;
    flex-direction:column!important;
    gap:4px!important;
    min-width:0!important;
  }

  .mobile-nav-brand strong{
    color:var(--v56-navy)!important;
    font-size:16px!important;
    line-height:1.1!important;
    font-weight:950!important;
  }

  .mobile-nav-brand span{
    color:#64758d!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:700!important;
  }

  .site-header .nav-close{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:43px!important;
    height:43px!important;
    padding:0!important;
    border:1px solid #dce4ed!important;
    border-radius:13px!important;
    background:#f3f6fa!important;
    color:var(--v56-navy)!important;
    font-size:29px!important;
    line-height:1!important;
    font-weight:400!important;
    cursor:pointer!important;
  }

  .site-header .main-nav-links{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-height:0!important;
    padding:18px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .site-header .main-nav .main-nav-links > a{
    --nav-accent:var(--v56-blue);
    position:relative!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 30px!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    margin:0!important;
    padding:7px 11px 7px 9px!important;
    overflow:hidden!important;
    border:1px solid #dbe4ed!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#111b2c!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:850!important;
    text-align:left!important;
    box-shadow:0 8px 22px rgba(7,31,70,.065)!important;
    opacity:0!important;
    transform:translateX(24px)!important;
    transition:transform .25s ease,opacity .25s ease,border-color .2s ease,box-shadow .2s ease!important;
  }

  .site-header .main-nav.is-open .main-nav-links > a{
    opacity:1!important;
    transform:translateX(0)!important;
  }

  .site-header .main-nav.is-open .main-nav-links > a:nth-child(1){transition-delay:.05s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(2){transition-delay:.08s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(3){transition-delay:.11s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(4){transition-delay:.14s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(5){transition-delay:.17s!important}
  .site-header .main-nav.is-open .main-nav-links > a:nth-child(6){transition-delay:.20s!important}

  .site-header .main-nav .main-nav-links > a:nth-child(1){--nav-accent:#0d4da8}
  .site-header .main-nav .main-nav-links > a:nth-child(2){--nav-accent:#f26722}
  .site-header .main-nav .main-nav-links > a:nth-child(3){--nav-accent:#24833a}
  .site-header .main-nav .main-nav-links > a:nth-child(4){--nav-accent:#7a56ad}
  .site-header .main-nav .main-nav-links > a:nth-child(5){--nav-accent:#148ea1}
  .site-header .main-nav .main-nav-links > a:nth-child(6){--nav-accent:#bb3d4b}

  .site-header .main-nav .main-nav-links > a::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:10px!important;
    bottom:10px!important;
    width:4px!important;
    border-radius:0 6px 6px 0!important;
    background:var(--nav-accent)!important;
  }

  .site-header .main-nav .main-nav-links > a:hover,
  .site-header .main-nav .main-nav-links > a:focus-visible,
  .site-header .main-nav .main-nav-links > a.is-active{
    transform:translateX(0)!important;
    border-color:color-mix(in srgb,var(--nav-accent) 38%,#dbe4ed)!important;
    background:#fff!important;
    color:#111b2c!important;
    box-shadow:0 13px 28px rgba(7,31,70,.11)!important;
  }

  .site-header .mobile-nav-index{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--nav-accent) 10%,#fff)!important;
    color:var(--nav-accent)!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
  }

  .site-header .nav-label{
    display:block!important;
    min-width:0!important;
    padding:0 7px!important;
  }

  .site-header .mobile-nav-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    background:#f2f5f9!important;
    color:var(--nav-accent)!important;
    font-size:16px!important;
    font-weight:900!important;
  }

  .site-header .mobile-nav-contact{
    flex:0 0 auto!important;
    display:block!important;
    padding:16px 18px 20px!important;
    border-top:1px solid #dce5ef!important;
    background:rgba(255,255,255,.88)!important;
  }

  .mobile-nav-contact > p{
    margin:0 0 10px!important;
    color:#7c899b!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }

  .mobile-contact-line{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    color:var(--v56-navy)!important;
    font-size:12px!important;
    line-height:1.25!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .mobile-contact-line span{
    color:var(--v56-orange)!important;
    font-size:16px!important;
  }

  .mobile-nav-cta-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:12px!important;
  }

  .site-header .mobile-nav-cta{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:7px 9px!important;
    border:0!important;
    border-radius:12px!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:900!important;
    text-align:center!important;
  }

  .site-header .mobile-nav-cta.primary{background:var(--v56-blue)!important}
  .site-header .mobile-nav-cta.secondary{background:var(--v56-orange)!important}

  /* Slider mobile : image officielle entière, même ratio sur les 10 slides. */
  .hero-slider{
    margin:0!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage{
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 calc(50% - 50vw)!important;
    padding:0!important;
    background:var(--v56-navy)!important;
  }

  .slider-viewport{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1200/650!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage .slide,
  .slider-stage [data-slide]{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:#fff!important;
  }

  .slider-stage .slide-media,
  .slider-stage .slide img,
  .slider-stage [data-slide] img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center!important;
    background:var(--v56-navy)!important;
  }

  .slider-stage .slide-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .slider-stage .slider-arrow.prev{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .slider-stage .slider-arrow.next{
    top:auto!important;
    right:auto!important;
    left:50%!important;
    bottom:43px!important;
    z-index:35!important;
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:55px!important;
    height:55px!important;
    padding:0 0 4px!important;
    border:4px solid rgba(255,255,255,.92)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--v56-blue)!important;
    font-size:38px!important;
    box-shadow:0 13px 28px rgba(3,16,37,.28)!important;
    transform:translate(-50%,50%)!important;
  }

  .slider-stage .slider-arrow.next:hover{
    transform:translate(-50%,50%) scale(1.04)!important;
  }

  .slider-control-bar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:0!important;
    background:linear-gradient(180deg,#11223a 0%,#07111f 100%)!important;
  }

  .slider-stage .mobile-slider-dots,
  .slider-stage .slider-dots.mobile-slider-dots{
    position:static!important;
    inset:auto!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:7px 12px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.10)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  .slider-stage .mobile-slider-dots button{
    display:block!important;
    width:9px!important;
    min-width:9px!important;
    height:9px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.62)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transition:width .2s ease,background .2s ease!important;
  }

  .slider-stage .mobile-slider-dots button.is-active{
    width:31px!important;
    background:var(--v56-orange)!important;
  }

  .stand-pack-modal-card{
    grid-template-columns:1fr!important;
    width:min(94vw,820px)!important;
    max-height:92dvh!important;
    margin:4dvh auto!important;
    overflow-y:auto!important;
  }

  .stand-pack-photo,
  .stand-pack-photo img{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
  }

  .stand-pack-copy{
    max-height:none!important;
    padding:30px 25px 28px!important;
    overflow:visible!important;
  }
}

@media (max-width:760px){
  .reasons-intro,
  .pack-section-header{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:20px!important;
  }

  .reasons-summary{display:none!important}
  .reasons-grid{grid-template-columns:1fr!important}
  .sponsor-pack-grid,
  .exhibition-pack-grid{grid-template-columns:1fr!important}

  .s2ia-participation-reasons,
  .s2ia-pack-section{padding:58px 0!important}

  .s2ia-participation-reasons .s2ia-showcase-inner,
  .s2ia-pack-section .s2ia-showcase-inner{width:min(92%,620px)!important}

  .professional-pack-card h3{font-size:27px!important}
}

@media (max-width:560px){
  html{scroll-padding-top:123px!important}

  .site-header .top-shell{
    min-height:121px!important;
    height:121px!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    grid-template-rows:66px 49px!important;
    padding:2px 10px 4px!important;
  }

  .site-header .brand{height:66px!important}

  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(326px,calc(100vw - 76px))!important;
    max-width:min(326px,calc(100vw - 76px))!important;
    height:63px!important;
    max-height:63px!important;
  }

  .site-header .nav-toggle{
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    border-radius:16px!important;
  }

  .site-header .header-countdown{
    height:51px!important;
    min-height:51px!important;
  }

  .site-header .header-countdown .countdown-grid{
    grid-template-columns:auto 5px auto 5px auto 5px auto!important;
    gap:2px!important;
  }

  .flip-digit{
    width:21px!important;
    height:34px!important;
    font-size:21px!important;
  }

  .countdown-digits{gap:1px!important}
  .countdown-separator{width:5px!important;height:34px!important;font-size:18px!important}
  .countdown-unit small{font-size:6.4px!important;letter-spacing:.05em!important}

  .site-header .main-nav{width:min(94vw,430px)!important}
  .site-header .mobile-nav-head{min-height:94px!important;padding:14px 14px 13px 17px!important}
  .mobile-nav-brand img{width:102px!important;height:52px!important}
  .site-header .main-nav-links{padding:14px!important;gap:8px!important}
  .site-header .main-nav .main-nav-links > a{min-height:54px!important;font-size:14px!important}
  .site-header .mobile-nav-contact{padding:13px 14px 16px!important}

  .slider-stage .slider-arrow.next{
    width:50px!important;
    height:50px!important;
    bottom:42px!important;
    font-size:34px!important;
  }
  .slider-control-bar{height:55px!important;min-height:55px!important}
  .slider-stage .mobile-slider-dots{gap:7px!important;padding:6px 10px!important}
  .slider-stage .mobile-slider-dots button{width:8px!important;min-width:8px!important;height:8px!important}
  .slider-stage .mobile-slider-dots button.is-active{width:27px!important}

  .reasons-kicker{font-size:9px!important;letter-spacing:.09em!important}
  .reasons-intro h2{font-size:40px!important}
  .reasons-intro p{font-size:15px!important}
  .reason-item{min-height:150px!important;padding:20px!important}
  .reason-item p{font-size:16px!important}

  .pack-section-header h2{font-size:40px!important}
  .pack-section-header p{font-size:15px!important}
  .professional-pack-content{padding:22px 20px 21px!important}
  .pack-card-actions{grid-template-columns:1fr!important}
  .pack-action-outline,.pack-action-primary{min-height:46px!important}

  .stand-pack-copy h2{font-size:34px!important}
  .stand-pack-copy{padding:27px 20px 24px!important}
}

@media (max-width:360px){
  .site-header .top-shell{
    grid-template-columns:minmax(0,1fr) 47px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .site-header .brand img,
  .site-header .header-logo-exact{
    width:min(270px,calc(100vw - 68px))!important;
    max-width:min(270px,calc(100vw - 68px))!important;
  }
  .site-header .nav-toggle{width:46px!important;min-width:46px!important;height:46px!important}
  .flip-digit{width:19px!important;height:32px!important;font-size:19px!important}
  .countdown-separator{height:32px!important;font-size:16px!important}
  .countdown-unit small{font-size:6px!important}
}

@media (prefers-reduced-motion:reduce){
  .flip-digit,
  .slider-stage .slide,
  .professional-pack-card,
  .reason-item,
  .site-header .main-nav,
  .site-header .main-nav .main-nav-links > a{
    animation:none!important;
    transition:none!important;
  }
}


/* V56 FINAL — protections ciblées contre les anciennes règles en cascade */
@media (max-width:1100px){
  .site-header .top-shell{overflow:visible!important}
  .site-header .header-countdown{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
  .site-header .header-countdown .countdown-grid{max-width:100%!important;overflow:visible!important}
  .site-header .nav-toggle[aria-expanded="true"]{background:#0d4da8!important}
  .slider-stage .slide-picture{display:block!important}
}
@media (max-width:420px){
  .site-header .top-shell{padding-left:7px!important;padding-right:7px!important}
  .site-header .brand img,.site-header .header-logo-exact{width:min(300px,calc(100vw - 68px))!important;max-width:min(300px,calc(100vw - 68px))!important}
  .flip-digit{width:19px!important;height:32px!important;font-size:19px!important}
  .countdown-digits{gap:1px!important}
  .countdown-separator{width:4px!important;height:32px!important;font-size:15px!important}
  .countdown-unit small{font-size:5.8px!important;letter-spacing:.04em!important}
}

/* V56 FINAL-2 — superposition mobile sous le volet, menu net et cliquable */
@media (max-width:1100px){
  body.mobile-nav-open::before{
    content:none!important;
    display:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  body.mobile-nav-open .site-header::after{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100010!important;
    display:block!important;
    background:rgba(3,15,34,.52)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
    pointer-events:auto!important;
  }

  .site-header .main-nav{z-index:100014!important}
  .site-header .nav-toggle{z-index:100015!important}
}

/* V56 FINAL-2 — finitions du volet mobile */
@media (max-width:1100px){
  .site-header .main-nav::before{
    content:none!important;
    display:none!important;
  }

  .site-header .nav-toggle.is-open,
  .site-header .nav-toggle[aria-expanded="true"]{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:scale(.86)!important;
  }

  body .site-header .main-nav .mobile-contact-line,
  body .site-header .main-nav .mobile-contact-line b{
    color:#132238!important;
    opacity:1!important;
    text-shadow:none!important;
  }

  body .site-header .main-nav .mobile-contact-line:hover,
  body .site-header .main-nav .mobile-contact-line:focus-visible{
    color:#0d4da8!important;
    background:transparent!important;
  }
}

/* ========================================================================== 
   S2IA V56 — CONSOLIDATION FINALE DES COMPOSANTS CRITIQUES
   Header, compteur, navigation mobile et slider
   ========================================================================== */

/* Compteur flip — rendu uniforme sur ordinateur, tablette et mobile */
.header-countdown {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.countdown {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 100% !important;
  background: transparent !important;
}

.countdown-segment {
  display: grid !important;
  grid-template-rows: auto auto !important;
  justify-items: center !important;
  align-items: start !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.countdown-number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #26303b !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

.flip-digit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 36px !important;
  overflow: hidden !important;
  border: 1px solid rgba(8, 29, 65, .12) !important;
  border-radius: 5px !important;
  background: linear-gradient(180deg, #fbfbfb 0%, #eeeeef 49%, #e4e5e7 50%, #f7f7f8 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 3px 7px rgba(7, 31, 70, .14) !important;
  color: #242b34 !important;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 #fff !important;
}

.flip-digit::before {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: rgba(41, 48, 58, .22) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .72) !important;
  pointer-events: none !important;
}

.flip-digit::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px 1px auto 1px !important;
  height: 46% !important;
  border-radius: 4px 4px 0 0 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .38), rgba(255, 255, 255, 0)) !important;
  pointer-events: none !important;
}

.countdown-label {
  display: block !important;
  margin-top: 6px !important;
  color: #7b838e !important;
  font-family: Arial, sans-serif !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  letter-spacing: .5px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.countdown-separator {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 7px !important;
  height: 36px !important;
  margin: 0 !important;
  color: #69717b !important;
  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 36px !important;
  background: transparent !important;
}

/* Le bouton de navigation du carrousel reste strictement dans l'image. */
.slider-stage .slider-viewport {
  position: relative !important;
  overflow: hidden !important;
}

.slider-stage .slider-arrow.next {
  position: absolute !important;
  z-index: 14 !important;
  top: auto !important;
  right: auto !important;
  bottom: 13px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}

/* Empêche les flèches d'un carrousel situé plus bas de remonter dans le hero. */
@media (max-width: 1100px) {
  #eventFinanceTrack .strip-arrow {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  html {
    scroll-padding-top: 122px !important;
  }

  body.mobile-nav-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  body.mobile-nav-open::before {
    display: none !important;
  }

  
  body.mobile-nav-open .pwa-install-prompt,
  body.mobile-nav-open [data-pwa-prompt] {
    display: none !important;
  }

  .site-header {
    z-index: 100100 !important;
  }

  .site-header .top-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 56px !important;
    grid-template-rows: 69px 43px !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    min-height: 116px !important;
    height: 116px !important;
    padding: 2px 9px 2px 13px !important;
    overflow: visible !important;
    border-radius: 26px !important;
  }

  .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
    width: min(73vw, 315px) !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand img,
  .site-header .brand-logo {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 66px !important;
    max-height: 66px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .nav-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    border-radius: 15px !important;
  }

  .nav-toggle.is-open {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .site-header .header-countdown {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 41px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .countdown {
    gap: 4px !important;
    height: 41px !important;
  }

  .site-header .flip-digit {
    width: 22px !important;
    height: 30px !important;
    border-radius: 4px !important;
    font-size: 21px !important;
  }

  .site-header .countdown-number {
    gap: 2px !important;
  }

  .site-header .countdown-separator {
    width: 6px !important;
    height: 30px !important;
    font-size: 18px !important;
    line-height: 30px !important;
  }

  .site-header .countdown-label {
    margin-top: 3px !important;
    font-size: 7px !important;
    letter-spacing: .35px !important;
  }

  /* Navigation mobile plein écran — ouverture fluide de droite à gauche. */
  .main-nav {
    position: fixed !important;
    z-index: 100300 !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(145deg, #f8fafc 0%, #ffffff 42%, #eef5f1 100%) !important;
    box-shadow: -28px 0 80px rgba(4, 27, 66, .24) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translate3d(103%, 0, 0) !important;
    transition: transform .38s cubic-bezier(.22, .8, .24, 1), opacity .24s ease, visibility .38s !important;
  }

  .main-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .main-nav .mobile-nav-head {
    position: sticky !important;
    z-index: 4 !important;
    top: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 52px !important;
    align-items: center !important;
    min-height: 84px !important;
    padding: 15px 18px !important;
    border-bottom: 1px solid rgba(8, 35, 77, .09) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 26px rgba(4, 32, 73, .07) !important;
    backdrop-filter: blur(14px) !important;
  }

  .main-nav .mobile-nav-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
  }

  .main-nav .mobile-nav-brand img {
    width: min(65vw, 260px) !important;
    height: 52px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .main-nav .nav-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(7, 31, 70, .10) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #ffffff, #edf2f6) !important;
    box-shadow: 0 8px 18px rgba(4, 28, 65, .12) !important;
    color: #071f46 !important;
    font-size: 32px !important;
    line-height: 1 !important;
  }

  .main-nav > ul {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 28px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    list-style: none !important;
    overscroll-behavior: contain !important;
  }

  .main-nav > ul > li,
  .main-nav > ul > li > a {
    width: 100% !important;
  }

  .main-nav > ul > li > a {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    min-height: 63px !important;
    padding: 7px 13px 7px 8px !important;
    overflow: hidden !important;
    border: 1px solid rgba(7, 31, 70, .085) !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 8px 22px rgba(4, 30, 68, .07) !important;
    color: #102b52 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
  }

  .main-nav > ul > li > a::before {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, #eef4fb, #dce9f7) !important;
    color: #0d4da8 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .main-nav > ul > li > a::after {
    content: "›" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #46617f !important;
    font-size: 25px !important;
    font-weight: 500 !important;
  }

  .main-nav > ul > li:nth-child(3n + 1) > a {
    border-left: 5px solid #f26722 !important;
  }

  .main-nav > ul > li:nth-child(3n + 2) > a {
    border-left: 5px solid #0d4da8 !important;
  }

  .main-nav > ul > li:nth-child(3n) > a {
    border-left: 5px solid #218a43 !important;
  }

  .main-nav > ul > li:nth-child(3n + 1) > a::before {
    background: linear-gradient(145deg, #fff0e7, #ffd9c4) !important;
    color: #dc5316 !important;
  }

  .main-nav > ul > li:nth-child(3n) > a::before {
    background: linear-gradient(145deg, #eaf7ed, #cfebd6) !important;
    color: #167237 !important;
  }

  .main-nav .mobile-nav-foot {
    display: block !important;
    flex: 0 0 auto !important;
    padding: 13px 18px calc(14px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(7, 31, 70, .08) !important;
    background: rgba(247, 250, 252, .98) !important;
    color: #48607f !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .slider-stage .slider-arrow.next {
    bottom: 13px !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
  }
}

@media (max-width: 560px) {
  html {
    scroll-padding-top: 116px !important;
  }

  .site-header .top-shell {
    grid-template-columns: minmax(0, 1fr) 53px !important;
    grid-template-rows: 66px 42px !important;
    min-height: 112px !important;
    height: 112px !important;
    padding: 2px 8px 2px 11px !important;
    border-radius: 24px !important;
  }

  .site-header .brand {
    width: min(75vw, 302px) !important;
    height: 63px !important;
  }

  .site-header .brand img,
  .site-header .brand-logo {
    height: 63px !important;
    max-height: 63px !important;
  }

  .nav-toggle {
    width: 51px !important;
    height: 51px !important;
    min-width: 51px !important;
    min-height: 51px !important;
    border-radius: 14px !important;
  }

  .site-header .header-countdown,
  .site-header .countdown {
    height: 40px !important;
  }

  .site-header .flip-digit {
    width: 20px !important;
    height: 29px !important;
    font-size: 20px !important;
  }

  .site-header .countdown-number {
    gap: 2px !important;
  }

  .site-header .countdown-separator {
    width: 5px !important;
    height: 29px !important;
    font-size: 17px !important;
    line-height: 29px !important;
  }

  .site-header .countdown-label {
    margin-top: 3px !important;
    font-size: 6.5px !important;
    letter-spacing: .25px !important;
  }

  .slider-stage .slider-arrow.next {
    bottom: 12px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
  }
}

/* Agrandissement optique du logo sur les petits écrans sans augmenter la hauteur du header. */
@media (max-width: 560px) {
  .site-header .brand img,
  .site-header .brand-logo {
    transform: scale(1.22) !important;
    transform-origin: left center !important;
  }
}
/* ========================================================================== 
   S2IA V57 — Correctif final de déploiement
   Chargé après toutes les feuilles historiques pour neutraliser les conflits.
   ========================================================================== */
:root{
  --v57-blue:#071f46;
  --v57-blue-2:#0d4da8;
  --v57-orange:#f26722;
  --v57-green:#23833a;
  --v57-ink:#0b254f;
  --v57-muted:#536987;
  --v57-line:#dbe4ef;
  --v57-soft:#f4f7fb;
  --v57-header-desktop:88px;
  --v57-header-mobile:116px;
}

html{
  scroll-padding-top:calc(var(--v57-header-desktop) + 16px)!important;
  overflow-x:hidden!important;
}
body{
  padding-top:0!important;
  margin:0!important;
  overflow-x:hidden!important;
}
body > main,
body main{
  padding-top:var(--v57-header-desktop)!important;
  margin-top:0!important;
}

/* --------------------------------------------------------------------------
   Header fixe, compact et parfaitement aligné
   -------------------------------------------------------------------------- */
body .site-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:100000!important;
  height:var(--v57-header-desktop)!important;
  min-height:var(--v57-header-desktop)!important;
  padding:0!important;
  margin:0!important;
  background:rgba(255,255,255,.98)!important;
  border:0!important;
  box-shadow:0 6px 26px rgba(7,31,70,.11)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  overflow:visible!important;
}
body .site-header .top-shell{
  box-sizing:border-box!important;
  width:calc(100% - 28px)!important;
  max-width:1880px!important;
  height:80px!important;
  min-height:80px!important;
  margin:4px auto!important;
  padding:4px 16px!important;
  display:grid!important;
  grid-template-columns:minmax(230px,282px) minmax(430px,1fr) minmax(310px,352px)!important;
  grid-template-rows:1fr!important;
  grid-template-areas:"brand nav countdown"!important;
  align-items:center!important;
  gap:12px!important;
  overflow:visible!important;
  background:#fff!important;
  border:1px solid #dbe5f1!important;
  border-radius:20px!important;
  box-shadow:0 8px 24px rgba(7,31,70,.065)!important;
}
body .site-header .brand{
  grid-area:brand!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:70px!important;
  min-height:70px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .site-header .brand img,
body .site-header .brand .header-logo-exact{
  display:block!important;
  width:min(272px,100%)!important;
  max-width:272px!important;
  height:auto!important;
  max-height:70px!important;
  object-fit:contain!important;
  object-position:left center!important;
  padding:0!important;
  margin:0!important;
  filter:none!important;
}

body .site-header .main-nav{
  grid-area:nav!important;
  position:static!important;
  inset:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body .site-header .main-nav .mobile-nav-head,
body .site-header .main-nav .mobile-nav-contact{
  display:none!important;
}
body .site-header .main-nav .mobile-nav-body{
  display:contents!important;
}
body .site-header .main-nav .main-nav-links{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:7px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
body .site-header .main-nav .main-nav-links > a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:43px!important;
  height:43px!important;
  padding:0 14px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:#f2f5f9!important;
  color:var(--v57-blue)!important;
  box-shadow:none!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.05!important;
  letter-spacing:-.018em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transform:none!important;
  opacity:1!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease!important;
}
body .site-header .main-nav .main-nav-links > a:hover,
body .site-header .main-nav .main-nav-links > a:focus-visible,
body .site-header .main-nav .main-nav-links > a.is-active{
  color:#fff!important;
  background:var(--v57-blue-2)!important;
  border-color:var(--v57-blue-2)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
body .site-header .main-nav .mobile-nav-index,
body .site-header .main-nav .mobile-nav-arrow{
  display:none!important;
}
body .site-header .nav-toggle{
  display:none!important;
}

/* Compteur flip premium */
body .site-header .header-countdown{
  grid-area:countdown!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  padding:4px 7px 2px!important;
  margin:0!important;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)!important;
  border:1px solid #e0e7f0!important;
  border-radius:15px!important;
  box-shadow:inset 0 1px 0 #fff,0 6px 18px rgba(7,31,70,.07)!important;
  overflow:visible!important;
}
body .site-header .header-countdown::before{
  content:""!important;
  position:absolute!important;
  inset:5px auto 5px 5px!important;
  width:3px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,var(--v57-orange),var(--v57-green))!important;
}
body .site-header .header-countdown .countdown-grid{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  gap:4px!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}
body .site-header .countdown-unit{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body .site-header .countdown-digits{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  min-height:38px!important;
  padding:0!important;
  margin:0!important;
}
body .site-header .flip-digit{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:25px!important;
  min-width:25px!important;
  height:38px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #ccd4df!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#f8f9fb 0%,#e5e8ed 49%,#d8dde4 50%,#f4f5f7 100%)!important;
  color:#17253a!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 3px 7px rgba(7,31,70,.14)!important;
  font-family:"Arial Narrow",Impact,Arial,sans-serif!important;
  font-size:26px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-shadow:0 1px 0 #fff!important;
  overflow:hidden!important;
}
body .site-header .flip-digit::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:50%!important;
  height:1px!important;
  background:rgba(47,58,73,.24)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.85)!important;
}
body .site-header .countdown-unit small{
  display:block!important;
  margin:0!important;
  color:#6a7890!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:7.5px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body .site-header .countdown-separator{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:7px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  color:#52647d!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:38px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* --------------------------------------------------------------------------
   Slider : ratio exact, aucune marge parasite, flèches latérales discrètes
   -------------------------------------------------------------------------- */
body .hero-slider,
body main > .hero-slider{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#0b1830!important;
  border:0!important;
  overflow:hidden!important;
}
body .hero-slider .slider-stage{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  aspect-ratio:1999/786!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:#0b1830!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
body .hero-slider .slider-viewport{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body .hero-slider .slider-stage .slide,
body .hero-slider .slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  transition:opacity .7s ease,visibility .7s ease!important;
  overflow:hidden!important;
}
body .hero-slider .slider-stage .slide.is-active,
body .hero-slider .slider-stage [data-slide].is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2!important;
}
body .hero-slider .slide-picture,
body .hero-slider .slide-media,
body .hero-slider .slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
}
body .hero-slider .slider-stage .slider-arrow,
body .hero-slider .slider-stage .slider-arrow.prev,
body .hero-slider .slider-stage .slider-arrow.next{
  position:absolute!important;
  top:50%!important;
  bottom:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 0 3px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.62)!important;
  color:var(--v57-blue)!important;
  box-shadow:0 7px 22px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  font-family:Arial,sans-serif!important;
  font-size:34px!important;
  font-weight:400!important;
  line-height:1!important;
  opacity:.62!important;
  transform:translateY(-50%)!important;
  z-index:8!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:opacity .2s ease,background .2s ease,transform .2s ease!important;
}
body .hero-slider .slider-stage .slider-arrow.prev{left:18px!important;right:auto!important}
body .hero-slider .slider-stage .slider-arrow.next{right:18px!important;left:auto!important}
body .hero-slider .slider-stage .slider-arrow::before,
body .hero-slider .slider-stage .slider-arrow::after{display:none!important;content:none!important}
body .hero-slider .slider-stage .slider-arrow:hover,
body .hero-slider .slider-stage .slider-arrow:focus-visible{
  opacity:.96!important;
  background:rgba(255,255,255,.92)!important;
  transform:translateY(-50%) scale(1.04)!important;
  outline:3px solid rgba(242,103,34,.28)!important;
  outline-offset:2px!important;
}
body .hero-slider .slider-control-bar{
  position:absolute!important;
  left:50%!important;
  bottom:14px!important;
  z-index:9!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-50%)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .hero-slider .mobile-slider-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:auto!important;
  margin:0!important;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(4,17,40,.52)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(8px)!important;
}
body .hero-slider .mobile-slider-dots button{
  display:block!important;
  width:7px!important;
  min-width:7px!important;
  height:7px!important;
  min-height:7px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.68)!important;
  box-shadow:none!important;
  opacity:1!important;
  transition:width .25s ease,background .25s ease!important;
}
body .hero-slider .mobile-slider-dots button.is-active{
  width:25px!important;
  background:var(--v57-orange)!important;
}
body .hero-actions{margin-top:0!important;padding-top:0!important}

/* --------------------------------------------------------------------------
   Message du Président : vrai bouton, aucune barre inférieure
   -------------------------------------------------------------------------- */
body .president-message-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:42px!important;
  margin:15px 0 0!important;
  padding:10px 20px!important;
  border:1px solid var(--v57-blue-2)!important;
  border-radius:999px!important;
  background:var(--v57-blue-2)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(13,77,168,.18)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
body .president-message-link::before,
body .president-message-link::after{display:none!important;content:none!important}
body .president-message-link:hover,
body .president-message-link:focus-visible{background:var(--v57-orange)!important;border-color:var(--v57-orange)!important;outline:none!important}

/* --------------------------------------------------------------------------
   Raisons de participer : titre harmonisé + vraies photos d’illustration
   -------------------------------------------------------------------------- */
body .s2ia-participation-reasons{
  position:relative!important;
  padding:76px 0 84px!important;
  margin:0!important;
  background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%)!important;
  overflow:hidden!important;
}
body .s2ia-participation-reasons::before,
body .s2ia-participation-reasons::after{
  content:""!important;
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
body .s2ia-participation-reasons::before{width:260px!important;height:260px!important;left:-110px!important;top:-90px!important;background:rgba(35,131,58,.09)!important}
body .s2ia-participation-reasons::after{width:320px!important;height:320px!important;right:-150px!important;bottom:-170px!important;background:rgba(242,103,34,.08)!important}
body .s2ia-participation-reasons .reasons-shell{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .s2ia-participation-reasons .reasons-intro,
body .s2ia-participation-reasons .v57-centered-heading{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(1050px,92%)!important;
  max-width:1050px!important;
  margin:0 auto 38px!important;
  padding:0!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .s2ia-participation-reasons .reasons-kicker{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 11px!important;
  padding:7px 15px!important;
  border:1px solid #d9e3ef!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--v57-blue-2)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  box-shadow:0 5px 16px rgba(7,31,70,.06)!important;
}
body .s2ia-participation-reasons .reasons-intro h2{
  width:100%!important;
  margin:0!important;
  color:var(--v57-blue)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:clamp(34px,3.4vw,58px)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  text-align:center!important;
}
body .s2ia-participation-reasons .reasons-intro h2 em{
  color:var(--v57-orange)!important;
  font-style:normal!important;
  font-weight:900!important;
}
body .s2ia-participation-reasons .reasons-intro p{
  max-width:920px!important;
  margin:17px auto 0!important;
  color:#405b7e!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:1.65!important;
  text-align:center!important;
}
body .s2ia-participation-reasons .reasons-grid,
body .s2ia-participation-reasons .v57-reasons-photo-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:min(1660px,94%)!important;
  max-width:1660px!important;
  margin:0 auto!important;
  padding:0!important;
}
body .reason-photo-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dce5ef!important;
  border-radius:22px!important;
  box-shadow:0 14px 35px rgba(7,31,70,.09)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
body .reason-photo-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 42px rgba(7,31,70,.14)!important}
body .reason-photo-media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#dfe7f1!important;
}
body .reason-photo-media::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(7,31,70,.04) 35%,rgba(7,31,70,.68) 100%)!important;
}
body .reason-photo-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.01)!important;
  transition:transform .4s ease!important;
}
body .reason-photo-card:hover .reason-photo-media img{transform:scale(1.055)!important}
body .reason-photo-media .reason-number{
  position:absolute!important;
  left:16px!important;
  top:15px!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:43px!important;
  height:35px!important;
  padding:0 10px!important;
  border-radius:11px!important;
  background:rgba(7,31,70,.92)!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  box-shadow:0 5px 15px rgba(0,0,0,.18)!important;
}
body .reason-photo-media .reason-tag{
  position:absolute!important;
  right:15px!important;
  bottom:15px!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--v57-blue-2)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body .reason-photo-copy{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  padding:22px 22px 24px!important;
}
body .reason-photo-copy h3{
  margin:0!important;
  color:var(--v57-blue)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
}
body .reason-photo-copy p{
  margin:11px 0 0!important;
  color:#566d8c!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.62!important;
}

/* --------------------------------------------------------------------------
   Packs : images pleines, boutons cohérents et cartes sans contrôles natifs
   -------------------------------------------------------------------------- */
body .s2ia-pack-section{padding:74px 0 82px!important}
body .pack-section-header{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:30px!important;
  width:min(1660px,94%)!important;
  margin:0 auto 34px!important;
}
body .pack-section-header h2{font-family:Verdana,Arial,sans-serif!important;font-size:clamp(34px,3vw,52px)!important;line-height:1.08!important;color:var(--v57-blue)!important}
body .pack-section-header > p{max-width:700px!important;font-family:Verdana,Arial,sans-serif!important;font-size:16px!important;line-height:1.6!important;color:#526887!important}
body .professional-pack-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:min(1660px,94%)!important;
  margin:0 auto!important;
}
body .professional-pack-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid #dbe4ef!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 13px 34px rgba(7,31,70,.09)!important;
}
body button.pack-visual-button{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#e9eef5!important;
  color:inherit!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
body button.pack-visual-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transition:transform .35s ease!important;
}
body button.pack-visual-button:hover img{transform:scale(1.045)!important}
body .pack-view-label{
  position:absolute!important;
  left:14px!important;
  right:14px!important;
  bottom:13px!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:38px!important;
  padding:0 13px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.91)!important;
  color:var(--v57-blue)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 5px 16px rgba(0,0,0,.13)!important;
}
body .professional-pack-content{display:flex!important;flex-direction:column!important;flex:1!important;padding:22px!important}
body .professional-pack-content h3{font-family:Verdana,Arial,sans-serif!important;font-size:22px!important;line-height:1.25!important;color:var(--v57-blue)!important}
body .pack-card-actions{margin-top:auto!important;padding-top:18px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}
body .pack-card-actions button,
body .pack-cta,
body .dynamic-page-pack-grid button{
  appearance:none!important;
  min-height:43px!important;
  border-radius:10px!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
body .dynamic-page-pack-grid article{overflow:hidden!important}
body .dynamic-page-pack-grid article > img{display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;margin:0 0 18px!important;border-radius:14px!important}

/* Page Hero administrable */
body .page-hero{
  position:relative!important;
  background-image:linear-gradient(90deg,rgba(7,31,70,.94),rgba(7,31,70,.58)),var(--page-hero-image)!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Popups */
body .premium-modal{z-index:100500!important}
body .premium-modal .modal-card{max-height:min(900px,92dvh)!important;overflow:auto!important}
body .premium-modal .modal-form-panel select{width:100%!important}
body .modal-card-sponsor .sponsor-visual{position:relative!important;overflow:hidden!important}
body .modal-card-sponsor .sponsor-visual > img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
body .modal-card-sponsor .sponsor-visual::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(7,31,70,.18),rgba(7,31,70,.86))!important}
body .modal-card-sponsor .modal-visual-content{position:relative!important;z-index:2!important}

/* --------------------------------------------------------------------------
   Ajustements écrans intermédiaires
   -------------------------------------------------------------------------- */
@media (max-width:1600px) and (min-width:1101px){
  body .site-header .top-shell{grid-template-columns:minmax(220px,255px) minmax(410px,1fr) minmax(295px,330px)!important;gap:9px!important;padding-left:12px!important;padding-right:12px!important}
  body .site-header .brand img,body .site-header .brand .header-logo-exact{width:245px!important;max-width:245px!important}
  body .site-header .main-nav .main-nav-links{gap:5px!important}
  body .site-header .main-nav .main-nav-links > a{padding:0 10px!important;font-size:13.2px!important}
  body .site-header .flip-digit{width:23px!important;min-width:23px!important;font-size:24px!important}
  body .site-header .header-countdown{padding-left:6px!important;padding-right:5px!important}
}
@media (max-width:1320px) and (min-width:1101px){
  body .site-header .top-shell{width:calc(100% - 16px)!important;grid-template-columns:220px minmax(390px,1fr) 292px!important;gap:7px!important}
  body .site-header .brand img,body .site-header .brand .header-logo-exact{width:215px!important;max-width:215px!important}
  body .site-header .main-nav .main-nav-links > a{padding:0 8px!important;font-size:12px!important}
  body .site-header .flip-digit{width:20px!important;min-width:20px!important;height:34px!important;font-size:21px!important}
  body .site-header .countdown-digits{min-height:34px!important}
  body .site-header .countdown-separator{height:34px!important;line-height:34px!important;font-size:15px!important}
}
@media (max-width:1280px){
  body .professional-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .s2ia-participation-reasons .reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* --------------------------------------------------------------------------
   Mobile / tablette : header à deux rangées + menu off-canvas scrollable
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  :root{--v57-header-mobile:116px}
  html{scroll-padding-top:calc(var(--v57-header-mobile) + 12px)!important}
  body > main,body main{padding-top:var(--v57-header-mobile)!important}
  body .site-header{
    height:var(--v57-header-mobile)!important;
    min-height:var(--v57-header-mobile)!important;
  }
  body .site-header .top-shell{
    width:100%!important;
    max-width:none!important;
    height:var(--v57-header-mobile)!important;
    min-height:var(--v57-header-mobile)!important;
    margin:0!important;
    padding:3px 10px 5px!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    grid-template-rows:66px 42px!important;
    grid-template-areas:"brand toggle" "countdown countdown"!important;
    gap:0 9px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  body .site-header .brand{
    grid-area:brand!important;
    height:66px!important;
    min-height:66px!important;
    overflow:visible!important;
  }
  body .site-header .brand img,
  body .site-header .brand .header-logo-exact{
    width:min(282px,calc(100vw - 80px))!important;
    max-width:min(282px,calc(100vw - 80px))!important;
    max-height:62px!important;
    object-position:left center!important;
  }
  body .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    z-index:100020!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    min-height:52px!important;
    margin:7px 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:15px!important;
    background:var(--v57-blue)!important;
    box-shadow:0 7px 17px rgba(7,31,70,.22)!important;
  }
  body .site-header .nav-toggle span{
    display:block!important;
    width:25px!important;
    height:3px!important;
    min-height:3px!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#fff!important;
    transform-origin:center!important;
    transition:transform .25s ease,opacity .2s ease!important;
  }
  body .site-header .nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)!important}
  body .site-header .nav-toggle.is-open span:nth-child(2){opacity:0!important}
  body .site-header .nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important}

  body .site-header .header-countdown{
    grid-area:countdown!important;
    align-self:stretch!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
    padding:4px 5px 1px!important;
    border:0!important;
    border-top:1px solid #e6ebf2!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body .site-header .header-countdown::before{display:none!important}
  body .site-header .header-countdown .countdown-grid{gap:3px!important;width:100%!important}
  body .site-header .countdown-digits{gap:1px!important;min-height:28px!important}
  body .site-header .flip-digit{
    width:20px!important;
    min-width:20px!important;
    height:28px!important;
    border-radius:4px!important;
    font-size:19px!important;
  }
  body .site-header .countdown-separator{
    width:5px!important;
    height:28px!important;
    line-height:28px!important;
    font-size:14px!important;
  }
  body .site-header .countdown-unit{gap:2px!important}
  body .site-header .countdown-unit small{font-size:6px!important;letter-spacing:.055em!important}

  body .site-header .main-nav{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    z-index:100030!important;
    display:flex!important;
    flex-direction:column!important;
    visibility:hidden!important;
    opacity:0!important;
    width:min(94vw,440px)!important;
    max-width:440px!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    background:linear-gradient(180deg,#fff 0%,#f3f6fa 100%)!important;
    border-left:1px solid #d8e2ee!important;
    border-radius:0!important;
    box-shadow:-22px 0 52px rgba(7,31,70,.24)!important;
    transform:translateX(105%)!important;
    transition:transform .32s cubic-bezier(.22,.8,.28,1),opacity .22s ease,visibility .22s ease!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  body .site-header .main-nav.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:translateX(0)!important;
  }
  body .site-header .main-nav .mobile-nav-head{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:92px!important;
    padding:14px 14px 13px 18px!important;
    background:linear-gradient(135deg,#fff 0%,#edf3fa 100%)!important;
    border-bottom:1px solid #d9e3ef!important;
  }
  body .site-header .mobile-nav-brand{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
  body .site-header .mobile-nav-brand img{display:block!important;width:116px!important;max-width:116px!important;height:auto!important;max-height:54px!important;object-fit:contain!important}
  body .site-header .mobile-nav-brand div{display:flex!important;flex-direction:column!important;min-width:0!important}
  body .site-header .mobile-nav-brand strong{color:var(--v57-blue)!important;font-family:Verdana,Arial,sans-serif!important;font-size:16px!important;font-weight:900!important;line-height:1.2!important}
  body .site-header .mobile-nav-brand span{margin-top:4px!important;color:#657a96!important;font-family:Verdana,Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;line-height:1.35!important}
  body .site-header .nav-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 0 3px!important;
    border:0!important;
    border-radius:13px!important;
    background:var(--v57-blue)!important;
    color:#fff!important;
    font-size:31px!important;
    font-weight:400!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  body .site-header .main-nav .mobile-nav-body{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-width:thin!important;
    scrollbar-color:#a8b7ca transparent!important;
  }
  body .site-header .main-nav .main-nav-links{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    width:100%!important;
    gap:9px!important;
    padding:16px 15px 10px!important;
    margin:0!important;
    overflow:visible!important;
  }
  body .site-header .main-nav .main-nav-links > a{
    --nav-accent:var(--v57-blue-2);
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 28px!important;
    align-items:center!important;
    justify-content:stretch!important;
    width:100%!important;
    min-height:59px!important;
    height:auto!important;
    padding:8px 12px!important;
    border:1px solid #dce5ef!important;
    border-left:5px solid var(--nav-accent)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:var(--v57-blue)!important;
    box-shadow:0 7px 18px rgba(7,31,70,.07)!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.25!important;
    text-align:left!important;
    white-space:normal!important;
    transform:none!important;
    opacity:1!important;
  }
  body .site-header .main-nav .main-nav-links > a:nth-child(1){--nav-accent:#0d4da8}
  body .site-header .main-nav .main-nav-links > a:nth-child(2){--nav-accent:#f26722}
  body .site-header .main-nav .main-nav-links > a:nth-child(3){--nav-accent:#23833a}
  body .site-header .main-nav .main-nav-links > a:nth-child(4){--nav-accent:#7755ab}
  body .site-header .main-nav .main-nav-links > a:nth-child(5){--nav-accent:#168ca0}
  body .site-header .main-nav .main-nav-links > a:nth-child(6){--nav-accent:#bd4050}
  body .site-header .main-nav .main-nav-links > a:hover,
  body .site-header .main-nav .main-nav-links > a:focus-visible,
  body .site-header .main-nav .main-nav-links > a.is-active{
    color:var(--v57-blue)!important;
    background:#f5f8fc!important;
    border-color:#d4dfec!important;
    border-left-color:var(--nav-accent)!important;
    transform:translateX(-2px)!important;
  }
  body .site-header .main-nav .mobile-nav-index{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:31px!important;
    height:31px!important;
    border-radius:9px!important;
    background:color-mix(in srgb,var(--nav-accent) 12%,white)!important;
    color:var(--nav-accent)!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:10px!important;
    font-weight:900!important;
  }
  body .site-header .main-nav .nav-label{display:block!important;min-width:0!important;padding:0 8px!important}
  body .site-header .main-nav .mobile-nav-arrow{display:flex!important;align-items:center!important;justify-content:center!important;color:var(--nav-accent)!important;font-size:20px!important;font-weight:900!important}
  body .site-header .main-nav .mobile-nav-contact{
    display:block!important;
    flex:0 0 auto!important;
    margin-top:auto!important;
    padding:15px 15px max(22px,env(safe-area-inset-bottom))!important;
    border-top:1px solid #d9e3ef!important;
    background:#eef3f8!important;
  }
  body .site-header .mobile-nav-contact > p{margin:0 0 10px!important;color:#6b7d96!important;font-family:Verdana,Arial,sans-serif!important;font-size:10px!important;font-weight:900!important;letter-spacing:.11em!important;text-transform:uppercase!important}
  body .site-header .mobile-contact-line{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:44px!important;
    margin:0 0 8px!important;
    padding:8px 12px!important;
    border:1px solid #d6e0ec!important;
    border-radius:12px!important;
    background:#fff!important;
    color:var(--v57-blue)!important;
    text-decoration:none!important;
    box-shadow:0 4px 12px rgba(7,31,70,.05)!important;
  }
  body .site-header .mobile-contact-line b{color:var(--v57-blue)!important;font-family:Verdana,Arial,sans-serif!important;font-size:12px!important;font-weight:800!important;overflow-wrap:anywhere!important}
  body .site-header .mobile-nav-cta-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:11px!important}
  body .site-header .mobile-nav-cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:45px!important;padding:9px!important;border-radius:12px!important;color:#fff!important;font-family:Verdana,Arial,sans-serif!important;font-size:11px!important;font-weight:900!important;text-decoration:none!important;text-align:center!important}
  body .site-header .mobile-nav-cta.primary{background:var(--v57-blue-2)!important}
  body .site-header .mobile-nav-cta.secondary{background:var(--v57-orange)!important}
  body.mobile-nav-open{overflow:hidden!important}
  body.mobile-nav-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100010!important;
    background:rgba(4,16,36,.55)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }

  /* slider mobile sans bandes ni espaces */
  body .hero-slider,
  body main > .hero-slider,
  body .hero-slider .slider-stage{
    margin:0!important;
    padding:0!important;
  }
  body .hero-slider .slider-stage{
    aspect-ratio:1200/650!important;
    min-height:0!important;
    max-height:none!important;
  }
  body .hero-slider .slide-picture,
  body .hero-slider .slide-media,
  body .hero-slider .slide img{object-fit:cover!important}
  body .hero-slider .slider-stage .slider-arrow,
  body .hero-slider .slider-stage .slider-arrow.prev,
  body .hero-slider .slider-stage .slider-arrow.next{
    width:35px!important;
    min-width:35px!important;
    height:35px!important;
    min-height:35px!important;
    font-size:27px!important;
    opacity:.52!important;
  }
  body .hero-slider .slider-stage .slider-arrow.prev{left:8px!important}
  body .hero-slider .slider-stage .slider-arrow.next{right:8px!important}
  body .hero-slider .slider-control-bar{bottom:8px!important}
  body .hero-slider .mobile-slider-dots{gap:5px!important;padding:5px 8px!important}
  body .hero-slider .mobile-slider-dots button{width:6px!important;min-width:6px!important;height:6px!important;min-height:6px!important}
  body .hero-slider .mobile-slider-dots button.is-active{width:20px!important}

  body .s2ia-participation-reasons{padding:56px 0 62px!important}
  body .s2ia-participation-reasons .reasons-intro{margin-bottom:27px!important}
  body .s2ia-participation-reasons .reasons-intro p{font-size:15px!important;line-height:1.6!important}
  body .s2ia-participation-reasons .reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  body .pack-section-header{display:block!important;text-align:center!important}
  body .pack-section-header > p{margin:14px auto 0!important;text-align:center!important}
  body .professional-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:720px){
  :root{--v57-header-mobile:114px}
  body .site-header .top-shell{grid-template-rows:65px 41px!important;height:114px!important;min-height:114px!important;padding-left:8px!important;padding-right:8px!important}
  body .site-header .brand{height:65px!important;min-height:65px!important}
  body .site-header .brand img,body .site-header .brand .header-logo-exact{width:min(274px,calc(100vw - 75px))!important;max-width:min(274px,calc(100vw - 75px))!important;max-height:61px!important}
  body .site-header .nav-toggle{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important;margin-top:7px!important}
  body .site-header .header-countdown{height:41px!important;min-height:41px!important;padding-top:4px!important}
  body .site-header .flip-digit{width:19px!important;min-width:19px!important;height:27px!important;font-size:18px!important}
  body .site-header .countdown-digits{min-height:27px!important}
  body .site-header .countdown-separator{height:27px!important;line-height:27px!important;font-size:13px!important}

  /* Sur mobile : seulement « Le rendez-vous incontournable », en rouge, Verdana 13 */
  body .salon-presentation-head h2{display:none!important}
  body .salon-presentation-head .salon-subtitle-colored{
    display:block!important;
    margin:0 auto 14px!important;
    padding:0 12px!important;
    text-align:center!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1.45!important;
    letter-spacing:0!important;
  }
  body .salon-presentation-head .subtitle-red{color:#d92727!important;font-size:13px!important;font-family:Verdana,Arial,sans-serif!important;font-weight:900!important}
  body .salon-presentation-text,
  body .salon-presentation-text p{font-family:Verdana,Arial,sans-serif!important;font-size:13px!important;line-height:1.65!important}

  body .s2ia-participation-reasons .reasons-kicker{font-size:9px!important;letter-spacing:.08em!important;padding:6px 10px!important}
  body .s2ia-participation-reasons .reasons-intro h2{font-size:36px!important}
  body .s2ia-participation-reasons .reasons-intro p{font-size:14px!important}
  body .s2ia-participation-reasons .reasons-grid{grid-template-columns:1fr!important;width:min(94%,560px)!important}
  body .reason-photo-copy h3{font-size:18px!important}
  body .professional-pack-grid{grid-template-columns:1fr!important;width:min(94%,580px)!important}
  body .pack-section-header{width:92%!important}
  body .pack-section-header h2{font-size:34px!important}
  body .pack-section-header > p{font-size:14px!important}
  body .pack-card-actions{grid-template-columns:1fr!important}
  body .premium-modal .modal-card{width:min(96vw,620px)!important;max-height:94dvh!important}
  body .dynamic-page-pack-grid{grid-template-columns:1fr!important}
}

@media (max-width:420px){
  body .site-header .top-shell{padding-left:6px!important;padding-right:6px!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:0 6px!important}
  body .site-header .brand img,body .site-header .brand .header-logo-exact{width:min(258px,calc(100vw - 64px))!important;max-width:min(258px,calc(100vw - 64px))!important}
  body .site-header .nav-toggle{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;margin-top:9px!important;border-radius:13px!important}
  body .site-header .header-countdown .countdown-grid{gap:2px!important}
  body .site-header .flip-digit{width:18px!important;min-width:18px!important;font-size:17px!important}
  body .site-header .countdown-separator{width:4px!important;font-size:12px!important}
  body .site-header .countdown-unit small{font-size:5.5px!important;letter-spacing:.035em!important}
  body .site-header .main-nav{width:96vw!important}
  body .hero-slider .slider-stage .slider-arrow{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;font-size:24px!important}
}

@media (prefers-reduced-motion:reduce){
  body .site-header .main-nav,
  body .hero-slider .slide,
  body .reason-photo-card,
  body .reason-photo-media img{transition:none!important;animation:none!important}
}

/* Verrouillage final du logo contre les anciennes règles min-width/min-height/scale. */
html body .site-header .top-shell > a.brand > img.header-logo-exact{
  width:270px!important;
  min-width:0!important;
  max-width:270px!important;
  height:108px!important;
  min-height:0!important;
  max-height:none!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media (max-width:1600px) and (min-width:1321px){
  html body .site-header .top-shell > a.brand > img.header-logo-exact{width:245px!important;max-width:245px!important;height:98px!important}
}
@media (max-width:1320px) and (min-width:1101px){
  html body .site-header .top-shell > a.brand > img.header-logo-exact{width:215px!important;max-width:215px!important;height:86px!important}
}
@media (max-width:1100px){
  :root{--v57-header-mobile:126px}
  body .site-header,body .site-header .top-shell{height:126px!important;min-height:126px!important}
  body .site-header .top-shell{grid-template-rows:82px 38px!important}
  body .site-header .brand{height:82px!important;min-height:82px!important}
  body > main,body main{padding-top:126px!important}
  html body .site-header .top-shell > a.brand > img.header-logo-exact{
    width:225px!important;
    max-width:225px!important;
    height:90px!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    transform:none!important;
  }
  body .site-header .header-countdown{
    height:38px!important;
    min-height:38px!important;
    padding-top:5px!important;
    border-top:1px solid #dfe6ef!important;
  }
  /* Les flèches des carrousels secondaires restent dans leur propre en-tête. */
  body .compact-strip-title,
  body .finance-title-with-arrows{
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    align-items:center!important;
    gap:8px!important;
  }
  body .compact-strip-title > .strip-arrow,
  body .finance-title-with-arrows > .strip-arrow{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    margin:0!important;
    padding:0 0 2px!important;
    transform:none!important;
    z-index:auto!important;
  }
}
@media (max-width:420px){
  html body .site-header .top-shell > a.brand > img.header-logo-exact{width:218px!important;max-width:218px!important;height:87px!important}
}
/* ========================================================================== 
   S2IA V58 — TV / Desktop / Mobile / Popups
   Feuille finale chargée après tous les historiques.
   ========================================================================== */
:root{
  --v58-navy:#071f46;
  --v58-blue:#0d4da8;
  --v58-orange:#f26722;
  --v58-orange-dark:#d84f0b;
  --v58-green:#23833a;
  --v58-ink:#102a50;
  --v58-muted:#526985;
  --v58-light:#eef2f6;
  --v58-line:#d7e0ea;
  --v58-header-height:92px;
}
html{
  scroll-padding-top:calc(var(--v58-header-height) + 16px)!important;
  overflow-x:hidden!important;
}
html body{
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}
html body > main,
html body main{
  margin:0!important;
  padding-top:var(--v58-header-height)!important;
}

/* --------------------------------------------------------------------------
   HEADER FIXE — DESKTOP / LAPTOP
   -------------------------------------------------------------------------- */
html body .site-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:100000!important;
  height:var(--v58-header-height)!important;
  min-height:var(--v58-header-height)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:rgba(255,255,255,.985)!important;
  border:0!important;
  border-bottom:1px solid rgba(7,31,70,.10)!important;
  box-shadow:0 8px 28px rgba(7,31,70,.12)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
html body .site-header .top-shell{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(230px,300px) minmax(470px,1fr) minmax(390px,470px)!important;
  grid-template-areas:"brand nav countdown"!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:14px!important;
  width:min(calc(100% - 24px),1960px)!important;
  max-width:1960px!important;
  height:82px!important;
  min-height:82px!important;
  margin:5px auto!important;
  padding:5px 14px!important;
  overflow:visible!important;
  background:#fff!important;
  border:1px solid #dce4ed!important;
  border-radius:13px!important;
  box-shadow:0 8px 24px rgba(7,31,70,.065)!important;
}
html body .site-header .brand{
  grid-area:brand!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .site-header .top-shell > .brand > img.header-logo-exact,
html body .site-header .brand img{
  display:block!important;
  width:min(292px,100%)!important;
  min-width:0!important;
  max-width:292px!important;
  height:72px!important;
  min-height:0!important;
  max-height:72px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:none!important;
  filter:none!important;
}

/* Barre de navigation rectangulaire orange — sans pastilles arrondies. */
html body .site-header .main-nav{
  grid-area:nav!important;
  position:static!important;
  inset:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .site-header .main-nav .mobile-nav-head,
html body .site-header .main-nav .mobile-nav-contact{
  display:none!important;
}
html body .site-header .main-nav .mobile-nav-body{
  display:contents!important;
}
html body .site-header .main-nav .main-nav-links{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 4px!important;
  gap:0!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,var(--v58-orange-dark) 0%,var(--v58-orange) 58%,#f58a3d 100%)!important;
  border:1px solid rgba(184,65,7,.28)!important;
  border-radius:8px!important;
  box-shadow:0 9px 24px rgba(242,103,34,.24)!important;
}
html body .site-header .main-nav .main-nav-links > a{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:50px!important;
  height:50px!important;
  margin:0!important;
  padding:0 12px!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.28)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transform:none!important;
  opacity:1!important;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease!important;
}
html body .site-header .main-nav .main-nav-links > a:last-child{border-right:0!important}
html body .site-header .main-nav .main-nav-links > a::after{
  content:""!important;
  position:absolute!important;
  left:15%!important;
  right:15%!important;
  bottom:0!important;
  height:4px!important;
  background:#fff!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
  transition:transform .2s ease!important;
}
html body .site-header .main-nav .main-nav-links > a:hover,
html body .site-header .main-nav .main-nav-links > a:focus-visible,
html body .site-header .main-nav .main-nav-links > a.is-active{
  background:rgba(7,31,70,.94)!important;
  color:#fff!important;
  border-color:transparent!important;
  outline:none!important;
  transform:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
html body .site-header .main-nav .main-nav-links > a:hover::after,
html body .site-header .main-nav .main-nav-links > a:focus-visible::after,
html body .site-header .main-nav .main-nav-links > a.is-active::after{
  transform:scaleX(1)!important;
}
html body .site-header .main-nav .mobile-nav-index,
html body .site-header .main-nav .mobile-nav-arrow{display:none!important}
html body .site-header .nav-toggle{display:none!important}

/* Compteur desktop — Mois / Jours / Heures / Minutes / Secondes. */
html body .site-header .header-countdown{
  grid-area:countdown!important;
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  min-height:66px!important;
  margin:0!important;
  padding:7px 9px!important;
  overflow:visible!important;
  background:linear-gradient(135deg,#061a3d 0%,#0a2e63 100%)!important;
  border:1px solid rgba(7,31,70,.22)!important;
  border-top:4px solid var(--v58-orange)!important;
  border-radius:11px!important;
  box-shadow:0 8px 20px rgba(7,31,70,.18),inset 0 1px 0 rgba(255,255,255,.12)!important;
  transform:none!important;
}
html body .site-header .header-countdown::before{display:none!important;content:none!important}
html body .site-header .header-countdown .countdown-grid{
  display:grid!important;
  grid-template-columns:minmax(54px,1fr) 6px minmax(54px,1fr) 6px minmax(54px,1fr) 6px minmax(54px,1fr) 6px minmax(54px,1fr)!important;
  align-items:start!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  gap:3px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .site-header .countdown-unit{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
html body .site-header .countdown-digits{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  width:100%!important;
  min-height:33px!important;
  margin:0!important;
  padding:0 4px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:6px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html body .site-header .flip-digit{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:15px!important;
  height:31px!important;
  min-height:31px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:23px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.08em!important;
  text-shadow:0 2px 5px rgba(0,0,0,.25)!important;
}
html body .site-header .flip-digit::after{display:none!important;content:none!important}
html body .site-header .countdown-unit small{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:7.5px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  opacity:.90!important;
}
html body .site-header .countdown-separator{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:6px!important;
  height:33px!important;
  margin:0!important;
  padding:0!important;
  color:#ffb077!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:33px!important;
}
html body .countdown-mobile-close{display:none!important}

/* --------------------------------------------------------------------------
   SLIDER — sans flèches, pastilles discrètes en bas
   -------------------------------------------------------------------------- */
html body .hero-slider,
html body main > .hero-slider{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:0!important;
  background:#07182f!important;
  border:0!important;
}
html body .hero-slider .slider-stage{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1999/786!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#07182f!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  line-height:0!important;
}
html body .hero-slider .slider-viewport{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .hero-slider .slider-stage .slide,
html body .hero-slider .slider-stage [data-slide]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .hero-slider .slide-picture,
html body .hero-slider .slide-media,
html body .hero-slider .slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
}
html body .hero-slider .slider-arrow,
html body .hero-slider [data-prev],
html body .hero-slider [data-next]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body .hero-slider .slider-control-bar{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:16px!important;
  z-index:12!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-50%)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .hero-slider .mobile-slider-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:8px 13px!important;
  background:rgba(3,15,34,.55)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  border-radius:999px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
html body .hero-slider .mobile-slider-dots button{
  display:block!important;
  width:9px!important;
  min-width:9px!important;
  height:9px!important;
  min-height:9px!important;
  margin:0!important;
  padding:0!important;
  background:rgba(255,255,255,.72)!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:pointer!important;
  transition:width .22s ease,background .22s ease!important;
}
html body .hero-slider .mobile-slider-dots button.is-active{
  width:31px!important;
  background:var(--v58-orange)!important;
}
html body .hero-actions{margin-top:0!important;padding-top:0!important;border-top:0!important}

/* --------------------------------------------------------------------------
   TITRE / PRÉSENTATION DU SALON
   -------------------------------------------------------------------------- */
html body .salon-presentation-head .salon-subtitle-colored,
html body .salon-presentation-head .subtitle-red{
  font-family:Verdana,Arial,sans-serif!important;
  font-weight:950!important;
}
html body .salon-presentation-text,
html body .salon-presentation-text p{
  font-family:Verdana,Arial,sans-serif!important;
  text-align:justify!important;
  text-justify:inter-word!important;
}

/* --------------------------------------------------------------------------
   CHIFFRES CLÉS — fond gris clair, image plein cadre, texte blanc superposé
   -------------------------------------------------------------------------- */
html body .s2ia-keyfig-black{
  position:relative!important;
  margin:0!important;
  padding:74px 0 84px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#f4f6f8 0%,#e8edf2 100%)!important;
  color:var(--v58-navy)!important;
}
html body .s2ia-keyfig-black::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:radial-gradient(circle at 10% 12%,rgba(13,77,168,.08),transparent 28%),radial-gradient(circle at 92% 80%,rgba(35,131,58,.08),transparent 24%)!important;
}
html body .s2ia-keyfig-inner{
  position:relative!important;
  z-index:1!important;
  width:min(94%,1700px)!important;
  max-width:1700px!important;
  margin:0 auto!important;
}
html body .s2ia-keyfig-black .s2ia-section-title-dark{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
  margin:0 auto 34px!important;
}
html body .s2ia-keyfig-black .s2ia-section-title-dark h2{
  color:var(--v58-navy)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:clamp(34px,3.1vw,54px)!important;
  font-weight:950!important;
  line-height:1.1!important;
  text-align:center!important;
}
html body .s2ia-keyfig-black .s2ia-section-title-dark span{
  display:block!important;
  width:150px!important;
  height:5px!important;
  border-radius:999px!important;
  background:var(--v58-navy)!important;
  opacity:1!important;
}
html body .s2ia-keyfig-black .s2ia-section-title-dark span:last-child{background:var(--v58-green)!important}
html body .keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
html body .keyfig-premium-card{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  min-height:270px!important;
  aspect-ratio:16/11!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#1a2f4e!important;
  border:1px solid rgba(7,31,70,.10)!important;
  border-radius:20px!important;
  box-shadow:0 16px 34px rgba(7,31,70,.14)!important;
  isolation:isolate!important;
}
html body .keyfig-premium-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(4,17,38,.02) 22%,rgba(4,17,38,.28) 52%,rgba(4,17,38,.92) 100%)!important;
  pointer-events:none!important;
}
html body .keyfig-premium-card::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2!important;
  height:5px!important;
  background:linear-gradient(90deg,var(--v58-blue),var(--v58-green))!important;
}
html body .keyfig-premium-icon{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#dfe6ee!important;
  border:0!important;
  border-radius:0!important;
}
html body .keyfig-premium-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  transform:scale(1.01)!important;
}
html body .keyfig-premium-card strong{
  position:absolute!important;
  left:24px!important;
  right:20px!important;
  bottom:56px!important;
  z-index:3!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:clamp(30px,2.5vw,48px)!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  text-shadow:0 4px 14px rgba(0,0,0,.58)!important;
}
html body .keyfig-premium-card p{
  position:absolute!important;
  left:25px!important;
  right:20px!important;
  bottom:23px!important;
  z-index:3!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.25!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-shadow:0 3px 12px rgba(0,0,0,.66)!important;
}

/* --------------------------------------------------------------------------
   PACKS — boutons toujours visibles sur mobile
   -------------------------------------------------------------------------- */
html body .professional-pack-card{
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
html body .professional-pack-content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:visible!important;
}
html body .pack-card-actions{
  position:static!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:18px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
html body .pack-card-actions button,
html body .pack-action-outline,
html body .pack-action-primary{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  height:auto!important;
  padding:10px 13px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
  white-space:normal!important;
}

/* --------------------------------------------------------------------------
   POPUPS — affichage stable, aucun chevauchement image / texte / formulaire
   -------------------------------------------------------------------------- */
html body .premium-modal[aria-hidden="true"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
html body .premium-modal.is-open,
html body .premium-modal[aria-hidden="false"]{
  position:fixed!important;
  inset:0!important;
  z-index:100500!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:20px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
html body .premium-modal .modal-backdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(3,14,32,.76)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
html body .premium-modal .modal-card{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr)!important;
  align-items:stretch!important;
  width:min(1420px,96vw)!important;
  max-width:1420px!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:24px!important;
  box-shadow:0 38px 110px rgba(0,0,0,.42)!important;
}
html body .premium-modal .modal-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0 0 3px!important;
  background:#fff!important;
  color:var(--v58-navy)!important;
  border:1px solid rgba(7,31,70,.14)!important;
  border-radius:50%!important;
  box-shadow:0 10px 26px rgba(7,31,70,.18)!important;
  font-size:29px!important;
  line-height:1!important;
  cursor:pointer!important;
}
html body .premium-modal .modal-visual{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  min-height:620px!important;
  height:auto!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:38px!important;
  overflow:hidden!important;
  background:#081d42!important;
  color:#fff!important;
}
html body .premium-modal .modal-visual > img,
html body .premium-modal .modal-visual .stand-slide{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}
html body .premium-modal .modal-visual::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(6,23,53,.08) 18%,rgba(6,23,53,.38) 54%,rgba(6,23,53,.96) 100%)!important;
}
html body .premium-modal .modal-visual-content{
  position:relative!important;
  z-index:3!important;
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  margin:0!important;
  padding:22px!important;
  overflow:visible!important;
  background:rgba(4,18,42,.62)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:18px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
html body .premium-modal .modal-visual-content h3{
  margin:0 0 12px!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:clamp(27px,2.2vw,38px)!important;
  font-weight:950!important;
  line-height:1.16!important;
}
html body .premium-modal .modal-visual-content p,
html body .premium-modal .modal-visual-content li{
  color:#edf5ff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.58!important;
}
html body .premium-modal .modal-form-panel{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:30px 36px 34px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#fff!important;
  scrollbar-width:thin!important;
  scrollbar-color:#a9b6c6 transparent!important;
}
html body .premium-modal .modal-logo{
  display:block!important;
  width:190px!important;
  max-width:48%!important;
  height:auto!important;
  max-height:78px!important;
  margin:0 auto 10px!important;
  object-fit:contain!important;
}
html body .premium-modal .modal-form-panel h2{
  margin:0!important;
  color:var(--v58-navy)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:clamp(27px,2.4vw,40px)!important;
  font-weight:950!important;
  line-height:1.12!important;
  text-align:center!important;
}
html body .premium-modal .modal-intro{
  max-width:700px!important;
  margin:10px auto 18px!important;
  color:var(--v58-muted)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.55!important;
  text-align:center!important;
}
html body .premium-modal .premium-form{
  width:100%!important;
  margin:0!important;
  padding:20px!important;
  overflow:visible!important;
  background:#f7f9fc!important;
  border:1px solid #dfe6ef!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
html body .premium-modal .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
html body .premium-modal .premium-form label{
  min-width:0!important;
  margin:0 0 12px!important;
  color:var(--v58-navy)!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.35!important;
}
html body .premium-modal .premium-form input,
html body .premium-modal .premium-form select,
html body .premium-modal .premium-form textarea{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 12px!important;
  background:#fff!important;
  border:1px solid #cfd9e5!important;
  border-radius:10px!important;
  color:#172a47!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
html body .premium-modal .premium-form input,
html body .premium-modal .premium-form select{min-height:45px!important}
html body .premium-modal .premium-form textarea{min-height:105px!important;resize:vertical!important}
html body .premium-modal .modal-submit{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:50px!important;
  margin:5px 0 0!important;
  padding:10px 18px!important;
  border-radius:11px!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:950!important;
}

/* Popup du message du Président. */
html body .president-message-modal.is-open,
html body .president-message-modal[aria-hidden="false"]{
  align-items:center!important;
  justify-content:center!important;
  padding:20px!important;
}
html body .president-message-modal .president-message-modal-card{
  display:block!important;
  width:min(980px,95vw)!important;
  max-width:980px!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  padding:36px 42px 40px!important;
  overflow-y:auto!important;
  background:var(--president-popup-bg,#fff)!important;
  border-radius:24px!important;
}
html body .president-popup-heading{
  display:grid!important;
  grid-template-columns:128px minmax(0,1fr)!important;
  align-items:center!important;
  gap:24px!important;
  margin:0 0 26px!important;
  padding:0 44px 0 0!important;
}
html body .president-popup-heading img{
  display:block!important;
  width:128px!important;
  height:148px!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:18px!important;
  box-shadow:0 14px 30px rgba(7,31,70,.16)!important;
}
html body .president-popup-heading h2{
  margin:0!important;
  font-size:min(var(--president-popup-title-size,32px),40px)!important;
  line-height:1.15!important;
}
html body .president-popup-content{
  font-size:min(var(--president-popup-text-size,18px),20px)!important;
  line-height:1.78!important;
  overflow-wrap:anywhere!important;
}

/* Popups détaillés des packs. */
html body .stand-pack-modal-card,
html body .real-stand-modal{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;
  width:min(1460px,96vw)!important;
  max-width:1460px!important;
  max-height:calc(100dvh - 40px)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .stand-pack-photo{
  min-height:560px!important;
  height:auto!important;
  overflow:hidden!important;
  background:#e6ecf2!important;
}
html body .stand-pack-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  object-fit:cover!important;
  object-position:center!important;
}
html body .stand-pack-copy{
  display:flex!important;
  flex-direction:column!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:48px 38px 34px!important;
  overflow-y:auto!important;
}
html body .stand-pack-copy .pack-cta{
  display:flex!important;
  width:100%!important;
  min-height:50px!important;
  margin-top:18px!important;
}
html body.modal-open{overflow:hidden!important}

/* --------------------------------------------------------------------------
   LAPTOP COMPACT
   -------------------------------------------------------------------------- */
@media (min-width:1181px) and (max-width:1500px){
  :root{--v58-header-height:88px}
  html body .site-header .top-shell{
    grid-template-columns:minmax(200px,236px) minmax(450px,1fr) minmax(350px,400px)!important;
    width:calc(100% - 14px)!important;
    height:80px!important;
    margin:4px auto!important;
    gap:8px!important;
    padding:4px 8px!important;
  }
  html body .site-header .brand{height:68px!important;min-height:68px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:228px!important;max-width:228px!important;height:68px!important;max-height:68px!important}
  html body .site-header .main-nav .main-nav-links > a{padding:0 8px!important;font-size:13.5px!important}
  html body .site-header .header-countdown{height:63px!important;padding:6px 6px!important}
  html body .site-header .header-countdown .countdown-grid{grid-template-columns:minmax(45px,1fr) 4px minmax(45px,1fr) 4px minmax(45px,1fr) 4px minmax(45px,1fr) 4px minmax(45px,1fr)!important;gap:2px!important}
  html body .site-header .flip-digit{font-size:20px!important;min-width:13px!important}
  html body .site-header .countdown-unit small{font-size:6.4px!important;letter-spacing:.035em!important}
  html body .site-header .countdown-separator{width:4px!important;font-size:13px!important}
}

/* --------------------------------------------------------------------------
   MOBILE / TABLETTE — logo seul en haut, compteur flottant et menu scrollable
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  :root{--v58-header-height:82px}
  html{scroll-padding-top:calc(var(--v58-header-height) + 8px)!important}
  html body > main,
  html body main{padding-top:var(--v58-header-height)!important}
  html body .site-header{
    height:var(--v58-header-height)!important;
    min-height:var(--v58-header-height)!important;
    background:#fff!important;
    border-bottom:1px solid #dce4ed!important;
    box-shadow:0 5px 18px rgba(7,31,70,.11)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html body .site-header .top-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
    grid-template-rows:82px!important;
    grid-template-areas:"brand toggle"!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    max-width:none!important;
    height:82px!important;
    min-height:82px!important;
    margin:0!important;
    padding:2px 10px!important;
    overflow:visible!important;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html body .site-header .brand{
    grid-area:brand!important;
    height:78px!important;
    min-height:78px!important;
    overflow:visible!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    display:block!important;
    width:min(325px,calc(100vw - 78px))!important;
    min-width:0!important;
    max-width:min(325px,calc(100vw - 78px))!important;
    height:78px!important;
    min-height:0!important;
    max-height:78px!important;
    object-fit:contain!important;
    object-position:left center!important;
    transform:none!important;
  }
  html body .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    z-index:100020!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:54px!important;
    min-width:54px!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    background:linear-gradient(145deg,var(--v58-navy),#0b397b)!important;
    border:0!important;
    border-radius:14px!important;
    box-shadow:0 8px 20px rgba(7,31,70,.24)!important;
  }
  html body .site-header .nav-toggle span{
    display:block!important;
    width:25px!important;
    height:3px!important;
    min-height:3px!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    border:0!important;
    border-radius:999px!important;
  }

  /* Le compteur quitte le header et flotte en bas au milieu. */
  html body .site-header .header-countdown{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    z-index:99970!important;
    display:flex!important;
    width:min(94vw,520px)!important;
    min-width:0!important;
    height:auto!important;
    min-height:64px!important;
    margin:0!important;
    padding:9px 38px 8px 10px!important;
    overflow:visible!important;
    background:linear-gradient(135deg,rgba(6,26,61,.97),rgba(10,48,102,.97))!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-top:3px solid var(--v58-orange)!important;
    border-radius:16px!important;
    box-shadow:0 18px 48px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    transform:translateX(-50%)!important;
    transition:opacity .2s ease,transform .2s ease!important;
  }
  html body .site-header .header-countdown.is-dismissed{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  html body .countdown-mobile-close{
    position:absolute!important;
    top:7px!important;
    right:7px!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:27px!important;
    height:27px!important;
    margin:0!important;
    padding:0 0 2px!important;
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.30)!important;
    border-radius:50%!important;
    font-size:20px!important;
    font-weight:800!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:start!important;
    justify-content:center!important;
    width:100%!important;
    gap:5px!important;
  }
  html body .site-header .countdown-separator{display:none!important}
  html body .site-header .countdown-digits{
    min-height:31px!important;
    padding:0 3px!important;
    border-radius:6px!important;
  }
  html body .site-header .flip-digit{
    min-width:13px!important;
    height:29px!important;
    min-height:29px!important;
    font-size:20px!important;
  }
  html body .site-header .countdown-unit{gap:3px!important}
  html body .site-header .countdown-unit small{
    font-size:7px!important;
    letter-spacing:.03em!important;
  }
  html body.mobile-nav-open .header-countdown,
  html body.modal-open .header-countdown{display:none!important}

  /* Menu mobile : le bloc entier défile, y compris les contacts et boutons. */
  html body .site-header .main-nav{
    position:fixed!important;
    inset:0 0 0 auto!important;
    z-index:100030!important;
    display:flex!important;
    flex-direction:column!important;
    visibility:hidden!important;
    opacity:0!important;
    width:min(94vw,470px)!important;
    max-width:470px!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#fff 0%,#f1f5f9 100%)!important;
    border:0!important;
    border-left:1px solid #d8e2ec!important;
    border-radius:0!important;
    box-shadow:-22px 0 58px rgba(7,31,70,.28)!important;
    transform:translateX(105%)!important;
    transition:transform .30s cubic-bezier(.22,.8,.28,1),opacity .20s ease,visibility .20s ease!important;
    overscroll-behavior:contain!important;
  }
  html body .site-header .main-nav.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:translateX(0)!important;
  }
  html body .site-header .main-nav .mobile-nav-head{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:84px!important;
    margin:0!important;
    padding:11px 13px 10px 16px!important;
    background:#fff!important;
    border-bottom:1px solid #dbe4ee!important;
  }
  html body .site-header .mobile-nav-brand{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
  }
  html body .site-header .mobile-nav-brand img{
    display:block!important;
    width:126px!important;
    max-width:126px!important;
    height:56px!important;
    max-height:56px!important;
    object-fit:contain!important;
  }
  html body .site-header .mobile-nav-brand strong{
    font-size:16px!important;
    color:var(--v58-navy)!important;
  }
  html body .site-header .mobile-nav-brand span{
    font-size:10px!important;
    color:#61758f!important;
  }
  html body .site-header .nav-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0 0 3px!important;
    background:var(--v58-navy)!important;
    color:#fff!important;
    border:0!important;
    border-radius:12px!important;
    font-size:30px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  html body .site-header .main-nav .mobile-nav-body{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 max(28px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-width:thin!important;
    scrollbar-color:#a9b7c8 transparent!important;
  }
  html body .site-header .main-nav .main-nav-links{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px!important;
    gap:8px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    --nav-accent:var(--v58-blue);
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 28px!important;
    align-items:center!important;
    justify-content:stretch!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:58px!important;
    height:auto!important;
    margin:0!important;
    padding:8px 12px!important;
    overflow:visible!important;
    background:#fff!important;
    color:var(--v58-navy)!important;
    border:1px solid #dce4ed!important;
    border-left:5px solid var(--nav-accent)!important;
    border-radius:12px!important;
    box-shadow:0 7px 18px rgba(7,31,70,.07)!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.25!important;
    text-align:left!important;
    white-space:normal!important;
  }
  html body .site-header .main-nav .main-nav-links > a::after{display:none!important;content:none!important}
  html body .site-header .main-nav .main-nav-links > a:nth-child(1){--nav-accent:#0d4da8}
  html body .site-header .main-nav .main-nav-links > a:nth-child(2){--nav-accent:#f26722}
  html body .site-header .main-nav .main-nav-links > a:nth-child(3){--nav-accent:#23833a}
  html body .site-header .main-nav .main-nav-links > a:nth-child(4){--nav-accent:#7b53b4}
  html body .site-header .main-nav .main-nav-links > a:nth-child(5){--nav-accent:#15899e}
  html body .site-header .main-nav .main-nav-links > a:nth-child(6){--nav-accent:#bd4050}
  html body .site-header .main-nav .main-nav-links > a:hover,
  html body .site-header .main-nav .main-nav-links > a:focus-visible,
  html body .site-header .main-nav .main-nav-links > a.is-active{
    background:#f4f7fb!important;
    color:var(--v58-navy)!important;
    transform:none!important;
  }
  html body .site-header .main-nav .mobile-nav-index{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:31px!important;
    height:31px!important;
    background:#eef3f8!important;
    color:var(--nav-accent)!important;
    border-radius:8px!important;
    font-size:10px!important;
    font-weight:950!important;
  }
  html body .site-header .main-nav .nav-label{display:block!important;min-width:0!important;padding:0 7px!important}
  html body .site-header .main-nav .mobile-nav-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--nav-accent)!important;
    font-size:20px!important;
    font-weight:950!important;
  }
  html body .site-header .main-nav .mobile-nav-contact{
    display:block!important;
    margin:0!important;
    padding:14px 14px 20px!important;
    background:#edf2f7!important;
    border-top:1px solid #d8e1eb!important;
  }
  html body .site-header .mobile-nav-contact > p{margin:0 0 10px!important}
  html body .site-header .mobile-contact-line{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:45px!important;
    margin:0 0 8px!important;
    padding:9px 11px!important;
    overflow-wrap:anywhere!important;
    background:#fff!important;
    color:var(--v58-navy)!important;
    border:1px solid #d6e0ea!important;
    border-radius:10px!important;
    text-decoration:none!important;
  }
  html body .site-header .mobile-nav-cta-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin:11px 0 0!important;
  }
  html body .site-header .mobile-nav-cta{
    display:flex!important;
    min-height:48px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }
  html body.mobile-nav-open,
  html body.mobile-nav-open html{overflow:hidden!important}
  html body.mobile-nav-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:100010!important;
    background:rgba(3,14,32,.58)!important;
    backdrop-filter:blur(2px)!important;
  }

  /* Aucun espace entre le header fixe et le slider. */
  html body .hero-slider,
  html body main > .hero-slider,
  html body .hero-slider .slider-stage{
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  html body .hero-slider .slider-stage{
    width:100%!important;
    height:clamp(300px,82vw,590px)!important;
    min-height:300px!important;
    max-height:590px!important;
    aspect-ratio:auto!important;
    line-height:0!important;
  }
  html body .hero-slider .slide-picture,
  html body .hero-slider .slide-media,
  html body .hero-slider .slide img{
    object-fit:cover!important;
    object-position:center!important;
  }
  html body .hero-slider .slider-control-bar{bottom:10px!important}
  html body .hero-slider .mobile-slider-dots{gap:6px!important;padding:6px 10px!important}
  html body .hero-slider .mobile-slider-dots button{width:7px!important;min-width:7px!important;height:7px!important;min-height:7px!important}
  html body .hero-slider .mobile-slider-dots button.is-active{width:25px!important}

  /* Titre rouge et texte de présentation mobile agrandis. */
  html body .salon-presentation-head h2{display:none!important}
  html body .salon-presentation-head .salon-subtitle-colored{
    display:block!important;
    margin:0 auto 18px!important;
    padding:0 12px!important;
    color:#cf271f!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:clamp(28px,7vw,42px)!important;
    font-weight:950!important;
    line-height:1.16!important;
    letter-spacing:-.035em!important;
    text-align:center!important;
  }
  html body .salon-presentation-head .subtitle-red{
    color:#cf271f!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:inherit!important;
    font-weight:950!important;
  }
  html body .salon-presentation-text,
  html body .salon-presentation-text p{
    font-family:Verdana,Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:500!important;
    line-height:1.82!important;
    text-align:justify!important;
    text-justify:inter-word!important;
    hyphens:auto!important;
  }

  html body .keyfig-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body .keyfig-premium-card{min-height:220px!important}
  html body .keyfig-premium-card strong{left:18px!important;bottom:48px!important;font-size:31px!important}
  html body .keyfig-premium-card p{left:18px!important;bottom:18px!important;font-size:11px!important}

  html body .professional-pack-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }

  /* Popups tablette/mobile : une seule colonne et défilement du popup complet. */
  html body .premium-modal.is-open,
  html body .premium-modal[aria-hidden="false"]{
    align-items:flex-start!important;
    justify-content:center!important;
    padding:8px!important;
    overflow-y:auto!important;
  }
  html body .premium-modal .modal-card{
    display:block!important;
    width:min(760px,100%)!important;
    max-width:760px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  html body .premium-modal .modal-visual{
    min-height:250px!important;
    max-height:none!important;
    padding:20px!important;
  }
  html body .premium-modal .modal-visual-content{
    max-width:none!important;
    padding:17px!important;
    border-radius:14px!important;
  }
  html body .premium-modal .modal-visual-content h3{font-size:24px!important}
  html body .premium-modal .modal-visual-content p,
  html body .premium-modal .modal-visual-content li{font-size:13px!important;line-height:1.48!important}
  html body .premium-modal .modal-form-panel{
    max-height:none!important;
    padding:22px 18px 26px!important;
    overflow:visible!important;
  }
  html body .premium-modal .modal-logo{width:170px!important;max-width:58%!important;margin-bottom:8px!important}
  html body .premium-modal .modal-form-panel h2{font-size:28px!important}
  html body .premium-modal .modal-intro{font-size:13px!important;margin-bottom:15px!important}
  html body .premium-modal .premium-form{padding:16px!important;border-radius:14px!important}
  html body .premium-modal .form-grid{grid-template-columns:1fr!important;gap:0!important}
  html body .premium-modal .premium-form label{font-size:12px!important;margin-bottom:10px!important}
  html body .premium-modal .premium-form input,
  html body .premium-modal .premium-form select,
  html body .premium-modal .premium-form textarea{font-size:16px!important;border-radius:9px!important}
  html body .premium-modal .premium-form input,
  html body .premium-modal .premium-form select{min-height:50px!important}
  html body .premium-modal .modal-submit{min-height:54px!important;font-size:15px!important}

  html body .president-message-modal.is-open,
  html body .president-message-modal[aria-hidden="false"]{
    align-items:flex-start!important;
    padding:8px!important;
  }
  html body .president-message-modal .president-message-modal-card{
    width:100%!important;
    max-width:760px!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:25px 18px 30px!important;
    overflow:visible!important;
    border-radius:18px!important;
  }
  html body .president-popup-heading{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:15px!important;
    margin-bottom:20px!important;
    padding-right:34px!important;
  }
  html body .president-popup-heading img{width:92px!important;height:110px!important;border-radius:14px!important}
  html body .president-popup-heading h2{font-size:min(var(--president-popup-title-size,32px),27px)!important}
  html body .president-popup-content{font-size:min(var(--president-popup-text-size,18px),17px)!important;line-height:1.72!important}

  html body .stand-pack-modal-card,
  html body .real-stand-modal{
    display:block!important;
    width:min(760px,100%)!important;
    max-width:760px!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }
  html body .stand-pack-photo,
  html body .stand-pack-photo img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;
  }
  html body .stand-pack-copy{
    max-height:none!important;
    padding:28px 20px 25px!important;
    overflow:visible!important;
  }
}

@media (max-width:720px){
  :root{--v58-header-height:78px}
  html body .site-header,
  html body .site-header .top-shell{height:78px!important;min-height:78px!important}
  html body .site-header .top-shell{grid-template-rows:78px!important;grid-template-columns:minmax(0,1fr) 54px!important;padding:1px 7px!important}
  html body .site-header .brand{height:76px!important;min-height:76px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:min(306px,calc(100vw - 69px))!important;
    max-width:min(306px,calc(100vw - 69px))!important;
    height:76px!important;
    max-height:76px!important;
  }
  html body .site-header .nav-toggle{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important}
  html body .hero-slider .slider-stage{
    height:clamp(315px,86vw,520px)!important;
    min-height:315px!important;
    max-height:520px!important;
  }
  html body .salon-presentation-section{padding-left:16px!important;padding-right:16px!important}
  html body .salon-presentation-head .salon-subtitle-colored{font-size:clamp(30px,8.5vw,40px)!important}
  html body .salon-presentation-text,
  html body .salon-presentation-text p{font-size:16px!important;line-height:1.82!important}

  html body .s2ia-keyfig-black{padding:54px 0 62px!important}
  html body .s2ia-keyfig-inner{width:92%!important}
  html body .s2ia-keyfig-black .s2ia-section-title-dark h2{font-size:34px!important}
  html body .s2ia-keyfig-black .s2ia-section-title-dark span{width:48px!important;height:4px!important}
  html body .keyfig-grid-premium{grid-template-columns:1fr!important;gap:15px!important}
  html body .keyfig-premium-card{min-height:235px!important;aspect-ratio:16/10!important}
  html body .keyfig-premium-card strong{font-size:36px!important}
  html body .keyfig-premium-card p{font-size:12px!important}

  html body .professional-pack-grid{
    grid-template-columns:1fr!important;
    width:min(94%,600px)!important;
    gap:18px!important;
  }
  html body .professional-pack-card{height:auto!important;overflow:hidden!important}
  html body .professional-pack-content{padding:20px!important}
  html body .professional-pack-content h3{font-size:25px!important}
  html body .professional-pack-card .pack-subtitle{margin-bottom:12px!important}
  html body .professional-pack-card .pack-advantages li:nth-child(n/**/+3){display:none!important}
  html body .professional-pack-card .pack-more{margin:0 0 11px!important}
  html body .pack-card-actions{
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:10px!important;
    padding-top:8px!important;
  }
  html body .pack-card-actions button{min-height:50px!important;font-size:13px!important}
  html body button.pack-visual-button{aspect-ratio:16/9!important}

  html body .premium-modal .modal-visual{min-height:220px!important;padding:15px!important}
  html body .premium-modal .modal-visual-content{padding:14px!important}
  html body .premium-modal .modal-visual-content h3{font-size:21px!important;margin-bottom:7px!important}
  html body .premium-modal .modal-visual-content p{font-size:12.5px!important}
  html body .premium-modal .modal-mini-grid{gap:5px!important}
  html body .premium-modal .modal-mini-grid span{padding:6px 8px!important;font-size:10px!important}
  html body .premium-modal .modal-form-panel{padding:19px 13px 22px!important}
  html body .premium-modal .premium-form{padding:13px!important}
  html body .premium-modal .modal-close{top:9px!important;right:9px!important;width:40px!important;height:40px!important}

  html body .president-popup-heading{grid-template-columns:1fr!important;text-align:center!important;padding:0 34px 0 0!important}
  html body .president-popup-heading img{margin:0 auto!important}
  html body .president-popup-heading span{text-align:center!important}
  html body .president-popup-heading h2{text-align:center!important}
}

@media (max-width:420px){
  html body .site-header .top-shell{grid-template-columns:minmax(0,1fr) 50px!important;padding-left:5px!important;padding-right:5px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:min(286px,calc(100vw - 62px))!important;max-width:min(286px,calc(100vw - 62px))!important}
  html body .site-header .nav-toggle{width:47px!important;min-width:47px!important;height:47px!important;min-height:47px!important}
  html body .site-header .header-countdown{width:96vw!important;padding-left:8px!important;padding-right:34px!important}
  html body .site-header .header-countdown .countdown-grid{gap:3px!important}
  html body .site-header .countdown-digits{padding-left:2px!important;padding-right:2px!important}
  html body .site-header .flip-digit{min-width:11px!important;font-size:18px!important}
  html body .site-header .countdown-unit small{font-size:6px!important;letter-spacing:0!important}
  html body .site-header .main-nav{width:96vw!important}
}

/* --------------------------------------------------------------------------
   TV / TRÈS GRANDS ÉCRANS — proportions agrandies et contenu centré
   -------------------------------------------------------------------------- */
@media (min-width:1921px){
  :root{--v58-header-height:108px}
  html body .site-header .top-shell{
    grid-template-columns:minmax(320px,390px) minmax(800px,1fr) minmax(560px,680px)!important;
    width:min(96vw,3000px)!important;
    max-width:3000px!important;
    height:98px!important;
    min-height:98px!important;
    margin:5px auto!important;
    padding:6px 18px!important;
    gap:20px!important;
    border-radius:16px!important;
  }
  html body .site-header .brand{height:86px!important;min-height:86px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:370px!important;max-width:370px!important;height:86px!important;max-height:86px!important}
  html body .site-header .main-nav .main-nav-links{min-height:60px!important;border-radius:9px!important}
  html body .site-header .main-nav .main-nav-links > a{height:60px!important;min-height:60px!important;padding:0 17px!important;font-size:19px!important}
  html body .site-header .header-countdown{height:78px!important;padding:9px 12px!important}
  html body .site-header .header-countdown .countdown-grid{grid-template-columns:minmax(70px,1fr) 8px minmax(70px,1fr) 8px minmax(70px,1fr) 8px minmax(70px,1fr) 8px minmax(70px,1fr)!important;gap:5px!important}
  html body .site-header .countdown-digits{min-height:42px!important}
  html body .site-header .flip-digit{height:40px!important;min-height:40px!important;min-width:20px!important;font-size:30px!important}
  html body .site-header .countdown-unit small{font-size:9px!important}
  html body .site-header .countdown-separator{height:42px!important;line-height:42px!important;font-size:21px!important}

  html body .s2ia-keyfig-inner,
  html body .institutional-clean-inner,
  html body .s2ia-strip-inner,
  html body .salon-presentation-inner,
  html body .s2ia-showcase-inner,
  html body .pack-section-header,
  html body .professional-pack-grid,
  html body .s2ia-participation-reasons .reasons-grid,
  html body .footer-pro-inner{
    width:min(92vw,2700px)!important;
    max-width:2700px!important;
  }
  html body .keyfig-grid-premium{gap:28px!important}
  html body .keyfig-premium-card{min-height:360px!important;border-radius:26px!important}
  html body .keyfig-premium-card strong{left:32px!important;bottom:75px!important;font-size:58px!important}
  html body .keyfig-premium-card p{left:33px!important;bottom:32px!important;font-size:18px!important}
  html body .s2ia-keyfig-black .s2ia-section-title-dark h2{font-size:64px!important}
  html body .s2ia-participation-reasons .reasons-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px!important}
  html body .reason-photo-copy h3{font-size:25px!important}
  html body .reason-photo-copy p{font-size:17px!important}
  html body .professional-pack-grid{gap:28px!important}
  html body .professional-pack-content h3{font-size:30px!important}
  html body .professional-pack-card .pack-subtitle,
  html body .professional-pack-card .pack-advantages li{font-size:17px!important}
  html body .pack-card-actions button{font-size:15px!important;min-height:55px!important}
  html body .premium-modal .modal-card{width:min(1800px,94vw)!important;max-width:1800px!important}
}

@media (min-width:3000px){
  :root{--v58-header-height:126px}
  html body .site-header .top-shell{
    grid-template-columns:440px minmax(1100px,1fr) 760px!important;
    width:min(94vw,3500px)!important;
    max-width:3500px!important;
    height:114px!important;
    min-height:114px!important;
  }
  html body .site-header .brand{height:100px!important;min-height:100px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:425px!important;max-width:425px!important;height:100px!important;max-height:100px!important}
  html body .site-header .main-nav .main-nav-links > a{font-size:22px!important;height:70px!important;min-height:70px!important}
  html body .site-header .header-countdown{height:92px!important}
  html body .site-header .flip-digit{font-size:36px!important;min-width:24px!important;height:50px!important;min-height:50px!important}
  html body .site-header .countdown-digits{min-height:52px!important}
  html body .site-header .countdown-unit small{font-size:11px!important}
  html body .site-header .countdown-separator{height:52px!important;line-height:52px!important;font-size:26px!important}
  html body .s2ia-keyfig-inner,
  html body .institutional-clean-inner,
  html body .s2ia-strip-inner,
  html body .salon-presentation-inner,
  html body .s2ia-showcase-inner,
  html body .pack-section-header,
  html body .professional-pack-grid,
  html body .s2ia-participation-reasons .reasons-grid,
  html body .footer-pro-inner{width:min(90vw,3200px)!important;max-width:3200px!important}
}

@media (prefers-reduced-motion:reduce){
  html body .site-header .main-nav,
  html body .hero-slider .slide,
  html body .hero-slider .mobile-slider-dots button{
    transition:none!important;
    animation:none!important;
  }
}

/* ========================================================================== 
   V58 — CORRECTIF FINAL TV / 4K
   Neutralise les anciennes largeurs maximales et adapte les proportions aux
   téléviseurs et écrans très larges sans modifier les formats PC et mobiles.
   ========================================================================== */
@media (min-width:2200px){
  :root{--v58-header-height:132px}

  html body .site-header,
  html body .site-header .top-shell{
    min-height:120px!important;
  }
  html body .site-header .top-shell{
    grid-template-columns:minmax(430px,500px) minmax(1100px,1fr) minmax(760px,900px)!important;
    width:min(96vw,3380px)!important;
    max-width:3380px!important;
    height:120px!important;
    margin:6px auto!important;
    padding:7px 20px!important;
    gap:24px!important;
    border-radius:18px!important;
  }
  html body .site-header .brand{
    height:106px!important;
    min-height:106px!important;
    overflow:visible!important;
  }
  html body .site-header .top-shell > a.brand > img.header-logo-exact,
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:420px!important;
    min-width:420px!important;
    max-width:420px!important;
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
    object-fit:contain!important;
  }
  html body .site-header .main-nav .main-nav-links{
    min-height:72px!important;
    border-radius:10px!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    height:72px!important;
    min-height:72px!important;
    padding:0 22px!important;
    font-size:22px!important;
    line-height:1.1!important;
  }
  html body .site-header .header-countdown{
    width:100%!important;
    height:96px!important;
    min-height:96px!important;
    padding:10px 14px!important;
    border-radius:14px!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(82px,1fr) 10px minmax(82px,1fr) 10px minmax(82px,1fr) 10px minmax(82px,1fr) 10px minmax(82px,1fr)!important;
    gap:5px!important;
  }
  html body .site-header .countdown-digits{min-height:52px!important}
  html body .site-header .flip-digit{
    min-width:25px!important;
    height:50px!important;
    min-height:50px!important;
    font-size:37px!important;
  }
  html body .site-header .countdown-unit small{
    margin-top:5px!important;
    font-size:11px!important;
    letter-spacing:.08em!important;
  }
  html body .site-header .countdown-separator{
    height:52px!important;
    line-height:52px!important;
    font-size:27px!important;
  }

  /* Actions immédiatement sous le slider */
  html body .hero-actions{padding:22px 0!important}
  html body .hero-actions .hero-actions-inner{
    display:grid!important;
    grid-template-columns:1.15fr .82fr .98fr 1.25fr!important;
    width:min(82vw,2850px)!important;
    max-width:2850px!important;
    gap:22px!important;
  }
  html body .hero-actions .action-pill,
  html body .hero-actions .action-button{
    min-height:68px!important;
    height:68px!important;
    border-radius:15px!important;
    font-size:20px!important;
    padding:0 28px!important;
  }

  /* Patronage : occupe réellement l'espace TV */
  html body .patronage-welcome{
    padding:44px 0 58px!important;
  }
  html body .patronage-welcome .patronage-main-title{
    margin:0 auto 30px!important;
    font-size:52px!important;
    line-height:1.08!important;
  }
  html body .patronage-welcome .patronage-welcome-inner{
    width:min(84vw,2820px)!important;
    max-width:2820px!important;
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)!important;
    gap:36px!important;
  }
  html body .patronage-welcome .patronage-identity-card,
  html body .patronage-welcome .president-message-card{
    min-height:430px!important;
    border-radius:26px!important;
    padding:36px 42px!important;
  }
  html body .patronage-welcome .patronage-identity-content{
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:34px!important;
  }
  html body .patronage-welcome .patronage-president-photo,
  html body .patronage-welcome .patronage-president-photo img{
    width:300px!important;
    height:350px!important;
    min-height:350px!important;
    border-radius:22px!important;
    object-fit:cover!important;
  }
  html body .patronage-welcome .patronage-identity-text h3{
    font-size:38px!important;
    line-height:1.16!important;
  }
  html body .patronage-welcome .president-function{
    font-size:23px!important;
  }
  html body .patronage-welcome .president-message-card h3{
    font-size:38px!important;
  }
  html body .patronage-welcome .president-message-card p{
    font-size:23px!important;
    line-height:1.7!important;
  }
  html body .patronage-welcome .president-message-link{
    min-height:68px!important;
    font-size:21px!important;
    border-radius:14px!important;
  }

  /* Largeurs principales cohérentes sur TV. */
  html body .s2ia-keyfig-black .s2ia-keyfig-inner,
  html body .institutional-clean-section .institutional-clean-inner,
  html body .diplomatic-partners-section .s2ia-strip-inner,
  html body .salon-presentation-section .salon-presentation-inner,
  html body .s2ia-showcase-section .s2ia-showcase-inner,
  html body .event-pillars-section .event-pillars-inner,
  html body .partner-logo-cloud-section .partner-logo-cloud-inner,
  html body .s2ia-participation-reasons .s2ia-showcase-inner,
  html body .s2ia-footer-pro .footer-pro-inner{
    width:min(90vw,3150px)!important;
    max-width:3150px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Présentation du Salon : texte et panneau latéral équilibrés. */
  html body .salon-presentation-section{
    padding-top:90px!important;
    padding-bottom:96px!important;
  }
  html body .salon-presentation-section .salon-presentation-head h2{
    font-size:66px!important;
    line-height:1.08!important;
  }
  html body .salon-presentation-section .salon-subtitle-colored{
    font-size:44px!important;
    margin-top:18px!important;
  }
  html body .salon-presentation-section .salon-presentation-grid{
    grid-template-columns:minmax(0,1.62fr) minmax(720px,.88fr)!important;
    gap:54px!important;
    align-items:start!important;
  }
  html body .salon-presentation-section .salon-presentation-text,
  html body .salon-presentation-section .salon-presentation-text p{
    font-size:23px!important;
    line-height:1.82!important;
  }
  html body .salon-presentation-section .salon-audience-panel{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:28px!important;
    border-radius:28px!important;
  }
  html body .salon-presentation-section .audience-card,
  html body .salon-presentation-section .salon-audience-extra{
    min-height:210px!important;
    padding:28px!important;
    border-radius:22px!important;
  }
  html body .salon-presentation-section .audience-card h4,
  html body .salon-presentation-section .salon-audience-extra h4{
    font-size:30px!important;
  }
  html body .salon-presentation-section .audience-card p,
  html body .salon-presentation-section .salon-audience-extra p{
    font-size:18px!important;
    line-height:1.55!important;
  }
  html body .salon-presentation-section .audience-btn{
    min-height:58px!important;
    font-size:17px!important;
  }

  /* Titres et cartes des autres grandes sections. */
  html body .section-line-title h2,
  html body .institutional-clean-title h2,
  html body .compact-strip-title h2{
    font-size:clamp(45px,1.65vw,64px)!important;
    line-height:1.12!important;
  }
  html body .section-line-title{
    margin-bottom:44px!important;
  }
  html body .showcase-card-grid{
    gap:26px!important;
  }
  html body .profile-card-body h3,
  html body .profile-card-body strong{
    font-size:22px!important;
  }
  html body .profile-card-body p,
  html body .profile-card-body em{
    font-size:17px!important;
  }

  /* Raisons de participer : quatre colonnes centrées et lisibles. */
  html body .s2ia-participation-reasons{
    padding:100px 0!important;
  }
  html body .s2ia-participation-reasons .reasons-intro{
    margin-bottom:48px!important;
  }
  html body .s2ia-participation-reasons .reasons-kicker{
    font-size:17px!important;
    min-height:42px!important;
  }
  html body .s2ia-participation-reasons .reasons-intro h2{
    font-size:72px!important;
  }
  html body .s2ia-participation-reasons .reasons-intro p{
    max-width:1700px!important;
    font-size:23px!important;
  }
  html body .s2ia-participation-reasons .reasons-grid{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:28px!important;
  }
  html body .s2ia-participation-reasons .reason-photo-card{
    min-height:430px!important;
    border-radius:26px!important;
  }
  html body .s2ia-participation-reasons .reason-photo-media{
    min-height:260px!important;
  }
  html body .s2ia-participation-reasons .reason-photo-copy{
    padding:26px 28px 30px!important;
  }
  html body .s2ia-participation-reasons .reason-photo-copy h3{
    font-size:26px!important;
  }
  html body .s2ia-participation-reasons .reason-photo-copy p{
    font-size:18px!important;
  }

  /* Packs : neutralise le max-width 1660px hérité de V56. */
  html body .s2ia-pack-section .s2ia-showcase-inner,
  html body .sponsor-pack-section .s2ia-showcase-inner,
  html body .exhibition-pack-section .s2ia-showcase-inner{
    width:min(90vw,3150px)!important;
    max-width:3150px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html body .s2ia-pack-section .pack-section-header,
  html body .s2ia-pack-section .professional-pack-grid,
  html body .sponsor-pack-section .pack-section-header,
  html body .sponsor-pack-section .professional-pack-grid,
  html body .exhibition-pack-section .pack-section-header,
  html body .exhibition-pack-section .professional-pack-grid{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html body .s2ia-pack-section .pack-section-header{
    grid-template-columns:minmax(0,1fr) minmax(760px,1fr)!important;
    gap:70px!important;
    margin-bottom:46px!important;
    padding-bottom:32px!important;
  }
  html body .s2ia-pack-section .pack-section-eyebrow{
    font-size:17px!important;
  }
  html body .s2ia-pack-section .pack-section-header h2{
    font-size:68px!important;
  }
  html body .s2ia-pack-section .pack-section-header p{
    font-size:22px!important;
  }
  html body .s2ia-pack-section .professional-pack-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:28px!important;
  }
  html body .s2ia-pack-section .professional-pack-card{
    border-radius:26px!important;
  }
  html body .s2ia-pack-section .professional-pack-content{
    padding:26px!important;
  }
  html body .s2ia-pack-section .professional-pack-content h3{
    font-size:28px!important;
  }
  html body .s2ia-pack-section .pack-subtitle,
  html body .s2ia-pack-section .pack-advantages li{
    font-size:17px!important;
  }
  html body .s2ia-pack-section .pack-card-actions button{
    min-height:58px!important;
    font-size:16px!important;
  }

  /* Popups TV : dimensions confortables, sans bande plate disproportionnée. */
  html body .premium-modal .modal-card{
    width:min(84vw,2100px)!important;
    max-width:2100px!important;
    max-height:88vh!important;
    border-radius:28px!important;
  }
  html body .premium-modal .modal-form-panel h2{
    font-size:42px!important;
  }
  html body .premium-modal .modal-intro,
  html body .premium-modal .premium-form label{
    font-size:18px!important;
  }
  html body .premium-modal .premium-form input,
  html body .premium-modal .premium-form select,
  html body .premium-modal .premium-form textarea{
    font-size:20px!important;
  }
  html body .president-message-modal .president-message-modal-card{
    width:min(66vw,1800px)!important;
    max-width:1800px!important;
    min-height:520px!important;
    max-height:82vh!important;
    padding:54px 62px!important;
  }
  html body .president-message-modal .president-popup-heading{
    grid-template-columns:230px minmax(0,1fr)!important;
    gap:34px!important;
  }
  html body .president-message-modal .president-popup-heading img{
    width:230px!important;
    height:270px!important;
  }
  html body .president-message-modal .president-popup-heading h2{
    font-size:44px!important;
  }
  html body .president-message-modal .president-popup-content{
    font-size:24px!important;
    line-height:1.75!important;
  }
}

@media (min-width:3000px){
  :root{--v58-header-height:154px}
  html body .site-header .top-shell{
    grid-template-columns:540px minmax(1350px,1fr) 980px!important;
    width:min(95vw,3660px)!important;
    max-width:3660px!important;
    height:140px!important;
    min-height:140px!important;
    padding:8px 24px!important;
  }
  html body .site-header .brand{height:124px!important;min-height:124px!important}
  html body .site-header .top-shell > a.brand > img.header-logo-exact,
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:500px!important;
    min-width:500px!important;
    max-width:500px!important;
    height:122px!important;
    min-height:122px!important;
    max-height:122px!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    height:82px!important;
    min-height:82px!important;
    font-size:25px!important;
    padding:0 26px!important;
  }
  html body .site-header .header-countdown{
    height:112px!important;
    min-height:112px!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(102px,1fr) 12px minmax(102px,1fr) 12px minmax(102px,1fr) 12px minmax(102px,1fr) 12px minmax(102px,1fr)!important;
  }
  html body .site-header .countdown-digits{min-height:62px!important}
  html body .site-header .flip-digit{
    min-width:30px!important;
    height:60px!important;
    min-height:60px!important;
    font-size:44px!important;
  }
  html body .site-header .countdown-unit small{font-size:13px!important}
  html body .site-header .countdown-separator{height:62px!important;line-height:62px!important;font-size:32px!important}

  html body .s2ia-keyfig-black .s2ia-keyfig-inner,
  html body .institutional-clean-section .institutional-clean-inner,
  html body .diplomatic-partners-section .s2ia-strip-inner,
  html body .salon-presentation-section .salon-presentation-inner,
  html body .s2ia-showcase-section .s2ia-showcase-inner,
  html body .event-pillars-section .event-pillars-inner,
  html body .partner-logo-cloud-section .partner-logo-cloud-inner,
  html body .s2ia-participation-reasons .s2ia-showcase-inner,
  html body .s2ia-pack-section .s2ia-showcase-inner,
  html body .sponsor-pack-section .s2ia-showcase-inner,
  html body .exhibition-pack-section .s2ia-showcase-inner,
  html body .s2ia-footer-pro .footer-pro-inner{
    width:min(88vw,3360px)!important;
    max-width:3360px!important;
  }
  html body .hero-actions .hero-actions-inner{width:min(78vw,3000px)!important;max-width:3000px!important}
}
/* ========================================================================== 
   S2IA V59 — TV / Grands écrans / Slider / Drapeaux / Packs DUO
   Feuille de consolidation finale chargée après les feuilles historiques.
   ========================================================================== */
:root{
  --v59-navy:#071f46;
  --v59-navy-2:#0b315f;
  --v59-orange:#f26722;
  --v59-orange-dark:#cf4f11;
  --v59-green:#23833a;
  --v59-light:#edf1f5;
  --v59-line:#d7e0ea;
  --v59-header-height:116px;
  --v59-mobile-header-height:88px;
}
html{scroll-padding-top:calc(var(--v59-header-height) + 16px)!important}
html body{overflow-x:hidden!important}
html body > main,
html body main{padding-top:var(--v59-header-height)!important;margin:0!important}

/* --------------------------------------------------------------------------
   HEADER DESKTOP : hauteur légèrement augmentée, séparations et alignement
   -------------------------------------------------------------------------- */
@media (min-width:1181px){
  html body .site-header{
    height:var(--v59-header-height)!important;
    min-height:var(--v59-header-height)!important;
    background:rgba(255,255,255,.99)!important;
    border-bottom:1px solid rgba(7,31,70,.12)!important;
  }
  html body .site-header .top-shell{
    display:grid!important;
    grid-template-areas:"brand nav countdown"!important;
    grid-template-columns:minmax(235px,285px) minmax(510px,1fr) minmax(340px,405px)!important;
    grid-template-rows:98px!important;
    align-items:center!important;
    gap:13px!important;
    width:min(calc(100% - 24px),2100px)!important;
    max-width:2100px!important;
    height:100px!important;
    min-height:100px!important;
    margin:6px auto!important;
    padding:5px 12px!important;
    border-radius:12px!important;
  }
  html body .site-header .brand{
    height:80px!important;
    min-height:80px!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:min(276px,100%)!important;
    max-width:276px!important;
    height:80px!important;
    max-height:80px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  html body .site-header .main-nav{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  html body .site-header .main-nav .mobile-nav-body{display:contents!important}
  html body .site-header .main-nav .main-nav-links{
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    min-height:58px!important;
    height:58px!important;
    gap:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,var(--v59-orange-dark),var(--v59-orange) 58%,#ff8b42)!important;
    border:1px solid rgba(150,53,7,.38)!important;
    border-radius:4px!important;
    box-shadow:0 8px 20px rgba(242,103,34,.20)!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:1 1 auto!important;
    min-width:0!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 12px!important;
    border:0!important;
    border-right:2px solid rgba(255,255,255,.58)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:16.5px!important;
    font-weight:900!important;
    line-height:1.1!important;
    letter-spacing:-.025em!important;
    text-align:center!important;
    white-space:nowrap!important;
    box-shadow:inset -1px 0 0 rgba(83,25,0,.16)!important;
  }
  html body .site-header .main-nav .main-nav-links > a:last-child{
    border-right:0!important;
    box-shadow:none!important;
  }
  html body .site-header .main-nav .main-nav-links > a:hover,
  html body .site-header .main-nav .main-nav-links > a:focus-visible,
  html body .site-header .main-nav .main-nav-links > a.is-active{
    background:var(--v59-navy)!important;
    color:#fff!important;
  }
  html body .site-header .header-countdown{
    align-self:center!important;
    width:100%!important;
    max-width:405px!important;
    height:58px!important;
    min-height:58px!important;
    margin:0!important;
    padding:5px 7px!important;
    overflow:visible!important;
    background:linear-gradient(145deg,#061832,#0b315f)!important;
    border:1px solid rgba(7,31,70,.25)!important;
    border-left:5px solid var(--v59-orange)!important;
    border-top:0!important;
    border-radius:7px!important;
    box-shadow:0 8px 20px rgba(7,31,70,.18),inset 0 1px 0 rgba(255,255,255,.10)!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    display:grid!important;
    grid-template-columns:minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr) 4px minmax(47px,1fr)!important;
    align-items:center!important;
    gap:1px!important;
    width:100%!important;
    max-width:none!important;
  }
  html body .site-header .countdown-unit{
    gap:2px!important;
    min-width:0!important;
  }
  html body .site-header .countdown-digits{
    display:flex!important;
    justify-content:center!important;
    gap:2px!important;
    min-height:31px!important;
  }
  html body .site-header .flip-digit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:16px!important;
    width:16px!important;
    height:29px!important;
    min-height:29px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:3px!important;
    background:linear-gradient(#f9fbfd 0 48%,#e6ebf1 49% 100%)!important;
    color:#071f46!important;
    font-family:Verdana,Arial,sans-serif!important;
    font-size:20px!important;
    font-weight:900!important;
    line-height:1!important;
    text-shadow:0 1px 0 #fff!important;
    box-shadow:0 2px 5px rgba(0,0,0,.25)!important;
  }
  html body .site-header .countdown-unit small{
    color:#fff!important;
    font-size:7.5px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html body .site-header .countdown-separator{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:4px!important;
    height:31px!important;
    color:#ffb27d!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:31px!important;
  }
  html body .site-header .countdown-mobile-close{display:none!important}
}

/* Laptop : menu conservé lisible, compteur légèrement compressé. */
@media (min-width:1181px) and (max-width:1540px){
  html body .site-header .top-shell{
    grid-template-columns:minmax(215px,245px) minmax(500px,1fr) minmax(315px,350px)!important;
    gap:9px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:238px!important;max-width:238px!important}
  html body .site-header .main-nav .main-nav-links > a{
    padding:0 8px!important;
    font-size:14.5px!important;
  }
  html body .site-header .header-countdown{max-width:350px!important;padding-left:5px!important;padding-right:5px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr) 3px minmax(41px,1fr)!important;
  }
  html body .site-header .flip-digit{min-width:14px!important;width:14px!important;font-size:18px!important}
  html body .site-header .countdown-unit small{font-size:6.7px!important}
}

/* --------------------------------------------------------------------------
   SLIDER : visible sur TV/4K, sans flèches, pastilles et autoplay JS
   -------------------------------------------------------------------------- */
html body .hero-slider,
html body main > .hero-slider{
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:var(--v59-navy)!important;
  overflow:hidden!important;
  line-height:0!important;
}
html body .hero-slider .slider-stage{
  position:relative!important;
  display:block!important;
  visibility:visible!important;
  width:100%!important;
  height:39.31966vw!important; /* 1999 x 786 — fallback pour navigateurs TV */
  min-height:430px!important;
  max-height:1510px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--v59-navy)!important;
}
html body .hero-slider .slider-viewport,
html body .hero-slider .slider-stage .slide,
html body .hero-slider .slide-picture{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .hero-slider .slider-stage .slide{
  opacity:0!important;
  visibility:hidden!important;
  z-index:0!important;
  pointer-events:none!important;
  transition:opacity .7s ease,visibility .7s ease!important;
}
html body .hero-slider .slider-stage .slide.is-active,
html body .hero-slider .slider-stage:not(.is-js-ready) .slide:first-child{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  pointer-events:auto!important;
}
html body .hero-slider .slide-media,
html body .hero-slider .slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:var(--v59-navy)!important;
  transform:none!important;
}
html body .hero-slider .slider-arrow,
html body .hero-slider [data-prev],
html body .hero-slider [data-next]{display:none!important;visibility:hidden!important}
html body .hero-slider .slider-control-bar{
  position:absolute!important;
  z-index:20!important;
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:8px 12px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:999px!important;
  background:rgba(7,31,70,.68)!important;
  box-shadow:0 5px 18px rgba(0,0,0,.25)!important;
  backdrop-filter:blur(7px)!important;
  line-height:1!important;
}
html body .hero-slider .mobile-slider-dots{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
html body .hero-slider .mobile-slider-dots button{
  display:block!important;
  width:10px!important;
  min-width:10px!important;
  height:10px!important;
  min-height:10px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
  transition:width .22s ease,background .22s ease,border-radius .22s ease!important;
}
html body .hero-slider .mobile-slider-dots button.is-active{
  width:30px!important;
  min-width:30px!important;
  border-radius:999px!important;
  border-color:var(--v59-orange)!important;
  background:var(--v59-orange)!important;
}

/* --------------------------------------------------------------------------
   CHIFFRES CLÉS : fond gris, images plein cadre et légende noire dessous
   -------------------------------------------------------------------------- */
html body .s2ia-keyfig-black{
  background:#eef1f4!important;
  color:var(--v59-navy)!important;
  padding:64px 0 72px!important;
}
html body .s2ia-keyfig-black::before,
html body .s2ia-keyfig-black::after{display:none!important;content:none!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark h2{color:var(--v59-navy)!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark > span:first-child{background:var(--v59-orange)!important}
html body .s2ia-keyfig-black .s2ia-section-title-dark > span:last-child{background:var(--v59-green)!important}
html body .keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
html body .keyfig-premium-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(190px,1fr) auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d6dee7!important;
  border-radius:10px!important;
  box-shadow:0 10px 26px rgba(7,31,70,.10)!important;
}
html body .keyfig-premium-card::before,
html body .keyfig-premium-card::after{display:none!important;content:none!important}
html body .keyfig-premium-icon{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:230px!important;
  min-height:230px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#dfe5eb!important;
}
html body .keyfig-premium-icon::before,
html body .keyfig-premium-icon::after{display:none!important;content:none!important}
html body .keyfig-premium-icon img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}
html body .keyfig-caption{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:92px!important;
  padding:16px 20px 18px!important;
  background:#080b10!important;
  color:#fff!important;
  text-align:left!important;
}
html body .keyfig-caption strong,
html body .keyfig-premium-card .keyfig-caption strong{
  position:static!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:30px!important;
  font-weight:900!important;
  line-height:1.05!important;
  text-shadow:none!important;
}
html body .keyfig-caption p,
html body .keyfig-premium-card .keyfig-caption p{
  position:static!important;
  inset:auto!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
  text-shadow:none!important;
}

/* --------------------------------------------------------------------------
   DRAPEAUX LOCAUX — rendu stable sur TV et navigateurs sans emoji couleur
   -------------------------------------------------------------------------- */
html body .diplomatic-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-width:178px!important;
  min-height:150px!important;
  padding:16px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d8e1eb!important;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(7,31,70,.08)!important;
}
html body .diplomatic-flag-frame{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:116px!important;
  height:76px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f7f9fb!important;
  border:1px solid #ccd5df!important;
  border-radius:4px!important;
  box-shadow:0 3px 8px rgba(7,31,70,.12)!important;
}
html body .diplomatic-flag-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
html body .diplomatic-card > strong{
  display:block!important;
  color:var(--v59-navy)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center!important;
}

/* --------------------------------------------------------------------------
   PILIERS : vraies balises image, compatibles TV
   -------------------------------------------------------------------------- */
html body .event-pillars-section .pillars-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  overflow:visible!important;
}
html body .event-pillars-section .pillar-card,
html body .event-pillars-section .pillars-row > article{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  min-width:0!important;
  min-height:290px!important;
  height:290px!important;
  padding:22px!important;
  overflow:hidden!important;
  background:#102a50!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px!important;
  box-shadow:0 14px 28px rgba(7,31,70,.16)!important;
}
html body .event-pillars-section .pillar-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(7,31,70,.02) 28%,rgba(7,31,70,.88) 100%)!important;
}
html body .event-pillars-section .pillar-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}
html body .event-pillars-section .pillar-icon{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  height:48px!important;
  margin:0 0 12px!important;
  border-radius:9px!important;
  background:var(--v59-orange)!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
}
html body .event-pillars-section .pillar-card > strong{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  color:#fff!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-shadow:0 2px 8px rgba(0,0,0,.55)!important;
}

/* --------------------------------------------------------------------------
   PACKS DUO : pour chaque pack, stand équipé et stand nu
   -------------------------------------------------------------------------- */
html body .dual-stand-meta,
html body .stand-type-badges,
html body .dual-pack-badges{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
html body .stand-status.is-equipped,
html body .stand-type-badge.equipped,
html body .dual-pack-badges span:first-child{
  background:#e6f4e9!important;
  color:#126c2a!important;
  border:1px solid #b8dfc1!important;
}
html body .stand-status.is-bare,
html body .stand-type-badge.bare,
html body .dual-pack-badges span:last-child{
  background:#fff1e8!important;
  color:#b6450d!important;
  border:1px solid #ffd0b8!important;
}
html body .dual-stand-meta .stand-status,
html body .stand-type-badges .stand-type-badge,
html body .dual-pack-badges span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}
html body .pack-card-actions-dual{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
html body .pack-card-actions-dual .pack-action-outline{grid-column:1/-1!important}
html body .pack-card-actions-dual button,
html body .stand-modal-actions button,
html body .dual-pack-page-actions button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  padding:11px 12px!important;
  border-radius:7px!important;
  font-family:Verdana,Arial,sans-serif!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  visibility:visible!important;
  opacity:1!important;
}
html body .pack-card-actions-dual .equipped-choice,
html body .stand-modal-actions .equipped-choice,
html body .dual-pack-page-actions button:first-child{
  border:1px solid #167633!important;
  background:#23833a!important;
  color:#fff!important;
}
html body .pack-card-actions-dual .bare-choice,
html body .stand-modal-actions .bare-choice,
html body .dual-pack-page-actions button:last-child{
  border:1px solid #d94d08!important;
  background:var(--v59-orange)!important;
  color:#fff!important;
}
html body .stand-modal-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:16px!important;
}
html body .dual-exhibition-page-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:22px!important;
}
html body .dual-exhibition-page-card{height:auto!important;overflow:visible!important}
html body .dual-exhibition-page-card > img{width:100%!important;height:210px!important;object-fit:cover!important}
html body .dual-pack-badges{padding:12px 14px 0!important}
html body .dual-pack-page-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:14px!important;
}

/* --------------------------------------------------------------------------
   MOBILE / TABLETTE : aucun espace entre header et slider, menu défilable,
   compteur flottant et slider entièrement visible légèrement rehaussé
   -------------------------------------------------------------------------- */
@media (max-width:1180px){
  :root{--v59-header-height:var(--v59-mobile-header-height)!important}
  html{scroll-padding-top:calc(var(--v59-mobile-header-height) + 8px)!important}
  html body > main,
  html body main{
    padding-top:var(--v59-mobile-header-height)!important;
    margin:0!important;
  }
  html body .site-header{
    height:var(--v59-mobile-header-height)!important;
    min-height:var(--v59-mobile-header-height)!important;
    max-height:var(--v59-mobile-header-height)!important;
    padding:0!important;
    border-bottom:0!important;
    box-shadow:0 5px 18px rgba(7,31,70,.12)!important;
    background:#fff!important;
  }
  html body .site-header .top-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 60px!important;
    grid-template-areas:"brand toggle"!important;
    grid-template-rows:var(--v59-mobile-header-height)!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    max-width:none!important;
    height:var(--v59-mobile-header-height)!important;
    min-height:var(--v59-mobile-header-height)!important;
    margin:0!important;
    padding:2px 8px!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    overflow:visible!important;
  }
  html body .site-header .brand{
    grid-area:brand!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:82px!important;
    min-height:82px!important;
    overflow:hidden!important;
  }
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    display:block!important;
    width:min(330px,calc(100vw - 80px))!important;
    max-width:min(330px,calc(100vw - 80px))!important;
    height:80px!important;
    max-height:80px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  html body .site-header .nav-toggle{
    grid-area:toggle!important;
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:11px!important;
    background:var(--v59-navy)!important;
    box-shadow:0 7px 16px rgba(7,31,70,.20)!important;
  }
  html body .site-header .nav-toggle span{
    display:block!important;
    width:27px!important;
    height:3px!important;
    margin:3px 0!important;
    border-radius:3px!important;
    background:#fff!important;
  }
  /* Menu latéral : le corps et le bloc contacts restent entièrement accessibles. */
  html body .site-header .main-nav{
    position:fixed!important;
    z-index:100300!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:min(92vw,470px)!important;
    max-width:470px!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100vh!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
    opacity:0!important;
    transform:translate3d(104%,0,0)!important;
    transition:transform .32s ease,opacity .24s ease,visibility .32s ease!important;
    background:linear-gradient(180deg,#fff 0%,#f4f6f9 100%)!important;
    border:0!important;
    border-left:1px solid #dbe3ec!important;
    border-radius:0!important;
    box-shadow:-20px 0 46px rgba(7,31,70,.24)!important;
    overscroll-behavior:contain!important;
  }
  html body .site-header .main-nav.is-open{
    visibility:visible!important;
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  html body .site-header .main-nav .mobile-nav-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex:0 0 auto!important;
    min-height:92px!important;
    padding:12px 14px!important;
    background:#fff!important;
    border-bottom:1px solid #dce4ed!important;
  }
  html body .site-header .main-nav .mobile-nav-body{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:14px 14px calc(150px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    scrollbar-gutter:stable!important;
  }
  html body .site-header .main-nav .main-nav-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  html body .site-header .main-nav .main-nav-links > a{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    align-items:center!important;
    min-height:58px!important;
    height:auto!important;
    padding:10px 12px!important;
    border:1px solid #dce4ed!important;
    border-left:5px solid var(--nav-accent,var(--v59-orange))!important;
    border-radius:8px!important;
    background:#fff!important;
    color:var(--v59-navy)!important;
    font-size:15px!important;
    font-weight:900!important;
    text-align:left!important;
    white-space:normal!important;
    box-shadow:0 5px 14px rgba(7,31,70,.07)!important;
  }
  html body .site-header .main-nav .mobile-nav-contact{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:16px 0 0!important;
    padding:16px!important;
    overflow:visible!important;
    background:#fff!important;
    border:1px solid #dce4ed!important;
    border-radius:9px!important;
  }
  html body.mobile-nav-open{overflow:hidden!important;touch-action:none!important}

  /* Compteur sorti du header et flottant au bas de l’écran. */
  html body .site-header .header-countdown{
    position:fixed!important;
    z-index:99980!important;
    top:auto!important;
    right:auto!important;
    bottom:max(12px,env(safe-area-inset-bottom,0px))!important;
    left:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(94vw,520px)!important;
    max-width:520px!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    padding:8px 36px 8px 10px!important;
    transform:translateX(-50%)!important;
    background:linear-gradient(145deg,#061832,#0b315f)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-left:5px solid var(--v59-orange)!important;
    border-top:0!important;
    border-radius:12px!important;
    box-shadow:0 12px 34px rgba(7,31,70,.34)!important;
    overflow:visible!important;
  }
  html body .site-header .header-countdown.is-dismissed{display:none!important}
  html body.mobile-nav-open .header-countdown,
  html body.modal-open .header-countdown{display:none!important}
  html body .site-header .countdown-mobile-close{
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:28px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.25)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
  }
  html body .site-header .header-countdown .countdown-grid{
    display:grid!important;
    grid-template-columns:minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr) 3px minmax(43px,1fr)!important;
    align-items:center!important;
    gap:2px!important;
    width:100%!important;
  }
  html body .site-header .countdown-unit{gap:3px!important;min-width:0!important}
  html body .site-header .countdown-digits{display:flex!important;justify-content:center!important;gap:2px!important;min-height:34px!important}
  html body .site-header .flip-digit{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:17px!important;
    width:17px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.23)!important;
    border-radius:3px!important;
    background:linear-gradient(#fff 0 48%,#e8edf2 49% 100%)!important;
    color:var(--v59-navy)!important;
    font-size:21px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  html body .site-header .countdown-unit small{
    color:#fff!important;
    font-size:7px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  html body .site-header .countdown-separator{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:3px!important;
    height:34px!important;
    color:#ffb17b!important;
    font-size:15px!important;
    font-weight:900!important;
  }

  /* Aucun espace externe et proportion mobile complète, légèrement rehaussée. */
  html body .hero-slider,
  html body main > .hero-slider{
    margin-top:0!important;
    margin-bottom:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    border-top:0!important;
    line-height:0!important;
  }
  html body .hero-slider .slider-stage{
    width:100%!important;
    height:56.5vw!important;
    min-height:220px!important;
    max-height:650px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:var(--v59-navy)!important;
  }
  html body .hero-slider .slide-media,
  html body .hero-slider .slide img{
    object-fit:contain!important;
    object-position:center!important;
    background:var(--v59-navy)!important;
  }
  html body .hero-slider .slider-control-bar{
    bottom:8px!important;
    padding:6px 9px!important;
  }
  html body .hero-slider .mobile-slider-dots{gap:6px!important}
  html body .hero-slider .mobile-slider-dots button{width:8px!important;min-width:8px!important;height:8px!important;min-height:8px!important}
  html body .hero-slider .mobile-slider-dots button.is-active{width:24px!important;min-width:24px!important}

  html body .keyfig-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body .keyfig-premium-icon{height:190px!important;min-height:190px!important}
  html body .keyfig-caption{min-height:82px!important;padding:13px 14px 15px!important}
  html body .keyfig-caption strong,
  html body .keyfig-premium-card .keyfig-caption strong{font-size:24px!important}
  html body .keyfig-caption p,
  html body .keyfig-premium-card .keyfig-caption p{font-size:12px!important}

  html body .event-pillars-section .pillars-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:245px!important;min-height:245px!important;padding:17px!important}
  html body .event-pillars-section .pillar-card > strong{font-size:17px!important}

  html body .professional-pack-card,
  html body .s2ia-pack-section .professional-pack-card{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html body .professional-pack-content{height:auto!important;min-height:0!important;overflow:visible!important}
  html body .pack-card-actions,
  html body .pack-card-actions-dual{
    position:static!important;
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html body .pack-card-actions button,
  html body .pack-card-actions-dual button{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html body .dual-exhibition-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}

@media (max-width:620px){
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{
    width:min(290px,calc(100vw - 76px))!important;
    max-width:min(290px,calc(100vw - 76px))!important;
  }
  html body .site-header .header-countdown{width:96vw!important;height:70px!important;min-height:70px!important;padding-left:7px!important;padding-right:32px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr) 2px minmax(37px,1fr)!important;
    gap:1px!important;
  }
  html body .site-header .flip-digit{min-width:15px!important;width:15px!important;height:30px!important;min-height:30px!important;font-size:19px!important}
  html body .site-header .countdown-unit small{font-size:6px!important;letter-spacing:0!important}
  html body .hero-slider .slider-stage{height:57vw!important;min-height:212px!important}
  html body .keyfig-grid-premium{grid-template-columns:1fr!important;gap:17px!important}
  html body .keyfig-premium-icon{height:230px!important;min-height:230px!important}
  html body .event-pillars-section .pillars-row{grid-template-columns:1fr!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:270px!important;min-height:270px!important}
  html body .pack-card-actions-dual{grid-template-columns:1fr!important}
  html body .pack-card-actions-dual .pack-action-outline{grid-column:auto!important}
  html body .stand-modal-actions{grid-template-columns:1fr!important}
  html body .dual-exhibition-page-grid{grid-template-columns:1fr!important}
  html body .dual-pack-page-actions{grid-template-columns:1fr!important}
}

/* --------------------------------------------------------------------------
   TV / 4K : dimensions stables et sections réellement visibles
   -------------------------------------------------------------------------- */
@media (min-width:2200px){
  :root{--v59-header-height:142px}
  html body > main,
  html body main{padding-top:var(--v59-header-height)!important}
  html body .site-header{height:142px!important;min-height:142px!important}
  html body .site-header .top-shell{
    grid-template-columns:minmax(430px,500px) minmax(1080px,1fr) minmax(680px,780px)!important;
    grid-template-rows:124px!important;
    width:min(96vw,3520px)!important;
    max-width:3520px!important;
    height:128px!important;
    min-height:128px!important;
    margin:7px auto!important;
    padding:7px 20px!important;
    gap:24px!important;
    border-radius:16px!important;
  }
  html body .site-header .brand{height:112px!important;min-height:112px!important}
  html body .site-header .top-shell > .brand > img.header-logo-exact,
  html body .site-header .brand img{width:450px!important;max-width:450px!important;height:110px!important;max-height:110px!important}
  html body .site-header .main-nav .main-nav-links,
  html body .site-header .main-nav .main-nav-links > a{height:78px!important;min-height:78px!important}
  html body .site-header .main-nav .main-nav-links > a{padding:0 22px!important;font-size:22px!important;border-right-width:3px!important}
  html body .site-header .header-countdown{max-width:780px!important;height:78px!important;min-height:78px!important;padding:8px 12px!important;border-left-width:7px!important}
  html body .site-header .header-countdown .countdown-grid{
    grid-template-columns:minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr) 8px minmax(82px,1fr)!important;
    gap:4px!important;
  }
  html body .site-header .flip-digit{min-width:26px!important;width:26px!important;height:48px!important;min-height:48px!important;font-size:34px!important;border-radius:5px!important}
  html body .site-header .countdown-digits{min-height:50px!important;gap:3px!important}
  html body .site-header .countdown-unit small{font-size:11px!important}
  html body .site-header .countdown-separator{width:8px!important;height:50px!important;font-size:26px!important}

  html body .hero-slider .slider-stage{
    display:block!important;
    visibility:visible!important;
    height:39.31966vw!important;
    min-height:900px!important;
    max-height:1510px!important;
  }
  html body .hero-slider .slider-control-bar{bottom:30px!important;padding:12px 18px!important}
  html body .hero-slider .mobile-slider-dots{gap:13px!important}
  html body .hero-slider .mobile-slider-dots button{width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important}
  html body .hero-slider .mobile-slider-dots button.is-active{width:48px!important;min-width:48px!important}

  html body .s2ia-keyfig-inner,
  html body .institutional-clean-inner,
  html body .s2ia-strip-inner,
  html body .salon-presentation-inner,
  html body .s2ia-showcase-inner,
  html body .event-pillars-inner,
  html body .partner-logo-cloud-inner,
  html body .footer-pro-inner{
    width:min(92vw,3380px)!important;
    max-width:3380px!important;
  }
  html body .keyfig-grid-premium{gap:38px!important}
  html body .keyfig-premium-icon{height:430px!important;min-height:430px!important}
  html body .keyfig-caption{min-height:136px!important;padding:24px 30px 28px!important}
  html body .keyfig-caption strong,
  html body .keyfig-premium-card .keyfig-caption strong{font-size:50px!important}
  html body .keyfig-caption p,
  html body .keyfig-premium-card .keyfig-caption p{font-size:22px!important}

  html body .diplomatic-track{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:26px!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    scroll-snap-type:none!important;
  }
  html body .diplomatic-card{min-width:0!important;min-height:245px!important;padding:22px!important;gap:18px!important}
  html body .diplomatic-flag-frame{width:190px!important;height:124px!important}
  html body .diplomatic-card > strong{font-size:22px!important}
  html body .diplomatic-partners-section .strip-arrow,
  html body .diplomatic-partners-section .diplomatic-dots{display:none!important}

  html body .event-pillars-section .pillars-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:34px!important}
  html body .event-pillars-section .pillar-card,
  html body .event-pillars-section .pillars-row > article{height:510px!important;min-height:510px!important;padding:34px!important;border-radius:18px!important}
  html body .event-pillars-section .pillar-icon{width:72px!important;height:72px!important;font-size:36px!important}
  html body .event-pillars-section .pillar-card > strong{font-size:34px!important}

  html body .professional-pack-grid{gap:34px!important}
  html body .pack-card-actions-dual button{font-size:17px!important;min-height:62px!important}
}

@media (min-width:3800px){
  html body .hero-slider .slider-stage{min-height:1490px!important;max-height:1540px!important}
}

@media (prefers-reduced-motion:reduce){
  html body .hero-slider .slider-stage .slide{transition:none!important}
}
/* S2IA V60 — Piliers, pays et profils exposants ; popups restaurés selon V59 */
:root{--v60-navy:#071f46;--v60-blue:#0d4da8;--v60-orange:#ff651f;--v60-green:#268c3a;--v60-surface:#f3f6fa;--v60-line:#dce4ee;}

/* Pays participants — quatre groupes lisibles et stables sur TV, desktop et mobile */
html body .diplomatic-v60-section{padding:72px 0 86px!important;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%)!important;overflow:visible!important;}
html body .diplomatic-v60-inner{width:min(94%,1760px)!important;margin:0 auto!important;}
html body .diplomatic-v60-title{margin-bottom:38px!important;}
html body .diplomatic-region-stack{display:grid!important;gap:34px!important;}
html body .diplomatic-region-block{background:#fff!important;border:1px solid var(--v60-line)!important;border-radius:24px!important;padding:24px!important;box-shadow:0 14px 38px rgba(7,31,70,.08)!important;}
html body .diplomatic-region-heading{display:flex!important;align-items:center!important;gap:16px!important;margin-bottom:22px!important;padding-bottom:15px!important;border-bottom:1px solid #e7edf4!important;}
html body .diplomatic-region-index{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--v60-orange),#ff8a43)!important;color:#fff!important;font-weight:900!important;font-size:17px!important;box-shadow:0 8px 20px rgba(255,101,31,.24)!important;}
html body .diplomatic-region-heading h3{margin:0!important;color:var(--v60-navy)!important;font-size:clamp(24px,2vw,34px)!important;line-height:1.05!important;font-weight:900!important;}
html body .diplomatic-region-heading p{margin:5px 0 0!important;color:#60708a!important;font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
html body .diplomatic-country-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:16px!important;}
html body .diplomatic-country-card{min-width:0!important;min-height:154px!important;background:#fff!important;border:1px solid #dfe6ef!important;border-radius:18px!important;padding:12px 10px 14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;text-align:center!important;box-shadow:0 7px 18px rgba(7,31,70,.06)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;}
html body .diplomatic-country-card:hover,html body .diplomatic-country-card:focus-visible{transform:translateY(-4px)!important;border-color:#9ab8df!important;box-shadow:0 14px 28px rgba(7,31,70,.13)!important;outline:4px solid rgba(255,101,31,.22)!important;outline-offset:2px!important;}
html body .diplomatic-country-card .diplomatic-flag-frame{display:grid!important;place-items:center!important;width:100%!important;height:94px!important;border-radius:13px!important;overflow:hidden!important;background:#f7f9fc!important;border:1px solid #e7edf4!important;}
html body .diplomatic-country-card .diplomatic-flag-frame img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:4px!important;background:#fff!important;}
html body .diplomatic-country-card strong{display:block!important;color:var(--v60-navy)!important;font-size:14px!important;line-height:1.25!important;font-weight:850!important;overflow-wrap:anywhere!important;}

/* Nouvelle présentation des six piliers */
html body .event-pillars-v60{padding:76px 0 92px!important;background:linear-gradient(180deg,#f0f2f5 0%,#e5e8ed 100%)!important;overflow:visible!important;}
html body .event-pillars-v60 .event-pillars-inner{width:min(94%,1780px)!important;margin:0 auto!important;}
html body .event-pillars-v60 .section-line-title{margin-bottom:44px!important;}
html body .pillars-v60-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;}
html body .pillar-v60-card{position:relative!important;isolation:isolate!important;min-height:390px!important;border-radius:26px!important;overflow:hidden!important;background:#071f46!important;border:1px solid rgba(7,31,70,.22)!important;box-shadow:0 18px 42px rgba(7,31,70,.18)!important;transition:transform .25s ease,box-shadow .25s ease!important;}
html body .pillar-v60-card:hover,html body .pillar-v60-card:focus-visible{transform:translateY(-7px)!important;box-shadow:0 28px 58px rgba(7,31,70,.25)!important;outline:5px solid rgba(255,101,31,.25)!important;outline-offset:3px!important;}
html body .pillar-v60-media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:-3!important;transform:scale(1.01)!important;}
html body .pillar-v60-shade{position:absolute!important;inset:0!important;z-index:-2!important;background:linear-gradient(180deg,rgba(4,20,48,.08) 0%,rgba(4,20,48,.26) 37%,rgba(4,20,48,.96) 100%)!important;}
html body .pillar-v60-card::after{content:""!important;position:absolute!important;inset:auto 0 0!important;height:6px!important;background:linear-gradient(90deg,var(--v60-orange) 0 34%,#fff 34% 66%,var(--v60-green) 66% 100%)!important;z-index:4!important;}
html body .pillar-v60-topline{position:absolute!important;top:22px!important;left:22px!important;right:22px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;z-index:2!important;}
html body .pillar-v60-number{display:grid!important;place-items:center!important;width:58px!important;height:58px!important;border-radius:17px!important;background:var(--v60-orange)!important;color:#fff!important;font-size:18px!important;font-weight:950!important;box-shadow:0 10px 24px rgba(0,0,0,.22)!important;}
html body .pillar-v60-label{padding:10px 14px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:var(--v60-navy)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.09em!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important;}
html body .pillar-v60-copy{position:absolute!important;left:26px!important;right:26px!important;bottom:28px!important;z-index:2!important;color:#fff!important;}
html body .pillar-v60-kicker{display:block!important;margin-bottom:9px!important;color:#ffd7c4!important;font-size:13px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
html body .pillar-v60-copy h3{margin:0!important;max-width:95%!important;color:#fff!important;font-size:clamp(24px,2.05vw,37px)!important;line-height:1.08!important;font-weight:950!important;text-transform:none!important;text-shadow:0 3px 14px rgba(0,0,0,.45)!important;}
html body .pillar-v60-copy p{margin:13px 0 0!important;max-width:92%!important;color:rgba(255,255,255,.9)!important;font-size:15px!important;line-height:1.55!important;font-weight:550!important;}
html body .pillar-v60-tone-2 .pillar-v60-number{background:var(--v60-green)!important;}
html body .pillar-v60-tone-3 .pillar-v60-number{background:var(--v60-blue)!important;}

/* Profils exposants, placés après les 08 packs */
html body .exhibitor-profiles-section{padding:82px 0 94px!important;background:linear-gradient(180deg,#fff 0%,#f3f6fa 100%)!important;}
html body .exhibitor-profiles-section .s2ia-showcase-inner{width:min(94%,1680px)!important;margin:0 auto!important;}
html body .exhibitor-profiles-header{text-align:center!important;max-width:980px!important;margin:0 auto 42px!important;}
html body .exhibitor-profiles-eyebrow{display:inline-flex!important;padding:9px 16px!important;border-radius:999px!important;background:#fff0e8!important;color:#db4b0b!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.1em!important;}
html body .exhibitor-profiles-header h2{margin:14px 0 12px!important;color:var(--v60-navy)!important;font-size:clamp(38px,4vw,66px)!important;line-height:1!important;font-weight:950!important;}
html body .exhibitor-profiles-header p{margin:0 auto!important;max-width:880px!important;color:#536783!important;font-size:17px!important;line-height:1.65!important;}
html body .exhibitor-profile-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;}
html body .exhibitor-profile-card{position:relative!important;min-height:330px!important;padding:30px 24px 26px!important;background:#fff!important;border:1px solid #dce5ef!important;border-radius:24px!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;box-shadow:0 13px 34px rgba(7,31,70,.08)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;overflow:hidden!important;}
html body .exhibitor-profile-card::before{content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;height:5px!important;background:linear-gradient(90deg,var(--v60-orange),var(--v60-green))!important;}
html body .exhibitor-profile-card:hover,html body .exhibitor-profile-card:focus-visible{transform:translateY(-6px)!important;border-color:#9bb6da!important;box-shadow:0 22px 46px rgba(7,31,70,.16)!important;outline:4px solid rgba(255,101,31,.22)!important;outline-offset:3px!important;}
html body .exhibitor-profile-number{position:absolute!important;top:17px!important;right:19px!important;color:#b8c5d6!important;font-size:17px!important;font-weight:950!important;letter-spacing:.06em!important;}
html body .exhibitor-profile-pictogram{display:grid!important;place-items:center!important;width:150px!important;height:150px!important;margin:5px auto 20px!important;border-radius:30px!important;background:#f5f8fc!important;}
html body .exhibitor-profile-pictogram img{display:block!important;width:136px!important;height:136px!important;object-fit:contain!important;}
html body .exhibitor-profile-card h3{margin:0!important;color:var(--v60-navy)!important;font-size:23px!important;line-height:1.22!important;font-weight:950!important;}
html body .exhibitor-profile-card p{margin:12px 0 0!important;color:#64748b!important;font-size:14px!important;line-height:1.55!important;}


@media (max-width:1280px){
  html body .diplomatic-country-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  html body .pillars-v60-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:820px){
  html body .diplomatic-v60-section{padding:48px 0 58px!important;}
  html body .diplomatic-v60-inner{width:min(94%,720px)!important;}
  html body .diplomatic-region-stack{gap:22px!important;}
  html body .diplomatic-region-block{padding:16px!important;border-radius:19px!important;}
  html body .diplomatic-region-heading{margin-bottom:15px!important;}
  html body .diplomatic-region-index{width:42px!important;height:42px!important;}
  html body .diplomatic-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;}
  html body .diplomatic-country-card{min-height:132px!important;padding:8px 7px 10px!important;border-radius:14px!important;}
  html body .diplomatic-country-card .diplomatic-flag-frame{height:78px!important;}
  html body .diplomatic-country-card strong{font-size:12.5px!important;}
  html body .event-pillars-v60{padding:52px 0 62px!important;}
  html body .event-pillars-v60 .event-pillars-inner{width:min(94%,720px)!important;}
  html body .pillars-v60-grid{grid-template-columns:1fr!important;gap:18px!important;}
  html body .pillar-v60-card{min-height:360px!important;border-radius:21px!important;}
  html body .pillar-v60-copy h3{font-size:29px!important;}
  html body .pillar-v60-copy p{font-size:14px!important;}
  html body .exhibitor-profiles-section{padding:56px 0 66px!important;}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  html body .exhibitor-profile-card{min-height:285px!important;padding:24px 15px 20px!important;border-radius:19px!important;}
  html body .exhibitor-profile-pictogram{width:126px!important;height:126px!important;margin-bottom:16px!important;}
  html body .exhibitor-profile-pictogram img{width:116px!important;height:116px!important;}
  html body .exhibitor-profile-card h3{font-size:18px!important;}
  html body .exhibitor-profile-card p{font-size:12.5px!important;}
}
@media (max-width:520px){
  html body .diplomatic-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body .diplomatic-region-heading h3{font-size:22px!important;}
  html body .diplomatic-country-card{min-height:137px!important;}
  html body .diplomatic-country-card .diplomatic-flag-frame{height:82px!important;}
  html body .pillar-v60-card{min-height:338px!important;}
  html body .pillar-v60-topline{top:16px!important;left:16px!important;right:16px!important;}
  html body .pillar-v60-number{width:49px!important;height:49px!important;border-radius:14px!important;font-size:15px!important;}
  html body .pillar-v60-label{font-size:9px!important;padding:8px 10px!important;}
  html body .pillar-v60-copy{left:18px!important;right:18px!important;bottom:22px!important;}
  html body .pillar-v60-copy h3{font-size:25px!important;}
  html body .pillar-v60-copy p{display:block!important;font-size:13px!important;line-height:1.45!important;}
  html body .exhibitor-profile-grid{grid-template-columns:1fr!important;}
  html body .exhibitor-profile-card{min-height:auto!important;padding:24px 18px!important;}
  html body .exhibitor-profile-pictogram{width:142px!important;height:142px!important;}
  html body .exhibitor-profile-pictogram img{width:130px!important;height:130px!important;}
  html body .exhibitor-profile-card h3{font-size:21px!important;}
  html body .exhibitor-profile-card p{font-size:13.5px!important;}
}
@media (min-width:1920px){
  html body .diplomatic-v60-inner,html body .event-pillars-v60 .event-pillars-inner{width:min(92vw,3000px)!important;max-width:none!important;}
  html body .diplomatic-country-grid{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:22px!important;}
  html body .diplomatic-country-card{min-height:200px!important;border-radius:24px!important;padding:17px!important;}
  html body .diplomatic-country-card .diplomatic-flag-frame{height:125px!important;}
  html body .diplomatic-country-card strong{font-size:20px!important;}
  html body .pillars-v60-grid{gap:38px!important;}
  html body .pillar-v60-card{min-height:520px!important;border-radius:34px!important;}
  html body .pillar-v60-number{width:78px!important;height:78px!important;font-size:25px!important;border-radius:22px!important;}
  html body .pillar-v60-label{font-size:17px!important;padding:14px 20px!important;}
  html body .pillar-v60-copy{left:38px!important;right:38px!important;bottom:42px!important;}
  html body .pillar-v60-kicker{font-size:18px!important;}
  html body .pillar-v60-copy h3{font-size:48px!important;}
  html body .pillar-v60-copy p{font-size:21px!important;line-height:1.5!important;}
  html body .exhibitor-profiles-section .s2ia-showcase-inner{width:min(92vw,2800px)!important;max-width:none!important;}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important;}
  html body .exhibitor-profile-card{min-height:430px!important;border-radius:32px!important;padding:42px 32px!important;}
  html body .exhibitor-profile-pictogram{width:210px!important;height:210px!important;border-radius:40px!important;}
  html body .exhibitor-profile-pictogram img{width:190px!important;height:190px!important;}
  html body .exhibitor-profile-card h3{font-size:32px!important;}
  html body .exhibitor-profile-card p{font-size:20px!important;}
}
@media (hover:none){
  html body .diplomatic-country-card,html body .pillar-v60-card,html body .exhibitor-profile-card{transform:none!important;}
}


/* S2IA — ajustements directs validés : piliers sans superposition, partenaires, médias, hôtels */
html body .partner-logo-title{display:block!important;width:100%!important;margin:10px 0 0!important;color:#111827!important;font-size:14px!important;font-weight:800!important;line-height:1.3!important;text-align:center!important;text-shadow:none!important;}
html body .economic-image-card,html body .finance-image-card{height:auto!important;min-height:150px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:16px!important;background:#fff!important;}
html body .economic-image-card img,html body .finance-image-card img{max-height:92px!important;width:auto!important;object-fit:contain!important;}
html body .pillars-v60-grid{align-items:stretch!important;}
html body .pillar-v60-card{position:relative!important;min-height:0!important;height:auto!important;display:flex!important;flex-direction:column!important;background:#fff!important;border-radius:24px!important;overflow:hidden!important;border:1px solid #dfe6ef!important;box-shadow:0 16px 38px rgba(7,31,70,.12)!important;isolation:auto!important;}
html body .pillar-v60-media{position:static!important;inset:auto!important;z-index:auto!important;width:100%!important;height:235px!important;object-fit:cover!important;transform:none!important;}
html body .pillar-v60-shade{display:none!important;}
html body .pillar-v60-card::after{height:5px!important;}
html body .pillar-v60-topline{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:18px 22px 0!important;z-index:auto!important;}
html body .pillar-v60-number{width:50px!important;height:50px!important;border-radius:14px!important;font-size:15px!important;}
html body .pillar-v60-label{background:#f5f7fb!important;color:#071f46!important;box-shadow:none!important;border:1px solid #e5eaf1!important;}
html body .pillar-v60-copy{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important;padding:13px 22px 28px!important;color:#071f46!important;}
html body .pillar-v60-kicker{color:#d6531f!important;font-size:12px!important;}
html body .pillar-v60-copy h3{max-width:none!important;color:#071f46!important;font-size:clamp(21px,1.65vw,30px)!important;line-height:1.14!important;text-shadow:none!important;}
html body .pillar-v60-copy p{max-width:none!important;color:#53657d!important;font-size:14px!important;line-height:1.55!important;}
html body .media-partners-section{background:#f7f9fc!important;}
html body .media-partners-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;margin-top:28px!important;}
html body .media-partner-card{min-height:150px!important;padding:20px 14px!important;border-radius:18px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 10px 24px rgba(7,31,70,.08)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
html body .media-partner-card img{width:74px!important;height:74px!important;object-fit:contain!important;border-radius:13px!important;margin-bottom:12px!important;}
html body .media-partner-card strong{color:#111827!important;font-size:14px!important;line-height:1.35!important;}
html body .hotel-partners-section{background:#fff!important;}
html body .hotel-partners-intro{max-width:1050px!important;margin:0 auto 30px!important;text-align:center!important;color:#53657d!important;font-size:16px!important;line-height:1.6!important;}
html body .hotel-partners-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;}
html body .hotel-partner-card{overflow:hidden!important;border-radius:22px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 14px 34px rgba(7,31,70,.10)!important;}
html body .hotel-photo-wrap{position:relative!important;height:205px!important;background:#eef2f7!important;overflow:hidden!important;}
html body .hotel-photo{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
html body .hotel-logo-badge{position:absolute!important;left:16px!important;bottom:14px!important;width:58px!important;height:58px!important;border-radius:13px!important;background:#fff!important;display:grid!important;place-items:center!important;padding:8px!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important;}
html body .hotel-logo-badge img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
html body .hotel-partner-body{padding:17px 18px 20px!important;}
html body .hotel-partner-body h3{margin:0 0 6px!important;color:#071f46!important;font-size:18px!important;line-height:1.25!important;}
html body .hotel-partner-body p{margin:0 0 12px!important;color:#65758b!important;font-size:14px!important;}
html body .hotel-partner-body a{color:#0d4da8!important;font-weight:800!important;text-decoration:none!important;}
html body .state-heads-grid .leader-card img{height:260px!important;object-fit:cover!important;object-position:top center!important;}
@media(max-width:1100px){html body .media-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}html body .hotel-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:680px){html body .media-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}html body .media-partner-card{min-height:125px!important;padding:14px 10px!important;}html body .media-partner-card img{width:58px!important;height:58px!important;}html body .hotel-partners-grid{grid-template-columns:1fr!important;}html body .pillar-v60-media{height:210px!important;}}

html body .leader-country{display:block!important;margin-top:6px!important;color:#6b7280!important;font-size:12px!important;font-style:normal!important;font-weight:700!important;}
/* S2IA V64 — additions strictement ciblées */
:root{--v64-navy:#061f4f;--v64-orange:#ff671f;--v64-green:#218838;--v64-blue:#1558b0;--v64-purple:#7650b8}
.v64-diplomatic-tabs{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto 26px;padding:10px;max-width:1240px;border:1px solid #dce5f0;background:#fff;border-radius:16px;box-shadow:0 12px 32px rgba(6,31,79,.08)}
.v64-diplomatic-tab{appearance:none;border:0;border-bottom:4px solid transparent;background:#f3f6fa;color:var(--v64-navy);font:800 16px/1.15 Verdana,Arial,sans-serif;padding:15px 22px;cursor:pointer;transition:.22s ease;min-width:150px}
.v64-diplomatic-tab:hover,.v64-diplomatic-tab:focus-visible{transform:translateY(-2px);outline:3px solid rgba(21,88,176,.2);outline-offset:2px}
.v64-diplomatic-tab[data-v64-continent="asia"].is-active{background:#fff1e9;color:#c9470c;border-color:var(--v64-orange)}
.v64-diplomatic-tab[data-v64-continent="africa"].is-active{background:#eaf7ed;color:#116b24;border-color:var(--v64-green)}
.v64-diplomatic-tab[data-v64-continent="europe"].is-active{background:#eaf2ff;color:#0b4b9f;border-color:var(--v64-blue)}
.v64-diplomatic-tab[data-v64-continent="americas"].is-active{background:#f2ecff;color:#5f36a2;border-color:var(--v64-purple)}
.v64-country-panel[hidden]{display:none!important}
.v64-country-scroll-shell{position:relative;padding:0 58px;margin-top:18px}
.v64-country-strip{display:grid!important;grid-auto-flow:column!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-columns:minmax(190px,220px)!important;gap:20px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:8px 4px 18px!important;overscroll-behavior-inline:contain;scrollbar-width:thin}
.v64-country-strip>*{scroll-snap-align:start;min-width:0}
.v64-country-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:45px;height:45px;border-radius:50%;border:1px solid #d5dfeb;background:#fff;color:var(--v64-navy);font:900 25px/1 Arial;box-shadow:0 8px 24px rgba(6,31,79,.16);cursor:pointer}
.v64-country-arrow:hover,.v64-country-arrow:focus-visible{background:var(--v64-orange);color:#fff;outline:3px solid rgba(255,103,31,.22)}
.v64-country-arrow.prev{left:4px}.v64-country-arrow.next{right:4px}
.v64-country-status{text-align:center;font:700 13px/1.2 Verdana,Arial,sans-serif;color:#526781;margin-top:4px}

.v64-parc-section{padding:76px 20px;background:linear-gradient(180deg,#fff 0%,#f3f6f9 100%);position:relative;overflow:hidden}
.v64-parc-container{max-width:1500px;margin:auto}
.v64-parc-heading{text-align:center;max-width:980px;margin:0 auto 34px}
.v64-parc-eyebrow{display:inline-block;color:var(--v64-orange);font:900 14px/1 Verdana,Arial,sans-serif;letter-spacing:.13em;margin-bottom:12px}
.v64-parc-heading h2{margin:0 0 18px;color:var(--v64-navy);font:900 clamp(32px,4vw,58px)/1.08 Verdana,Arial,sans-serif}
.v64-parc-heading p{margin:0;color:#334d73;font:500 18px/1.75 Verdana,Arial,sans-serif;text-align:justify;text-align-last:center}
.v64-parc-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);gap:38px;align-items:stretch}
.v64-parc-gallery{display:grid;grid-template-columns:1.45fr .55fr;gap:16px;min-height:470px}
.v64-parc-main-image{position:relative;border:0;padding:0;overflow:hidden;border-radius:20px;background:#0b1f3d;cursor:pointer;box-shadow:0 18px 42px rgba(6,31,79,.18)}
.v64-parc-main-image img,.v64-parc-secondary-image{width:100%;height:100%;object-fit:cover;display:block}
.v64-parc-main-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.76))}
.v64-parc-main-image span{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff;background:var(--v64-orange);padding:12px 18px;font:800 15px/1 Verdana,Arial,sans-serif}
.v64-parc-secondary-image{border-radius:20px;box-shadow:0 18px 42px rgba(6,31,79,.13)}
.v64-parc-copy{background:#fff;border:1px solid #dce5f0;border-top:6px solid var(--v64-orange);padding:32px;border-radius:20px;box-shadow:0 18px 42px rgba(6,31,79,.09)}
.v64-parc-copy p{color:#314866;font:500 16.5px/1.72 Verdana,Arial,sans-serif;text-align:justify}
.v64-parc-copy ul{list-style:none;padding:0;margin:22px 0}.v64-parc-copy li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid #edf1f5;color:var(--v64-navy);font:700 15px/1.45 Verdana,Arial,sans-serif}.v64-parc-copy li:before{content:"✓";position:absolute;left:0;top:9px;color:var(--v64-green);font-size:20px;font-weight:900}
.v64-parc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.v64-btn{border:0;min-height:50px;padding:14px 22px;font:900 16px/1.1 Verdana,Arial,sans-serif;cursor:pointer}.v64-btn-primary{background:var(--v64-orange);color:#fff}.v64-btn-secondary{background:var(--v64-navy);color:#fff}

.v64-pack-config{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0 18px;padding:12px;background:#f5f7fa;border:1px solid #dce5f0}
.v64-pack-config strong{width:100%;text-align:center;color:var(--v64-navy);font:800 13px/1.2 Verdana,Arial,sans-serif}.v64-pack-config span{background:#fff;border:1px solid #cfd9e6;color:#18345d;padding:7px 9px;font:800 12px/1 Verdana,Arial,sans-serif}.v64-pack-config em{width:100%;text-align:center;color:#47617f;font:700 12px/1.3 Verdana,Arial,sans-serif;font-style:normal}
.v64-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.v64-form-field label{display:block;margin:0 0 7px;color:var(--v64-navy);font:800 14px/1.2 Verdana,Arial,sans-serif}.v64-form-field select{width:100%;min-height:48px;border:1px solid #c9d6e8;background:#fff;padding:10px 12px;font:600 15px/1.2 Verdana,Arial,sans-serif;color:#142d51}

.v64-floating-cta{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:980;display:flex;align-items:center;justify-content:center;gap:2px;padding:7px;background:rgba(6,31,79,.92);backdrop-filter:blur(12px);box-shadow:0 14px 38px rgba(0,0,0,.25);max-width:calc(100vw - 36px)}
.v64-floating-cta button,.v64-floating-cta a{white-space:nowrap;border:0;border-right:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;min-height:46px;padding:12px 19px;text-decoration:none;font:800 15px/1 Verdana,Arial,sans-serif;cursor:pointer}.v64-floating-cta>*:last-child{border-right:0}.v64-floating-cta button:hover,.v64-floating-cta a:hover,.v64-floating-cta button:focus-visible,.v64-floating-cta a:focus-visible{background:var(--v64-orange);outline:none}.v64-floating-cta-enabled{padding-bottom:92px!important}

.v64-plan-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(2,11,28,.82)}.v64-plan-modal.is-open{display:flex}.v64-plan-dialog{position:relative;width:min(1700px,97vw);height:min(92vh,1050px);background:#fff;display:grid;grid-template-rows:auto 1fr;box-shadow:0 30px 90px rgba(0,0,0,.48);overflow:hidden}.v64-plan-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:var(--v64-navy);color:#fff}.v64-plan-head h2{margin:0;font:900 clamp(21px,2.3vw,36px)/1.1 Verdana,Arial,sans-serif}.v64-plan-close{width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:var(--v64-orange);color:#fff;font:900 29px/1 Arial;cursor:pointer}.v64-plan-body{overflow:auto;padding:20px;background:#eef2f7}.v64-plan-body img{display:block;width:100%;height:auto;max-height:none;background:#fff}.v64-plan-caption{background:#fff;padding:18px 20px;color:#2e4768;font:600 15px/1.6 Verdana,Arial,sans-serif}

/* Agrandissement ciblé des boutons des pages intérieures */
@media (min-width:768px){.page-hero a.btn,.page-hero button.btn,.participation-grid button,.dynamic-page-pack-grid button,.dual-pack-page-actions button{min-height:52px;padding:15px 25px!important;font-size:17px!important;font-weight:800!important}}
@media (min-width:1920px){.v64-diplomatic-tab{font-size:18px;padding:17px 28px}.v64-country-strip{grid-auto-columns:minmax(235px,275px)!important}.v64-floating-cta button,.v64-floating-cta a{font-size:17px;padding-inline:25px}.v64-parc-container{max-width:1760px}}
@media (max-width:991px){.v64-floating-cta{display:none!important}.v64-floating-cta-enabled{padding-bottom:0!important}.v64-parc-grid{grid-template-columns:1fr}.v64-parc-gallery{min-height:390px}.v64-country-strip{grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-columns:minmax(155px,68vw)!important}.v64-form-row{grid-template-columns:1fr}.v64-diplomatic-tab{min-width:unset;flex:1 1 calc(50% - 10px);padding:13px 10px;font-size:13px}.v64-country-scroll-shell{padding:0 42px}.v64-country-arrow{width:38px;height:38px}}
@media (max-width:640px){.v64-parc-section{padding:52px 14px}.v64-parc-heading p{font-size:14px;line-height:1.7}.v64-parc-gallery{grid-template-columns:1fr;min-height:0}.v64-parc-main-image{height:280px}.v64-parc-secondary-image{height:180px}.v64-parc-copy{padding:22px 18px}.v64-plan-modal{padding:0}.v64-plan-dialog{width:100vw;height:100dvh}.v64-plan-body{padding:8px}.v64-country-strip{grid-template-rows:1fr!important;grid-auto-columns:minmax(150px,74vw)!important}}
/* V68 — augmentation ciblée des boutons des pages internes, sans refonte du design. */
@media (min-width:768px){
  body:not(.home) .page-hero .btn,
  body:not(.home) .participation-grid button,
  body:not(.home) .dynamic-page-pack-grid button,
  body:not(.home) .dual-pack-page-actions button{
    min-height:54px!important;
    padding:15px 26px!important;
    font-size:18px!important;
    font-weight:900!important;
  }
}
/* S2IA V69 — corrections ciblées : onglets pays, packs, profils exposants, plan d'exposition, suppression CTA flottants. */
:root{--v69-navy:#071f46;--v69-orange:#ff651f;--v69-green:#258a3a;--v69-blue:#1459b6;--v69-purple:#7650b8;--v69-line:#dce5ef;--v69-soft:#f4f7fb}

/* 1. Pays participants : tabulation centrée + une seule zone de drapeaux défilante */
html body .diplomatic-v60-section{padding:58px 0 68px!important;overflow:hidden!important}
html body .diplomatic-v60-inner{width:min(94%,1760px)!important;margin-inline:auto!important}
html body .diplomatic-v60-title{margin:0 auto 24px!important}
html body .v69-diplomatic-tabs{width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto 24px!important;padding:8px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;border-radius:16px!important;box-sizing:border-box!important}
html body .v69-diplomatic-tab{min-width:0!important;width:100%!important;padding:15px 12px!important;font-size:16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body .v69-diplomatic-region-stack{display:block!important}
html body .v69-country-panel{padding:20px 24px 24px!important;border-radius:22px!important;min-width:0!important;overflow:hidden!important}
html body .v69-country-panel[hidden]{display:none!important}
html body .v69-country-panel .diplomatic-region-heading{margin:0 0 18px!important;padding:0 0 16px!important}
html body .v69-country-carousel{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;gap:12px!important;min-width:0!important}
html body .v69-country-track{display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;scroll-snap-type:x mandatory!important;padding:6px 3px 12px!important;min-width:0!important;scrollbar-width:thin!important;overscroll-behavior-inline:contain!important}
html body .v69-country-track .diplomatic-country-card{flex:0 0 180px!important;width:180px!important;min-width:180px!important;min-height:150px!important;padding:10px 9px 12px!important;scroll-snap-align:start!important;border-radius:16px!important;box-sizing:border-box!important}
html body .v69-country-track .diplomatic-flag-frame{height:90px!important}
html body .v69-country-track .diplomatic-country-card strong{font-size:13.5px!important;line-height:1.22!important}
html body .v69-country-arrow{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;border:1px solid #ccd8e7!important;background:#fff!important;color:var(--v69-navy)!important;font:900 27px/1 Arial,sans-serif!important;box-shadow:0 8px 22px rgba(7,31,70,.14)!important;cursor:pointer!important;z-index:2!important}
html body .v69-country-arrow:hover,html body .v69-country-arrow:focus-visible{background:var(--v69-orange)!important;color:#fff!important;border-color:var(--v69-orange)!important;outline:3px solid rgba(255,101,31,.2)!important}

/* 2. Packs sponsors et exposants : proportions plus compactes et typographie harmonisée */
html body .s2ia-pack-section{padding-top:62px!important;padding-bottom:72px!important}
html body .professional-pack-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
html body .professional-pack-card{min-width:0!important;height:auto!important;overflow:hidden!important;border-radius:20px!important}
html body .professional-pack-card .pack-visual-button{height:245px!important;min-height:245px!important;max-height:245px!important;overflow:hidden!important}
html body .professional-pack-card .pack-visual-button img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
html body .professional-pack-card .pack-serial{font-size:14px!important;padding:8px 13px!important}
html body .professional-pack-card .pack-view-label{left:16px!important;right:16px!important;bottom:14px!important;min-height:44px!important;padding:10px 13px!important;font-size:14px!important}
html body .professional-pack-content{padding:20px 19px 21px!important;min-height:0!important;height:auto!important}
html body .professional-pack-content h3,html body .sponsor-professional-card h3,html body .exhibition-professional-card h3{font-size:24px!important;line-height:1.18!important;margin:0 0 9px!important;letter-spacing:-.02em!important}
html body .professional-pack-card .pack-subtitle{font-size:14.5px!important;line-height:1.48!important;margin:0 0 13px!important}
html body .professional-pack-card .pack-advantages{margin:12px 0 15px!important}
html body .professional-pack-card .pack-advantages li{font-size:13.5px!important;line-height:1.42!important;padding-block:6px!important}
html body .professional-pack-card .pack-more{font-size:12.5px!important;line-height:1.35!important}
html body .professional-pack-card .pack-card-actions{gap:8px!important;margin-top:auto!important}
html body .professional-pack-card .pack-card-actions button{min-height:44px!important;padding:10px 11px!important;font-size:13px!important;line-height:1.2!important;font-weight:850!important}
html body .sponsor-professional-card .v64-pack-config{display:none!important}
html body .exhibition-professional-card .dual-stand-meta{gap:7px!important;margin-bottom:9px!important}
html body .exhibition-professional-card .stand-status{padding:7px 10px!important;font-size:11px!important}
html body .exhibition-professional-card .stand-pack-number{font-size:26px!important}
html body .exhibition-professional-card .pack-area{font-size:14px!important;font-weight:800!important}
html body .exhibition-professional-card .v64-pack-config{margin:12px 0 14px!important;padding:11px!important;gap:7px!important;border-radius:10px!important}
html body .exhibition-professional-card .v64-pack-config strong{font-size:12.5px!important}
html body .exhibition-professional-card .v64-pack-config span{font-size:12px!important;padding:7px 8px!important}
html body .exhibition-professional-card .v64-pack-config em{font-size:11.5px!important}

/* 3. Profils exposants : grille visible immédiatement, contenu tiré des documents S2IA */
html body .exhibitor-profiles-section{padding:62px 0 76px!important}
html body .exhibitor-profiles-section .s2ia-showcase-inner{width:min(94%,1680px)!important;margin-inline:auto!important}
html body .exhibitor-profiles-header{max-width:1040px!important;margin:0 auto 30px!important}
html body .exhibitor-profiles-eyebrow{font-size:12px!important;padding:8px 15px!important}
html body .exhibitor-profiles-header h2{font-size:clamp(34px,3.2vw,50px)!important;line-height:1.04!important;margin:12px 0 10px!important}
html body .exhibitor-profiles-header p{max-width:940px!important;font-size:16px!important;line-height:1.58!important}
html body .exhibitor-profile-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important}
html body .exhibitor-profile-card{min-height:270px!important;padding:24px 18px 21px!important;border-radius:19px!important}
html body .exhibitor-profile-pictogram{width:116px!important;height:116px!important;border-radius:24px!important;margin:6px auto 16px!important}
html body .exhibitor-profile-pictogram img{width:102px!important;height:102px!important;object-fit:contain!important}
html body .exhibitor-profile-card h3{font-size:19px!important;line-height:1.25!important;margin:0 0 9px!important}
html body .exhibitor-profile-card p{font-size:13.5px!important;line-height:1.5!important;margin:0!important}
html body .exhibitor-profile-number{font-size:14px!important;top:14px!important;right:15px!important}

/* 4. Parc des Expositions : plan visible intégralement et mise en page aérée */
html body .v64-parc-section{padding:64px 20px 78px!important}
html body .v64-parc-container{max-width:1540px!important}
html body .v64-parc-heading{max-width:1050px!important;margin:0 auto 28px!important}
html body .v64-parc-heading h2{font-size:clamp(34px,3.5vw,54px)!important;margin-bottom:13px!important}
html body .v64-parc-heading p{font-size:16px!important;line-height:1.65!important;text-align:center!important;text-align-last:center!important}
html body .v64-parc-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;align-items:start!important}
html body .v64-parc-gallery{display:grid!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:18px!important;min-height:0!important;align-items:stretch!important}
html body .v64-parc-main-image{height:auto!important;min-height:0!important;border:1px solid var(--v69-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,31,70,.12)!important;overflow:hidden!important}
html body .v64-parc-main-image:after{display:none!important}
html body .v64-parc-main-image img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;object-position:center!important;background:#fff!important}
html body .v64-parc-main-image span{left:18px!important;bottom:18px!important;padding:11px 16px!important;border-radius:9px!important;font-size:14px!important;box-shadow:0 8px 18px rgba(0,0,0,.16)!important}
html body .v64-parc-secondary-image{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;border-radius:18px!important;border:1px solid var(--v69-line)!important;box-shadow:0 14px 34px rgba(7,31,70,.1)!important}
html body .v64-parc-copy{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;column-gap:28px!important;row-gap:8px!important;padding:26px 28px!important;border-radius:18px!important;border-top-width:5px!important}
html body .v64-parc-copy p{font-size:15px!important;line-height:1.65!important;margin:0 0 9px!important}
html body .v64-parc-copy ul{grid-column:2!important;grid-row:1 / span 4!important;margin:0!important}
html body .v64-parc-copy li{font-size:13.5px!important;line-height:1.42!important;padding:8px 0 8px 28px!important}
html body .v64-parc-actions{grid-column:1!important;margin-top:10px!important}
html body .v64-btn{min-height:46px!important;padding:12px 18px!important;font-size:14px!important;border-radius:8px!important}
html body .v64-plan-body img{width:auto!important;max-width:100%!important;margin:0 auto!important;height:auto!important;object-fit:contain!important}

/* 5. Boutons flottants supprimés à la demande */
html body .v64-floating-cta{display:none!important}
html body.v64-floating-cta-enabled{padding-bottom:0!important}

@media (min-width:1920px){
  html body .v69-diplomatic-tabs{max-width:1320px!important}
  html body .v69-diplomatic-tab{font-size:18px!important;padding:17px 15px!important}
  html body .v69-country-track .diplomatic-country-card{flex-basis:210px!important;width:210px!important;min-width:210px!important;min-height:172px!important}
  html body .v69-country-track .diplomatic-flag-frame{height:105px!important}
  html body .professional-pack-grid{gap:28px!important}
  html body .professional-pack-card .pack-visual-button{height:300px!important;min-height:300px!important;max-height:300px!important}
  html body .professional-pack-content h3{font-size:28px!important}
  html body .professional-pack-card .pack-subtitle{font-size:16px!important}
  html body .professional-pack-card .pack-advantages li{font-size:15px!important}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}
  html body .exhibitor-profile-card{min-height:320px!important}
  html body .exhibitor-profile-card h3{font-size:23px!important}
  html body .exhibitor-profile-card p{font-size:15.5px!important}
}
@media (max-width:1180px){
  html body .professional-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  html body .v64-parc-gallery{grid-template-columns:minmax(0,1fr) 260px!important}
  html body .v64-parc-copy{grid-template-columns:1fr!important}
  html body .v64-parc-copy ul{grid-column:1!important;grid-row:auto!important}
  html body .v64-parc-actions{grid-column:1!important}
}
@media (max-width:760px){
  html body .diplomatic-v60-section{padding:44px 0 52px!important}
  html body .diplomatic-v60-title{margin-bottom:18px!important}
  html body .v69-diplomatic-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-bottom:16px!important}
  html body .v69-diplomatic-tab{font-size:12.5px!important;padding:12px 7px!important;white-space:normal!important;line-height:1.2!important}
  html body .v69-country-panel{padding:14px 12px 16px!important;border-radius:17px!important}
  html body .v69-country-carousel{grid-template-columns:36px minmax(0,1fr) 36px!important;gap:6px!important}
  html body .v69-country-arrow{width:34px!important;height:34px!important;font-size:22px!important}
  html body .v69-country-track{gap:10px!important;padding-bottom:9px!important}
  html body .v69-country-track .diplomatic-country-card{flex-basis:140px!important;width:140px!important;min-width:140px!important;min-height:126px!important;padding:8px!important}
  html body .v69-country-track .diplomatic-flag-frame{height:72px!important}
  html body .v69-country-track .diplomatic-country-card strong{font-size:11.5px!important}
  html body .professional-pack-grid{grid-template-columns:1fr!important;gap:18px!important;width:min(96%,560px)!important;margin-inline:auto!important}
  html body .professional-pack-card .pack-visual-button{height:230px!important;min-height:230px!important;max-height:230px!important}
  html body .professional-pack-content{padding:18px 16px 19px!important}
  html body .professional-pack-content h3{font-size:22px!important}
  html body .exhibitor-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  html body .exhibitor-profile-card{min-height:230px!important;padding:20px 12px 17px!important}
  html body .exhibitor-profile-pictogram{width:92px!important;height:92px!important;margin-bottom:12px!important}
  html body .exhibitor-profile-pictogram img{width:80px!important;height:80px!important}
  html body .exhibitor-profile-card h3{font-size:16px!important}
  html body .exhibitor-profile-card p{font-size:12px!important}
  html body .v64-parc-section{padding:48px 12px 58px!important}
  html body .v64-parc-heading h2{font-size:31px!important}
  html body .v64-parc-heading p{font-size:13.5px!important;line-height:1.6!important}
  html body .v64-parc-gallery{grid-template-columns:1fr!important}
  html body .v64-parc-main-image{height:auto!important}
  html body .v64-parc-main-image img{height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important}
  html body .v64-parc-secondary-image{height:190px!important;min-height:190px!important}
  html body .v64-parc-copy{padding:20px 16px!important}
}
@media (max-width:430px){
  html body .exhibitor-profile-grid{grid-template-columns:1fr!important;width:min(94%,360px)!important;margin-inline:auto!important}
}
/* S2IA V70 — Chiffres clés : images seules, sans légende ni fond noir. */
#chiffres-cles.s2ia-keyfig-black{
  background:#f3f6fa!important;
  padding:58px 4vw 72px!important;
}
#chiffres-cles .s2ia-keyfig-inner{width:min(100%,1780px)!important;margin:0 auto!important;}
#chiffres-cles .s2ia-section-title-dark{margin-bottom:34px!important;}
#chiffres-cles .s2ia-section-title-dark h2{
  color:#071f46!important;
  text-shadow:none!important;
}
#chiffres-cles .s2ia-section-title-dark span:first-child{background:#f26722!important;opacity:1!important;}
#chiffres-cles .s2ia-section-title-dark span:last-child{background:#2e8b36!important;}
#chiffres-cles .keyfig-grid-premium{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
  align-items:start!important;
  width:100%!important;
  max-width:1780px!important;
  margin:0 auto!important;
}
#chiffres-cles .keyfig-premium-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
#chiffres-cles .keyfig-premium-icon{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
#chiffres-cles .keyfig-premium-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:20px!important;
  filter:none!important;
  transform:none!important;
}
#chiffres-cles .keyfig-caption,
#chiffres-cles .keyfig-premium-card strong,
#chiffres-cles .keyfig-premium-card p{display:none!important;}
@media(max-width:1180px){
  #chiffres-cles .keyfig-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;}
}
@media(max-width:640px){
  #chiffres-cles.s2ia-keyfig-black{padding:42px 18px 52px!important;}
  #chiffres-cles .keyfig-grid-premium{grid-template-columns:1fr!important;gap:20px!important;}
  #chiffres-cles .keyfig-premium-card,#chiffres-cles .keyfig-premium-icon,#chiffres-cles .keyfig-premium-icon img{border-radius:16px!important;}
}
/* S2IA V72 — finalisation ciblée : popups, partenaires, médias, hôtels, compagnies */
:root{--s2ia-navy:#071f46;--s2ia-blue:#0d4da8;--s2ia-orange:#f26522;--s2ia-green:#2d8a3f;--s2ia-bg:#f6f8fb;--s2ia-border:#dfe7f0}
html body .s2ia-showcase-inner,html body .partner-logo-cloud-inner{width:min(94%,1760px)!important;margin-inline:auto!important}
/* Chefs d'Etat */
html body .state-heads-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .leader-card{background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(7,31,70,.09)!important;text-align:left!important}
html body .state-heads-grid .leader-card img{width:100%!important;height:310px!important;object-fit:cover!important;object-position:center 16%!important;background:#eef2f7!important}
html body .leader-card .profile-card-body{padding:18px 18px 20px!important;display:block!important}
html body .leader-card strong{font-size:19px!important;color:var(--s2ia-navy)!important;line-height:1.2!important}
html body .leader-card em{display:block!important;margin-top:7px!important;font-style:normal!important;color:#334a6d!important;font-size:13px!important;line-height:1.35!important}
html body .leader-country{display:inline-flex!important;margin-top:10px!important;padding:6px 10px!important;border-radius:999px!important;background:#edf3fb!important;color:#35557f!important;font-size:11px!important}
html body .leader-info-card{width:min(1040px,94vw)!important;max-width:none!important;padding:0!important;display:grid!important;grid-template-columns:minmax(320px,42%) 1fr!important;overflow:hidden!important;background:#fff!important;min-height:520px!important}
html body .leader-modal-visual{background:#eef2f7!important;min-height:520px!important}
html body .leader-modal-image{display:block!important;width:100%!important;height:100%!important;min-height:520px!important;max-height:72vh!important;object-fit:cover!important;object-position:center top!important;margin:0!important;border-radius:0!important}
html body .leader-modal-content{padding:54px 52px 42px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important}
html body .leader-info-card h2{margin:0 0 14px!important;color:var(--s2ia-navy)!important;font-size:clamp(32px,3.2vw,54px)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
html body .leader-modal-subtitle{margin:0 0 16px!important;color:#183b69!important;font-size:18px!important;font-weight:800!important;line-height:1.45!important}
html body .leader-modal-country{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:8px 13px!important;border-radius:999px!important;background:#eef4fb!important;color:#345a86!important;font-weight:800!important;font-size:14px!important}
html body .leader-info-card .modal-close{z-index:5!important}
/* Thematiques */
html body .v51-themes-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .v51-theme-card img{height:250px!important;object-fit:cover!important}
/* Institutions economiques + partenaires event */
html body .economic-logo-section,html body .event-finance-section{padding:76px 0 82px!important;background:#f5f8fc!important;overflow:hidden!important}
html body .economic-title-with-arrows .strip-arrow,html body .finance-title-with-arrows .strip-arrow,html body .economic-dots,html body .event-finance-dots{display:none!important}
html body .economic-image-row,html body .finance-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin-top:30px!important}
html body .economic-image-card,html body .finance-image-card{min-width:0!important;width:auto!important;min-height:190px!important;border-radius:20px!important;border:1px solid var(--s2ia-border)!important;background:#fff!important;padding:20px!important;box-shadow:0 10px 28px rgba(7,31,70,.08)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
html body .economic-image-card img,html body .finance-image-card img{width:100%!important;max-width:185px!important;height:100px!important;max-height:none!important;object-fit:contain!important;filter:none!important}
html body .partner-logo-title{margin-top:16px!important;color:#111827!important;font-size:14px!important;line-height:1.35!important;text-align:center!important}
/* Chambres commerce */
html body .v51-chambers-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
html body .v51-chambers-grid .profile-card{min-height:290px!important;background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(7,31,70,.07)!important;overflow:hidden!important}
html body .v51-chambers-grid .profile-card img{height:180px!important;width:100%!important;object-fit:contain!important;padding:24px!important;background:#fff!important;filter:none!important}
html body .v51-chambers-grid .profile-card-body{padding:15px 18px 20px!important;text-align:center!important}
html body .v51-chambers-grid h3{font-size:16px!important;line-height:1.3!important;color:var(--s2ia-navy)!important}
/* Medias */
html body .media-partners-section{padding:78px 0 92px!important;background:#fff!important}
html body .media-partners-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
html body .media-partner-card{min-width:0!important;min-height:180px!important;padding:20px 16px!important;border:1px solid var(--s2ia-border)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 26px rgba(7,31,70,.08)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;overflow:hidden!important}
html body .media-logo-frame{width:100%!important;height:96px!important;display:grid!important;place-items:center!important;margin-bottom:12px!important}
html body .media-partner-card img{width:auto!important;max-width:150px!important;height:auto!important;max-height:86px!important;object-fit:contain!important;border-radius:0!important;margin:0!important}
html body .media-partner-card strong{color:var(--s2ia-navy)!important;font-size:15px!important;line-height:1.25!important}
html body .media-partner-card small{display:block!important;margin-top:5px!important;color:#6b7d95!important;font-size:11px!important}
/* Airlines */
html body .airline-partners-section{padding:78px 0 86px!important;background:#f5f8fc!important}
html body .airline-partners-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
html body .airline-card{min-height:180px!important;background:#fff!important;border:1px solid var(--s2ia-border)!important;border-radius:20px!important;padding:22px 16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-shadow:0 10px 26px rgba(7,31,70,.08)!important}
html body .airline-logo{height:92px!important;width:100%!important;display:grid!important;place-items:center!important;margin-bottom:12px!important}
html body .airline-logo img{max-width:160px!important;max-height:82px!important;object-fit:contain!important}
html body .airline-card h3{margin:0!important;color:var(--s2ia-navy)!important;font-size:16px!important;line-height:1.25!important}
html body .airline-card p{margin:6px 0 0!important;color:#66778e!important;font-size:12px!important}
/* Hotels */
html body .hotel-partners-section{padding:78px 0 94px!important;background:#f8fafc!important}
html body .hotel-partners-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}
html body .hotel-partner-card{border:1px solid var(--s2ia-border)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 34px rgba(7,31,70,.10)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
html body .hotel-photo-wrap{height:220px!important;background:#eef2f7!important;position:relative!important;overflow:hidden!important}
html body .hotel-photo{width:100%!important;height:100%!important;object-fit:cover!important}
html body .hotel-logo-badge{width:70px!important;height:70px!important;bottom:14px!important;left:14px!important;background:#fff!important;border-radius:16px!important;padding:9px!important}
html body .hotel-partner-body{display:flex!important;flex-direction:column!important;flex:1!important;padding:18px 18px 20px!important}
html body .hotel-partner-body h3{font-size:19px!important;margin:0 0 6px!important;color:var(--s2ia-navy)!important}
html body .hotel-partner-body p{font-size:13px!important;color:#6a7b91!important;margin:0 0 15px!important}
html body .hotel-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:auto!important}
html body .hotel-card-actions button{border:0!important;border-radius:11px!important;padding:11px 10px!important;font-weight:850!important;cursor:pointer!important}
html body .hotel-card-actions .details{background:#edf3fb!important;color:#123c72!important}
html body .hotel-card-actions .book{background:var(--s2ia-orange)!important;color:#fff!important}
html body .hotel-detail-card{width:min(1120px,95vw)!important;padding:0!important;overflow:hidden!important}
html body .hotel-detail-hero{position:relative!important;height:320px!important;background:#eaf0f6!important}
html body .hotel-detail-hero>img{width:100%!important;height:100%!important;object-fit:cover!important}
html body .hotel-detail-logo{position:absolute!important;left:28px!important;bottom:24px!important;width:86px!important;height:86px!important;background:#fff!important;border-radius:18px!important;padding:12px!important;box-shadow:0 12px 26px rgba(0,0,0,.2)!important}
html body .hotel-detail-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
html body .hotel-detail-copy{padding:28px 32px 34px!important}
html body .hotel-detail-copy h2{margin:0 0 6px!important;color:var(--s2ia-navy)!important;font-size:34px!important}
html body .hotel-room-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;margin-top:22px!important}
html body .hotel-room-card{border:1px solid var(--s2ia-border)!important;border-radius:17px!important;overflow:hidden!important;background:#fff!important}
html body .hotel-room-card img{width:100%!important;height:145px!important;object-fit:cover!important;background:#eef2f7!important}
html body .hotel-room-card div{padding:13px!important}
html body .hotel-room-card h4{margin:0 0 6px!important;color:var(--s2ia-navy)!important;font-size:15px!important}
html body .hotel-room-card p{margin:0!important;color:#60728a!important;font-size:12px!important;line-height:1.45!important}
html body .hotel-room-price{display:block!important;margin-top:8px!important;color:#d75417!important;font-weight:900!important}
/* Booking modal */
html body .hotel-booking-card{width:min(880px,94vw)!important;padding:38px!important}
html body .hotel-booking-card .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
html body .hotel-booking-card label{display:flex!important;flex-direction:column!important;gap:7px!important;color:#173456!important;font-weight:800!important}
html body .hotel-booking-card input,html body .hotel-booking-card select,html body .hotel-booking-card textarea{width:100%!important;border:1px solid #ccd8e6!important;border-radius:11px!important;padding:12px!important;font:inherit!important;background:#fff!important}
html body .hotel-booking-card .full{grid-column:1/-1!important}
/* Admin simple modal */
.admin-modal{position:fixed;inset:0;display:none;z-index:9999}.admin-modal.is-open{display:grid;place-items:center}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(5,20,44,.72)}.admin-modal-card{position:relative;z-index:1;width:min(900px,94vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.admin-modal-close{position:absolute;right:18px;top:14px;border:0;background:#eef2f7;border-radius:50%;width:42px;height:42px;font-size:24px}.admin-row-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-row-actions button,.admin-row-actions a{padding:7px 10px;border-radius:8px;border:1px solid #cad5e2;background:#fff;text-decoration:none;color:#123b6d;font-weight:700;cursor:pointer}.admin-row-actions .danger{color:#a01717;border-color:#efc7c7}
/* Responsive */
@media(max-width:1250px){html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:900px){html body .leader-info-card{grid-template-columns:1fr!important}html body .leader-modal-visual{min-height:330px!important;max-height:42vh!important}html body .leader-modal-image{min-height:330px!important;height:42vh!important}html body .leader-modal-content{padding:28px!important}html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid,html body .v51-themes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}html body .hotel-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){html body .state-heads-grid,html body .hotel-partners-grid,html body .v51-chambers-grid,html body .v51-themes-grid{grid-template-columns:1fr!important}html body .economic-image-row,html body .finance-row,html body .media-partners-grid,html body .airline-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}html body .hotel-room-grid{grid-template-columns:1fr!important}html body .hotel-booking-card .form-grid{grid-template-columns:1fr!important}html body .hotel-booking-card .full{grid-column:auto!important}html body .state-heads-grid .leader-card img{height:340px!important}}
/* Limiter l'agrandissement des favicons des chambres pour préserver leur netteté */
html body .v51-chambers-grid .profile-card img{height:150px!important;max-width:150px!important;margin:14px auto 0!important;padding:18px!important;object-fit:contain!important}
html body .economic-logo-section .compact-strip-title h2,html body .event-finance-section .compact-strip-title h2{white-space:normal!important;max-width:1300px!important;margin-inline:auto!important;text-align:center!important;font-size:clamp(30px,3.2vw,52px)!important;line-height:1.08!important;overflow-wrap:break-word!important}
html body .section-line-title h2{max-width:1300px!important;text-align:center!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:break-word!important}
/* S2IA V73 — performance, mobile header/slider continuity, languages and TV */
html[dir="rtl"] body{direction:rtl}html[dir="rtl"] .main-nav-links,html[dir="rtl"] .footer-links-grid{text-align:right}





img{content-visibility:auto}
@media(max-width:1180px){
  html body .site-header{margin-bottom:0!important;border-bottom:0!important}
  html body .top-shell{margin-bottom:0!important;padding-bottom:0!important;min-height:74px!important}
  html body main{margin-top:0!important;padding-top:0!important}
  html body .hero-slider{margin-top:0!important;padding-top:0!important;transform:none!important}
  html body .slider-stage,html body .slider-viewport{margin-top:0!important;padding-top:0!important;border-top:0!important}
  
  
}
@media(min-width:1920px){
  body{font-size:clamp(16px,.88vw,24px)}
  .top-shell{max-width:1800px!important}.site-header .brand{flex:0 0 auto}.main-nav a{font-size:clamp(15px,.82vw,22px)}
  .section-shell,.premium-shell,.footer-pro-inner{max-width:1780px!important}
  .hero-slider,.slider-stage,.slider-viewport{max-width:100%!important}
}
@media(min-width:3000px){
  .top-shell,.section-shell,.premium-shell,.footer-pro-inner{max-width:2500px!important}
  .header-logo-exact{width:clamp(300px,10vw,460px)!important;height:auto!important}
}
@supports (content-visibility:auto){.section-block,.premium-section,.showcase-section{content-visibility:auto;contain-intrinsic-size:800px}}

/* S2IA V75 — navigation, formulaires et hébergement. */




.v74-hotels{padding:52px 0;background:#f5f7fa;color:#182d42}.v74-hotels *,.v74-hotel-dialog *,.v74-admin *{box-sizing:border-box}.v74-hotel-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:30px}.v74-hotel-card{display:flex;flex-direction:column;border:1px solid #dce3e9;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 6px 22px #17324d09;min-width:0}.v74-hotel-logo{height:100px;display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;text-align:center}.v74-hotel-logo img{display:block;max-width:100%;width:160px;height:70px;object-fit:contain!important}.v74-hotel-logo strong,.v74-hotel-logo span{font:700 17px/1.35 Arial,sans-serif;color:#18354f}.v74-hotel-photo{aspect-ratio:16/10;background:#eaf0f4;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center}.v74-hotel-photo img{width:100%;height:100%;object-fit:cover;display:block}.v74-hotel-photo span{font-size:14px;line-height:1.5;padding:18px;color:#596977}.v74-hotel-body{padding:17px;display:flex;flex-direction:column;flex:1}.v74-hotel-body h3{font-size:18px!important;line-height:1.4!important;margin:0 0 9px!important;color:#16334d!important;min-height:51px}.v74-hotel-body>p{font-size:15px!important;line-height:1.4;margin:0 0 18px;color:#5c6d7b}.v74-hotel-actions{margin-top:auto;display:grid;gap:8px}.v74-hotel-actions button,.v74-primary,.v74-secondary{min-height:46px;padding:12px 16px;border-radius:9px;border:1px solid #b8c9d6;font:700 16px/1.3 Arial,sans-serif;cursor:pointer;background:#fff;color:#174974;white-space:normal;text-align:center}.v74-primary,.v74-hotel-actions .v74-primary{background:#0c5592;color:#fff;border-color:#0c5592}.v74-primary:hover{background:#073e6d}.v74-primary:disabled{opacity:.5;cursor:not-allowed}.v74-hotel-dialog button:focus-visible,.v74-hotel-dialog select:focus-visible,.v74-hotel-dialog input:focus-visible,.v74-hotel-dialog textarea:focus-visible,.v74-hotel-card button:focus-visible{outline:3px solid #ee9b40;outline-offset:2px}
.v74-hotel-dialog{border:0;border-radius:20px;padding:0!important;width:min(1180px,calc(100vw - 36px));max-width:none!important;max-height:calc(100dvh - 36px);margin:auto;background:#fff;color:#173047;box-shadow:0 25px 90px #10223955;overflow:hidden;font-family:Arial,Helvetica,sans-serif;position:fixed;inset:0;z-index:12000}.v74-hotel-dialog:not([open]){display:none!important}.v74-hotel-dialog[open]{display:flex;flex-direction:column}.v74-hotel-dialog::backdrop{background:#10283cbf;backdrop-filter:blur(4px)}.v74-dialog-open{overflow:hidden!important}.v74-dialog-fallback{box-shadow:0 0 0 100vmax #10283cbf,0 25px 90px #10223955}
.v74-dialog-header{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid #dce5ec;background:#fff;flex:none}.v74-dialog-brand{display:flex;align-items:center;gap:22px;min-width:0}.v74-dialog-brand>img{width:128px;height:76px;object-fit:contain;flex:none}.v74-dialog-brand small{font-size:11px;letter-spacing:2px;color:#54809b;font-weight:700}.v74-dialog-brand h2{font-size:26px;line-height:1.25;margin:5px 0 6px;color:#173047}.v74-dialog-brand p{margin:0;font-size:15px;color:#64798a}.v74-close{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f1f5f8;border:1px solid #dbe4eb;border-radius:50%;font:32px/1 Arial;color:#1e3f58;cursor:pointer;flex:none}.v74-dialog-scroll{overflow:auto;overscroll-behavior:contain;padding:24px 28px 30px;min-height:0}.v74-room-select{display:grid;grid-template-columns:auto minmax(200px,1fr) auto;gap:16px;align-items:center;margin-bottom:23px}.v74-room-select label{font-weight:700;font-size:16px}.v74-room-select select{width:100%;min-height:50px;border:1px solid #c2d1dc;border-radius:9px;font-size:17px;padding:10px 12px;background:#fff;color:#18354f}.v74-room-select a,.v74-room-visual>a{font-size:14px;color:#165c95;text-decoration:underline}.v74-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:26px}.v74-room-visual{min-width:0}.v74-main-photo{position:relative;aspect-ratio:16/10;background:#eaf0f4;display:flex;align-items:center;justify-content:center;border-radius:13px;overflow:hidden}.v74-main-photo>img{width:100%;height:100%;object-fit:contain;background:#edf1f4;display:block}.v74-main-photo>p{font-size:16px;line-height:1.55;text-align:center;color:#5b7285;padding:25px}.v74-photo-nav{position:absolute;top:50%;transform:translateY(-50%);height:46px;width:46px;border-radius:50%;background:#fffe;border:1px solid #d2dde5;color:#153b5b;font-size:35px;cursor:pointer}.v74-photo-nav.previous{left:12px}.v74-photo-nav.next{right:12px}#v74PhotoCount{position:absolute;bottom:12px;right:14px;background:#0d2f4adc;color:#fff;padding:6px 11px;border-radius:16px;font-size:13px}.v74-room-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 3px;min-height:14px}.v74-room-thumbs button{width:82px;height:58px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#edf1f5;cursor:pointer;flex:none}.v74-room-thumbs button[aria-pressed=true]{border-color:#0e639c}.v74-room-thumbs img{width:100%;height:100%;object-fit:cover}.v74-room-summary{padding:24px;border-radius:13px;border:1px solid #dce6ed;background:#f8fafb;align-self:start}.v74-tag{display:inline-block;font:700 11px/1.5 Arial;letter-spacing:1.5px;color:#3c7089}.v74-room-summary h3{font-size:24px;line-height:1.3;margin:12px 0}.v74-room-summary p{font-size:16px;line-height:1.6;margin:10px 0}.v74-room-summary .v74-muted{font-size:14px;color:#647786}.v74-rate{display:block;font-size:26px;margin:17px 0;color:#0a5986}.v74-room-summary>button{width:100%;margin-top:14px}
#v74HotelForm{border-top:1px solid #dce6ed;margin-top:26px;padding-top:24px;scroll-margin-top:10px}.v74-booking-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:26px}.v74-booking-grid h3{font-size:21px;line-height:1.35;margin:0 0 17px}.v74-booking-grid section h3:not(:first-child){margin-top:28px}.v74-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.v74-form-grid label{font-weight:600;font-size:15px;line-height:1.4;display:flex;flex-direction:column;gap:8px;min-width:0}.v74-form-grid input,.v74-form-grid textarea{width:100%;min-height:49px;font:400 17px/1.4 Arial;background:#fff;border:1px solid #bfcfdb;color:#1e3b50;border-radius:8px;padding:11px 12px;box-sizing:border-box}.v74-form-grid input[type=email],.v74-form-grid input[type=tel],.v74-form-grid input[type=date]{direction:ltr;text-align:start}.v74-form-grid textarea{resize:vertical}.v74-full{grid-column:1/-1}.v74-booking-summary{align-self:start;background:#f0f6fa;padding:24px;border:1px solid #d7e6ef;border-radius:13px;position:sticky;top:0}.v74-booking-summary p{font-size:15px;line-height:1.6;color:#5d7281}.v74-booking-summary>strong{display:block;color:#105a86;font-size:31px;margin:13px 0}.v74-booking-summary button{width:100%;margin-top:10px}.v74-feedback{font-size:17px;line-height:1.6;border-radius:10px;padding:16px 20px;margin-bottom:20px}.v74-feedback.is-success{background:#e7f6ed;border:1px solid #8fc6a5;color:#185932}.v74-feedback.is-error{background:#fff0ed;border:1px solid #e5a59c;color:#8c2e24}.v74-hotel-dialog [hidden],.v74-hotels [hidden]{display:none!important}
.v74-admin{max-width:1500px;margin:0 auto}.v74-admin-title{margin-bottom:25px}.v74-admin-title h1{font-size:32px;margin:8px 0}.v74-admin p{line-height:1.6;font-size:16px}.v74-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v74-admin input:not([type=hidden]),.v74-admin select,.v74-admin textarea{width:100%;min-height:47px;padding:10px;font:16px/1.4 Arial;border:1px solid #bccbd7;border-radius:8px;margin:8px 0}.v74-admin .admin-btn{min-height:44px;margin:10px 0}.v74-admin pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70vw;font-size:14px}.v74-admin th,.v74-admin td{font-size:15px;padding:13px;vertical-align:top}.v74-notice{padding:20px;background:#edf4f9;border-left:4px solid #27648f}.v74-media-thumb{width:90px;height:64px;object-fit:contain}.v74-admin .admin-card{overflow:hidden}.v74-admin label{display:block;font-size:16px}
html[dir=rtl] .v74-dialog-brand,html[dir=rtl] .v74-room-select{text-align:right}html[dir=rtl] .v74-form-grid label{text-align:right}
@media(max-width:1399px){.v74-hotel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.v74-hotel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v74-admin-grid{grid-template-columns:1fr}.v74-detail-grid,.v74-booking-grid{grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr)}.v74-room-select{grid-template-columns:1fr 2fr}.v74-room-select a{grid-column:2}.v74-dialog-brand h2{font-size:23px}}
@media(max-width:760px){.v74-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v74-hotel-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:14px}.v74-dialog-header{padding:14px 16px;gap:10px}.v74-dialog-brand{gap:12px}.v74-dialog-brand>img{width:72px;height:50px}.v74-dialog-brand h2{font-size:20px}.v74-dialog-brand small{font-size:10px;letter-spacing:1px}.v74-dialog-brand p{font-size:13px}.v74-close{width:44px;height:44px}.v74-dialog-scroll{padding:18px 16px 24px}.v74-room-select{display:flex;flex-direction:column;align-items:stretch;gap:9px}.v74-detail-grid,.v74-booking-grid{grid-template-columns:1fr;gap:18px}.v74-room-summary{padding:19px}.v74-room-summary h3{font-size:22px}.v74-booking-summary{position:static}.v74-room-thumbs button{width:74px}.v74-main-photo{aspect-ratio:4/3}}
@media(max-width:480px){.v74-hotel-grid{grid-template-columns:1fr}.v74-hotels .s2ia-showcase-inner{padding-left:16px;padding-right:60px}.v74-hotel-body h3{min-height:0;font-size:20px!important}.v74-hotel-logo{height:90px}.v74-hotel-photo{aspect-ratio:16/9}.v74-hotel-actions{grid-template-columns:1fr 1fr}.v74-form-grid{grid-template-columns:1fr}.v74-dialog-brand>img{width:58px}.v74-dialog-brand h2{font-size:18px}.v74-dialog-brand small{display:none}}
@media(prefers-reduced-motion:reduce){.v74-hotel-dialog *{scroll-behavior:auto!important}}

/* Booking is a separate view, not an additional screen below a full-size gallery. */
#v74HotelForm{margin-top:0;border-top:0;padding-top:0}.v74-booking-choice{display:flex;align-items:center;gap:12px;padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #d6e2ea}.v74-booking-choice img{width:82px;height:65px;object-fit:cover;border-radius:8px}.v74-booking-choice strong{font-size:17px;line-height:1.45;color:#173b54}.v74-room-thumbs span{font-size:12px;color:#547082}.v74-admin input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle;margin-right:9px}.v74-hotel-dialog :is(section,aside){box-sizing:border-box}.v74-booking-grid>section{margin:0;padding:0;min-height:0}
@media(max-width:900px){.v74-booking-grid{grid-template-columns:1fr}.v74-booking-summary{position:static}}

/* S2IA event interface: integrated horizontal languages, unified speakers, exhibition viewer. */
html body .s2ia-language-bar{position:fixed;inset:auto auto calc(18px + env(safe-area-inset-bottom,0px)) 50%;transform:translateX(-50%);z-index:9000;display:flex;flex-direction:row;align-items:center;gap:5px;padding:6px;max-width:calc(100vw - 16px);width:max-content;background:#fff;border:1px solid #d3dce6;border-radius:18px;box-shadow:0 6px 28px #112f4e30;pointer-events:auto;direction:ltr}
html body .s2ia-language-bar[hidden]{display:none!important}
html body .s2ia-language-bar a,html body .s2ia-language-close{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;width:auto;margin:0;padding:8px 10px;border:0;border-radius:11px;color:#18334d;background:#fff;text-decoration:none;cursor:pointer;font:700 14px/1 Arial,sans-serif;transform:none}
html body .s2ia-language-bar a img{width:25px;height:18px;object-fit:cover;display:block;border-radius:3px;border:1px solid #ccd5df}
html body .s2ia-language-bar span{display:block;font-size:12px}
html body .s2ia-language-bar a.is-active{background:#0e5397;color:#fff}
html body .s2ia-language-close{font-size:26px;color:#45566b;border-inline-start:1px solid #dbe3ea;border-radius:0 10px 10px 0}
html body .s2ia-language-bar :is(a,button):focus-visible{outline:3px solid #ed8c33;outline-offset:2px}
html body .s2ia-language-bar :is(a,button):hover{box-shadow:inset 0 0 0 2px #b9cfe5}
html body .s2ia-footer-pro{padding-bottom:110px!important}
html body .s2ia-speakers-section{background:#303236!important;background-image:none!important;color:#fff;padding-block:60px}
html body .s2ia-speakers-section::before,html body .s2ia-speakers-section::after{display:none!important}
html body .s2ia-speakers-section .section-line-title h2{color:#fff!important}
html body .s2ia-speakers-grid .s2ia-speaker-card{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0!important;height:100%!important;min-height:280px!important}
html body .s2ia-speakers-grid .s2ia-speaker-card img{width:150px!important;height:160px!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;padding:10px!important;border-radius:14px!important}
html body .s2ia-speakers-grid .profile-card-body{width:100%;padding:16px 18px 20px!important}
html body .s2ia-speakers-grid .profile-card-body p{color:#526175!important;font-size:14px!important;line-height:1.5!important;margin:8px 0 0!important;overflow-wrap:anywhere}
.s2ia-plan-dialog{box-sizing:border-box;width:min(1440px,calc(100vw - 32px));height:min(940px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:20px;color:#18334d;background:#fff;box-shadow:0 20px 100px #0007;overflow:hidden}
.s2ia-plan-dialog[open]{display:flex;flex-direction:column}
.s2ia-plan-dialog:not([open]){display:none}
.s2ia-plan-dialog::backdrop{background:#0a1723c7;backdrop-filter:blur(4px)}
.s2ia-plan-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #dce4eb;background:#fff;z-index:2}
.s2ia-plan-header small{font:800 12px/1.4 Arial,sans-serif;letter-spacing:2px;color:#17619e}
.s2ia-plan-header h2{font:700 clamp(17px,2.5vw,26px)/1.3 Arial,sans-serif;margin:4px 0 0;color:#18334d}
.s2ia-plan-close{flex:0 0 auto;min-height:46px;min-width:46px;padding:10px 16px;border:1px solid #b4c2d1;border-radius:11px;background:#20384e;color:#fff;cursor:pointer;font:700 16px/1.2 Arial,sans-serif;position:static;opacity:1;visibility:visible}
.s2ia-plan-toolbar{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 22px;background:#f1f5f8}
.s2ia-plan-toolbar button,.s2ia-plan-toolbar a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bacbd9;border-radius:9px;padding:7px 13px;background:#fff;color:#18334d;font:600 14px/1.3 Arial,sans-serif;cursor:pointer;text-decoration:none}
.s2ia-plan-toolbar output{font:700 14px/1 Arial,sans-serif;min-width:50px;text-align:center}
.s2ia-plan-toolbar button:disabled{opacity:.4;cursor:default}
.s2ia-plan-toolbar a{margin-inline-start:auto}
.s2ia-plan-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#e9eef3;padding:16px;box-sizing:border-box;touch-action:pan-x pan-y pinch-zoom}
.s2ia-plan-scroll img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;margin:0 auto;border-radius:4px;box-shadow:0 4px 18px #0002}
.s2ia-plan-dialog :focus-visible{outline:3px solid #ed8c33;outline-offset:2px}
.s2ia-dialog-fallback{position:fixed;inset:16px;z-index:90000;box-shadow:0 0 0 100vmax #071521c9}
@media(max-width:600px){html body .s2ia-language-bar{bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:2px;padding:5px;border-radius:14px}html body .s2ia-language-bar a{padding:8px 7px;gap:5px}html body .s2ia-language-bar a img{width:22px;height:16px}html body .s2ia-language-bar span{font-size:11px}.s2ia-plan-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:12px}.s2ia-plan-header{padding:12px;gap:10px}.s2ia-plan-close{font-size:14px;padding:10px}.s2ia-plan-toolbar{padding:8px;gap:5px}.s2ia-plan-toolbar button,.s2ia-plan-toolbar a{font-size:12px;padding:7px 9px}.s2ia-plan-toolbar a{margin-inline-start:0}.s2ia-plan-scroll{padding:8px}}
@media(prefers-reduced-motion:reduce){.s2ia-language-bar *{transition:none!important}}

/* V76: the plan dialog follows its image height; zoom remains scrollable. */
.s2ia-plan-dialog{height:fit-content!important;max-height:calc(100dvh - 24px)}
.s2ia-plan-scroll{max-height:calc(100dvh - 200px);min-height:180px;flex:1 1 auto}
@media(max-width:600px){.s2ia-plan-dialog{height:fit-content!important;max-height:calc(100dvh - 12px)}.s2ia-plan-scroll{max-height:calc(100dvh - 200px);min-height:0}}

/* Fixed controls are stacked without hiding the language buttons behind the countdown. */
html body .s2ia-language-bar{z-index:100100!important}
@media(max-width:1199px){html body .site-header .header-countdown{bottom:calc(80px + env(safe-area-inset-bottom,0px))!important}html body.s2ia-language-closed .site-header .header-countdown{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}}
