.intro-copy{font-family:Pretendard,Arial,sans-serif;font-weight:600;letter-spacing:-.02em}
.film-stage video{cursor:pointer;touch-action:manipulation}
.film-stage video:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.sound-toggle{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:48px;height:48px;min-width:48px;padding:0;border:0;background:transparent;color:#fff;opacity:.55;transition:opacity 160ms ease-out;touch-action:manipulation}
.sound-toggle:hover,.sound-toggle:focus-visible{opacity:.9}
.sound-icon{filter:drop-shadow(0 1px 2px #0009);grid-area:1/1}
.sound-on{display:none}.sound-toggle[aria-pressed=true] .sound-muted{display:none}.sound-toggle[aria-pressed=true] .sound-on{display:block}
.packing-examples{margin-top:36px;border-top:1px solid var(--rule);padding-top:26px}
.packing-examples[hidden]{display:none}.packing-examples h4{font-size:1.0625rem;font-weight:600;line-height:1.5;margin:0;word-break:keep-all}
.purpose-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:18px;margin-bottom:28px}
.purpose-controls button{min-height:48px;padding:10px 4px;border:0;border-bottom:1px solid var(--rule);color:var(--muted);background:transparent;font-size:.875rem;line-height:1.5;word-break:keep-all;text-align:left;transition:color 160ms ease-out,border-color 160ms ease-out}
.purpose-controls button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.packing-result{min-height:240px}.packing-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
.packing-item-visual{display:flex;align-items:center;gap:12px;min-height:52px}.packing-item-visual img{width:48px;height:auto;flex-shrink:0;object-fit:contain}.packing-quantity{font-size:1.125rem;white-space:nowrap}.packing-items li p{margin-top:10px;font-size:.875rem;color:var(--muted);line-height:1.6;word-break:keep-all}.packing-note{font-size:.75rem;color:#929994;line-height:1.8;word-break:keep-all;margin-top:26px}
.air-pump{margin-top:60px;padding-top:36px;border-top:1px solid var(--rule)}.pump-heading h2{font-size:2rem;line-height:1.2;margin-top:18px;letter-spacing:-.025em}.pump-figure{padding:30px var(--gutter) 12px}.pump-figure img{width:100%;max-width:350px;height:auto;margin:0 auto;object-fit:contain}
.pump-features{margin-top:20px}.pump-features>div{padding:18px 0;border-bottom:1px solid var(--rule)}.pump-features dt{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:600}.pump-features dd{color:var(--muted);font-size:.875rem;padding-left:36px;margin-top:6px}.pump-use{color:var(--muted);margin-top:24px;word-break:keep-all;font-size:1rem}.pump-note{font-size:.875rem;margin-top:16px;color:var(--muted)}
@media(max-width:359px){.packing-item-visual{gap:8px}.packing-item-visual img{width:42px}.packing-quantity{font-size:1rem}.packing-items{column-gap:12px}}
@media(prefers-reduced-motion:reduce){.sound-toggle,.purpose-controls button{transition:none}}

.product-stage{--product-image-width:100%}
.product-stage[data-size="30"]{--product-image-width:68%}
.product-stage[data-size="40"]{--product-image-width:84%}
.product-stage img{width:var(--product-image-width)}

.pump-figure{--pump-float-duration:7.8s;--pump-fade-duration:9s;--pump-reveal-duration:900ms;--pump-drift:12px;--pump-tilt:1.8deg}
.pump-figure.has-motion{opacity:0;transition:opacity 600ms ease-in}
.pump-figure.has-motion.is-visible{opacity:1;transition-duration:var(--pump-reveal-duration);transition-timing-function:cubic-bezier(0,0,.2,1)}
.pump-figure.has-motion img{transform-origin:center;animation:airzag-pump-float var(--pump-float-duration) ease-in-out infinite,airzag-pump-fade var(--pump-fade-duration) ease-in-out infinite;animation-play-state:paused}
.pump-figure.has-motion.is-visible img{animation-play-state:running}
@keyframes airzag-pump-float{
  0%,100%{transform:translate3d(-2px,8px,0) rotate(calc(-1 * var(--pump-tilt)))}
  50%{transform:translate3d(2px,calc(-1 * var(--pump-drift)),0) rotate(var(--pump-tilt))}
}
@keyframes airzag-pump-fade{
  0%,100%{opacity:.28}
  25%,75%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .pump-figure.has-motion{opacity:1;transition:none}
  .pump-figure.has-motion img{animation:none;transform:none;opacity:1}
}
