*{box-sizing:border-box}
:root{
  --blue:#123fa8;
  --red:#ef1e28;
  --pale:#eef9ff;
  --text:#123fa8;
  --green:#25b86a;
}
html,body{margin:0;padding:0;background:#fff;color:var(--text);font-family:Inter,Arial,sans-serif}
body{min-width:320px}
.site-header{
  height:73px;display:flex;align-items:center;padding:0 7.3%;
  border-bottom:1px solid #edf0f4;background:#fff;gap:30px
}
.brand{width:75px;display:flex;align-items:center}
.brand img{width:70px;height:61px;object-fit:cover;object-position:center;border-radius:2px}
.nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.nav a{font-size:14px;font-weight:700;color:var(--blue);text-decoration:none;white-space:nowrap;height:73px;display:flex;align-items:center;position:relative}
.nav a.active{color:var(--red)}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--red)}
.header-right{display:flex;align-items:center;gap:34px;margin-left:8px}
.langs{font-size:13px;font-weight:700;white-space:nowrap;display:flex;gap:5px}
.langs .selected{color:var(--red)}
.support{border:1.5px solid #ff6269;border-radius:28px;padding:11px 25px;color:var(--red);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}

.hero{height:359px;position:relative;overflow:hidden;background:#fff}
.hero-copy{width:55%;height:100%;padding:27px 5% 22px 3.7%;position:relative;z-index:2;background:linear-gradient(90deg,#fff 0%,#fff 70%,rgba(255,255,255,.97) 82%,rgba(255,255,255,0) 100%)}
.eyebrow{font-size:13px;letter-spacing:1.4px;font-weight:800;color:var(--red);margin-bottom:8px}
h1{font-family:"Playfair Display",Georgia,serif;font-size:55px;line-height:1.04;letter-spacing:-1.7px;margin:0 0 12px;color:var(--blue);font-weight:700}
h1 span{color:var(--red)}
.hero-copy p{font-size:16px;line-height:1.35;margin:5px 0;color:var(--blue);max-width:690px}
.hero-copy .lead{font-size:17px;margin-bottom:4px}
.hero-actions{display:flex;gap:20px;margin-top:15px}
.btn{height:48px;padding:0 28px;border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:28px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.1px}
.btn b{font-size:22px;line-height:0}
.btn-red{background:var(--red);color:#fff;min-width:267px}
.btn-outline{border:2px solid var(--blue);color:var(--blue);min-width:240px}
.hero-photo{position:absolute;z-index:1;right:0;top:0;width:61%;height:100%;background-image:url("assets/hero.jpg");background-size:cover;background-position:center center}

.glance{height:151px;background:#effaff;padding-top:16px}
h2{font-size:17px;letter-spacing:3px;text-align:center;margin:0;font-weight:800;color:var(--blue)}
.glance-grid{height:113px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;width:61%;margin:0 auto}
.stat{display:flex;align-items:center;justify-content:center;gap:20px}
.stat strong{display:block;color:var(--red);font-size:42px;line-height:.9}
.stat small{display:block;font-size:14px;line-height:1.35;font-weight:700;margin-top:5px;color:var(--blue)}
.stat small em{font-style:normal;font-weight:500}
.divider{height:67px;background:#c8d9ef}
.stat-icon{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;font-size:43px;flex:none}
.people-icon{background:#ffe3e3;color:var(--blue)}
.heart-icon{background:#ffe1e1;color:var(--red)}

.what{height:155px;background:#fff;padding-top:16px}
.what-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;padding:18px 3.7% 0}
.what-card{display:flex;gap:24px;align-items:center}
.round{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;flex:none}
.round.blue{background:#edf7ff}.round.red{background:#ffe9e9}.round.green{background:#dcf9e9}
.what-card h3{font-size:16px;margin:0 0 7px;color:var(--blue)}
.what-card p{font-size:14px;line-height:1.35;margin:0;color:var(--blue)}
.magnify{width:27px;height:27px;border:2.5px solid var(--blue);border-radius:50%;position:relative}
.magnify:after{content:"";position:absolute;width:12px;height:2.5px;background:var(--blue);right:-9px;bottom:-5px;transform:rotate(48deg);border-radius:2px}
.heart{font-size:43px;color:var(--red);line-height:1}
.people{font-size:40px;color:var(--green)}

.partners{height:149px;background:#effaff;padding-top:15px}
.partner-row{width:67%;margin:3px auto 0;height:108px;display:grid;grid-template-columns:1fr 1px 1.35fr 1px 1fr;align-items:center}
.partner{text-align:center;display:flex;align-items:center;justify-content:center;height:100%}
.partner img{max-width:145px;max-height:100px;object-fit:contain;mix-blend-mode:multiply}
.partner img.taoufik{max-width:240px;max-height:66px}
.partner-sep{height:66px;background:#c8d9ef}

@media(max-width:1050px){
  .site-header{padding:0 3%;gap:15px}
  .nav{gap:16px}
  .header-right{gap:12px}
  .support{padding:10px 16px}
  h1{font-size:43px}
  .hero-copy{padding-left:4%}
  .glance-grid{width:80%}
  .what-grid{gap:25px}
}
@media(max-width:780px){
  .site-header{height:auto;min-height:70px;flex-wrap:wrap;padding:10px 4%}
  .nav{order:3;width:100%;overflow:auto;justify-content:flex-start;padding-bottom:5px}
  .nav a{height:38px}
  .nav a.active:after{bottom:0}
  .header-right{margin-left:auto}
  .langs{display:none}
  .hero{height:auto;position:relative;display:block}
  .hero-copy{width:100%;height:auto;padding:25px 6% 30px;background:#fff}
  .hero-photo{position:relative;right:auto;top:auto;width:100%;height:330px}
  h1{font-size:46px}
  .glance{height:auto;padding:18px 5% 25px}
  .glance-grid{width:100%;grid-template-columns:1fr;gap:18px;height:auto}
  .divider{display:none}
  .what{height:auto;padding:18px 5% 28px}
  .what-grid{grid-template-columns:1fr;gap:20px;padding:20px 0 0}
  .partners{height:auto;padding:18px 5% 25px}
  .partner-row{width:100%;height:auto;grid-template-columns:1fr;gap:12px}
  .partner-sep{height:1px;width:100%}
}
@media(max-width:480px){
  .brand{width:60px}.brand img{width:58px;height:52px}
  .support{font-size:12px;padding:9px 13px}
  h1{font-size:37px}
  .eyebrow{font-size:11px}
  .hero-copy p{font-size:14px}
  .hero-actions{flex-direction:column;gap:10px}
  .btn{width:100%;min-width:0}
}

/* Clean, balanced line-art people icons */
.people-svg{
  width:48px;
  height:38px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.people-svg-wrap{
  display:block;
  width:48px;
  height:38px;
}
.people-icon{color:var(--blue)}
.people-green{color:var(--green)}
