/* Colipop : site vitrine. Police hébergée sur le site (aucun appel à Google). */
@font-face{font-family:"Bricolage Grotesque";src:url("bricolage.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
:root{
  --violet:#6C4BFF;--violet-fonce:#4B2FE0;--citron:#C6F432;--soleil:#FFD23F;--framboise:#FF3D7F;--orange:#FF8A3D;--ciel:#7FD6FF;
  --encre:#14121F;--encre-douce:#3B3850;--encre-claire:#4A4760;--lavande:#F6F4FF;--blanc:#fff;
  --o-s:3px 3px 0 var(--encre);--o-m:5px 5px 0 var(--encre);--o-l:8px 8px 0 var(--encre);
  --f:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lavande);color:var(--encre);font:500 18px/1.5 var(--f);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
a{color:var(--violet-fonce)}
img{max-width:100%}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sr{position:absolute;left:-9999px}
h1,h2,h3{font-weight:800;letter-spacing:-.04em;margin:0}
h2{font-size:clamp(38px,5vw,64px);line-height:.95}
.lede{font-size:20px;font-weight:500;color:var(--encre-douce);max-width:680px;margin:14px 0 44px}
section{scroll-margin-top:90px}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 24px;border-radius:18px;border:3px solid var(--encre);background:#fff;color:var(--encre);font-weight:800;font-size:18px;text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .08s,box-shadow .08s}
.btn:active{transform:translate(2px,2px)}
.btn.violet{background:var(--violet);color:#fff;box-shadow:var(--o-m)}
.btn.citron{background:var(--citron);box-shadow:var(--o-s)}
.btn.big{min-height:64px;font-size:20px;padding:0 30px}
.btn svg{width:22px;height:22px}

/* En-tête */
.top{position:sticky;top:0;z-index:20;background:rgba(246,244,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:3px solid transparent}
.top.scrolled{border-bottom-color:var(--encre)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;padding-top:16px;padding-bottom:16px}
.logo{margin-right:auto;display:block}.logo img{height:44px;display:block}
.nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-weight:700;font-size:17px}
.nav a{color:var(--encre);text-decoration:none}.nav a:hover{color:var(--violet-fonce)}
.top .btn{min-height:50px;font-size:17px;padding:0 20px}

/* Héros */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:40px;padding-bottom:80px}
.hero-text{flex:1 1 460px;display:flex;flex-direction:column;gap:26px}
.badge{align-self:flex-start;padding:7px 14px;border-radius:99px;border:2.5px solid var(--encre);background:var(--soleil);font-weight:800;font-size:15px;transform:rotate(-2deg)}
.hero h1{font-size:clamp(50px,7vw,96px);line-height:.9;letter-spacing:-.05em}
.hl{background:var(--violet);color:#fff;padding:0 .14em;border-radius:.14em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero p{margin:0;max-width:540px;font-size:clamp(18px,1.6vw,21px);color:var(--encre-douce)}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
.ticks{display:flex;flex-wrap:wrap;gap:10px 22px;font-weight:700;font-size:16px;margin:0;padding:0;list-style:none}
.ticks li{display:flex;align-items:center;gap:8px}
.tick{width:22px;height:22px;flex:none}
.hero-art{flex:1 1 420px;position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}
.blob{position:absolute;border:3px solid var(--encre)}
.blob.b1{width:300px;height:300px;border-radius:50%;background:var(--citron);right:0;top:0}
.blob.b2{width:120px;height:120px;border-radius:30px;background:var(--framboise);left:10px;bottom:10px;transform:rotate(-12deg)}
.mock{position:relative;width:100%;max-width:460px;background:#fff;border:3px solid var(--encre);border-radius:30px;box-shadow:var(--o-l);padding:18px;display:flex;flex-direction:column;gap:12px;transform:rotate(2deg)}
.mock-head{background:var(--violet);color:#fff;border:2.5px solid var(--encre);border-radius:20px;padding:14px 16px;display:flex;align-items:center;gap:12px}
.mock-head small{display:block;font-size:13px;font-weight:700;opacity:.9}
.mock-head b{font-size:24px;letter-spacing:-.02em}
.mock-head .n{margin-left:auto;font-size:30px;font-weight:800}.mock-head .n span{font-size:17px;opacity:.8}
.mrow{display:flex;align-items:center;gap:12px;padding:10px;border:2.5px solid var(--encre);border-radius:18px}
.mrow .pic{width:52px;height:52px;flex:none;border-radius:13px;border:2px solid var(--encre);display:grid;place-items:center}
.mrow .pic svg{width:38px}
.mrow .t{flex:1;min-width:0;font-weight:800;font-size:15px;line-height:1.15}.mrow .t small{display:block;font-size:13px;font-weight:600;color:var(--encre-claire)}
.mrow .tg{padding:6px 11px;border-radius:11px;border:2px solid var(--encre);font-size:13px;font-weight:800;white-space:nowrap}
.sticker{position:absolute;left:0;top:34px;padding:10px 16px;background:var(--soleil);border:2.5px solid var(--encre);border-radius:16px;box-shadow:4px 4px 0 var(--encre);font-weight:800;font-size:16px;transform:rotate(-6deg)}

/* Bandeau */
.band{background:var(--citron);border-top:3px solid var(--encre);border-bottom:3px solid var(--encre);padding:18px 0;transform:rotate(-1.2deg);margin:0 -20px}
.band ul{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 34px;font-size:clamp(22px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;list-style:none;margin:0;padding:0}
.band li::after{content:" ✦";color:var(--violet)}

/* Grilles de cartes */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));list-style:none;margin:0;padding:0}
.step{border:3px solid var(--encre);border-radius:26px;padding:26px;box-shadow:6px 6px 0 var(--encre);display:flex;flex-direction:column;gap:12px;min-height:240px}
.num{width:54px;height:54px;border-radius:16px;background:#fff;color:var(--encre);border:2.5px solid var(--encre);display:grid;place-items:center;font-size:28px;font-weight:800}
.step h3{font-size:28px;line-height:1;letter-spacing:-.03em;margin-top:8px}
.step p{margin:0;font-size:17px;font-weight:600}
.pad{padding-top:100px;padding-bottom:40px}

.two{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.card{background:#fff;border:3px solid var(--encre);border-radius:28px;padding:30px;box-shadow:6px 6px 0 var(--encre);display:flex;flex-direction:column;gap:16px}
.card h3{font-size:34px;line-height:1;letter-spacing:-.03em}
.card p{margin:0;font-size:18px;color:var(--encre-douce)}
.card.violet{background:var(--violet);color:#fff}.card.violet p{color:#fff;font-weight:600}
.pill{align-self:flex-start;padding:6px 13px;border-radius:99px;border:2.5px solid var(--encre);font-weight:800;font-size:14px;color:var(--encre)}
.items{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin:0;padding:0}
.items li{display:flex;align-items:center;gap:10px;padding:12px;border:2.5px solid var(--encre);border-radius:16px;background:var(--lavande);font-weight:800;font-size:16px}
.ico{width:38px;height:38px;flex:none;border-radius:11px;border:2px solid var(--encre);display:grid;place-items:center}
.ico svg{width:20px;height:20px}

.dark{background:var(--encre);color:#fff;border-radius:36px;padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;gap:34px}
.dark .head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px}
.dark h2{flex:1 1 480px;font-size:clamp(36px,4.6vw,60px)}
.dark .head p{flex:1 1 340px;margin:0;font-size:19px;color:#DAD7EA}
.dstep{color:var(--encre);border:3px solid var(--encre);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:12px}
.dstep h3{font-size:24px;letter-spacing:-.02em}
.dstep p{margin:0;font-size:17px;font-weight:600}
.dstep .path{margin-top:auto;padding:10px 14px;background:#fff;border:2.5px solid var(--encre);border-radius:14px;font-size:15px;font-weight:800}
.warn{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:2.5px solid var(--soleil);border-radius:20px}
.warn p{margin:0;font-size:17px;font-weight:600}

.feat{background:#fff;border:3px solid var(--encre);border-radius:26px;padding:26px;display:flex;gap:18px;align-items:flex-start}
.feat .ico{width:60px;height:60px;border-radius:18px;border-width:2.5px}.feat .ico svg{width:30px;height:30px}
.feat h3{font-size:23px;line-height:1.05;letter-spacing:-.02em;margin:2px 0 8px}
.feat p{margin:0;font-size:17px;color:var(--encre-douce)}
.head2{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:44px}
.head2 h2{flex:1 1 520px}.head2 p{flex:1 1 360px;margin:0;font-size:20px;color:var(--encre-douce)}

/* Tarifs */
.plans{max-width:900px}
.plan .top-line{display:flex;align-items:center;gap:10px}
.plan h3{font-size:26px;flex:1}
.plan .price{font-size:54px;line-height:1;font-weight:800;letter-spacing:-.04em}
.plan .unit{font-size:16px;font-weight:700;opacity:.85}
.plan ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:17px;font-weight:600}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan .btn{margin-top:auto}
.credit{display:flex;gap:14px;align-items:flex-start;background:#fff;border:3px solid var(--encre);border-radius:22px;padding:20px}
.credit .num{width:46px;height:46px;font-size:22px;border-radius:14px;flex:none}
.credit b{font-size:21px;letter-spacing:-.02em}.credit p{margin:6px 0 0;font-size:16px;color:var(--encre-douce)}

/* FAQ */
.faq{max-width:900px;margin:0 auto}
.faq details{background:#fff;border:3px solid var(--encre);border-radius:22px;padding:0 24px;margin-bottom:14px}
.faq summary{min-height:72px;display:flex;align-items:center;gap:16px;font-size:21px;font-weight:800;letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{flex:1}
.faq summary i{width:40px;height:40px;flex:none;border-radius:12px;background:var(--soleil);border:2.5px solid var(--encre);display:grid;place-items:center;font-style:normal;font-size:24px;transition:transform .15s}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;font-size:18px;color:var(--encre-douce)}

/* Contact */
.contact{background:var(--violet);color:#fff;border:3px solid var(--encre);border-radius:36px;box-shadow:10px 10px 0 var(--encre);padding:clamp(28px,5vw,60px);display:flex;flex-wrap:wrap;gap:44px;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--citron);border:3px solid var(--encre);right:-80px;top:-90px}
.contact .txt{flex:1 1 360px;position:relative;display:flex;flex-direction:column;gap:18px}
.contact h2{font-size:clamp(40px,5.4vw,72px);line-height:.92}
.contact .txt p{margin:0;font-size:20px;font-weight:600}
.contact .txt a{color:#fff;font-weight:800}
form.box{flex:1 1 400px;position:relative;background:#fff;color:var(--encre);border:3px solid var(--encre);border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:14px}
.f{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:15px}
.f input,.f textarea{min-height:54px;border:2.5px solid var(--encre);border-radius:14px;padding:0 16px;font:inherit;font-size:17px;font-weight:600;background:var(--lavande)}
.f textarea{padding:12px 16px;resize:vertical}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:800;font-size:15px;padding:0;margin-bottom:8px}
.radios{display:flex;flex-wrap:wrap;gap:8px}
.radios label{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:2.5px solid var(--encre);border-radius:14px;background:var(--soleil);font-weight:800;font-size:16px;cursor:pointer}
.radios input{width:18px;height:18px;margin:0;accent-color:var(--encre)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{margin:0;font-weight:800;min-height:1.4em}
.msg.ok{color:#2E6B00}.msg.bad{color:#B0123F}

/* Pied de page */
footer{background:var(--encre);color:#fff;margin-top:90px}
footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;font-weight:600;font-size:16px}
footer img{height:36px;margin-right:auto}
footer a{color:#fff}
footer small{width:100%;color:#C9C6DA;font-size:14px}

/* Pages légales */
.legal{max-width:860px;margin:0 auto;padding:40px 24px 20px}
.legal h1{font-size:clamp(40px,6vw,64px);line-height:.95;margin-bottom:12px}
.legal h2{font-size:28px;letter-spacing:-.02em;margin:40px 0 10px}
.legal p,.legal li{font-size:17px;color:var(--encre-douce)}
.legal .note{padding:16px 18px;border:3px solid var(--encre);border-radius:18px;background:var(--soleil);font-weight:700;color:var(--encre)}
.todo{background:var(--soleil);padding:0 .25em;border-radius:4px;font-weight:800;color:var(--encre)}

@media (max-width:700px){
  body{font-size:17px}
  .nav{order:3;width:100%;gap:6px 16px;font-size:16px}
  .hero{padding-top:20px;gap:40px}
  .hero-art{margin:0 8px}
  .top .btn{min-height:44px;font-size:15px;padding:0 14px}
  .logo img{height:36px}
  .mock{transform:rotate(1deg)}
  .hero-art{min-height:420px}
  .blob.b1{width:200px;height:200px}
  .faq summary{font-size:18px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
