
:root{
  --blue:#0F4C8C;
  --blue-deep:#0A3665;
  --blue-light:#EAF1FA;
  --ochre:#C58A2B;
  --ochre-light:#FBF2E1;
  --green:#1F6B4A;
  --green-light:#E9F4EE;
  --terra:#B24A2C;
  --ink:#161616;
  --ink-soft:#63666B;
  --ink-faint:#9A9C9F;
  --line:#E7E7E5;
  --paper:#FFFFFF;
  --offwhite:#F7F7F5;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--ink);font-family:'Sora',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.disp{font-family:'Fraunces',serif;font-weight:560;letter-spacing:-0.01em;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.btn{
  font-family:'Sora';font-weight:600;font-size:13.5px;padding:11px 22px;border-radius:8px;
  border:1px solid transparent;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:8px;
}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn-primary:hover{background:var(--blue-deep);}
.btn-outline{border-color:var(--blue);color:var(--blue);background:#fff;}
.btn-outline:hover{background:var(--blue-light);}
.btn-white{background:#fff;color:var(--blue);}
.btn-white-outline{border-color:rgba(255,255,255,.55);color:#fff;background:transparent;}
.btn-white-outline:hover{background:rgba(255,255,255,.1);}

/* ===== TOPBAR ===== */
.topbar{background:var(--blue-deep);color:#CBDCF0;font-size:11.5px;padding:7px 0;}
.topbar .wrap{display:flex;justify-content:space-between;}

/* ===== NAV ===== */
.navbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
.navbar .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand-text .t1{font-family:'Fraunces';font-weight:620;font-size:19px;color:var(--blue-deep);line-height:1.1;}
.brand-text .t2{font-size:9.5px;color:var(--ink-faint);letter-spacing:.07em;text-transform:uppercase;margin-top:2px;}
.navlinks{display:flex;gap:2px;}
.navlinks a{color:var(--ink-soft);font-size:13.5px;font-weight:500;padding:10px 15px;border-radius:7px;}
.navlinks a:hover{color:var(--blue);background:var(--blue-light);}
.nav-cta{display:flex;gap:10px;align-items:center;}
.nav-cta .lang{font-size:12px;color:var(--ink-faint);font-weight:600;margin-right:4px;}

/* ===== HERO ===== */
.hero{
  position:relative;color:#fff;min-height:520px;display:flex;align-items:flex-end;
  background:
    linear-gradient(180deg, rgba(10,40,75,.55) 0%, rgba(8,28,54,.88) 100%),
    repeating-linear-gradient(120deg, rgba(255,255,255,.04) 0 3px, transparent 3px 26px),
    linear-gradient(135deg,#123A66 0%,#0A2440 100%);
}
.hero-inner{position:relative;padding:90px 0 56px;width:100%;}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);padding:7px 15px;border-radius:30px;
  font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:22px;
}
.hero h1{font-size:46px;line-height:1.14;margin:0 0 18px;font-weight:560;max-width:680px;}
.hero p{font-size:16px;line-height:1.7;color:#DCE6F2;max-width:560px;margin-bottom:8px;}
.hero .stat-line{font-size:14px;color:#fff;font-weight:600;margin:18px 0 26px;}
.hero .stat-line span{color:var(--ochre);font-family:'Fraunces';font-size:17px;}
.hero-actions{display:flex;gap:12px;}

/* ===== FILTER CARD (overlapping hero) ===== */
.filter-card{
  position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 50px -20px rgba(10,40,75,.35);
  margin-top:-46px;padding:22px 26px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;align-items:end;
  border:1px solid var(--line);
}
.filter-card label{display:block;font-size:11px;color:var(--ink-faint);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}
.filter-card select{
  width:100%;font-family:'Sora';font-size:13.5px;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;background:var(--offwhite);color:var(--ink);
}
.filter-card .btn{width:100%;padding:11px;justify-content:center;}

/* ===== SECTIONS ===== */
section{padding:70px 0;}
.eyebrow{color:var(--blue);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.sec-head{margin-bottom:38px;}
.sec-head h2{font-size:30px;margin:8px 0 10px;font-weight:560;}
.sec-head p{font-size:14.5px;color:var(--ink-soft);max-width:600px;line-height:1.65;}
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}

/* intro band with image */
.intro-band{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:center;}
.intro-img{
  height:340px;border-radius:16px;position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(120deg, rgba(255,255,255,.05) 0 3px, transparent 3px 22px),
    linear-gradient(135deg,#123A66,#0A2440);
}
.intro-img .cap{
  position:absolute;bottom:18px;left:18px;background:rgba(255,255,255,.94);color:var(--blue-deep);
  font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;
}
.intro-text h2{font-size:28px;margin:8px 0 16px;}
.intro-text p{font-size:14.5px;color:var(--ink-soft);line-height:1.75;margin-bottom:22px;}

/* trust grid */
.trust-band{background:var(--offwhite);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.trust-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;}
.trust-num{
  width:34px;height:34px;border-radius:9px;background:var(--blue-light);color:var(--blue);
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:600;font-size:14px;margin-bottom:14px;
}
.trust-card h4{font-size:14.5px;margin:0 0 6px;font-weight:600;font-family:'Sora';}
.trust-card p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin:0;}

/* profile types */
.profile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.profile-card{
  border:1px solid var(--line);border-radius:14px;padding:22px 18px;text-align:center;transition:.2s;
}
.profile-card:hover{border-color:var(--blue);box-shadow:0 12px 30px -16px rgba(15,76,140,.25);}
.profile-icon{
  width:44px;height:44px;border-radius:50%;background:var(--blue-light);margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
}
.profile-icon svg{width:20px;height:20px;stroke:var(--blue);}
.profile-card h4{font-size:13.5px;margin:0 0 6px;font-weight:600;}
.profile-card p{font-size:11.5px;color:var(--ink-soft);line-height:1.55;margin:0;}

/* mission cards */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.m-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.2s;background:#fff;}
.m-card:hover{box-shadow:0 16px 40px -18px rgba(15,76,140,.28);transform:translateY(-2px);border-color:var(--blue);}
.m-img{
  height:130px;position:relative;
  background:repeating-linear-gradient(120deg, rgba(255,255,255,.06) 0 3px, transparent 3px 20px);
}
.m-img.c1{background-image:repeating-linear-gradient(120deg, rgba(255,255,255,.08) 0 3px, transparent 3px 20px),linear-gradient(135deg,#0F4C8C,#0A2440);}
.m-img.c2{background-image:repeating-linear-gradient(120deg, rgba(255,255,255,.08) 0 3px, transparent 3px 20px),linear-gradient(135deg,#1F6B4A,#0F3D2A);}
.m-img.c3{background-image:repeating-linear-gradient(120deg, rgba(255,255,255,.08) 0 3px, transparent 3px 20px),linear-gradient(135deg,#B24A2C,#7A2F19);}
.m-img.c4{background-image:repeating-linear-gradient(120deg, rgba(255,255,255,.08) 0 3px, transparent 3px 20px),linear-gradient(135deg,#C58A2B,#8C5F17);}
.m-cat{
  position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:var(--ink);
  font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:20px;
}
.m-body{padding:16px 18px 18px;}
.m-body .city{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-weight:600;}
.m-body h4{font-size:14.5px;margin:0 0 8px;font-weight:600;line-height:1.4;}
.m-body p{font-size:12px;color:var(--ink-soft);line-height:1.6;margin:0 0 14px;}
.m-link{font-size:12.5px;font-weight:600;color:var(--blue);display:flex;align-items:center;gap:5px;}

/* testimonials */
.testi-band{
  background:linear-gradient(180deg, rgba(10,40,75,.92), rgba(10,40,75,.92)), repeating-linear-gradient(120deg, rgba(255,255,255,.03) 0 3px, transparent 3px 26px), linear-gradient(135deg,#123A66,#0A2440);
  color:#fff;
}
.testi-band .sec-head p{color:#C9D8EA;}
.testi-band .eyebrow{color:var(--ochre);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testi-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:24px;}
.testi-card p{font-size:13.5px;line-height:1.7;color:#E4ECF5;margin:0 0 20px;font-style:italic;}
.testi-who{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:38px;height:38px;border-radius:50%;background:var(--ochre);flex-shrink:0;}
.testi-who .nm{font-size:13px;font-weight:600;color:#fff;}
.testi-who .rl{font-size:11.5px;color:#9FB4CE;}

/* partners */
.partner-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;opacity:.8;}
.partner-chip{
  height:44px;padding:0 22px;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;
  font-size:12px;font-weight:600;color:var(--ink-faint);
}

/* newsletter */
.news-band{background:var(--blue-light);}
.news-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;}
.news-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.news-form select,.news-form input{
  padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-family:'Sora';font-size:13px;background:#fff;
}
.news-form .full{grid-column:1/-1;display:flex;gap:10px;}
.news-form .full input{flex:1;}

/* faq */
.faq-item{border-bottom:1px solid var(--line);padding:18px 0;cursor:pointer;}
.faq-item .q{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14.5px;}
.faq-item .q i{font-size:18px;color:var(--ink-faint);}
.faq-item .a{font-size:13px;color:var(--ink-soft);line-height:1.7;margin-top:10px;max-width:720px;}

/* footer */
.site-footer{background:var(--blue-deep);color:#A9BFD8;padding-top:56px;}
.foot-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.foot-cols h4{color:#fff;font-size:13px;margin:0 0 16px;font-weight:600;}
.foot-cols p{font-size:13px;line-height:1.75;color:#93AAC6;max-width:280px;}
.foot-cols a{display:block;font-size:13px;color:#93AAC6;line-height:2.1;}
.foot-cols a:hover{color:#fff;}
.foot-bottom{margin-top:40px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:11.5px;color:#5F7A9C;}

/* ===== PAGE SWITCHER (outil de démo — n'existera pas en production) ===== */
.demo-bar{background:var(--ink);color:#fff;padding:9px 0;font-size:12px;position:sticky;top:0;z-index:200;}
.demo-bar .wrap{display:flex;align-items:center;gap:14px;overflow-x:auto;}
.demo-bar select{
  background:#2A2A28;color:#fff;border:1px solid #444;border-radius:6px;padding:6px 10px;font-family:'Sora';font-size:12px;
}
.demo-bar .lbl{color:#9a9a97;flex-shrink:0;}
.page{display:none;}
.page.active{display:block;}

/* ===== DASHBOARD SHELL ===== */
.dash-header{background:var(--offwhite);border-bottom:1px solid var(--line);padding:26px 0;}
.dash-header .who{display:flex;align-items:center;gap:12px;}
.dash-avatar{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces';font-weight:600;}
.dash-header .nm{font-size:15px;font-weight:600;}
.dash-header .rl{font-size:12px;color:var(--ink-soft);}
.dash-shell{display:grid;grid-template-columns:230px 1fr;gap:0;}
.dash-sidebar{border-right:1px solid var(--line);padding:28px 0;}
.dash-sidebar a{
  display:flex;align-items:center;gap:10px;padding:11px 28px;font-size:13.5px;color:var(--ink-soft);font-weight:500;
  border-left:3px solid transparent;
}
.dash-sidebar a.on{color:var(--blue);border-left-color:var(--blue);background:var(--blue-light);font-weight:600;}
.dash-content{padding:36px 40px;}
.dash-content h2{font-size:22px;margin:0 0 24px;}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:32px;}
.kpi-card{background:var(--offwhite);border:1px solid var(--line);border-radius:12px;padding:18px 20px;}
.kpi-card .n{font-family:'Fraunces';font-size:26px;font-weight:600;color:var(--blue);}
.kpi-card .l{font-size:12px;color:var(--ink-soft);margin-top:2px;}

table.dtable{width:100%;border-collapse:collapse;font-size:13px;}
table.dtable th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);padding:10px 12px;border-bottom:2px solid var(--line);}
table.dtable td{padding:13px 12px;border-bottom:1px solid var(--line);}
.status-pill{padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;}
.status-pill.pub{background:var(--green-light);color:var(--green);}
.status-pill.mod{background:var(--ochre-light);color:#7A5714;}
.status-pill.cor{background:#FBE7DF;color:var(--terra);}
.status-pill.wait{background:#EDEDEB;color:var(--ink-soft);}

.form-block{background:var(--offwhite);border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin-top:20px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.f-row label,.f-full label{display:block;font-size:11.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;}
.f-row input,.f-row select,.f-full input,.f-full select,.f-full textarea{
  width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-family:'Sora';font-size:13.5px;background:#fff;
}
.f-full{margin-bottom:14px;}

/* checklist (moderation) */
.check-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);}
.check-row .lab{font-size:13.5px;font-weight:600;}
.check-row .sub{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.seg{display:flex;gap:6px;}
.seg button{border:1px solid var(--line);background:#fff;font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:6px;cursor:pointer;}
.seg button.ok{border-color:var(--green);color:var(--green);background:var(--green-light);}
.seg button.ko{border-color:var(--terra);color:var(--terra);background:#FBE7DF;}
.queue-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;}
.queue-item.sel{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-light);}
.queue-item .t{font-weight:600;font-size:13px;}
.queue-item .s{font-size:11.5px;color:var(--ink-soft);margin-top:2px;}
.queue-item .tm{font-size:10.5px;color:var(--terra);font-weight:700;margin-top:8px;}

/* generic simple page */
.simple-hero{background:var(--offwhite);padding:50px 0;text-align:center;border-bottom:1px solid var(--line);}
.simple-hero .eyebrow{justify-content:center;display:flex;}
.simple-hero h1{font-size:32px;margin:8px 0 10px;}
.simple-hero p{font-size:14.5px;color:var(--ink-soft);max-width:560px;margin:0 auto;}

.empty-state{text-align:center;padding:90px 20px;}
.empty-state .ic{width:64px;height:64px;border-radius:50%;background:var(--blue-light);margin:0 auto 20px;display:flex;align-items:center;justify-content:center;}
.empty-state h2{font-size:22px;margin:0 0 10px;}
.empty-state p{font-size:13.5px;color:var(--ink-soft);max-width:400px;margin:0 auto 22px;}

.breadcrumb{font-size:12.5px;color:var(--ink-faint);padding:20px 0 0;}
.breadcrumb b{color:var(--ink);font-weight:600;}

@media(max-width:1000px){
  .grid4,.profile-grid,.trust-grid,.testi-grid{grid-template-columns:1fr 1fr;}
  .intro-band,.news-inner,.filter-card{grid-template-columns:1fr;}
  .navlinks{display:none;}
  .dash-shell{grid-template-columns:1fr;}
  .kpi-row{grid-template-columns:1fr;}
}
