
:root{
  --ink:#17252b; --muted:#5a6b72; --line:#dbe7ea; --wash:#f6fbfb; --teal:#16a6ab; --teal-dark:#0f737c; --blue:#315d76; --gold:#c9aa4d; --soft:#eef7f8; --white:#fff; --shadow:0 20px 55px rgba(18,55,65,.10); --radius:24px; --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.62}a{color:var(--teal-dark);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.skip{position:absolute;left:-999px;top:10px;background:#fff;padding:10px;border:1px solid var(--line);z-index:100}.skip:focus{left:10px}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:18px}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);min-width:265px}.brand:hover{text-decoration:none}.brand .mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 6px 16px rgba(0,0,0,.05);overflow:hidden}.brand .mark img{width:100%;height:100%;object-fit:contain}.brand-title{font-weight:800;letter-spacing:.02em;font-size:17px}.brand-sub{font-size:12px;color:var(--muted)}.nav{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.nav a{font-size:13px;font-weight:700;color:#2f454d;padding:9px 10px;border-radius:999px}.nav a.active,.nav a:hover{background:var(--soft);text-decoration:none;color:var(--teal-dark)}.lang{display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;margin-left:4px}.lang button{border:0;background:transparent;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer}.lang button.active{background:var(--teal);color:#fff}.mobile-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800}.hero{background:linear-gradient(180deg,#f7fbfb 0%,#fff 100%);padding:84px 0 70px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eyebrow,.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--teal-dark);margin:0 0 14px}.h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;color:#132a32}.h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.03em;margin:0;color:#132a32}.h3{font-size:22px;line-height:1.2;margin:0 0 10px}.lead{font-size:clamp(18px,2.1vw,23px);color:#43565e;max-width:760px;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;background:var(--teal-dark);color:#fff;font-weight:800;border:1px solid var(--teal-dark);box-shadow:0 8px 22px rgba(15,115,124,.18)}.btn:hover{text-decoration:none;background:#0a5e66}.btn.secondary{background:#fff;color:var(--teal-dark);border-color:#b6d9dd;box-shadow:none}.visual-panel{background:#fff;border:1px solid var(--line);border-radius:34px;padding:32px;box-shadow:var(--shadow)}.visual-main{display:flex;align-items:center;gap:22px}.visual-main img{width:132px;height:132px;object-fit:contain}.visual-main strong{font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.1}.mini-stat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.stat{padding:18px;border-radius:20px;background:var(--wash);border:1px solid var(--line)}.stat b{display:block;font-size:28px;line-height:1.1;color:var(--teal-dark)}.stat span{font-size:13px;color:var(--muted)}section{padding:72px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:end;margin-bottom:34px}.intro{color:var(--muted);font-size:17px;margin:0}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 25px rgba(20,70,80,.04)}.card.soft{background:var(--wash)}.card p{color:var(--muted);margin:0}.card h3{margin:0 0 10px}.card-logo{height:96px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:16px}.card-logo img{max-height:92px;max-width:220px;object-fit:contain}.logo-tile{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;display:flex;align-items:center;justify-content:center;min-height:150px}.logo-tile img{max-width:100%;max-height:130px;object-fit:contain}.band{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-hero{background:linear-gradient(180deg,#f7fbfb 0%,#fff 100%);padding:62px 0 42px;border-bottom:1px solid var(--line)}.page-hero .h1{font-size:clamp(38px,5.2vw,64px)}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}.timeline{display:grid;gap:14px;counter-reset:step}.timeline-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px 23px 23px 72px}.timeline-item:before{counter-increment:step;content:counter(step);position:absolute;left:24px;top:24px;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:900}.timeline-item h3{margin:0 0 6px}.timeline-item p{margin:0;color:var(--muted)}.program-map{display:grid;gap:16px}.map-row{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:stretch}.map-label{background:#122b34;color:#fff;border-radius:22px;padding:18px;font-weight:900}.map-content{border:1px solid var(--line);border-radius:22px;padding:18px;background:#fff;color:var(--muted)}.source-list{display:grid;gap:12px}.source-list a{display:block;border:1px solid var(--line);border-radius:18px;padding:15px 18px;background:#fff;font-weight:800}.contact-box{display:grid;grid-template-columns:.92fr 1.08fr;gap:20px}.form label{font-weight:800;font-size:13px;color:#43565e;display:block;margin-bottom:6px}.form input,.form select,.form textarea{width:100%;border:1px solid #cbdde2;border-radius:14px;padding:13px 14px;font:inherit;margin-bottom:14px;background:#fff}.form textarea{min-height:150px}.partner-feature{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;border:1px solid var(--line);border-radius:28px;padding:24px;background:#fff;box-shadow:0 8px 24px rgba(20,70,80,.04)}.partner-feature img{max-width:100%;max-height:170px;object-fit:contain}.footer{background:#102932;color:#dceced;padding:46px 0;margin-top:35px}.footer a{color:#b9f3f4}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:28px}.muted{color:#b9c9ce}.footer .footer-mark{width:92px;height:92px;object-fit:contain;margin-bottom:10px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}.fr .lang-en{display:none!important}.en .lang-fr{display:none!important}
@media(max-width:980px){.hero-grid,.section-head,.contact-box,.partner-feature{grid-template-columns:1fr}.three,.four,.two{grid-template-columns:1fr 1fr}.nav{display:none;position:absolute;left:16px;right:16px;top:76px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow);justify-content:flex-start}.nav.open{display:flex}.mobile-toggle{display:inline-flex}.header{position:relative}.brand{min-width:0}.hero{padding-top:52px}.mini-stat{grid-template-columns:1fr 1fr}.map-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{padding:0 18px}.three,.four,.two{grid-template-columns:1fr}.mini-stat{grid-template-columns:1fr}.h1{font-size:40px}.visual-main{display:block}.visual-main img{margin-bottom:12px}.nav a{width:100%}.lang{width:100%;justify-content:center}.partner-feature{padding:18px}.footer{padding-bottom:72px}}

@media(max-width:900px){.header{min-height:auto;padding:14px 0}.brand{min-width:0;gap:10px}.brand .mark{width:44px;height:44px;flex:0 0 44px}.brand-title{font-size:16px;line-height:1.2}.brand-sub{font-size:12px;line-height:1.25}}
