@charset "UTF-8";
/* ==========================================================================
   Journée Mondiale du Tourisme 2026 — Haïti — Thème Ministère du Tourisme
   ========================================================================== */

:root{
  /* Palette officielle JMT2026 (échantillonnée sur le logotype) */
  --jmt-navy:#052635;
  --jmt-navy-2:#0b3a4d;
  --jmt-navy-3:#0e4658;
  --jmt-red:#c00000;
  --jmt-red-dark:#7a0000;
  --jmt-gold:#f0c000;
  --jmt-gold-light:#f8e000;
  --jmt-teal:#0e7c66;
  --jmt-teal-dark:#0a5c4c;
  --jmt-cream:#faf7f0;
  --jmt-ink:#0f1f36;
  --jmt-muted:#5c6b83;
  --jmt-line:#e6eaf1;
  --jmt-surface:#ffffff;
  --jmt-radius:18px;
  --jmt-shadow:0 25px 60px -25px rgba(5,38,53,.35);
  --jmt-shadow-sm:0 10px 30px -12px rgba(5,38,53,.25);
  --jmt-grad-navy:linear-gradient(135deg,#052635 0%,#0e4658 55%,#0a5c4c 130%);
  --jmt-grad-gold:linear-gradient(120deg,#f0c000,#c00000);
}

/* ---------- Base overrides ---------- */
body.loading{ visibility:hidden; }
body{ font-family:"Public Sans","Barlow",sans-serif; color:var(--jmt-ink); overflow-x:hidden; }
h1,h2,h3,h4,h5,h6{ font-family:"Bricolage Grotesque","Rubik",sans-serif; }
.jmt-container{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:20px; }
section{ position:relative; }
iframe{ border:0; }
::selection{ background:var(--jmt-gold); color:var(--jmt-navy); }

a.jmt-link{ color:var(--jmt-navy-2); font-weight:600; }

/* ---------- Header ---------- */
#header.jmt-header{
  background:rgba(10,36,64,.0);
  padding-block:14px;
  transition:.35s ease;
  z-index:997;
}
body.scrolled #header.jmt-header{
  background:rgba(9,26,46,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px -15px rgba(0,0,0,.5);
  padding-block:8px;
}
/* backdrop-filter transforme l'en-tête en "containing block" pour ses
   descendants en position:fixed (dont le menu mobile plein écran) : une
   fois l'en-tête flouté après scroll, le menu ne se cale plus que sur la
   barre d'en-tête au lieu de tout l'écran. On coupe le flou tant que le
   menu mobile est ouvert pour qu'il redevienne relatif à l'écran entier. */
body.mobile-nav-active #header.jmt-header{
  backdrop-filter:none;
}
.jmt-header .header-container{ gap:16px; }
.jmt-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.jmt-brand-mark{ height:46px; width:auto; display:block; filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)); transition:.3s; }
body.scrolled .jmt-brand-mark{ height:38px; }
.jmt-brand-text{ line-height:1.15; color:#fff; }
.jmt-brand-text .l1{ display:block; font-size:.62rem; letter-spacing:.16em; font-weight:600; text-transform:uppercase; color:var(--jmt-gold-light); }
.jmt-brand-text .l2{ display:block; font-size:1rem; font-weight:800; letter-spacing:.01em; }

.jmt-header .navmenu ul{ gap:2px; }
.jmt-header .navmenu > ul > li > a{
  color:#fff !important;
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:600;
  font-size:.86rem;
  letter-spacing:.02em;
  padding:10px 14px !important;
  border-radius:999px;
  transition:.25s;
}
.jmt-header .navmenu > ul > li > a:hover,
.jmt-header .navmenu > ul > li > a.active{
  color:#fff !important;
  background:rgba(255,255,255,.14);
}
.jmt-header .navmenu .dropdown ul{
  background:var(--jmt-navy);
  border-radius:12px;
  overflow:hidden;
}
.jmt-header .navmenu .dropdown ul li a{ color:#fff; }
.jmt-header .navmenu .dropdown ul li a:hover{ color:var(--jmt-gold-light); background:rgba(255,255,255,.06); }
.jmt-header .mobile-nav-toggle{ color:#fff; }
@media (max-width:1199.98px){
  .jmt-header .navmenu ul{ background:var(--jmt-navy); }
}

.jmt-cta-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--jmt-grad-gold);
  color:#fff !important;
  font-weight:700;
  font-size:.82rem;
  padding:10px 20px;
  border-radius:999px;
  box-shadow:0 10px 24px -8px rgba(200,16,46,.55);
  transition:.3s;
  white-space:nowrap;
}
.jmt-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -8px rgba(200,16,46,.65); color:#fff; }

/* ---------- Section shells ---------- */
.jmt-kicker{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--jmt-red);
  margin-bottom:14px;
}
.jmt-kicker::before{ content:""; width:26px; height:2px; background:var(--jmt-red); display:inline-block; }
.jmt-section-title{ font-size:clamp(1.7rem,3vw,2.5rem); font-weight:800; color:var(--jmt-navy); line-height:1.2; }
.jmt-section-lead{ color:var(--jmt-muted); font-size:1.02rem; max-width:760px; }
.jmt-section-head{ margin-bottom:44px; }
.jmt-section-head.center{ text-align:center; margin-inline:auto; }
.jmt-section-head.center .jmt-kicker::before{ display:none; }
.jmt-section-head.center .jmt-section-lead{ margin-inline:auto; }

