/* Pause Beauté — editorial care ribbon. */
.soin-carousel{--rail-gap:28px;--rail-gutter:max(5vw,calc((100vw - 1260px)/2));padding:52px 0 40px;background:#efe7df;overflow:hidden;scroll-margin-top:0}
.soin-carousel-heading{max-width:1260px;margin:0 auto 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.soin-carousel-heading .eyebrow{color:var(--rose);margin:0 0 20px;font-size:10px;letter-spacing:.2em}
.soin-carousel-heading h2{font:400 clamp(40px,3.45vw,51px)/1.08 var(--serif);letter-spacing:-.025em;margin:0}
.soin-carousel-heading h2 em{font-weight:400;color:var(--rose)}
.soin-carousel-intro{max-width:340px;padding-bottom:3px}
.soin-carousel-intro p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 23px}
.soin-browse-hint{display:flex;gap:11px;align-items:center;color:var(--rose);font-size:8px;line-height:1.5;letter-spacing:.13em}
.soin-browse-hint svg{width:30px;height:12px;fill:none;stroke:currentColor;stroke-width:.8;flex:none}
.soin-window{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-behavior:auto;cursor:grab;padding-bottom:6px}
.soin-window::-webkit-scrollbar{display:none}
.soin-window.is-dragging{cursor:grabbing;user-select:none}
.soin-window:focus-visible{outline:1px solid var(--rose);outline-offset:-3px}
.soin-rail{display:flex;width:max-content;padding:0 var(--rail-gutter);align-items:stretch}
.soin-group{display:flex;gap:var(--rail-gap);padding-right:var(--rail-gap);flex:none;align-items:stretch}
.soin-card{display:flex;flex-direction:column;width:clamp(278px,24vw,332px);flex:none;color:var(--ink);text-align:left;position:relative;isolation:isolate}
.soin-card-image{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#d5c8bc}
.soin-card-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 44%;display:block;transition:transform 1.15s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.soin-card:hover .soin-card-image>img{transform:scale(1.025)}
.soin-card-image:after{content:'';position:absolute;inset:0;border:1px solid #3026240d;pointer-events:none}
.soin-card-arrow{display:none}
.soin-card-copy{padding:21px 1px 0;display:flex;flex-direction:column;flex:1}
.soin-card-category{color:var(--rose);font-size:9px;letter-spacing:.15em;text-transform:uppercase;line-height:1.4}
.soin-card h3{font:400 clamp(27px,2.2vw,31px)/1.12 var(--serif);letter-spacing:-.018em;margin:10px 0 9px;text-wrap:balance}
.soin-card-copy>p{font-size:12px;color:var(--muted);line-height:1.65;margin:0 0 16px}
.soin-card-link{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;line-height:1.4;border-top:1px solid #855b5630;padding:13px 0 2px;margin-top:auto;color:var(--rose)}
.soin-card-link>span{font-size:19px;line-height:1;transition:transform .3s}
.soin-card:hover .soin-card-link>span{transform:translate(2px,-2px)}
.soin-card:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
.soin-carousel-bottom{max-width:1260px;margin:28px auto 0;display:flex;align-items:center;gap:32px}
.soin-controls{display:flex;align-items:center;gap:7px;flex:none}
.soin-controls button{width:42px;height:42px;padding:0;border:1px solid #855b5640;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.soin-controls button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.soin-controls button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.soin-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3}
.soin-count{font-size:10px;letter-spacing:.14em;color:var(--muted);font-variant-numeric:tabular-nums;min-width:63px;text-align:center}
.soin-controls .soin-toggle{border-color:transparent;margin-left:3px;width:38px}
.soin-toggle svg{width:14px;height:14px}
.soin-toggle .icon-play{display:none}
.soin-toggle[aria-pressed=true] .icon-play{display:block}
.soin-toggle[aria-pressed=true] .icon-pause{display:none}
.soin-progress{display:block;height:1px;background:#855b5630;flex:1;overflow:hidden}
.soin-progress>span{display:block;width:100%;height:1px;background:var(--rose);transform:scaleX(var(--soin-progress,.0357));transform-origin:left}
.soin-carousel-bottom>a{font-size:12px;color:var(--rose);display:flex;align-items:center;gap:26px;white-space:nowrap}
.soin-carousel-bottom>a>span{font-size:20px}
.hair-care-feature{margin:34px 0;border:1px solid var(--line);display:grid;grid-template-columns:145px 1fr;align-items:center;background:#efe7df;color:var(--ink)}
.hair-care-feature>img{width:145px;height:180px;object-fit:cover;display:block}
.hair-care-feature>span{padding:20px;display:block}
.hair-care-feature small{display:block;color:var(--rose);font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.hair-care-feature strong{display:block;font:400 28px/1.12 var(--serif);margin:10px 0 14px}
.hair-care-feature em{font-style:normal;font-size:12px;color:var(--rose)}
@media(max-width:1400px){.soin-carousel-heading,.soin-carousel-bottom{margin-left:5vw;margin-right:5vw}}
@media(max-width:800px){.soin-carousel{--rail-gap:18px;--rail-gutter:24px;padding:44px 0 36px}.soin-carousel-heading{display:block;margin:0 24px 26px}.soin-carousel-heading .eyebrow{font-size:9px;margin-bottom:16px}.soin-carousel-heading h2{font-size:41px}.soin-carousel-intro{max-width:none;margin-top:20px}.soin-carousel-intro p{font-size:13px;line-height:1.7;margin-bottom:0}.soin-browse-hint{display:none}.soin-card{width:min(78vw,328px)}.soin-card h3{font-size:29px}.soin-card-copy{padding-top:18px}.soin-card-copy>p{margin-bottom:14px}.soin-carousel-bottom{margin:24px 24px 0;gap:15px;flex-wrap:wrap}.soin-controls{gap:5px}.soin-controls button{width:40px;height:40px}.soin-count{min-width:54px;font-size:9px}.soin-progress{min-width:50px}.soin-carousel-bottom>a{flex:0 0 100%;justify-content:space-between;border-top:1px solid #855b5630;padding-top:19px;font-size:12px}.hair-care-feature{grid-template-columns:112px 1fr}.hair-care-feature>img{width:112px;height:160px}.hair-care-feature>span{padding:15px}.hair-care-feature strong{font-size:25px}}
@media(max-width:360px){.soin-carousel-heading h2{font-size:37px}.soin-card h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.soin-card-image>img,.soin-card-link>span{transition:none}.soin-card:hover .soin-card-image>img{transform:none}}
