/* cs-pink-coach-retention : styles propres à la page, repris de l'export Claude Design (chargés après site.css). */
.toggle svg{flex:none}.toggle .i-play{display:none}.is-paused .toggle .i-play{display:inline}.is-paused .toggle .i-pause{display:none}
.float{animation:none}
.chip{animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.goal .tick{opacity:0;transform:scale(.4);animation:tick 9s ease-in-out infinite both}
.goal:nth-child(2) .tick{animation-delay:1.2s}.goal:nth-child(3) .tick{animation-delay:2.4s}.goal:nth-child(5) .tick{animation-delay:3.6s}.goal:nth-child(6) .tick{animation-delay:4.8s}
@keyframes tick{0%,8%{opacity:0;transform:scale(.4)}14%,80%{opacity:1;transform:none}90%,100%{opacity:0;transform:scale(.4)}}
.is-paused .float,.is-paused .chip,.is-paused .tick{animation-play-state:paused}
.prose p{margin:0}
.prose ul,.prose ol{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:8px}
.eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4B4372}
.h2{margin:0 0 8px;font-size:clamp(36px,4vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.03em}
.h3{margin:16px 0 0;font-size:28px;font-weight:800;line-height:1.2;letter-spacing:-.02em}
.h4{margin:16px 0 0;font-size:22px;font-weight:800;line-height:1.3}
.sec{display:flex;flex-direction:column;gap:16px}
figure{margin:0;display:flex;flex-direction:column;gap:12px}
figcaption{font-size:14px;line-height:1.5;font-style:italic;color:#4B4372}
.ba-arrow{flex:none}
@media (max-width:700px){.ba-arrow{transform:rotate(90deg)}}
.zoomable{position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:24px;background:transparent;cursor:zoom-in;font:inherit;color:#1C1240;transition:transform .25s ease-out,box-shadow .25s ease-out}
.zoomable img{display:block;width:100%;height:auto}
.zoomable:hover,.zoomable:focus-visible{transform:translate(-2px,-2px);box-shadow:4px 4px 0 #1C1240}
.zoomable:focus-visible{outline:3px solid #1C1240;outline-offset:4px}
.zoom-hint{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:#1C1240;color:#FFF4EC;font-size:14px;font-weight:600}
.lightbox{width:min(1400px,96vw);height:92vh;max-width:none;max-height:none;padding:0;border:0;border-radius:24px;background:#FFFDFA;color:#1C1240;overflow:hidden}
.lightbox[open]{display:flex;flex-direction:column}
.lightbox::backdrop{background:rgba(15,10,38,.75)}
.lb-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 12px 24px;border-bottom:2px solid #1C1240}
.lb-bar p{margin:0;font-weight:700}
.lb-btn{width:44px;height:44px;flex:none;border-radius:999px;border:2px solid #1C1240;background:#1C1240;color:#FFF4EC;font-size:20px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lb-btn:hover{background:#2A2152}.lb-btn:focus-visible{outline:3px solid #FF5A36;outline-offset:2px}
.lb-scroll{flex:1;overflow:auto;padding:24px;background:#FFFFFF}
.lb-scroll img{display:block;width:100%;max-width:1400px;height:auto;margin:0 auto}
.lb-scroll:focus-visible{outline:3px solid #1C1240;outline-offset:-3px}
@media (prefers-reduced-motion:reduce){.zoomable{transition:none}.zoomable:hover,.zoomable:focus-visible{transform:none}}

.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:260px;padding:24px;box-sizing:border-box;border-radius:32px;border:2px dashed #4B4372;background:repeating-linear-gradient(135deg,#FFFDFA 0 14px,#FFF0D6 14px 28px);color:#4B4372;font-size:14px;font-weight:600;text-align:center}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 240px),1fr));gap:16px}
.cards li{padding:20px 24px;border-radius:24px;background:#FFFDFA;border:2px solid #1C1240}
.ideas{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:idea}
.ideas li{counter-increment:idea;display:flex;gap:16px;align-items:flex-start;padding:16px 20px;border-radius:24px;background:#FFFFFF}
.ideas li::before{content:counter(idea);flex:none;width:36px;height:36px;border-radius:999px;background:#FFD23F;color:#1C1240;font-weight:800;display:flex;align-items:center;justify-content:center}
.stat{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:24px;background:#FFF4EC}
.stat .big{font-size:44px;font-weight:800;line-height:1;letter-spacing:-.02em}
@media (max-width:520px){.chip{display:none}}
/* vignettes projets (style page d'accueil) */
.hv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}
.hv-card{display:flex;flex-direction:column;gap:16px;height:100%;box-sizing:border-box;padding:24px;border-radius:24px;border:2px solid #1C1240;background:#FFFDFA;color:#1C1240;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease-out}
.hv-card:hover,.hv-card:focus-visible{transform:translate(-4px,-4px);box-shadow:8px 8px 0 #FFD23F;color:#1C1240;text-decoration:none}
.hv-card:focus-visible{outline:3px solid #FFD23F;outline-offset:4px}
.hv-card .arr{display:inline-block;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.hv-card:hover .arr,.hv-card:focus-visible .arr{transform:translateX(4px)}
.hv-viz{height:288px;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hv-phone{flex-shrink:0;width:140px;height:262px;box-sizing:border-box;padding:7px;border-radius:28px;background:#1C1240;box-shadow:6px 6px 0 rgba(28,18,64,.25);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.hv-screen{position:relative;flex-shrink:0;width:126px;height:248px;border-radius:21px;overflow:hidden;background:#FFFDFA}
.hv-track{display:flex;width:252px;height:100%}
.hv-page{flex-shrink:0;width:126px;height:100%}
.hv-page img{display:block;width:126px;height:248px;object-fit:cover;object-position:top}
.hv-tap{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:rgba(255,90,54,.55);border:2px solid #FF5A36;opacity:0}
.hv-card:hover .hv-phone,.hv-card:focus-visible .hv-phone{transform:translateY(-6px) rotate(-2deg)}
.hv-card:hover .hv-track,.hv-card:focus-visible .hv-track{animation:hvSlide 4.5s ease-in-out infinite}
.hv-card:hover .hv-tap,.hv-card:focus-visible .hv-tap{animation:hvTap 4.5s ease-in-out infinite}
@keyframes hvSlide{0%,28%{transform:translateX(0)}40%,80%{transform:translateX(-126px)}92%,100%{transform:translateX(0)}}
@keyframes hvTap{0%,12%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}30%,100%{opacity:0;transform:scale(1.4)}}
.hv-rz{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0}.hv-rz:first-child{opacity:1}
.hv-card:hover .hv-rz,.hv-card:focus-visible .hv-rz{animation:hvRz 10s ease-in-out infinite both}
@keyframes hvRz{0%{opacity:0;transform:translateX(14px)}4%,25%{opacity:1;transform:none}29%,100%{opacity:0;transform:translateX(-14px)}}
@media (prefers-reduced-motion:reduce){.hv-card:hover .hv-rz,.hv-card:focus-visible .hv-rz{animation:none}}
.hv-screen>img.hv-one{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.hv-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hv-tags li{padding:4px 12px;border-radius:999px;font-size:14px;font-weight:600;line-height:1.4}
.hv-tags .dom{background:#CDBBFF}
.hv-tags .goal{background:#FFFDFA;box-shadow:inset 0 0 0 2px #1C1240}
.hv-t{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.01em}
@media (prefers-reduced-motion:reduce){.hv-card,.hv-phone,.hv-card .arr{transition:none}.hv-card:hover .hv-track,.hv-card:focus-visible .hv-track,.hv-card:hover .hv-tap,.hv-card:focus-visible .hv-tap{animation:none}.hv-card:hover .hv-phone,.hv-card:focus-visible .hv-phone{transform:none}}
.more{background:#1C1240;color:#FFF4EC}
.more-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 240px),1fr));gap:24px}
.more-card{position:relative;display:flex;flex-direction:column;gap:16px;height:100%;box-sizing:border-box;padding:24px;border-radius:24px;background:#FFF4EC;color:#1C1240;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease-out}
.more-card:hover,.more-card:focus-visible{color:#1C1240;transform:translate(-4px,-4px);box-shadow:8px 8px 0 #FFD23F;text-decoration:none}
.more-card:focus-visible{outline:3px solid #FFD23F;outline-offset:4px}
.more-card .bar{height:8px;border-radius:999px}
.more-card .tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.more-card .tags li{padding:4px 12px;border-radius:999px;background:#E4DBFF;font-size:14px;font-weight:600}
.more-card .t{margin:0;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:22px;font-weight:800;line-height:1.25}
.more-card .go{margin-top:auto;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.goal .tick{opacity:1;transform:none}}