.jmt-bg-cream{ background:var(--jmt-cream); }
.jmt-bg-navy{ background:var(--jmt-grad-navy); color:#fff; }
.jmt-bg-navy .jmt-section-title{ color:#fff; }
.jmt-bg-navy .jmt-kicker{ color:var(--jmt-gold-light); }
.jmt-bg-navy .jmt-kicker::before{ background:var(--jmt-gold-light); }
.jmt-bg-navy .jmt-section-lead{ color:rgba(255,255,255,.78); }

.jmt-pad{ padding-block:100px; }
@media (max-width:768px){ .jmt-pad{ padding-block:64px; } }

/* ---------- Hero ---------- */
.jmt-hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center;
  padding-top:140px; padding-bottom:80px;
  background:var(--jmt-grad-navy);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.jmt-blob{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; z-index:0; animation:jmtFloat 16s ease-in-out infinite; }
.jmt-blob.b1{ width:420px; height:420px; background:var(--jmt-red); top:-140px; right:-80px; }
.jmt-blob.b2{ width:360px; height:360px; background:var(--jmt-teal); bottom:-160px; left:-100px; animation-delay:-4s; }
.jmt-blob.b3{ width:280px; height:280px; background:var(--jmt-gold); top:40%; left:60%; animation-delay:-8s; }
@keyframes jmtFloat{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(30px,-30px) scale(1.08); }
}

.jmt-hero-inner{ position:relative; z-index:2; text-align:center; }
.jmt-hero-badge{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(6px);
  padding:8px 18px; border-radius:999px;
  font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:26px;
  animation:jmtFadeUp .8s ease both;
}
.jmt-hero-badge img{ height:20px; width:auto; }

.jmt-hero h1{
  font-size:clamp(2.1rem,5.2vw,4.1rem);
  font-weight:800;
  line-height:1.12;
  margin-bottom:18px;
  animation:jmtFadeUp .9s ease .1s both;
}
.jmt-hero h1 .accent{ color:var(--jmt-gold-light); }

/* Logotype officiel JMT2026 utilisé comme titre du hero (au lieu d'un texte recomposé) */
.jmt-hero h1.jmt-hero-logo{ margin-bottom:14px; }
.jmt-hero h1.jmt-hero-logo img{
  display:block; margin-inline:auto; width:100%; max-width:min(88vw,640px); height:auto;
}

.jmt-hero p.jmt-hero-sub{
  max-width:760px; margin-inline:auto; font-size:1.15rem; color:rgba(255,255,255,.85);
  animation:jmtFadeUp .9s ease .2s both;
}
.jmt-hero-presented{
  max-width:640px; margin:14px auto 0; font-size:.85rem; font-style:italic;
  color:rgba(255,255,255,.68); display:flex; align-items:center; justify-content:center; gap:8px;
  animation:jmtFadeUp .9s ease .25s both;
}
.jmt-hero-presented i{ color:var(--jmt-gold-light); font-style:normal; }

/* Partenaires institutionnels affichés dans le hero (Primature + Ministère du Tourisme) */
.jmt-hero-partners{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  margin:22px auto 0; animation:jmtFadeUp .9s ease .15s both;
}
.jmt-hero-partners .lbl{
  font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.jmt-hero-partners .logos{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.jmt-hero-partners .logos img{
  height:46px; width:auto; background:#fff; padding:6px 12px; border-radius:12px;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.5); transition:.25s;
}
.jmt-hero-partners .logos img:hover{ transform:translateY(-3px); }
@media (max-width:575.98px){ .jmt-hero-partners .logos img{ height:38px; padding:5px 9px; } }

@keyframes jmtFadeUp{ from{ opacity:0; transform:translateY(24px);} to{ opacity:1; transform:translateY(0);} }

.jmt-hero-meta{
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
  margin-block:34px;
  animation:jmtFadeUp .9s ease .3s both;
}
.jmt-hero-meta .item{
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  padding:12px 20px; border-radius:14px;
  font-weight:600; font-size:.92rem;
}
.jmt-hero-meta .item i{ color:var(--jmt-gold-light); font-size:1.1rem; }

.jmt-hero-ctas{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; animation:jmtFadeUp .9s ease .4s both; }
.jmt-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px; border-radius:999px;
  font-weight:700; font-size:.92rem; letter-spacing:.01em;
  transition:.3s;
}
.jmt-btn-primary{ background:var(--jmt-grad-gold); color:#fff; box-shadow:0 14px 30px -10px rgba(200,16,46,.6); }
.jmt-btn-primary:hover{ transform:translateY(-3px); color:#fff; }
.jmt-btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.35); }
.jmt-btn-ghost:hover{ background:rgba(255,255,255,.18); color:#fff; transform:translateY(-3px); }

.jmt-pillars-strip{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  margin-top:56px;
  animation:jmtFadeUp 1s ease .55s both;
}
.jmt-pillars-strip .pill{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px; padding:18px 12px; text-align:center;
  transition:.3s;
}
.jmt-pillars-strip .pill:hover{ background:rgba(255,255,255,.16); transform:translateY(-6px); }
.jmt-pillars-strip .pill i{ font-size:1.6rem; color:var(--jmt-gold-light); margin-bottom:8px; display:block; }
.jmt-pillars-strip .pill span{ font-weight:700; font-size:.86rem; }
@media (max-width:768px){ .jmt-pillars-strip{ grid-template-columns:repeat(2,1fr); } }

.jmt-countdown{
  position:relative; z-index:2;
  display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
  margin-top:38px;
}
.jmt-countdown .box{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  border-radius:14px; padding:14px 18px; min-width:84px; text-align:center;
}
.jmt-countdown .box .n{ font-size:1.8rem; font-weight:800; color:var(--jmt-gold-light); display:block; font-family:"Bricolage Grotesque",sans-serif; }
.jmt-countdown .box .l{ font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; opacity:.8; }

.jmt-scroll-cue{
  position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.7); z-index:2; font-size:1.6rem;
  animation:jmtBounce 2s infinite;
}
@keyframes jmtBounce{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,10px); } }

