/* cs-pink-coach-prescription-service : 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}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.st{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#FFF4EC;font-size:13px;font-weight:600;line-height:1.25;color:#1C1240;animation:stepOn 12s ease-in-out infinite both}
.st .dot{flex:none;width:24px;height:24px;border-radius:999px;box-shadow:inset 0 0 0 2px #1C1240;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.st:nth-child(2){animation-delay:2s}.st:nth-child(3){animation-delay:4s}.st:nth-child(4){animation-delay:6s}.st:nth-child(5){animation-delay:8s}.st:nth-child(6){animation-delay:10s}
@keyframes stepOn{0%,2%{background:#FFF4EC;color:#1C1240;transform:none}6%,14%{background:#1C1240;color:#FFF4EC;transform:translateX(6px)}18%,100%{background:#FFD0C4;color:#1C1240;transform:none}}
.bar{height:100%;background:#FF5A36;transform-origin:left;animation:fill 12s linear infinite}
@keyframes fill{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
.rz-scr{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0;animation:rzSwap 10s ease-in-out infinite both}
@keyframes rzSwap{0%{opacity:0;transform:translateX(28px)}4%,25%{opacity:1;transform:none}29%,100%{opacity:0;transform:translateX(-28px)}}
.is-paused .float,.is-paused .rz-scr{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: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}
.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,#FFE6DE 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}
.bm{display:flex;flex-direction:column;gap:24px;padding:clamp(24px,4vw,40px);border-radius:32px;background:#1C1240;color:#FFF4EC;box-shadow:8px 8px 0 #FF5A36}
.bm-intro{margin:0;font-size:clamp(22px,2.4vw,26px);font-weight:800;line-height:1.3;font-family:'Bricolage Grotesque',system-ui,sans-serif}
.bm-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;counter-reset:bm}
.bm-steps li{counter-increment:bm;position:relative;display:flex;align-items:center;gap:16px;min-height:44px;font-size:18px;line-height:1.4}
.bm-steps li::before{content:counter(bm);flex:none;width:44px;height:44px;border-radius:999px;background:#FFD23F;color:#1C1240;font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center}
.bm-steps li:not(:last-child)::after{content:'';position:absolute;left:21px;top:44px;height:20px;border-left:2px dashed #CDBBFF}
.pains{list-style:none;margin:0;padding:clamp(24px,4vw,40px);border-radius:32px;background:#FFFFFF;display:flex;flex-direction:column;gap:16px}
.pains > li{display:flex;gap:16px;align-items:flex-start}
.pains .mk{flex:none;width:16px;height:16px;margin-top:7px;border-radius:5px;background:#FF5A36;transform:rotate(12deg)}
.pains strong{font-weight:800}
.cards strong{display:block;margin-bottom:4px}
.keysteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 280px),1fr));gap:16px;counter-reset:k}
.keysteps li{counter-increment:k;position:relative;display:flex;flex-direction:column;gap:8px;padding:56px 24px 24px;border-radius:24px;background:#FFFFFF}
.keysteps li::before{content:counter(k);position:absolute;left:24px;top:16px;width:32px;height:32px;border-radius:10px;background:#FF5A36;color:#1C1240;font-weight:800;display:flex;align-items:center;justify-content:center}
.keysteps p{margin:0}
.keysteps.ks-b{display:block;padding:clamp(24px,4vw,40px);border-radius:32px;background:#FFFFFF}
.keysteps.ks-b li{display:grid;grid-template-columns:56px 1fr;column-gap:20px;row-gap:8px;padding:0 0 32px;border-radius:0;background:none}
.keysteps.ks-b li:last-child{padding-bottom:0}
.keysteps.ks-b li::before{position:static;grid-column:1;grid-row:1 / span 6;width:56px;height:56px;border-radius:18px;background:#1C1240;color:#FFD23F;font-size:24px;transform:rotate(-6deg)}
.keysteps.ks-b li:not(:last-child)::after{content:'';position:absolute;left:27px;top:64px;bottom:8px;border-left:2px dashed #FF5A36}
.keysteps.ks-b li > *{grid-column:2}
.keysteps.ks-b h4{padding-top:12px}
.groups{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.groups li{padding:10px 20px;border-radius:999px;background:#1C1240;color:#FFF4EC;font-weight:600}
.journey{container-type:inline-size;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;list-style:none;margin:0;padding:0}
@media (min-width:640px){.journey{grid-template-columns:repeat(4,1fr)}}
.journey img{display:block;width:100%;height:auto}
.journey .jshot{display:block;width:100%;box-sizing:border-box;border:1px solid #B5B1C0;border-radius:30px;overflow:hidden}
.journey li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;font-weight:800}
.journey .scr{width:100%;aspect-ratio:9/19;box-sizing:border-box;border-radius:18px;border:2px dashed #4B4372;background:repeating-linear-gradient(135deg,#FFFDFA 0 10px,#FFE6DE 10px 20px)}
.metrics{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%, 260px),1fr));gap:16px}
.metrics div{padding:20px 24px;border-radius:24px;background:#FFFDFA;border:2px solid #1C1240}
.metrics dt{font-weight:800}
.metrics dd{margin:4px 0 0}
.zoomable{position:relative;display:block;width:100%;margin:0;padding:clamp(16px,3vw,32px);border:0;border-radius:32px;background:#FFFFFF;cursor:zoom-in;font:inherit;color:#1C1240;transition:transform .25s cubic-bezier(.34,1.56,.64,1),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}
.zoom-hint{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#1C1240;color:#FFF4EC;font-size:14px;font-weight:600}
.lightbox{width:min(1400px,96vw);height:min(900px,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;flex-wrap:wrap;padding:12px 16px 12px 24px;border-bottom:2px solid #1C1240}
.lb-bar p{margin:0;font-weight:700}
.lb-tools{display:flex;align-items:center;gap:8px}
.lb-btn{width:44px;height:44px;border-radius:999px;border:2px solid #1C1240;background:#FFF4EC;color:#1C1240;font-size:22px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lb-btn:hover{background:#FFD23F}.lb-btn:disabled{opacity:.4;cursor:default;background:#FFF4EC}
.lb-close{background:#1C1240;color:#FFF4EC;margin-left:8px}.lb-close:hover{background:#2A2152}
.lb-level{min-width:52px;text-align:center;font-size:14px;font-weight:700}
.lb-scroll{flex:1;overflow:auto;padding:24px;background:#FFFFFF}
.lb-scroll img{display:block;height:auto;max-width:none;margin:0 auto;cursor:zoom-in}
.lb-scroll:focus-visible{outline:3px solid #1C1240;outline-offset:-3px}
/* 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-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}.rz-scr:first-child{opacity:1}}
