/* Upskill Partner — feuille de style */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/inter-400.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url("../fonts/inter-500.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/inter-600.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/inter-700.woff") format("woff")}

:root{
  --accent:#1E4D3A;
  --accent-dark:#143528;
  --accent-soft:#D6E4DC;
  --ink:#1D1D1B;
  --ink-2:#45453F;
  --ink-3:#6B6B63;
  --bg:#F7F7F4;
  --bg-2:#ECECE6;
  --line:#DCDCD4;
  --white:#FFFFFF;
  --max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent)}
a:hover{color:var(--accent-dark)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.02em;line-height:1.15}
p{margin:0}
.container{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{display:block;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:12px 16px;z-index:100}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;background:var(--accent);color:#fff;font:inherit;font-size:16px;font-weight:600;text-decoration:none;border:0;border-radius:2px;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--accent-dark);color:#fff}
.btn[disabled]{opacity:.6;cursor:wait}

/* En-tête */
.header{position:sticky;top:0;z-index:50;background:rgba(247,247,244,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.header.scrolled{border-bottom-color:var(--line)}
.header .container{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-mark{width:34px;height:34px;flex:none}
.brand-name{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.brand-name span{color:var(--accent)}
.nav{display:flex;flex-wrap:wrap;gap:8px 32px;align-items:center;font-size:15px;font-weight:500}
.nav a{color:var(--ink-2);text-decoration:none;padding:6px 0}
.nav a:hover{color:var(--ink)}
.nav .nav-cta{color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:4px}

/* Héros */
.hero{padding:120px 0 112px;text-align:center}
.hero .container{display:flex;flex-direction:column;align-items:center;gap:30px}
.hero h1{font-size:clamp(38px,5.4vw,62px);max-width:920px;letter-spacing:-0.03em}
.hero p{font-size:19px;line-height:1.65;color:var(--ink-2);max-width:660px}

/* Références */
.refs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0}
.refs .container{display:flex;flex-direction:column;gap:24px;align-items:center}
.refs-label{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);font-weight:600;text-align:center}
.logos{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.logos li{height:100px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--white);padding:16px}
.logos img{max-width:72%;max-height:52px;width:auto;height:auto;object-fit:contain;opacity:.85;transition:opacity .2s}
.logos li:hover img{opacity:1}
.logos img.small{height:30px;max-height:30px}

/* Sections */
.section{padding:112px 0}
.section-title{text-align:center;font-size:clamp(30px,3.4vw,42px);margin-bottom:64px}

/* Expertises */
.expertises{list-style:none;margin:0;padding:0}
.expertise{display:flex;flex-wrap:wrap;gap:20px 64px;padding:44px 0;border-top:1px solid var(--line)}
.expertise:last-child{border-bottom:1px solid var(--line)}
.expertise-num{flex:0 0 72px;font-size:15px;font-weight:700;color:var(--accent)}
.expertise h3{flex:1 1 280px;font-size:26px}
.expertise-body{flex:2 1 440px;display:flex;flex-direction:column;gap:14px}
.expertise-body p{color:var(--ink-2);line-height:1.7}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tags li{font-size:13px;font-weight:500;color:var(--ink-2);background:var(--bg-2);padding:6px 12px;border-radius:999px}

/* Démarche */
.method{background:var(--accent);color:#fff}
.method .container{display:flex;flex-wrap:wrap;gap:64px}
.method-intro{flex:1 1 340px;display:flex;flex-direction:column;gap:18px}
.method-intro h2{font-size:clamp(30px,3.4vw,42px);line-height:1.2}
.method-intro p{color:var(--accent-soft);line-height:1.7}
.steps{flex:1 1 480px;list-style:none;margin:0;padding:0}
.steps li{display:flex;gap:24px;padding:24px 0;border-top:1px solid #4E7A66}
.steps li:last-child{border-bottom:1px solid #4E7A66}
.steps .n{flex:0 0 40px;font-weight:700;color:#B9D3C5}
.steps strong{display:block;font-size:18px;font-weight:600}
.steps span.d{display:block;font-size:15px;color:var(--accent-soft);margin-top:4px}

/* Équipe */
.team-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:64px}
.team-head h2{font-size:clamp(30px,3.4vw,42px)}
.team-head p{font-size:18px;line-height:1.75;color:var(--ink-2);max-width:720px}
.founder{display:flex;flex-wrap:wrap;gap:56px;align-items:center;justify-content:center}
.founder img{flex:0 1 380px;width:100%;max-width:380px;height:auto;aspect-ratio:4/5;object-fit:cover}
.founder-text{flex:1 1 420px;max-width:560px;display:flex;flex-direction:column;gap:16px}
.founder-name{font-size:32px;font-weight:600;letter-spacing:-0.02em}
.founder-role{font-size:16px;font-weight:500;color:var(--ink-2)}
.founder-text p{color:var(--ink-2);line-height:1.75}

/* Contact */
.contact{border-top:1px solid var(--line)}
.contact-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:40px}
.contact-head h2{font-size:clamp(32px,3.8vw,46px)}
.contact-head p{font-size:18px;color:var(--ink-2)}
.form{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.row{display:flex;flex-wrap:wrap;gap:18px}
.row .field{flex:1 1 240px}
.field{flex:none;display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--ink-2)}
.field input,.field textarea,.field select{font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid #CFCFC6;border-radius:2px;padding:0 14px;min-height:50px;width:100%}
.field textarea{padding:12px 14px;min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:2px solid rgba(30,77,58,.18);outline-offset:0}
.opt{font-weight:400;color:var(--ink-3)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2);line-height:1.5}
.consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--accent)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form .btn{align-self:center;margin-top:6px}
.form-status{text-align:center;font-size:16px;padding:16px;border-radius:2px;display:none}
.form-status.ok{display:block;background:#E3EEE8;color:var(--accent-dark)}
.form-status.err{display:block;background:#F6E5E2;color:#7A2418}

/* Pied de page */
.footer{background:var(--ink);color:#B5B5AC;font-size:14px}
.footer .container{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;padding-top:32px;padding-bottom:32px}
.footer a{color:#D8D8D0;text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}
.footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}

/* Pages légales */
.legal{padding:80px 0 112px}
.legal .container{max-width:820px}
.legal h1{font-size:clamp(32px,4vw,44px);margin-bottom:40px}
.legal h2{font-size:22px;margin:40px 0 12px}
.legal p,.legal li{color:var(--ink-2);line-height:1.75}
.legal p+p{margin-top:12px}

/* Mobile */
@media (max-width:720px){
  body{font-size:16px}
  .container{padding:0 20px}
  .header .container{padding-top:16px;padding-bottom:16px}
  .nav{gap:4px 20px;font-size:14px;width:100%}
  .hero{padding:72px 0 72px}
  .hero p{font-size:17px}
  .section{padding:80px 0}
  .section-title,.team-head{margin-bottom:44px}
  .logos{gap:8px}
  .logos li{height:72px;padding:10px}
  .logos img{max-width:88%;max-height:40px}
  .logos img.small{height:22px}
  .expertise{padding:32px 0;gap:12px}
  .expertise-num{flex-basis:100%}
  .founder{gap:32px}
  .founder img{max-width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