/* ---------- Reveal-on-scroll (fallback to AOS) ---------- */
.jmt-reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.jmt-reveal.in-view{ opacity:1; transform:translateY(0); }

/* ---------- 4 Piliers ---------- */
.jmt-pillars-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:991.98px){ .jmt-pillars-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-pillars-grid{ grid-template-columns:1fr; } }
.jmt-pillar-card{
  background:#fff; border-radius:var(--jmt-radius); padding:32px 24px;
  box-shadow:var(--jmt-shadow-sm); border:1px solid var(--jmt-line);
  position:relative; overflow:hidden; transition:.35s;
}
.jmt-pillar-card::after{
  content:""; position:absolute; inset:0; opacity:0; transition:.35s;
  background:var(--jmt-grad-navy);
}
.jmt-pillar-card:hover{ transform:translateY(-10px); box-shadow:var(--jmt-shadow); }
.jmt-pillar-card .num{
  position:absolute; top:16px; right:20px; font-size:2.4rem; font-weight:800;
  color:var(--jmt-line); font-family:"Bricolage Grotesque",sans-serif;
}
.jmt-pillar-card .icon{
  width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:var(--jmt-grad-gold); color:#fff; font-size:1.5rem; margin-bottom:18px;
}
.jmt-pillar-card h3{ font-size:1.15rem; font-weight:800; color:var(--jmt-navy); margin-bottom:6px; }
.jmt-pillar-card .q{ font-style:italic; color:var(--jmt-red); font-weight:600; font-size:.88rem; margin-bottom:10px; display:block; }
.jmt-pillar-card p{ color:var(--jmt-muted); font-size:.92rem; margin:0; }

