/* Isolated Almost product interaction. Existing licensed site fonts are inherited. */
almost-pump {display:block; width:100%; min-width:0; color:#383431; contain:layout style;}
almost-pump *, almost-pump *::before, almost-pump *::after {box-sizing:border-box;}
almost-pump .ap-trigger {position:relative; display:flex; flex-direction:column; align-items:center; width:100%; min-height:44px; margin:0; padding:0; border:0; border-radius:2px; background:transparent!important; color:inherit; font:inherit; cursor:pointer; touch-action:pan-y; -webkit-tap-highlight-color:transparent; user-select:none; -webkit-user-select:none;}
almost-pump .ap-stage {display:block; position:relative; width:100%; height:clamp(370px,40vw,560px); overflow:visible; perspective:1000px;}
almost-pump .ap-bottle {position:absolute; top:8%; left:50%; width:auto; height:82%; aspect-ratio:485/1390; margin-left:0; translate:-50% 0;}
almost-pump .ap-pump,almost-pump .ap-actuator {pointer-events:none;}
almost-pump .ap-body {position:absolute; inset:0; overflow:hidden;}
almost-pump .ap-body img {position:absolute!important; width:194.020619%!important; height:120.28777%!important; max-width:none!important; max-height:none!important; aspect-ratio:auto!important; left:-47.42268%; top:-9.496403%; margin:0!important; object-fit:fill!important; filter:none!important; background:transparent!important; pointer-events:none;}
/* v8: the full product photograph stays visible; only the nozzle is redrawn. */
almost-pump .ap-shell {position:absolute;top:0;left:0;width:100%;height:48.489209%;display:none;pointer-events:none;}
almost-pump[data-ready] .ap-shell {display:block;}
almost-pump .ap-head {position:absolute; top:0; left:0; width:100%; height:100%; display:none; pointer-events:none;}
almost-pump[data-ready] .ap-head {display:block;}
almost-pump .ap-serum {pointer-events:none; opacity:0;}
almost-pump .ap-shadow {position:absolute; left:50%; top:calc(100% + 6px); width:110%; height:3.4%; translate:-50% 0; border-radius:50%; background:radial-gradient(ellipse,rgba(52,48,44,.16) 0%,rgba(52,48,44,.06) 36%,rgba(52,48,44,0) 72%); filter:blur(2px); pointer-events:none;}
almost-pump .ap-hint {display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; max-width:100%; padding:8px 14px; font-size:11px; line-height:1.65; letter-spacing:0; color:#635e58; border-bottom:1px solid #dedad5;}
almost-pump .ap-hint svg {width:16px; height:16px; flex:none; stroke:currentColor; fill:none; stroke-width:1.2;}
almost-pump .ap-trigger:focus-visible {outline:1px solid #67625c; outline-offset:5px;}
almost-pump .ap-trigger:focus-visible .ap-hint {color:#282623; border-color:currentColor;}
almost-pump .ap-sr {position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;}
almost-pump .ap-note {display:block; margin:12px auto 0; color:#75706b; font-size:10px; line-height:1.8; text-align:center; max-width:38ch;}
almost-pump[data-state=static] .ap-hint {color:#383431; border-color:#9d9892;}
/* Applied only when the optional adapter mounts into the product section. */
#product[data-almost-pump] .product-layout {grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:8%;}
#product[data-almost-pump] .product-title h2,
html[lang=en] #product[data-almost-pump] .product-title h2 {font-size:clamp(29px,3.35vw,48px); font-weight:400; line-height:1.32; letter-spacing:-.025em;}
#product[data-almost-pump] .product-object {height:auto; min-width:0; background:transparent;}
#product[data-almost-pump] .product-object>figcaption {display:none;}
@media(max-width:800px) {
 #product[data-almost-pump] .product-layout {grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:4%;}
 #product[data-almost-pump] .product-title h2,
 html[lang=en] #product[data-almost-pump] .product-title h2 {font-size:clamp(27px,5.9vw,38px); line-height:1.4;}
 almost-pump .ap-stage {height:clamp(310px,70vw,460px);}
 almost-pump .ap-bottle {height:78%; top:10%;}
 almost-pump .ap-hint {font-size:10px; padding-inline:4px; gap:6px;}
 almost-pump .ap-note {font-size:9px;}
}
@media(max-width:370px) {
 #product[data-almost-pump] .product-layout {grid-template-columns:1fr; gap:24px;}
 #product[data-almost-pump] .product-title {text-align:center;}
 #product[data-almost-pump] .product-title>p {margin-inline:auto;}
 almost-pump .ap-stage {height:380px;}
}
@media(prefers-reduced-motion:reduce) {almost-pump *,almost-pump *::before,almost-pump *::after {animation:none!important; transition:none!important; scroll-behavior:auto!important;}}
/* Keep the outer bottle still even while the site's scroll reveal fades in. */
#product[data-almost-pump] .product-object.reveal {transform:none; transition:opacity .7s ease;}

/* Explicit replay control keeps the opening step available after each press. */
almost-pump .ap-replay {display:block;min-height:44px;margin:8px auto 0;padding:8px 12px;border:0;border-bottom:1px solid #dedad5;background:transparent!important;color:#635e58;font:inherit;font-size:11px;cursor:pointer;}
almost-pump .ap-replay[hidden] {display:block;visibility:hidden;pointer-events:none;}
almost-pump .ap-replay:disabled {opacity:.45;cursor:default;}
almost-pump .ap-replay:focus-visible {outline:1px solid #67625c;outline-offset:3px;}
/* The single watch button below the bottle owns the interaction. */
#product almost-pump .ap-trigger{pointer-events:none;cursor:default}
#product almost-pump .ap-hint,#product almost-pump .ap-note,#product almost-pump .ap-replay{display:none!important}
