/* PunchQual — page d'accueil publique. Typographie de signalétique (Barlow, police libre OFL), palette du logo. */
@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(fonts/barlow-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(fonts/barlow-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(fonts/barlow-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(fonts/barlow-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(fonts/barlow-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(fonts/barlow-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --night:#071423; --night-2:#0d2136; --blue:#0b6fd1; --blue-d:#0957a6; --sky:#3ea6ff;
  --steel:#e9eef3; --paper:#ffffff; --ink:#0f1b2a; --muted:#4a5a6c; --line:#cfd8e2;
  --amber:#f2b01e; --ok:#1f9d6b; --soon:#e39b0b; --bad:#d64545;
  --display:'Barlow Condensed','Arial Narrow',sans-serif; --body:Barlow,system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--steel);color:var(--ink);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--blue-d)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;z-index:10}.skip:focus{left:8px}
.small{font-size:.9rem;color:var(--muted)}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:.005em;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
h3{font-size:1.45rem;font-weight:600}
p{margin:0 0 1em;max-width:68ch}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:6px;border:2px solid var(--ink);
  font:600 1rem/1 var(--body);color:var(--ink);background:transparent;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--paper)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn.ghost{border-color:transparent;min-height:40px;padding:0 12px}
.btn[disabled]{opacity:.6;cursor:wait}

/* En-tête */
.top{background:var(--steel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-in{display:flex;align-items:center;gap:20px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 1.5rem/1 var(--display)}
.logo img{border-radius:8px}
.nav{display:flex;gap:20px;margin-left:12px}
.nav a{color:var(--ink);text-decoration:none;font-weight:500}.nav a:hover{text-decoration:underline}
.top-act{margin-left:auto;display:flex;align-items:center;gap:8px}
.lang{font:500 .95rem var(--body);padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}

/* Accueil : texte à gauche, panneau d'accès à droite */
.hero{padding:56px 0 64px}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.lead{font-size:1.25rem;color:#24364a}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 12px}

/* Panneau d'accès site : l'élément signature de la page */
.board{margin:0;background:var(--night);color:#e8f0f8;border-radius:10px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(7,20,35,.55)}
.board::before{content:'';display:block;height:12px;background:repeating-linear-gradient(-45deg,var(--amber) 0 14px,var(--night) 14px 28px)}
.board-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px 10px;border-bottom:1px solid #1e3550}
.board-title{font:700 1.35rem/1.1 var(--display);letter-spacing:.01em}
.board-when{font:600 1rem var(--display);color:#9fb6cc}
.board-rows{list-style:none;margin:0;padding:6px 0}
.board-rows li{display:grid;grid-template-columns:14px 8.5rem 1fr auto;gap:12px;align-items:center;padding:11px 20px;border-bottom:1px solid #132a42}
.lamp{width:12px;height:12px;border-radius:50%}
.lamp.ok{background:var(--ok);box-shadow:0 0 0 3px rgba(31,157,107,.25)}
.lamp.soon{background:var(--soon);box-shadow:0 0 0 3px rgba(227,155,11,.25)}
.lamp.bad{background:var(--bad);box-shadow:0 0 0 3px rgba(214,69,69,.3)}
.lamp.miss{background:transparent;border:2px dashed #8aa3bb}
.who{font:600 1.08rem/1.2 var(--display)}
.what{color:#b9cadb;font-size:.95rem}
.st{font:600 .98rem/1.2 var(--display);white-space:nowrap}
.st.ok{color:#5fd3a2}.st.soon{color:#f6c35b}.st.bad{color:#ff8a8a}.st.miss{color:#c3d2e0}
.board-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;background:var(--night-2);font-weight:500}
.board-link{color:var(--sky);font-weight:600}
.board figcaption{padding:10px 20px 14px;color:#8aa3bb;background:var(--night-2)}

/* Ce que fait l'outil */
.jobs{padding:24px 20px 56px}
.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:20px}
.jobs-grid article{border-top:3px solid var(--ink);padding-top:16px}
.extras{margin:36px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 36px;color:var(--muted)}
.extras li{padding-left:18px;position:relative}.extras li::before{content:'';position:absolute;left:0;top:.65em;width:8px;height:8px;background:var(--blue);border-radius:2px}

/* Bandeau passeport de prévention */
.band{background:var(--paper);border-block:1px solid var(--line);padding:56px 0}
.band-in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.steps{margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s);font:700 1.8rem/1 var(--display);color:var(--blue)}

/* Tarifs */
.pricing{padding:56px 20px}
.sub{color:var(--muted)}
.tbl-wrap{overflow-x:auto;margin:20px 0 12px;-webkit-overflow-scrolling:touch}
.price{width:100%;min-width:640px;border-collapse:collapse;background:var(--paper);border:1px solid var(--line)}
.price th,.price td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.price thead th{font:700 1.35rem var(--display)}
.price tbody th{font-weight:500;color:var(--muted);width:22%}
.price tbody tr:first-child td{font:700 1.7rem var(--display)}
.price .hl{background:#eaf3fd}
.price thead .hl{box-shadow:inset 0 4px 0 var(--blue)}

/* Fondateurs */
.founders{background:var(--night);color:#e8f0f8;padding:64px 0}
.founders a{color:var(--sky)}
.founders-in{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.f-terms{margin:20px 0 0}
.f-terms dt{font:700 1.2rem var(--display);color:var(--amber);margin-top:16px}
.f-terms dd{margin:4px 0 0;color:#c9d7e5}
.places{font:700 1.5rem var(--display);margin-top:24px}
.lead-form{background:var(--paper);color:var(--ink);border-radius:10px;padding:24px}
.lead-form label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:.95rem}
.lead-form input,.lead-form select,.lead-form textarea{font:400 1rem var(--body);padding:10px 12px;border:1px solid #b9c6d3;border-radius:6px;background:#fff;color:var(--ink);min-width:0}
.lead-form .g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.lead-form .full{margin-bottom:14px}
.kind{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.kind legend{font:700 1.2rem var(--display);margin-bottom:6px}
.kind label,.consent{flex-direction:row!important;align-items:flex-start;gap:8px!important;font-weight:400!important}
.kind input,.consent input{margin-top:5px;width:18px;height:18px;flex:none}
.consent{margin:4px 0 16px;font-size:.92rem!important;color:var(--muted)}
.hp{position:absolute!important;left:-9999px}
.form-msg{margin:12px 0 0;font-weight:500}.form-msg.ok{color:var(--ok)}.form-msg.err{color:var(--bad)}

.origin{padding:56px 20px}
.foot{border-top:1px solid var(--line);padding:28px 0 40px}
.foot-in{display:flex;flex-direction:column;gap:6px}

@media (max-width:900px){
  .hero-in,.band-in,.founders-in{grid-template-columns:1fr;gap:32px}
  .jobs-grid,.extras{grid-template-columns:1fr;gap:24px}
  .nav{display:none}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .hero{padding:32px 0 40px}
  .board-rows li{grid-template-columns:14px 1fr auto;row-gap:2px}
  .board-rows .what{grid-column:2 / 4;grid-row:2}
  .lead-form .g2{grid-template-columns:1fr}
  .btn{width:100%}
  .top-act .btn{width:auto}
  .lead-form{padding:18px}
}

#siret-msg.ok{color:var(--ok)}#siret-msg.err{color:var(--bad)}
.lead-form input[readonly]{background:#eef3f8}
.done{background:var(--paper);color:var(--ink);border-radius:10px;padding:24px}
.done h3{font-size:1.6rem}
.qualiopi{background:var(--paper);border-left:4px solid var(--blue);padding:12px 16px;margin:8px 0 12px;max-width:none}
.legal{padding:40px 20px 56px;max-width:820px}.legal h2{font-size:1.5rem;margin-top:28px}
