.hero{position:relative;overflow:hidden}
.hero__snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

.marq{background:var(--red);color:#fff;overflow:hidden;padding:15px 0}
.marq__track{display:flex;width:max-content;animation:cc-marq 34s linear infinite}
.marq:hover .marq__track{animation-play-state:paused}
.marq__group{display:flex;flex:none}
.marq__item{display:flex;align-items:center;gap:28px;padding-right:28px;font-family:var(--display);font-weight:600;font-size:17px;white-space:nowrap}
.marq__item::after{content:"\2665";color:var(--pink);font-size:14px}
@keyframes cc-marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marq__track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}.marq__group[aria-hidden]{display:none}.marq__group{flex-wrap:wrap;justify-content:center}}

body.drawer-open{overflow:hidden}
.drawer{position:fixed;inset:0;z-index:60}
.drawer[hidden]{display:none}
.drawer__veil{position:absolute;inset:0;background:rgba(91,43,46,.35);opacity:0;transition:opacity .3s}
.drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(420px,100%);background:var(--bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);box-shadow:-20px 0 60px rgba(91,43,46,.15)}
.drawer.is-open .drawer__veil{opacity:1}
.drawer.is-open .drawer__panel{transform:none}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:2px solid var(--bg2);background:#fff}
.drawer__head h2{font-size:24px}
.drawer__x{width:42px;height:42px;border-radius:50%;border:0;background:var(--bg2);color:var(--red);font-size:24px;line-height:1;cursor:pointer}
.drawer__body{flex:1;overflow-y:auto;padding:16px 22px;display:grid;gap:12px;align-content:start;transition:opacity .2s}
.drawer.is-busy .drawer__body{opacity:.5;pointer-events:none}
.dr-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;background:#fff;border-radius:18px;padding:12px;align-items:start}
.dr-item__img{display:block;border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--bg2)}
.dr-item__img img{width:100%;height:100%;object-fit:cover}
.dr-item__title{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.25;text-decoration:none;display:block}
.dr-item__var{font-size:13px;color:var(--ink2);margin-top:2px}
.dr-item__row{display:flex;align-items:center;gap:12px;margin-top:10px}
.qty--sm{display:inline-flex}
.qty--sm button{width:34px;height:36px;font-size:17px}
.qty--sm span{min-width:18px;text-align:center;font-weight:700}
.dr-item__rm{border:0;background:none;color:var(--red);font-size:13px;cursor:pointer;text-decoration:underline;padding:0}
.dr-item__price{font-weight:700;white-space:nowrap}
.drawer__foot{padding:18px 22px 22px;border-top:2px solid var(--bg2);background:#fff;display:grid;gap:10px}
.drawer__foot[hidden]{display:none}
.drawer__sub{display:flex;justify-content:space-between;font-family:var(--display);font-weight:600;font-size:20px}
.drawer__note{font-size:13px;color:var(--ink2)}
.drawer__foot .btn{width:100%}
.drawer__link{text-align:center;font-size:14px;color:var(--ink2)}
.drawer__empty{text-align:center;padding:48px 0;color:var(--ink2)}
.drawer__empty .btn{margin-top:18px}
.form-err{color:var(--red);font-size:14px;font-weight:600;margin-top:10px}
.btn.is-loading{opacity:.7;pointer-events:none}

.apps-sec{padding:clamp(48px,7vw,88px) 0}
.apps-sec .sec__head{margin-bottom:28px}