/* ---------- About / Mot de la Ministre ---------- */
.jmt-minister-wrap{ display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
@media (max-width:991.98px){ .jmt-minister-wrap{ grid-template-columns:1fr; } }
.jmt-minister-col{ position:sticky; top:110px; }
@media (max-width:991.98px){ .jmt-minister-col{ position:static; } }
.jmt-minister-text p{ color:var(--jmt-ink); line-height:1.85; margin-bottom:20px; font-size:1rem; }
.jmt-minister-text{ padding-top:6px; }
.jmt-minister-callout{ margin:34px 0; }
.jmt-minister-callout ul{ gap:12px; }
.jmt-minister-photo{
  position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5;
  background:var(--jmt-grad-navy);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--jmt-shadow);
}
.jmt-minister-photo img{ width:100%; height:100%; object-fit:cover; }
.jmt-minister-photo .placeholder{ text-align:center; color:#fff; padding:20px; }
.jmt-minister-photo .placeholder .avatar{
  width:120px; height:120px; border-radius:50%; margin:0 auto 16px;
  background:rgba(255,255,255,.12); border:2px dashed rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center; font-size:2.4rem; font-weight:800;
}
.jmt-minister-photo .placeholder small{ display:block; opacity:.7; margin-top:10px; font-size:.75rem; }
.jmt-minister-photo .ribbon{
  position:absolute; left:0; bottom:0; right:0;
  background:rgba(10,36,64,.85); backdrop-filter:blur(6px);
  color:#fff; padding:18px 22px;
}
.jmt-minister-photo .ribbon strong{ display:block; font-size:1.05rem; }
.jmt-minister-photo .ribbon span{ font-size:.8rem; opacity:.8; }

.jmt-quote{
  position:relative; padding-left:26px; margin:22px 0; font-size:1.05rem; line-height:1.75; color:var(--jmt-ink);
}
.jmt-quote::before{ content:"\201C"; position:absolute; left:-6px; top:-14px; font-size:3.2rem; color:var(--jmt-gold); font-family:Georgia,serif; }

.jmt-signature{ font-weight:800; color:var(--jmt-navy); }
.jmt-signature small{ display:block; font-weight:500; color:var(--jmt-muted); }

/* ---------- Callout box ---------- */
.jmt-callout{
  background:linear-gradient(135deg,#0e7c66,#0a5c4c);
  color:#fff; border-radius:20px; padding:30px 34px;
  box-shadow:var(--jmt-shadow-sm);
}
.jmt-callout h4{ color:#fff; font-weight:800; margin-bottom:14px; }
.jmt-callout ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.jmt-callout li{ display:flex; gap:10px; font-size:.92rem; line-height:1.5; }
.jmt-callout li i{ color:var(--jmt-gold-light); margin-top:3px; }

/* ---------- Problematique / Context ---------- */
.jmt-check-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
@media (max-width:575.98px){ .jmt-check-grid{ grid-template-columns:1fr; } }
.jmt-check-item{
  display:flex; align-items:flex-start; gap:12px;
  background:#fff; border:1px solid var(--jmt-line); border-radius:14px; padding:16px 18px;
  font-size:.92rem; color:var(--jmt-ink); box-shadow:var(--jmt-shadow-sm);
}
.jmt-check-item i{ color:var(--jmt-red); font-size:1.1rem; margin-top:2px; }

.jmt-questions{ display:grid; gap:16px; }
.jmt-question-card{
  border-left:4px solid var(--jmt-gold);
  background:#fff; border-radius:0 16px 16px 0; padding:20px 24px;
  box-shadow:var(--jmt-shadow-sm); font-style:italic; color:var(--jmt-navy); font-weight:600;
}

/* ---------- Objectifs ---------- */
.jmt-obj-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:991.98px){ .jmt-obj-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-obj-grid{ grid-template-columns:1fr; } }
.jmt-obj-card{
  background:#fff; border-radius:16px; padding:22px; border:1px solid var(--jmt-line);
  box-shadow:var(--jmt-shadow-sm); transition:.3s; display:flex; gap:14px;
}
.jmt-obj-card:hover{ transform:translateY(-6px); box-shadow:var(--jmt-shadow); border-color:transparent; }
.jmt-obj-card i{ color:var(--jmt-teal); font-size:1.3rem; flex:none; margin-top:2px; }
.jmt-obj-card p{ margin:0; font-size:.9rem; color:var(--jmt-ink); line-height:1.5; }

/* ---------- Publics cibles ---------- */
.jmt-tags{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.jmt-tag{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--jmt-line); border-radius:999px;
  padding:10px 18px; font-size:.85rem; font-weight:600; color:var(--jmt-navy);
  box-shadow:var(--jmt-shadow-sm); transition:.25s;
}
.jmt-tag:hover{ background:var(--jmt-navy); color:#fff; transform:translateY(-3px); }
.jmt-tag i{ color:var(--jmt-red); }
.jmt-tag:hover i{ color:var(--jmt-gold-light); }

/* ---------- Composantes (accordion) ---------- */
.jmt-components{ display:flex; flex-direction:column; gap:16px; }
.jmt-comp-item{
  background:#fff; border:1px solid var(--jmt-line); border-radius:18px; overflow:hidden;
  box-shadow:var(--jmt-shadow-sm);
}
.jmt-comp-head{
  display:flex; align-items:center; gap:18px; padding:22px 26px; cursor:pointer; user-select:none;
}
.jmt-comp-head .roman{
  flex:none; width:52px; height:52px; border-radius:14px; background:var(--jmt-grad-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-family:"Bricolage Grotesque",sans-serif;
}
.jmt-comp-head .txt{ flex:1; }
.jmt-comp-head .txt h3{ font-size:1.08rem; font-weight:800; color:var(--jmt-navy); margin:0; }
.jmt-comp-head .txt span{ font-size:.82rem; color:var(--jmt-red); font-style:italic; }
.jmt-comp-head .chev{ transition:.3s; color:var(--jmt-muted); font-size:1.2rem; }
.jmt-comp-item.open .jmt-comp-head .chev{ transform:rotate(180deg); }
.jmt-comp-body{ max-height:0; overflow:hidden; transition:max-height .4s ease; }
.jmt-comp-item.open .jmt-comp-body{ max-height:600px; }
.jmt-comp-body-inner{ padding:0 26px 26px 96px; color:var(--jmt-ink); font-size:.92rem; line-height:1.65; }
.jmt-comp-body-inner ul{ margin:10px 0 0; padding-left:18px; }
.jmt-comp-body-inner li{ margin-bottom:6px; }

/* ---------- Tables thematiques ---------- */
.jmt-tables-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
@media (max-width:768px){ .jmt-tables-grid{ grid-template-columns:1fr; } }
.jmt-table-card{
  background:#fff; border-radius:18px; padding:26px; border:1px solid var(--jmt-line);
  box-shadow:var(--jmt-shadow-sm); transition:.3s; height:100%; display:flex; flex-direction:column;
}
.jmt-table-card:hover{ transform:translateY(-8px); box-shadow:var(--jmt-shadow); }
.jmt-table-card .tag{
  display:inline-flex; align-self:flex-start; align-items:center; gap:8px;
  background:var(--jmt-cream); color:var(--jmt-red); font-weight:700; font-size:.72rem;
  letter-spacing:.06em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin-bottom:14px;
}
.jmt-table-card h3{ font-size:1.15rem; font-weight:800; color:var(--jmt-navy); margin-bottom:10px; }
.jmt-table-card p{ color:var(--jmt-muted); font-size:.9rem; line-height:1.55; margin-bottom:14px; }
.jmt-table-card .steps{ display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:14px; border-top:1px dashed var(--jmt-line); }
.jmt-table-card .steps span{ font-size:.7rem; font-weight:700; color:var(--jmt-teal); background:#eef7f5; padding:5px 10px; border-radius:999px; }
.jmt-table-card a.more{ margin-top:14px; font-weight:700; font-size:.85rem; color:var(--jmt-navy-2); display:inline-flex; align-items:center; gap:6px; }
.jmt-table-card a.more:hover{ color:var(--jmt-red); }

/* ---------- Programme timeline ---------- */
.jmt-timeline{ position:relative; max-width:900px; margin-inline:auto; }
.jmt-timeline::before{
  content:""; position:absolute; left:130px; top:0; bottom:0; width:2px;
  background:linear-gradient(var(--jmt-line),var(--jmt-line));
}
@media (max-width:650px){ .jmt-timeline::before{ left:18px; } }
.jmt-t-item{ position:relative; display:flex; gap:26px; padding-bottom:34px; }
.jmt-t-item:last-child{ padding-bottom:0; }
.jmt-t-time{ flex:none; width:104px; padding-top:6px; font-weight:800; color:var(--jmt-navy); font-size:.9rem; text-align:right; }
@media (max-width:650px){ .jmt-t-time{ display:none; } }
.jmt-t-dot{
  position:absolute; left:124px; top:6px; width:16px; height:16px; border-radius:50%;
  background:var(--jmt-red); border:3px solid #fff; box-shadow:0 0 0 3px var(--jmt-red);
}
@media (max-width:650px){ .jmt-t-dot{ left:12px; } }
.jmt-t-card{
  margin-left:38px; background:#fff; border:1px solid var(--jmt-line); border-radius:14px;
  padding:16px 20px; box-shadow:var(--jmt-shadow-sm); flex:1; transition:.25s;
}
.jmt-t-card:hover{ box-shadow:var(--jmt-shadow); transform:translateX(4px); }
.jmt-t-card .mtime{ display:none; font-weight:800; color:var(--jmt-red); font-size:.8rem; margin-bottom:4px; }
@media (max-width:650px){ .jmt-t-card .mtime{ display:block; } }
.jmt-t-card h4{ font-size:1rem; font-weight:800; color:var(--jmt-navy); margin:0 0 4px; }
.jmt-t-card p{ margin:0; font-size:.86rem; color:var(--jmt-muted); }

/* ---------- Organisation / commissions ---------- */
.jmt-org-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:991.98px){ .jmt-org-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-org-grid{ grid-template-columns:1fr; } }
.jmt-org-card{
  background:#fff; border-radius:16px; padding:22px; border:1px solid var(--jmt-line);
  box-shadow:var(--jmt-shadow-sm); transition:.3s;
}
.jmt-org-card:hover{ transform:translateY(-6px); box-shadow:var(--jmt-shadow); }
.jmt-org-card .n{ font-weight:800; color:var(--jmt-gold); font-size:.78rem; letter-spacing:.06em; }
.jmt-org-card h4{ font-size:.98rem; font-weight:800; color:var(--jmt-navy); margin:6px 0 8px; }
.jmt-org-card p{ font-size:.84rem; color:var(--jmt-muted); margin:0; }

/* ---------- Partenaires ---------- */
.jmt-partner-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:991.98px){ .jmt-partner-cats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-partner-cats{ grid-template-columns:1fr; } }
.jmt-partner-cat{ background:#fff; border:1px solid var(--jmt-line); border-radius:16px; padding:22px; box-shadow:var(--jmt-shadow-sm); }
.jmt-partner-cat i{ font-size:1.5rem; color:var(--jmt-navy-2); margin-bottom:10px; display:block; }
.jmt-partner-cat h4{ font-size:.95rem; font-weight:800; color:var(--jmt-navy); margin-bottom:6px; }
.jmt-partner-cat p{ font-size:.82rem; color:var(--jmt-muted); margin:0; }

.jmt-marquee{ position:relative; }
.jmt-marquee-track{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:44px; }
.jmt-marquee-track img{ height:67px; width:auto; object-fit:contain; transition:.3s; }
.jmt-marquee-track img:hover{ transform:translateY(-3px); }

.jmt-comm-phases{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:768px){ .jmt-comm-phases{ grid-template-columns:1fr; } }
.jmt-comm-phase{ background:#fff; border-radius:16px; padding:24px; border:1px solid var(--jmt-line); box-shadow:var(--jmt-shadow-sm); position:relative; }
.jmt-comm-phase .arrow{ position:absolute; top:24px; right:24px; color:var(--jmt-gold); font-size:1.3rem; }
.jmt-comm-phase h4{ font-size:1rem; font-weight:800; color:var(--jmt-navy); margin-bottom:8px; }
.jmt-comm-phase p{ font-size:.87rem; color:var(--jmt-muted); margin:0; }

/* ---------- Chronogramme (stepper) ---------- */
.jmt-chrono{ display:flex; flex-direction:column; gap:0; }
.jmt-chrono-step{ display:flex; gap:22px; position:relative; padding-bottom:30px; }
.jmt-chrono-step:last-child{ padding-bottom:0; }
.jmt-chrono-step::before{
  content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:var(--jmt-line);
}
.jmt-chrono-step:last-child::before{ display:none; }
.jmt-chrono-num{
  flex:none; width:44px; height:44px; border-radius:50%; background:var(--jmt-grad-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:800; z-index:1;
}
.jmt-chrono-content{ background:#fff; border:1px solid var(--jmt-line); border-radius:14px; padding:16px 20px; flex:1; box-shadow:var(--jmt-shadow-sm); }
.jmt-chrono-content .when{ font-size:.72rem; font-weight:700; color:var(--jmt-red); text-transform:uppercase; letter-spacing:.06em; }
.jmt-chrono-content h4{ font-size:.98rem; font-weight:800; color:var(--jmt-navy); margin:4px 0; }
.jmt-chrono-content p{ margin:0; font-size:.86rem; color:var(--jmt-muted); }

/* ---------- Resultats & livrables ---------- */
.jmt-results-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
@media (max-width:991.98px){ .jmt-results-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-results-grid{ grid-template-columns:1fr; } }
.jmt-result-card{ background:#fff; border-radius:14px; padding:20px; text-align:center; border:1px solid var(--jmt-line); box-shadow:var(--jmt-shadow-sm); }
.jmt-result-card i{ font-size:1.6rem; color:var(--jmt-teal); margin-bottom:10px; display:block; }
.jmt-result-card h5{ font-size:.86rem; font-weight:800; color:var(--jmt-navy); margin-bottom:6px; }
.jmt-result-card p{ font-size:.78rem; color:var(--jmt-muted); margin:0; }

.jmt-deliverables{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.jmt-deliverables li{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--jmt-line); border-radius:14px; padding:16px 20px; box-shadow:var(--jmt-shadow-sm); }
.jmt-deliverables li i{ color:var(--jmt-gold); font-size:1.2rem; margin-top:2px; }
.jmt-deliverables li span{ font-size:.9rem; color:var(--jmt-ink); }

/* ---------- Ambition banner ---------- */
.jmt-ambition{
  background:var(--jmt-grad-navy); color:#fff; border-radius:26px; padding:60px 40px; text-align:center;
  position:relative; overflow:hidden;
}
.jmt-ambition::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%, rgba(245,163,0,.25), transparent 45%); }
.jmt-ambition h3{ position:relative; color:var(--jmt-gold-light); font-size:.9rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; margin-bottom:18px; }
.jmt-ambition p{ position:relative; font-size:clamp(1.3rem,2.6vw,2rem); font-weight:800; line-height:1.4; margin:0; }
.jmt-ambition p span{ color:var(--jmt-gold-light); }

/* ---------- Footer ---------- */
.jmt-footer{ background:var(--jmt-navy); color:rgba(255,255,255,.85); }
.jmt-footer .top{ padding-block:64px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; }
@media (max-width:991.98px){ .jmt-footer .top{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575.98px){ .jmt-footer .top{ grid-template-columns:1fr; } }
.jmt-footer h5{ color:#fff; font-size:.92rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; }
.jmt-footer p, .jmt-footer li{ font-size:.87rem; line-height:1.7; color:rgba(255,255,255,.72); }
.jmt-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.jmt-footer ul li a{ color:rgba(255,255,255,.72); }
.jmt-footer ul li a:hover{ color:var(--jmt-gold-light); }
.jmt-footer .brand-line{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.jmt-footer .brand-line img{ height:42px; }
.jmt-footer .social{ display:flex; gap:10px; margin-top:16px; }
.jmt-footer .social a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:.25s;
}
.jmt-footer .social a:hover{ background:var(--jmt-red); transform:translateY(-3px); }
.jmt-footer .bottom{ border-top:1px solid rgba(255,255,255,.12); padding:22px 0; text-align:center; font-size:.8rem; color:rgba(255,255,255,.6); }

/* ---------- Buttons generic ---------- */
.jmt-outline-btn{
  display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px;
  border:2px solid var(--jmt-navy); color:var(--jmt-navy); font-weight:700; font-size:.86rem; transition:.25s;
}
.jmt-outline-btn:hover{ background:var(--jmt-navy); color:#fff; }

/* ---------- Imagine Haiti 2030 ---------- */
.jmt-imagine{ background:#fff; border-radius:24px; box-shadow:var(--jmt-shadow); padding:44px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
@media (max-width:900px){ .jmt-imagine{ grid-template-columns:1fr; padding:30px; } }
.jmt-imagine-form input, .jmt-imagine-form textarea{
  width:100%; border:1px solid var(--jmt-line); border-radius:12px; padding:12px 16px; font-size:.92rem; margin-bottom:14px; font-family:inherit;
}
.jmt-imagine-form input:focus, .jmt-imagine-form textarea:focus{ outline:none; border-color:var(--jmt-teal); box-shadow:0 0 0 3px rgba(14,124,102,.15); }
.jmt-imagine-success{ display:none; background:#eef7f5; color:var(--jmt-teal-dark); border-radius:12px; padding:16px 18px; font-size:.9rem; font-weight:600; }
.jmt-imagine-success.show{ display:block; }

/* Small utility */
.jmt-mt-0{ margin-top:0 !important; }
.jmt-text-center{ text-align:center; }
.jmt-tags.left{ justify-content:flex-start; }
.jmt-note{ color:var(--jmt-muted); font-size:.85rem; }
.jmt-muted-text{ color:var(--jmt-muted); }
.jmt-map-frame{ border-radius:20px; overflow:hidden; box-shadow:var(--jmt-shadow); }

/* ---------- Mention obligatoire (footer) ---------- */
.jmt-footer-mention{ font-size:.78rem; opacity:.7; }

/* ---------- Hero secondaire de page (Programme, Localisation, Live, Le thème 2026) ---------- */
.jmt-page-hero{
  padding:150px 0 70px; text-align:center; color:#fff;
  background:linear-gradient(125deg,rgba(9,26,46,.93),rgba(18,58,110,.9) 55%,rgba(14,124,102,.88) 130%),url('../img/events/citadelle-web.webp') center/cover;
}
.jmt-page-hero h1{ color:#fff; font-weight:800; font-size:clamp(2rem,4vw,2.8rem); }
.jmt-page-hero p{ color:rgba(255,255,255,.8); max-width:640px; margin:10px auto 0; }
