  /* Polices hebergees localement (Inter et Sora, licence SIL Open Font License) */
  @font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
    src:url('/assets/fonts/inter-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;
    src:url('/assets/fonts/inter-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:'Sora';font-style:normal;font-weight:500 700;font-display:swap;
    src:url('/assets/fonts/sora-latin-ext.woff2') format('woff2');
    unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
  @font-face{font-family:'Sora';font-style:normal;font-weight:500 700;font-display:swap;
    src:url('/assets/fonts/sora-latin.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

  :root{
    --bg:#ffffff; --surface:#f5f8fa; --card:#ffffff;
    --text:#0e1a24; --muted:#566775; --line:#e2e9ef;
    --brand:#0b5e86; --brand-2:#13a0b8; --brand-ink:#083b53;
    --ring:rgba(11,94,134,.14);
    --shadow:0 1px 2px rgba(14,26,36,.05), 0 12px 32px -14px rgba(14,26,36,.22);
    --todo-bg:#fff4d6; --todo-line:#e0a800; --todo-text:#5c4300;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0b1116; --surface:#121b22; --card:#141e26; --text:#e8f0f6; --muted:#9db0bd;
      --line:#223039; --brand:#4fb3dd; --brand-2:#43d3c6; --brand-ink:#bfe4f5;
      --ring:rgba(79,179,221,.2);
      --shadow:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -18px rgba(0,0,0,.75);
      --todo-bg:#3a2f12; --todo-line:#c99a16; --todo-text:#f5e0a8;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0b1116; --surface:#121b22; --card:#141e26; --text:#e8f0f6; --muted:#9db0bd;
    --line:#223039; --brand:#4fb3dd; --brand-2:#43d3c6; --brand-ink:#bfe4f5;
    --ring:rgba(79,179,221,.2);
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -18px rgba(0,0,0,.75);
    --todo-bg:#3a2f12; --todo-line:#c99a16; --todo-text:#f5e0a8;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--bg);color:var(--text);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
  h1,h2,h3,.logo{font-family:Sora,Inter,sans-serif;letter-spacing:-.02em;line-height:1.2}
  a{color:var(--brand);text-decoration:none}
  a:hover{text-decoration:underline}
  .wrap{width:100%;max-width:1060px;margin:0 auto;padding:0 16px}

  .nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);
       backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.12rem;color:var(--text)}
  .logo:hover{text-decoration:none}
  .logo .mark{width:34px;height:34px;flex:none}
  .logo .light{color:var(--brand)}
  .nav-links{display:flex;gap:26px;align-items:center}
  .nav-links a{color:var(--muted);font-size:.94rem;font-weight:500}
  .nav-links a:hover{color:var(--text);text-decoration:none}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;
       font-weight:600;font-size:.95rem;border:1px solid transparent;transition:transform .15s ease}
  .btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;
       box-shadow:0 8px 20px -10px var(--brand)}
  .btn-primary:hover{text-decoration:none;transform:translateY(-1px)}
  .btn-ghost{border-color:var(--line);color:var(--text);background:var(--card)}
  .btn-ghost:hover{text-decoration:none;border-color:var(--brand);color:var(--brand)}
  @media(max-width:760px){ .nav-links{display:none} }

  .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
    background:radial-gradient(1200px 420px at 15% -10%, var(--ring), transparent 60%),
               linear-gradient(180deg,var(--surface),var(--bg))}
  .hero-grid{position:absolute;inset:0;opacity:.5;pointer-events:none;color:var(--text)}
  .hero-in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:86px 0 78px}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;
    background:var(--card);border:1px solid var(--line);color:var(--brand-ink);
    font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--brand-2)}
  h1{font-size:clamp(2.1rem,4.6vw,3.25rem);margin:20px 0 18px;font-weight:700}
  h1 .grad{background:linear-gradient(120deg,var(--brand),var(--brand-2));-webkit-background-clip:text;
    background-clip:text;color:transparent}
  .hero p{color:var(--muted);font-size:1.1rem;max-width:54ch;margin:0 0 30px}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
  .hero-art{justify-self:center;width:100%;max-width:350px}
  @media(max-width:860px){
    .hero-in{grid-template-columns:1fr;gap:34px;padding:58px 0 54px}
    .hero-art{max-width:270px;order:-1}
  }

  section{padding:76px 0}
  .section-head{max-width:660px;margin-bottom:40px}
  .kicker{color:var(--brand);font-weight:600;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
  h2{font-size:clamp(1.55rem,2.8vw,2.05rem);margin:0 0 14px;font-weight:600}
  .section-head p{color:var(--muted);margin:0;font-size:1.04rem}
  .alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:20px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px;
    box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}
  .card:hover{transform:translateY(-3px);border-color:var(--brand)}
  .icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
  .icon svg{width:22px;height:22px}
  .card h3{font-size:1.06rem;margin:0 0 8px;font-weight:600}
  .card p{color:var(--muted);margin:0;font-size:.96rem}

  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:18px}
  .stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
  .stat b{display:block;font-family:Sora,sans-serif;font-size:1.65rem;color:var(--brand);line-height:1.15}
  .stat span{color:var(--muted);font-size:.9rem}

  .about{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
  .about p{color:var(--muted);margin:0 0 16px}
  .about .lead{color:var(--text);font-size:1.07rem}
  @media(max-width:860px){ .about{grid-template-columns:1fr;gap:28px} }

  .scope{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;list-style:none;margin:0;padding:0}
  .scope li{display:flex;gap:11px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
    border-radius:12px;padding:14px 16px;font-size:.96rem}
  .scope svg{width:17px;height:17px;flex:none;margin-top:5px;color:var(--brand-2)}

  .timeline{list-style:none;margin:0;padding:0;display:grid;gap:4px}
  .timeline li{display:grid;grid-template-columns:132px 1fr;gap:22px;padding:20px 0;border-top:1px solid var(--line)}
  .timeline li:first-child{border-top:none}
  .timeline time{color:var(--brand);font-weight:600;font-size:.93rem}
  .timeline h3{font-size:1.03rem;margin:0 0 6px;font-weight:600}
  .timeline p{color:var(--muted);margin:0;font-size:.96rem}
  @media(max-width:620px){ .timeline li{grid-template-columns:1fr;gap:6px} }

  .contact-card{border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow);
    background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--card)),var(--card));
    display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
  .contact-list{display:grid;gap:16px;margin:0;padding:0;list-style:none}
  .contact-list li{display:flex;gap:14px;align-items:flex-start}
  .contact-list .ci{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;
    background:var(--surface);border:1px solid var(--line);color:var(--brand)}
  .contact-list .ci svg{width:18px;height:18px}
  .contact-list b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
  @media(max-width:860px){ .contact-card{grid-template-columns:1fr;padding:28px} }

  footer{border-top:1px solid var(--line);background:var(--surface);padding:34px 0;color:var(--muted);font-size:.88rem}
  .foot-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}

  .todo{background:var(--todo-bg);border-bottom:2px dotted var(--todo-line);color:var(--todo-text);
    padding:1px 6px;border-radius:4px;font-weight:600;font-size:.92em}

  .legal{max-width:820px;padding-top:56px;padding-bottom:72px}
  .legal h1{font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 12px}
  .legal-intro{color:var(--muted);margin:0 0 8px}
  .legal section{padding:28px 0 0;border-top:1px solid var(--line);margin-top:28px}
  .legal h2{font-size:1.2rem;margin:0 0 14px}
  .legal p{color:var(--muted);margin:0 0 12px}
  .legal p strong{color:var(--text)}
  .legal dl{display:grid;grid-template-columns:220px 1fr;gap:10px 20px;margin:0}
  .legal dt{color:var(--muted);font-size:.93rem}
  .legal dd{margin:0}
  @media(max-width:620px){ .legal dl{grid-template-columns:1fr;gap:2px} .legal dd{margin-bottom:12px} }
  footer a{color:var(--muted);text-decoration:underline}
  footer a:hover{color:var(--text)}

  .lang{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;
    overflow:hidden;background:var(--card);font-size:.82rem;font-weight:600}
  .lang a{padding:7px 12px;color:var(--muted)}
  .lang a:hover{text-decoration:none;color:var(--text)}
  .lang a[aria-current="true"]{background:var(--brand);color:#fff}
  .nav-right{display:flex;align-items:center;gap:12px}
  @media(max-width:620px){
    .nav-in{height:60px}
    .logo{font-size:1rem;gap:8px}
    .logo .mark{width:28px;height:28px}
    .nav-right .btn{display:none}
  }
