:root{
  --y:#0B0B0B; --y2:#0B0B0B; --ysoft:rgba(11,11,11,0.077);
  --k:#FFFFFF; --k2:#F6F6F6; --k3:#EEEEEE; --ink:#151515; --mute:#6A6A6A; --line:#E0E0E0;
  --card:#EEEEEE; --bg:#FFFFFF;
  --r-lg:22px; --r-md:16px; --pill:999px;
  --shadow:0 10px 30px rgba(0,0,0,0.19);
  --ease:cubic-bezier(.2,.8,.2,1);
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;padding-bottom:96px;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,svg{display:block;max-width:100%}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--y);outline-offset:2px;border-radius:8px}
.icon-btn svg,.bottom-nav svg,.search-row>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ticker */
.ticker{background:var(--y);color:var(--k);font-size:12px;font-weight:600;letter-spacing:.08em;overflow:hidden;white-space:nowrap;height:30px;display:flex;align-items:center}
.ticker-track{display:inline-flex;gap:40px;animation:tick 30s linear infinite;padding-left:20px}
.ticker-track span::before{content:"✦";margin-right:12px;color:var(--k)}
@keyframes tick{to{transform:translateX(-50%)}}

/* top bar */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;background:rgba(255,255,255,0.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .3s}
.topbar.scrolled{box-shadow:0 1px 0 var(--line)}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1.4px solid var(--line);display:grid;place-items:center;flex:none;position:relative;background:var(--k2);transition:transform .2s var(--ease),border-color .2s,background .2s}
.icon-btn:hover{border-color:var(--y)}
.icon-btn:active{transform:scale(.92)}
.back-btn,.heart-top{display:none}
.wordmark{display:flex;flex-direction:column;align-items:center;line-height:.9;position:absolute;left:50%;transform:translateX(-50%)}
.wm-main{font-weight:900;font-size:30px;letter-spacing:.02em;transform:scaleX(1.08)}
.wm-sub{font-size:8.5px;font-weight:600;letter-spacing:.62em;margin-top:3px;padding-left:.62em;background:var(--y);padding:2px 4px 2px 10px;border-radius:3px}
.page-title{display:none;position:absolute;left:50%;transform:translateX(-50%);font-weight:500;font-size:15px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;max-width:56vw;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;gap:8px}
.bag-top{display:none}
.bag-count{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--y);color:var(--k);font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg)}
.bag-count.bump{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.45)}}
.desk-nav{display:none}
body.detail .wordmark{display:none}
body.detail .page-title{display:block}
body.sub #menuBtn{display:none}
body.sub .back-btn{display:grid}
body.detail .heart-top{display:grid}
body.detail #searchBtn{display:none}

main{max-width:var(--maxw);margin:0 auto;padding:6px 18px 30px;outline:none}
.view{animation:viewIn .45s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateY(10px)}}

/* hero */
.hero{position:relative;border-radius:var(--r-lg);background:var(--card);overflow:hidden;min-height:178px;display:flex;align-items:center;padding:22px;isolation:isolate}
.hero-slides{position:relative;width:100%}
.hero-slide{display:none}
.hero-slide.on{display:flex;animation:viewIn .6s var(--ease)}
.hero-copy{position:relative;z-index:2;max-width:52%}
.hero h1{font-size:clamp(25px,6.4vw,58px);line-height:1.08;font-weight:700;letter-spacing:-.01em}
.hero h1 mark{background:linear-gradient(transparent 58%,var(--y) 58%);color:inherit;padding:0 2px}
.hero p{display:none;color:#E0E0E0;margin-top:10px;max-width:420px}
.hero-art{position:absolute;right:-6px;bottom:-8px;width:56%;height:112%;z-index:1;pointer-events:none}
.hero-dots{position:absolute;left:22px;bottom:12px;display:flex;gap:6px;z-index:3}
.hero-dots button{width:7px;height:7px;border-radius:9px;background:#C6C6C6;transition:width .3s,background .3s}
.hero-dots button.on{width:22px;background:var(--y)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--y);color:var(--k);border-radius:var(--pill);padding:9px 20px;font-size:13px;font-weight:500;margin-top:14px;transition:transform .2s var(--ease),background .2s,color .2s}
.pill:hover{background:var(--y);color:var(--k)}
.pill:active{transform:scale(.95)}
.pill.y{background:var(--y);color:var(--k)}
.pill.y:hover{background:var(--ink);color:var(--k)}
.pill.ghost{background:var(--k2);color:var(--ink);border:1.4px solid var(--y)}
.float{animation:float 5s ease-in-out infinite}
.float.d2{animation-delay:-1.6s}.float.d3{animation-delay:-3.2s}
@keyframes float{50%{transform:translateY(-8px) rotate(-1.5deg)}}

/* category tiles */
.cats{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 18px 6px;margin:0 -18px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{flex:none;width:96px;height:106px;border:1.4px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;scroll-snap-align:start;font-size:13px;text-align:center;line-height:1.15;padding:6px;background:var(--k2);transition:transform .25s var(--ease),border-color .2s,background .2s}
.cat svg{width:36px;height:36px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.cat:hover{border-color:var(--y);transform:translateY(-3px)}
.cat:hover svg{transform:rotate(-8deg) scale(1.08)}
.cat.on{background:var(--y);border-color:var(--y)}

/* section heads */
.sec{margin-top:28px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}
.sec-head h2{font-size:19px;font-weight:500}
.sec-head a{font-size:13px;text-decoration:underline;text-underline-offset:3px;color:var(--y)}
.sec-head a:hover{color:var(--ink)}
.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;text-transform:uppercase;color:var(--mute)}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pcard{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--card);aspect-ratio:4/5;display:block;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pcard .art{position:absolute;inset:0 0 18% 0;display:grid;place-items:center;transition:transform .5s var(--ease)}
.pcard:hover .art{transform:scale(1.06) rotate(-1deg)}
.pcard .art svg{width:82%;height:92%}
.pcard .shade{position:absolute;inset:auto 0 0 0;height:58%;background:linear-gradient(transparent,rgba(255,255,255,0.72));z-index:1}
.pcard .meta{position:absolute;left:14px;right:14px;bottom:12px;color:#0B0B0B;z-index:2}
.pcard .price{font-weight:600;font-size:14px}
.pcard .name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.02em;opacity:.95}
.badge{display:inline-block;background:var(--y);color:var(--k);font-size:11px;font-weight:600;padding:3px 9px;border-radius:7px;margin-bottom:6px;letter-spacing:.02em}
.badge.k{background:var(--k3);color:var(--y);border:1px solid rgba(11,11,11,0.193)}
.pcard .fav{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.75);color:var(--y);display:grid;place-items:center;transition:transform .2s}
.pcard .fav svg,.heart-top svg{width:17px;height:17px;fill:none;stroke:var(--ink);stroke-width:1.8}
.heart-top svg{width:22px;height:22px}
.fav.on svg,.heart-top.on svg{fill:var(--y);stroke:var(--ink)}
.fav:active{transform:scale(.85)}
.pcard .quick{position:absolute;top:10px;left:10px;z-index:3;font-size:10.5px;background:var(--k2);border-radius:var(--pill);padding:3px 9px;font-weight:500;opacity:0;transform:translateY(-4px);transition:.25s}
.pcard:hover .quick{opacity:1;transform:none}

/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ind{position:relative;border-radius:var(--r-md);padding:16px;min-height:132px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .3s var(--ease),background .3s}
.ind:nth-child(4n+1),.ind:nth-child(4n+4){background:var(--k3);color:#0B0B0B;border:1px solid rgba(11,11,11,0.193)}
.ind:nth-child(4n+1) .ind-ico svg,.ind:nth-child(4n+4) .ind-ico svg{stroke:var(--y)}
.ind:hover{transform:translateY(-3px)}
.ind:hover{background:var(--y)!important;color:var(--k)!important}
.ind:hover .ind-ico svg{stroke:var(--ink)!important}
.ind-ico{position:absolute;top:14px;right:14px}
.ind-ico svg{width:44px;height:44px;fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.ind h3{font-size:15px;font-weight:600;line-height:1.2}
.ind small{font-size:12px;opacity:.75}

/* bulk strip */
.bulk{margin-top:30px;border-radius:var(--r-lg);background:var(--k3);border:1.5px solid var(--y);color:#0B0B0B;padding:24px;position:relative;overflow:hidden}
.bulk h2{font-size:24px;line-height:1.15;font-weight:700;max-width:520px}
.bulk h2 span{color:var(--y)}
.bulk p{color:#3B3B3B;font-size:14px;margin-top:8px;max-width:520px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.tier{border:1.4px solid #D0D0D0;border-radius:14px;padding:12px 10px;text-align:center}
.tier b{display:block;color:var(--y);font-size:22px;font-weight:700}
.tier small{font-size:11px;color:#4F4F4F}
.bulk .ring{position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;border:30px solid var(--y);opacity:.95}
.bulk-in{position:relative;z-index:1}

/* features */
.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.feat{border:1.4px solid var(--line);border-radius:var(--r-md);padding:16px}
.feat .n{width:34px;height:34px;border-radius:50%;background:var(--y);display:grid;place-items:center;font-weight:700;font-size:14px;margin-bottom:10px}
.feat h4{font-size:14px;font-weight:600}
.feat p{font-size:12.5px;color:var(--mute);margin-top:4px}

/* listing */
.list-head{padding:6px 0 4px}
.list-head h1{font-size:26px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.01em}
.list-head p{color:var(--mute);font-size:14px;margin-top:6px;max-width:640px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 18px 4px;margin:0 -18px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.4px solid var(--line);border-radius:var(--pill);padding:8px 16px;font-size:13px;white-space:nowrap;background:var(--k2);transition:.2s}
.chip:hover{border-color:var(--y)}
.chip.on{background:var(--y);color:var(--k);border-color:var(--y)}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin:14px 0;font-size:13px;color:var(--mute)}
.toolbar select{border:1.4px solid var(--line);border-radius:var(--pill);padding:7px 12px;background:var(--k2);font-size:13px}
.empty{padding:50px 10px;text-align:center;color:var(--mute)}
.empty svg{width:120px;margin:0 auto 14px}

/* detail */
.detail-wrap{display:block}
.carousel{position:relative;margin:4px -18px 0;overflow:hidden}
.car-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 13%;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.slide{flex:none;width:100%;aspect-ratio:4/4.9;border-radius:var(--r-lg);background:var(--card);display:grid;place-items:center;scroll-snap-align:center;overflow:hidden;position:relative}
.slide svg{width:84%;height:88%}
.slide .lbl{position:absolute;left:14px;top:14px;font-size:11px;background:var(--k2);border-radius:var(--pill);padding:3px 10px;font-weight:500}
.car-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.car-dots button{width:7px;height:7px;border-radius:9px;background:#C6C6C6;transition:.3s}
.car-dots button.on{width:22px;background:var(--y)}
.thumbs{display:none}
.d-info{padding-top:20px}
.d-price{display:inline-block;font-size:24px;font-weight:600;background:var(--y);padding:0 10px;border-radius:8px;line-height:1.5}
.d-price s{font-size:15px;color:#6a5a00;margin-left:8px;font-weight:400}
.d-unit{font-size:12px;color:var(--mute);margin-left:6px}
.d-title{font-size:22px;font-weight:500;text-transform:uppercase;line-height:1.3;margin-top:12px;letter-spacing:.01em}
.tags{display:flex;gap:8px;overflow-x:auto;margin:14px -18px 0;padding:0 18px;scrollbar-width:none}
.tags::-webkit-scrollbar{display:none}
.tag{flex:none;border:1.3px solid #D0D0D0;border-radius:var(--pill);padding:7px 16px;font-size:13px;text-transform:uppercase;white-space:nowrap}
.tag.k{background:var(--y);color:var(--k);border-color:var(--y)}
.opt{margin-top:18px}
.opt-l{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:flex;justify-content:space-between}
.opt-l span{font-weight:400;color:var(--mute);text-transform:none;letter-spacing:0}
.swatches{display:flex;gap:10px}
.sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--bg);box-shadow:0 0 0 1.4px var(--line);transition:.2s}
.sw.on{box-shadow:0 0 0 2px var(--k)}
.sizes{display:flex;gap:8px;flex-wrap:wrap}
.size{border:1.4px solid var(--line);border-radius:12px;padding:8px 12px;font-size:12.5px;text-align:left;line-height:1.25;transition:.2s}
.size b{display:block;font-size:13px}
.size.on{border-color:var(--y);background:var(--y);color:var(--k)}
.qty{display:inline-flex;align-items:center;border:1.4px solid var(--line);border-radius:var(--pill)}
.qty button{width:40px;height:40px;font-size:18px}
.qty input{width:64px;text-align:center;border:0;font-weight:600;background:none;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qty-row .save{font-size:12px;background:var(--ysoft);border-radius:var(--pill);padding:5px 10px}
.acc{border-top:1px solid var(--line);margin-top:20px}
.acc+.acc{margin-top:0}
.acc button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}
.acc .chev{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:2.2;transition:transform .3s}
.acc.open .chev{transform:rotate(180deg)}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.acc.open .acc-body{grid-template-rows:1fr}
.acc-body>div{overflow:hidden;font-size:13.5px;color:#4D4D4D}
.acc-body ul{padding:0 0 14px 18px}
.acc-body p{padding-bottom:14px}
.specs{width:100%;border-collapse:collapse;margin-bottom:14px}
.specs td{padding:7px 0;border-bottom:1px dashed var(--line)}
.specs td:first-child{color:var(--mute);width:42%}
.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%)}
.cta{width:100%;height:58px;border-radius:var(--pill);background:var(--y);color:var(--k);display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:500;letter-spacing:.03em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s,color .2s;position:relative;overflow:hidden}
.cta svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.cta:hover{background:var(--y);color:var(--k)}
.cta:active{transform:scale(.97)}
.cta .tot{opacity:.7;font-weight:400;text-transform:none}
body.detail .bottom-nav{display:none}
.fly{position:fixed;z-index:100;width:56px;height:56px;border-radius:50%;background:var(--y);display:grid;place-items:center;pointer-events:none;transition:transform .75s cubic-bezier(.5,-.3,.7,1),opacity .75s}
.fly svg{width:30px;height:30px}

/* bag */
.bag-list{display:flex;flex-direction:column;gap:12px}
.line{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:center;border:1.4px solid var(--line);border-radius:var(--r-md);padding:10px}
.line .th{width:86px;height:96px;border-radius:12px;background:var(--card);display:grid;place-items:center}
.line .th svg{width:80%;height:86%}
.line h4{font-size:13px;font-weight:600;text-transform:uppercase;line-height:1.3}
.line small{display:block;color:var(--mute);font-size:12px}
.line .lp{font-weight:600;font-size:14px;margin-top:4px}
.line .qty button{width:30px;height:30px;font-size:15px}
.line .qty input{width:48px;font-size:13px}
.line .rm{font-size:12px;color:var(--mute);text-decoration:underline;margin-top:6px}
.line-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.summary{border-radius:var(--r-lg);background:var(--card);padding:18px;margin-top:18px}
.summary .row{display:flex;justify-content:space-between;font-size:14px;padding:5px 0}
.summary .row.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-weight:700;font-size:17px}
.summary .note{font-size:12px;color:var(--mute);margin-top:10px}
.prog{height:8px;border-radius:9px;background:#E0E0E0;overflow:hidden;margin:8px 0 4px}
.prog i{display:block;height:100%;background:var(--y);border-radius:9px;transition:width .5s var(--ease)}

/* forms */
.form{display:grid;gap:12px;margin-top:6px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1.4px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--k2);font-size:14px;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--y)}
.field textarea{min-height:96px;resize:vertical}
.form .cta{margin-top:6px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{cursor:pointer}
.checks input{position:absolute;opacity:0;pointer-events:none}
.checks span{display:inline-block;border:1.4px solid var(--line);border-radius:var(--pill);padding:7px 14px;font-size:13px;transition:.2s}
.checks input:checked+span{background:var(--y);border-color:var(--y)}
.checks input:focus-visible+span{outline:3px solid var(--k)}
.ok{border-radius:var(--r-lg);background:var(--y);padding:26px;text-align:center}
.ok h3{font-size:20px}
.ok p{font-size:14px;margin-top:6px}

/* wholesale */
.ws-hero{border-radius:var(--r-lg);background:var(--y);padding:26px 22px;position:relative;overflow:hidden}
.ws-hero h1{font-size:clamp(28px,7vw,54px);line-height:1.05;font-weight:800;max-width:640px;position:relative;z-index:1}
.ws-hero p{max-width:520px;margin-top:10px;font-size:14.5px;position:relative;z-index:1}
.ws-hero .stack{position:absolute;right:-30px;bottom:-30px;width:46%;max-width:360px;opacity:.95}
.tier-table{display:grid;gap:10px}
.trow{display:grid;grid-template-columns:1fr auto;align-items:center;border:1.4px solid var(--line);border-radius:var(--r-md);padding:14px 16px;transition:.25s}
.trow:hover{border-color:var(--y)}
.trow b{font-size:16px}
.trow small{display:block;color:var(--mute);font-size:12.5px}
.trow .off{background:var(--k3);color:var(--y);font-weight:700;border-radius:var(--pill);padding:6px 14px;font-size:14px}
.trow.best{background:var(--k3);color:#0B0B0B;border-color:var(--y)}
.trow.best small{color:#4F4F4F}
.trow.best .off{background:var(--y);color:var(--k)}
.steps{display:grid;gap:10px;counter-reset:s}
.step{display:flex;gap:14px;align-items:flex-start}
.step::before{counter-increment:s;content:counter(s);flex:none;width:36px;height:36px;border-radius:50%;border:1.4px solid var(--y);display:grid;place-items:center;font-weight:600;font-size:14px}
.step h4{font-size:14.5px;font-weight:600}
.step p{font-size:13px;color:var(--mute)}

/* industry page */
.ind-hero{border-radius:var(--r-lg);background:var(--k3);color:#0B0B0B;padding:24px 22px;position:relative;overflow:hidden;min-height:170px}
.ind-hero .ico{width:64px;height:64px;border-radius:50%;background:var(--y);display:grid;place-items:center;margin-bottom:14px}
.ind-hero .ico svg{width:36px;height:36px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ind-hero h1{font-size:clamp(26px,6vw,46px);line-height:1.1;font-weight:700}
.ind-hero p{color:#3A3A3A;margin-top:8px;max-width:560px;font-size:14px}
.ind-hero .big{position:absolute;right:-20px;bottom:-26px;width:170px;opacity:.12}
.ind-hero .big svg{width:100%;height:auto;fill:none;stroke:var(--y);stroke-width:1}
.ideas{display:flex;flex-wrap:wrap;gap:8px}
.ideas span{background:var(--ysoft);border-radius:var(--pill);padding:7px 14px;font-size:13px}

/* contact / account */
.ccard{border:1.4px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;gap:14px;align-items:center;transition:.2s}
.ccard:hover{border-color:var(--y)}
.ccard .ci{width:46px;height:46px;border-radius:50%;background:var(--y);display:grid;place-items:center;flex:none}
.ccard .ci svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ccard b{display:block;font-size:14px}
.ccard small{color:var(--mute);font-size:12.5px}
.ph{background:var(--ysoft);border-radius:4px;padding:0 4px;font-size:.92em}
.avatar{width:80px;height:80px;border-radius:50%;background:var(--y);display:grid;place-items:center;font-weight:800;font-size:30px;margin:6px auto 10px}
.center{text-align:center}

/* drawer */
.drawer{position:fixed;inset:0;z-index:80;background:rgba(255,255,255,0.66);opacity:0;pointer-events:none;transition:opacity .3s}
.drawer.open{opacity:1;pointer-events:auto}
.drawer-panel{position:absolute;left:0;top:0;bottom:0;width:min(86vw,360px);background:var(--k2);padding:22px;overflow-y:auto;transform:translateX(-100%);transition:transform .4s var(--ease);border-radius:0 26px 26px 0}
.drawer.open .drawer-panel{transform:none}
.dr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.dr-sec{margin-top:16px}
.dr-sec h5{font-size:11px;letter-spacing:.2em;color:var(--mute);font-weight:600;margin-bottom:6px}
.dr-sec a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.dr-sec a::after{content:"→";color:var(--y);transition:transform .2s}
.dr-sec a:hover::after{transform:translateX(4px);color:var(--ink)}
.dr-promo{margin-top:22px;border-radius:var(--r-md);background:var(--k3);color:#0B0B0B;padding:16px}
.dr-promo b{color:var(--y)}

/* search */
.search{position:fixed;inset:0;z-index:90;background:rgba(255,255,255,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .25s}
.search.open{opacity:1;pointer-events:auto}
.search-panel{max-width:720px;margin:0 auto;padding:18px}
.search-row{display:flex;align-items:center;gap:10px;border:1.6px solid var(--y);border-radius:var(--pill);padding:4px 4px 4px 18px;background:var(--k2)}
.search-row input{flex:1;border:0;outline:none;font-size:16px;background:none;min-width:0}
.search-row .icon-btn{width:40px;height:40px;border:0}
.search-results{margin-top:14px;display:grid;gap:8px;max-height:75vh;overflow-y:auto}
.sr{display:flex;align-items:center;gap:12px;padding:8px;border-radius:14px;background:var(--k2);border:1px solid var(--line)}
.sr:hover{border-color:var(--y)}
.sr .th{width:54px;height:54px;border-radius:10px;background:var(--card);display:grid;place-items:center;flex:none}
.sr .th svg{width:80%;height:80%}
.sr b{font-size:13px;font-weight:500;display:block;text-transform:uppercase}
.sr small{font-size:12px;color:var(--mute)}
.sr-hint{font-size:13px;color:var(--mute);padding:6px 4px}

/* bottom nav */
.bottom-nav{position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;height:66px;border-radius:24px;background:rgba(246,246,246,0.78);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(11,11,11,0.7);box-shadow:0 8px 30px rgba(0,0,0,0.19);display:flex;justify-content:space-around;align-items:center}
.bottom-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:6px 0;border-radius:16px;transition:.25s}
.bottom-nav a span{font-size:10px;font-weight:500;height:0;opacity:0;overflow:hidden;transition:.25s}
.bottom-nav a.on{background:var(--y);color:var(--k)}
.bottom-nav a.on span{height:14px;opacity:1}
.bottom-nav .bag-count{top:0;right:12px}

/* toast */
.toast{position:fixed;left:50%;bottom:100px;z-index:120;transform:translate(-50%,20px);background:var(--y);color:var(--k);border-radius:var(--pill);padding:12px 20px;font-size:13.5px;opacity:0;pointer-events:none;transition:.35s var(--ease);display:flex;gap:10px;align-items:center;white-space:nowrap;box-shadow:var(--shadow)}
.toast b{color:var(--y)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* footer */
.site-footer{background:var(--k3);color:#3B3B3B;padding:34px 18px 120px;margin-top:40px;border-top:3px solid var(--y)}
.f-in{max-width:var(--maxw);margin:0 auto;display:grid;gap:26px}
.f-brand .wm-main{color:var(--y);font-size:34px;display:inline-block;transform-origin:left;font-weight:900}
.f-brand p{font-size:13.5px;margin-top:10px;max-width:340px}
.f-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.f-cols h5{color:var(--y);font-size:11px;letter-spacing:.2em;margin-bottom:8px}
.f-cols a{display:block;font-size:13.5px;padding:3px 0}
.f-cols a:hover{color:#0B0B0B}
.f-news{display:flex;border:1.4px solid #D0D0D0;border-radius:var(--pill);padding:4px;margin-top:12px;max-width:380px}
.f-news input{flex:1;background:none;border:0;outline:none;padding:0 14px;color:#0B0B0B;min-width:0}
.f-news button{background:var(--y);color:var(--k);border-radius:var(--pill);padding:9px 16px;font-weight:600;font-size:13px}
.f-bot{border-top:1px solid #E4E4E4;padding-top:16px;font-size:12px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
.sample-note{font-size:11.5px;color:var(--mute);margin-top:10px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- tablet ---------- */
@media (min-width:640px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .ind-grid{grid-template-columns:repeat(3,1fr)}
  .feats{grid-template-columns:repeat(4,1fr)}
  .hero{min-height:240px;padding:34px}
  .hero p{display:block}
  .slide{aspect-ratio:4/4}
  .car-track{padding:0 22%}
}
/* ---------- desktop ---------- */
@media (min-width:960px){
  body{padding-bottom:0}
  .bottom-nav{display:none}
  .topbar{padding:14px max(28px,calc((100vw - var(--maxw))/2 + 18px))}
  .wordmark{position:static;transform:none;align-items:flex-start;margin-right:10px}
  #menuBtn{display:none!important}
  .back-btn{display:none!important}
  body.detail .wordmark{display:flex}
  body.detail .page-title{display:none}
  body.detail #searchBtn{display:grid}
  .heart-top{display:none!important}
  .bag-top{display:grid}
  .desk-nav{display:flex;gap:6px;align-items:center;margin-right:auto}
  .desk-nav>a,.dd>a{padding:10px 14px;border-radius:var(--pill);font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;transition:.2s}
  .desk-nav>a:hover,.dd:hover>a{background:var(--card)}
  .desk-nav a.on{background:var(--y);color:var(--k)}
  .caret{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .dd{position:relative}
  .dd-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--k2);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(6px);transition:.2s}
  .dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;pointer-events:auto;transform:none}
  .dd-menu a{display:block;padding:9px 12px;border-radius:12px;font-size:14px}
  .dd-menu a:hover{background:var(--ysoft)}
  main{padding:10px 28px 40px}
  .hero{min-height:420px;padding:56px}
  .hero-copy{max-width:48%}
  .hero-art{width:54%;right:0;height:108%}
  .hero-dots{left:56px;bottom:24px}
  .pill{padding:12px 26px;font-size:14px}
  .cats{flex-wrap:nowrap;margin:0;padding:26px 0 6px;justify-content:space-between}
  .cat{width:auto;flex:1;height:120px}
  .sec{margin-top:44px}
  .sec-head h2{font-size:26px}
  .grid{grid-template-columns:repeat(4,1fr);gap:20px}
  .ind-grid{grid-template-columns:repeat(6,1fr)}
  .ind{min-height:190px}
  .bulk{padding:44px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}
  .bulk h2{font-size:36px}
  .bulk .ring{width:320px;height:320px;right:-90px;top:-120px;border-width:44px}
  .tiers{margin-top:0}
  .tier{padding:20px 10px}.tier b{font-size:30px}
  .chips{margin:0;padding:16px 0 4px}
  .list-head h1{font-size:40px}
  .detail-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;margin-top:10px}
  .carousel{margin:0;position:sticky;top:96px}
  .car-track{padding:0}
  .slide{aspect-ratio:1/1}
  .thumbs{display:flex;gap:10px;margin-top:12px}
  .thumbs button{width:84px;height:84px;border-radius:14px;background:var(--card);display:grid;place-items:center;border:2px solid transparent}
  .thumbs button.on{border-color:var(--y)}
  .thumbs svg{width:80%;height:80%}
  .car-dots{display:none}
  .d-info{padding-top:0}
  .d-title{font-size:30px}
  .tags{margin:14px 0 0;padding:0;flex-wrap:wrap}
  .cta-bar{position:static;padding:0;background:none;margin-top:22px}
  .bag-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:start}
  .bag-wrap .summary{margin-top:0;position:sticky;top:100px}
  .ws-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
  .ws-hero{padding:56px}
  .ws-hero p{font-size:16px}
  .ind-hero{padding:48px;min-height:260px}
  .ind-hero .big{width:300px}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
  .site-footer{padding:56px 28px 40px}
  .f-in{grid-template-columns:1.2fr 2fr}
  .f-cols{grid-template-columns:repeat(4,1fr)}
  .f-bot{grid-column:1/-1}
  .toast{bottom:40px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* dark retheme accents */
.wm-main{color:var(--y)}.wm-sub{color:var(--k)}
.price{color:var(--y)}
.icon-btn{color:var(--y)}
.pill.y:hover{background:var(--ink);color:var(--k)}
h2 span,h1 span{color:var(--y)}
input,select,textarea{background:var(--k3);border-color:var(--line);color:var(--ink)}
::placeholder{color:#939393}
.ws-hero,.hero{color:var(--k)}.hero{background:linear-gradient(135deg,#0B0B0B,#0B0B0B)}.hero .pill,.ws-hero .pill{background:var(--k);color:var(--y)}.hero .eyebrow,.ws-hero .eyebrow{color:#E0E0E0}.hero-dots button.on{background:var(--y)}
.pcard,.ind,.hero-art{box-shadow:inset 0 0 0 1px var(--line)}

/* site-wide background image */
html{background:#FFFFFF}
body{background:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:#FFFFFF url(/bg.jpg) center/cover no-repeat;pointer-events:none}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(255,255,255,0.66);pointer-events:none}

/* =================== PREMIUM POLISH LAYER (Oct 2026) =================== */
:root{--glass:rgba(246,246,246,0.66);--glass2:rgba(252,252,252,0.78);--gline:rgba(11,11,11,0.08);--yline:rgba(11,11,11,0.193);--yglow:0 18px 44px -18px rgba(0,0,0,0.099)}
/* contrast fixes: dark text on every yellow surface */
.toast b,.feat .n,.avatar,.ok,.ok h3,.ok p,.d-price,.checks input:checked+span,.cat.on,.size.on{color:var(--k)}
.ccard .ci svg,.ind-hero .ico svg,.cat.on svg{stroke:var(--k)!important}
.sw.on{box-shadow:0 0 0 2px rgba(0,0,0,0.061),0 0 14px rgba(0,0,0,0.11)}
.hero-art{box-shadow:none!important}

/* ticker */
.ticker{height:34px;font-weight:700;letter-spacing:.16em;font-size:11.5px;background:linear-gradient(90deg,#0B0B0B,#0B0B0B 50%,#0B0B0B);box-shadow:0 6px 26px -8px rgba(0,0,0,0.132);position:relative;z-index:41}
.ticker-track{animation-duration:38s}

/* top bar + icon buttons */
.topbar{background:rgba(255,255,255,0.66);border-bottom:1px solid var(--gline)}
.icon-btn{background:rgba(244,244,244,0.72);border-color:rgba(11,11,11,0.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.icon-btn:hover{border-color:var(--y);box-shadow:0 0 20px -4px rgba(0,0,0,0.143)}
.wm-main{text-shadow:0 0 22px rgba(0,0,0,0.077)}

/* ---------- hero ---------- */
.hero{color:var(--ink);background:radial-gradient(90% 80% at 88% 92%,rgba(11,11,11,0.187),transparent 60%),radial-gradient(60% 50% at 0% 0%,rgba(11,11,11,0.044),transparent 70%),linear-gradient(160deg,rgba(236,236,236,0.86),rgba(255,255,255,0.86));border:1px solid var(--yline);box-shadow:0 40px 70px -40px rgba(0,0,0,0.38),inset 0 1px 0 rgba(255,255,255,0.112);min-height:372px;align-items:flex-start;padding:24px 20px 50px;margin-top:4px}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(11,11,11,0.09) 1px,transparent 1.2px);background-size:16px 16px;-webkit-mask-image:linear-gradient(120deg,#FFFFFF 10%,transparent 65%);mask-image:linear-gradient(120deg,#FFFFFF 10%,transparent 65%)}
.hero-glow{position:absolute;right:-12%;bottom:-30%;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(11,11,11,0.248),transparent 62%);filter:blur(30px);z-index:0;pointer-events:none;animation:glow 6s ease-in-out infinite}
@keyframes glow{50%{transform:scale(1.12);opacity:.75}}
.hero-copy{max-width:100%;z-index:3}
.hero-eye{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--y);border:1px solid var(--yline);background:rgba(11,11,11,0.039);border-radius:var(--pill);padding:5px 12px 5px 9px}
.hero-eye i{width:7px;height:7px;border-radius:50%;background:var(--y);box-shadow:0 0 0 0 rgba(0,0,0,0.154);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
.hero h1{font-size:clamp(36px,10.4vw,84px);font-weight:800;line-height:.96;letter-spacing:-.04em;margin-top:14px;color:#0B0B0B}
.hero h1 mark{background:none;color:var(--y);padding:0;text-shadow:0 0 34px rgba(0,0,0,0.099);position:relative;display:inline-block}
.hero h1 mark::after{content:"";position:absolute;left:2%;right:4%;bottom:-.06em;height:.11em;border-radius:9px;background:var(--y);transform-origin:left;animation:swoosh .9s .35s var(--ease) both}
@keyframes swoosh{from{transform:scaleX(0)}}
.hero p{display:block;color:#414141;font-size:13.5px;max-width:58%;margin-top:12px;line-height:1.45}
.hero .pill{background:var(--y);color:var(--k);font-weight:600;letter-spacing:.06em;padding:11px 20px;box-shadow:0 10px 30px -8px rgba(0,0,0,0.143);margin-top:16px}
.pill .arr{display:inline-block;transition:transform .25s var(--ease)}
.pill:hover .arr{transform:translateX(4px)}
.hero-slide.on .hero-eye,.hero-slide.on h1,.hero-slide.on p,.hero-slide.on .pill{animation:rise .7s var(--ease) both}
.hero-slide.on h1{animation-delay:.06s}.hero-slide.on p{animation-delay:.14s}.hero-slide.on .pill{animation-delay:.22s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.hero-art{width:62%;height:62%;right:-4px;bottom:6px;top:auto;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s var(--ease);filter:drop-shadow(0 24px 24px rgba(0,0,0,0.209))}
.hero-dots{left:20px;bottom:18px}
.hero-dots button{width:8px;height:8px;background:rgba(11,11,11,0.28);position:relative;overflow:hidden}
.hero-dots button.on{width:34px;background:rgba(11,11,11,0.138);box-shadow:0 0 12px rgba(0,0,0,0.099)}
.hero-dots button.on::after{content:"";position:absolute;inset:0;background:var(--y);border-radius:inherit;transform-origin:left;animation:dotfill 5.2s linear both}
@keyframes dotfill{from{transform:scaleX(0)}}
.seal{position:absolute;right:14px;top:14px;width:70px;z-index:2;filter:drop-shadow(0 0 16px rgba(0,0,0,0.077))}
.seal svg{width:100%;height:auto;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* category tiles */
.cat{background:var(--glass);border-color:var(--gline);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:500;position:relative;overflow:hidden}
.cat svg{stroke:var(--y)}
.cat::before{content:"";position:absolute;inset:0;background:radial-gradient(120px circle at var(--mx,50%) var(--my,0%),rgba(11,11,11,0.099),transparent 60%);opacity:0;transition:opacity .3s}
.cat:hover::before{opacity:1}
.cat:hover{box-shadow:var(--yglow)}
.cat.on{box-shadow:0 10px 30px -10px rgba(0,0,0,0.154)}

/* section heads */
.sec-head h2{font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.sec-head h2::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--y);transform:rotate(45deg);box-shadow:0 0 12px rgba(0,0,0,0.154);flex:none}
.sec-head a{text-decoration:none;border:1px solid var(--yline);border-radius:var(--pill);padding:5px 12px;font-size:12px;font-weight:500;transition:.2s}
.sec-head a:hover{background:var(--y);color:var(--k)}
.sec-head{opacity:0;transform:translateX(-12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.sec-head.in{opacity:1;transform:none}

/* product cards: glass + spotlight + glow */
.pcard{background:linear-gradient(180deg,rgba(232,232,232,0.72),rgba(254,254,254,0.86));border:1px solid var(--gline);box-shadow:none!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pcard::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(70% 45% at 50% 62%,rgba(11,11,11,0.088),transparent 70%);transition:opacity .4s}
.pcard::after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.154);opacity:0;transition:opacity .35s;background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%),rgba(11,11,11,0.066),transparent 60%)}
.pcard:hover{transform:translateY(-6px)}
.pcard:hover::after{opacity:1}
.pcard:hover{box-shadow:var(--yglow)!important}
.pcard .art{z-index:1}
.pcard .art svg{filter:drop-shadow(0 14px 14px rgba(0,0,0,0.171))}
.pcard .shade{background:linear-gradient(transparent,rgba(255,255,255,0.85))}
.pcard .name{font-weight:500;letter-spacing:.04em}
.pcard .price{font-weight:700}
.badge{box-shadow:0 0 14px rgba(0,0,0,0.099);font-weight:700;letter-spacing:.08em;font-size:10px}
.pcard .fav{background:rgba(255,255,255,0.66);border:1px solid rgba(11,11,11,0.12);backdrop-filter:blur(6px)}
.fav.on{border-color:var(--y);animation:pop .4s var(--ease)}
@keyframes pop{50%{transform:scale(1.25)}}

/* packing-tape marquee */
.tape{position:relative;margin:38px -18px 6px;height:112px;overflow:hidden;pointer-events:none}
.tape-row{position:absolute;left:-5%;right:-5%;height:42px;display:flex;align-items:center;overflow:hidden;white-space:nowrap}
.tape-row.a{top:18px;background:linear-gradient(180deg,#0B0B0B,#0B0B0B);color:var(--k);transform:rotate(-3deg);box-shadow:0 10px 30px -10px rgba(0,0,0,0.132);z-index:2}
.tape-row.b{top:52px;background:#FFFFFF;color:var(--y);transform:rotate(2.5deg);border-top:1px solid var(--yline);border-bottom:1px solid var(--yline)}
.tape-track{display:inline-flex;gap:28px;animation:tick 26s linear infinite;font-weight:800;font-size:15px;letter-spacing:.12em}
.tape-row.b .tape-track{animation-direction:reverse;animation-duration:32s;font-weight:700;color:transparent;-webkit-text-stroke:1px var(--y)}
.tape-track span::after{content:"✦";margin-left:28px}
.tape-row.b .tape-track span::after{color:var(--y);-webkit-text-stroke:0}

/* bulk strip */
.bulk{background:radial-gradient(80% 120% at 100% 0%,rgba(11,11,11,0.077),transparent 60%),linear-gradient(160deg,rgba(238,238,238,0.86),rgba(255,255,255,0.86));border:1px solid var(--yline);box-shadow:0 30px 60px -40px rgba(0,0,0,0.38);backdrop-filter:blur(10px)}
.bulk .ring{border-color:transparent;background:conic-gradient(from 0deg,#0B0B0B,#0B0B0B,#0B0B0B,rgba(11,11,11,0.11),#0B0B0B) border-box;-webkit-mask:radial-gradient(circle,transparent 54%,#FFFFFF 55%);mask:radial-gradient(circle,transparent 54%,#FFFFFF 55%);animation:spin 24s linear infinite;opacity:.9}
.tier{background:rgba(255,255,255,0.66);border-color:rgba(11,11,11,0.1);transition:.3s}
.tier:hover{border-color:var(--y);transform:translateY(-3px);box-shadow:var(--yglow)}
.tier b{text-shadow:0 0 20px rgba(0,0,0,0.077);font-size:19px}

/* how it works */
.how{list-style:none;display:grid;gap:12px;position:relative}
.how-step{position:relative;overflow:hidden;border-radius:var(--r-md);padding:18px 18px 18px 84px;background:var(--glass);border:1px solid var(--gline);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-height:96px}
.how-step::before{content:"";position:absolute;inset:0;background:radial-gradient(180px circle at var(--mx,0%) var(--my,50%),rgba(11,11,11,0.077),transparent 60%);pointer-events:none}
.how-ico{position:absolute;left:18px;top:18px;width:50px;height:50px;border-radius:14px;background:var(--y);display:grid;place-items:center;box-shadow:0 8px 24px -8px rgba(0,0,0,0.176)}
.how-ico svg{width:30px;height:30px;fill:none;stroke:var(--k);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.how-n{position:absolute;right:14px;top:6px;font-size:44px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(11,11,11,0.22)}
.how-step h4{font-size:15.5px;font-weight:700}
.how-step p{font-size:13px;color:var(--mute);margin-top:3px;max-width:88%}
.how-step:not(:last-child)::after{content:"";position:absolute;left:42px;bottom:-1px;height:14px;border-left:2px dashed var(--y)}

/* industries */
.ind,.ind:nth-child(4n+1),.ind:nth-child(4n+4){background:linear-gradient(160deg,rgba(234,234,234,0.78),rgba(254,254,254,0.85));color:var(--ink);border:1px solid var(--gline);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ind::before{content:"";position:absolute;inset:0;background:radial-gradient(200px circle at var(--mx,100%) var(--my,0%),rgba(11,11,11,0.088),transparent 60%);pointer-events:none}
.ind-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(11,11,11,0.055);border:1px solid var(--yline);transition:.35s var(--ease)}
.ind-ico svg,.ind:nth-child(4n+1) .ind-ico svg,.ind:nth-child(4n+4) .ind-ico svg{width:30px;height:30px;stroke:var(--y);stroke-width:1.8}
.ind-n{position:absolute;left:16px;top:12px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--y)}
.ind h3{font-weight:700;padding-right:22px}
.ind::after{content:"→";position:absolute;right:16px;bottom:14px;color:var(--y);transition:transform .3s var(--ease)}
.ind:hover{background:linear-gradient(160deg,#0B0B0B,#0B0B0B)!important;color:var(--k)!important;border-color:var(--y);box-shadow:var(--yglow);transform:translateY(-4px)}
.ind:hover .ind-ico{background:var(--k);border-color:var(--k);transform:rotate(-10deg) scale(1.06)}
.ind:hover .ind-ico svg{stroke:var(--y)!important}
.ind:hover .ind-n,.ind:hover::after{color:var(--k)}
.ind:hover::after{transform:translateX(4px)}

/* features */
.feat{background:var(--glass);border-color:var(--gline);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:.3s var(--ease)}
.feat:hover{border-color:var(--yline);transform:translateY(-3px)}
.feat .n{box-shadow:0 0 16px rgba(0,0,0,0.11)}

/* chips, tags, inputs */
.chip,.toolbar select,.tag,.size,.qty,.checks span{background:rgba(246,246,246,0.7);border-color:rgba(11,11,11,0.1)}
.chip.on,.size.on,.tag.k,.checks input:checked+span{background:var(--y);border-color:var(--y);box-shadow:0 6px 20px -8px rgba(0,0,0,0.176)}
.field input,.field select,.field textarea{background:rgba(252,252,252,0.75);border-color:rgba(11,11,11,0.1)}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(0,0,0,0.026)}

/* buttons: shine + ripple + added state */
.cta,.pill{position:relative;overflow:hidden;isolation:isolate}
.cta{font-weight:700;letter-spacing:.08em;background:linear-gradient(180deg,#0B0B0B,#0B0B0B);box-shadow:0 14px 34px -12px rgba(0,0,0,0.165)}
.cta::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(11,11,11,0.55),transparent);transform:skewX(-20deg);animation:shine 3.6s ease-in-out infinite;z-index:-1}
@keyframes shine{0%,60%{left:-60%}100%{left:130%}}
.cta svg{stroke:var(--k)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.22);transform:scale(0);animation:ripple .6s ease-out forwards;pointer-events:none;z-index:-1}
@keyframes ripple{to{transform:scale(1);opacity:0}}
.cta-main{display:inline-flex;align-items:center;gap:12px;transition:transform .35s var(--ease),opacity .35s}
.cta-done{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;transform:translateY(110%);transition:transform .35s var(--ease)}
.cta.added{background:#FFFFFF;color:var(--y);box-shadow:0 0 0 2px rgba(0,0,0,0.061),0 14px 34px -12px rgba(0,0,0,0.165)}
.cta.added .cta-main{transform:translateY(-110%);opacity:0}
.cta.added .cta-done{transform:none}
.fly{box-shadow:0 0 30px rgba(0,0,0,0.176)}

/* product detail */
.slide,.thumbs button,.line .th,.sr .th{background:radial-gradient(70% 50% at 50% 70%,rgba(11,11,11,0.099),transparent 70%),linear-gradient(170deg,rgba(232,232,232,0.8),rgba(254,254,254,0.86));border:1px solid var(--gline)}
.slide svg{filter:drop-shadow(0 22px 20px rgba(0,0,0,0.209))}
.slide .lbl{background:rgba(255,255,255,0.7);border:1px solid var(--yline);color:var(--y);letter-spacing:.06em}
.car-dots button{background:rgba(11,11,11,0.28)}
.car-dots button.on{box-shadow:0 0 10px rgba(0,0,0,0.132)}
.d-price{box-shadow:0 8px 24px -8px rgba(0,0,0,0.154);font-weight:700}
.d-title{font-weight:700;letter-spacing:-.005em}
.acc{border-top-color:rgba(11,11,11,0.1)}
.cta-bar{background:linear-gradient(transparent,rgba(255,255,255,0.86) 35%)}

/* bag, summary, contact, drawer */
.line,.ccard,.trow,.summary,.sr{background:var(--glass);border-color:var(--gline);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.summary{border:1px solid var(--yline)}
.trow.best{background:linear-gradient(160deg,rgba(40,34,10,.85),rgba(252,252,252,0.86))}
.ccard:hover,.trow:hover{box-shadow:var(--yglow)}
.ccard .ci{box-shadow:0 0 16px rgba(0,0,0,0.099)}
.drawer{background:rgba(255,255,255,0.66);backdrop-filter:blur(4px)}
.drawer-panel{background:rgba(250,250,250,0.86);border-right:1px solid var(--yline);backdrop-filter:blur(16px)}
.dr-promo{background:linear-gradient(160deg,rgba(11,11,11,0.088),rgba(246,246,246,0.86));border:1px solid var(--yline)}

/* wholesale + industry hero: dark glass with yellow glow */
.ws-hero,.ind-hero{color:var(--ink);background:radial-gradient(80% 90% at 100% 100%,rgba(11,11,11,0.165),transparent 60%),linear-gradient(160deg,rgba(236,236,236,0.86),rgba(255,255,255,0.86));border:1px solid var(--yline);box-shadow:0 40px 70px -40px rgba(0,0,0,0.38)}
.ws-hero .eyebrow{color:var(--y)!important}
.ws-hero h1{letter-spacing:-.03em;color:#0B0B0B}
.ws-hero p{color:#414141}
.ws-hero .pill{background:var(--y);color:var(--k);font-weight:600;box-shadow:0 10px 30px -8px rgba(0,0,0,0.143)}
.ws-hero .stack{filter:drop-shadow(0 20px 24px rgba(0,0,0,0.228))}
.ind-hero .ico{box-shadow:0 0 26px rgba(0,0,0,0.11)}
.ideas span{border:1px solid var(--yline);background:rgba(11,11,11,0.044)}

/* bottom nav */
.bottom-nav{background:rgba(252,252,252,0.72);border:1px solid var(--yline);box-shadow:0 14px 40px rgba(0,0,0,0.228),0 0 0 1px rgba(0,0,0,0.152),inset 0 1px 0 rgba(255,255,255,0.096)}
.bottom-nav a{color:#3B3B3B}
.bottom-nav a.on{box-shadow:0 8px 22px -6px rgba(0,0,0,0.165);transform:translateY(-2px)}
.bottom-nav a:active{transform:scale(.92)}

/* footer */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(246,246,246,0.86),rgba(255,255,255,0.86));border-top:1px solid var(--yline);box-shadow:0 -1px 0 rgba(0,0,0,0.044),0 -30px 60px -40px rgba(0,0,0,0.077)}
.f-in{position:relative;z-index:1}
.f-mega{position:absolute;left:50%;bottom:58px;transform:translateX(-50%);font-weight:900;font-size:34vw;line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(11,11,11,0.072);white-space:nowrap;pointer-events:none;user-select:none}
.f-news{background:rgba(255,255,255,0.66)}

@media (min-width:640px){
  .hero{min-height:360px;padding:36px 34px 56px}
  .hero p{max-width:400px}
  .hero-copy{max-width:56%}
  .hero-art{width:52%;height:96%;bottom:-4px}
  .seal{width:86px;right:auto;left:calc(56% - 60px);top:auto;bottom:24px}
  .how{grid-template-columns:repeat(3,1fr)}
  .how-step{padding:84px 20px 22px;min-height:190px}
  .how-step:not(:last-child)::after{left:auto;right:-13px;top:42px;bottom:auto;width:14px;height:0;border-left:0;border-top:2px dashed var(--y)}
  .tape{margin:46px 0 10px;border-radius:var(--r-lg)}
}
@media (min-width:960px){
  .hero{min-height:500px;padding:64px 56px}
  .hero h1{font-size:clamp(56px,6.2vw,92px)}
  .hero p{font-size:16px}
  .hero-copy{max-width:50%}
  .hero-art{width:54%;height:100%;bottom:-6px}
  .hero-dots{left:56px;bottom:28px}
  .seal{width:110px;left:calc(50% - 40px);bottom:36px}
  .tape{height:140px}.tape-row{height:52px}.tape-row.a{top:24px}.tape-row.b{top:64px}.tape-track{font-size:19px}
  .f-mega{font-size:min(26vw,360px);bottom:20px}
  .tier b{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.sec-head{opacity:1;transform:none}.cta::before,.hero-glow{display:none}}

/* polish fixes */
.bag-count[hidden]{display:none!important}
.cats{scroll-padding-left:18px}
.hero p{max-width:52%}
.hero-art{height:50%;bottom:34px}
.step::before{background:var(--y);color:var(--k);border-color:var(--y);box-shadow:0 0 16px rgba(0,0,0,0.11);font-weight:700}
.step{background:var(--glass);border:1px solid var(--gline);border-radius:var(--r-md);padding:14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media (min-width:640px){.hero p{max-width:400px}.hero-art{height:96%;bottom:-4px}}
@media (min-width:960px){.hero-art{height:100%;bottom:-6px}}
@media (max-width:639px){.hero{min-height:392px}.hero p{max-width:47%}.hero-art{width:50%;height:44%;bottom:4px;right:-6px}}
@media (max-width:639px){.hero-art{width:58%;height:54%;bottom:8px;right:-10px}}

/* =================== GLASS LAYER (frosted glassmorphism) =================== */
:root{--gl-fill:rgba(246,246,246,0.66);--gl-fill2:rgba(250,250,250,0.66);--gl-bd:rgba(11,11,11,0.12);--gl-blur:blur(20px) saturate(140%);--gl-sheen:inset 0 1px 0 rgba(255,255,255,0.224),inset 0 0 0 1px rgba(255,255,255,0.048);--gl-shadow:0 12px 34px -14px rgba(0,0,0,0.266)}
body::after{background:rgba(255,255,255,0.22)}
/* shared glass surface */
.hero,.ws-hero,.ind-hero,.bulk,.pcard,.cat,.ind,.feat,.how-step,.step,.slide,.thumbs button,.line,.summary,.ccard,.trow,.tier,.sr,.ok,.form .field input,.field select,.field textarea,.chip,.size,.tag,.qty,.checks span,.toolbar select,.dd-menu,.f-news,.icon-btn{
  background-color:var(--gl-fill);border:1px solid var(--gl-bd);box-shadow:var(--gl-sheen),var(--gl-shadow);
  -webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur)}
.hero,.ws-hero,.ind-hero,.bulk{background-image:radial-gradient(90% 80% at 88% 92%,rgba(11,11,11,0.143),transparent 60%),linear-gradient(160deg,rgba(11,11,11,0.07),rgba(11,11,11,0) 40%);background-color:rgba(250,250,250,0.66);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);border-color:rgba(11,11,11,0.165);box-shadow:inset 0 1px 0 rgba(255,255,255,0.288),0 30px 60px -30px rgba(0,0,0,0.323)}
.pcard,.ind,.cat,.feat,.how-step,.slide,.line,.ccard,.trow{background-image:linear-gradient(160deg,rgba(11,11,11,0.08),rgba(11,11,11,0.01) 45%,rgba(255,255,255,0.18))}
.pcard,.ind,.slide{background-color:rgba(248,248,248,0.66)}
.slide{background-image:radial-gradient(70% 50% at 50% 70%,rgba(11,11,11,0.099),transparent 70%),linear-gradient(160deg,rgba(11,11,11,0.08),rgba(11,11,11,0) 45%)}
.chip.on,.size.on,.tag.k,.checks input:checked+span,.cat.on{background-color:var(--y);background-image:linear-gradient(180deg,rgba(11,11,11,0.28),rgba(11,11,11,0) 60%);border-color:var(--y)}
.ind:hover{background-image:linear-gradient(160deg,#0B0B0B,#0B0B0B)!important}
.ok{background-color:rgba(11,11,11,0.88);color:var(--k)}
.field input,.field select,.field textarea{background-color:rgba(255,255,255,0.66)}
.tier{background-color:rgba(255,255,255,0.66)}
/* glass inside glass: drop the inner blur for performance */
.hero .icon-btn,.tier,.summary .field input,.line .qty,.form .checks span,.d-info .chip,.pcard .fav{-webkit-backdrop-filter:none;backdrop-filter:none}
.d-info{position:relative}

/* top bar, ticker-adjacent, bottom nav */
.topbar{background:rgba(254,254,254,0.66);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(11,11,11,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.018)}
.bottom-nav{background:linear-gradient(180deg,rgba(11,11,11,0.1),rgba(11,11,11,0.02)),rgba(252,252,252,0.66);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border:1px solid rgba(11,11,11,0.14);box-shadow:inset 0 1px 0 rgba(255,255,255,0.32),0 16px 40px rgba(0,0,0,0.228)}
.cta-bar{background:linear-gradient(transparent,rgba(255,255,255,0.66) 40%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(transparent,#FFFFFF 30%);mask-image:linear-gradient(transparent,#FFFFFF 30%)}
.cta{box-shadow:inset 0 1px 0 rgba(255,255,255,0.88),0 14px 34px -12px rgba(0,0,0,0.165)}

/* MENU drawer: frosted glass */
.drawer{background:rgba(255,255,255,0.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.drawer-panel{background:linear-gradient(165deg,rgba(11,11,11,0.12),rgba(11,11,11,0.03) 35%,rgba(11,11,11,0.033)),rgba(252,252,252,0.66);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);border-right:1px solid rgba(11,11,11,0.16);box-shadow:inset -1px 0 0 rgba(0,0,0,0.055),inset 0 1px 0 rgba(255,255,255,0.32),30px 0 60px -20px rgba(0,0,0,0.266)}
.drawer-panel::before{content:"";position:absolute;right:-80px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(11,11,11,0.121),transparent 65%);pointer-events:none}
.dr-head{position:relative}
.dr-head .icon-btn{background:rgba(11,11,11,0.08);border-color:rgba(11,11,11,0.18);box-shadow:inset 0 1px 0 rgba(255,255,255,0.32)}
.dr-head .icon-btn:hover{border-color:var(--y);box-shadow:0 0 20px -4px rgba(0,0,0,0.154)}
.dr-sec h5{color:var(--y);opacity:.85}
.dr-sec a{border:1px solid rgba(11,11,11,0.08);border-bottom:1px solid rgba(11,11,11,0.08);background:rgba(11,11,11,0.04);border-radius:14px;padding:12px 14px;margin-bottom:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.096);transition:background .25s,border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.dr-sec a:hover,.dr-sec a:focus-visible,.dr-sec a.on{background:rgba(11,11,11,0.066);border-color:rgba(11,11,11,0.55);box-shadow:0 0 22px -6px rgba(0,0,0,0.132),inset 0 1px 0 rgba(255,255,255,0.192);transform:translateX(3px)}
.dr-sec a:active{background:rgba(11,11,11,0.121)}
.dr-promo{background:linear-gradient(160deg,rgba(11,11,11,0.11),rgba(11,11,11,0.03));border:1px solid rgba(11,11,11,0.22);box-shadow:inset 0 1px 0 rgba(255,255,255,0.24)}

/* search sheet, dropdowns, toast */
.search{background:rgba(255,255,255,0.66);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
.search-row{background:rgba(11,11,11,0.07);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.256),0 0 30px -10px rgba(0,0,0,0.11)}
.sr{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:rgba(246,246,246,0.66)}
.dd-menu{background-color:rgba(250,250,250,0.66);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%)}
.toast{background:rgba(11,11,11,0.86);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);border:1px solid rgba(11,11,11,0.4);box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 14px 30px -10px rgba(0,0,0,0.228)}
.site-footer{background:linear-gradient(180deg,rgba(11,11,11,0.06),rgba(11,11,11,0) 30%),rgba(255,255,255,0.66);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}

/* fallback: no backdrop-filter -> more opaque dark fills */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root{--gl-fill:rgba(246,246,246,0.86)}
  .hero,.ws-hero,.ind-hero,.bulk,.pcard,.ind,.slide,.cat,.feat,.how-step,.line,.ccard,.trow,.summary{background-color:rgba(248,248,248,0.86)}
  .topbar{background:rgba(255,255,255,0.86)}
  .bottom-nav,.dd-menu{background:rgba(250,250,250,0.86)}
  .drawer-panel{background:rgba(250,250,250,0.86)}
  .search{background:rgba(255,255,255,0.86)}
  .site-footer{background:rgba(255,255,255,0.86)}
  body::after{background:rgba(255,255,255,0.66)}
}

/* darker pass */
body::after{background:rgba(255,255,255,0.66)}
.drawer{background:rgba(255,255,255,0.66)}
.drawer-panel{background:linear-gradient(165deg,rgba(11,11,11,0.08),rgba(11,11,11,0.02) 35%,rgba(11,11,11,0.022)),rgba(255,255,255,0.78)}
.dr-sec a{background:rgba(11,11,11,0.035)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body::after{background:rgba(255,255,255,0.7)}}

/* real logo */
.logo-link{line-height:0}
.logo-img{height:44px;width:auto;display:block;filter:drop-shadow(0 0 14px rgba(0,0,0,0.04))}
.dr-head .logo-img{height:50px}
.f-logo{height:72px;width:auto;display:block}
@media (min-width:960px){.topbar .logo-img{height:48px}}

/* hero mockup photo */
.hero-photo{position:absolute;right:6px;bottom:4px;height:100%;max-width:100%;aspect-ratio:1;margin:0;border-radius:22px;padding:5px;background:linear-gradient(150deg,rgba(11,11,11,0.28),rgba(11,11,11,0.05) 40%,rgba(11,11,11,0.193));border:1px solid rgba(11,11,11,0.22);box-shadow:0 0 0 1px rgba(0,0,0,0.055),0 22px 44px -12px rgba(0,0,0,0.323),0 0 46px -6px rgba(0,0,0,0.121);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);rotate:3deg}
.hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:17px;display:block;filter:saturate(.9) contrast(1.04)}
.hero-photo::after{content:"";position:absolute;inset:5px;border-radius:17px;pointer-events:none;background:linear-gradient(200deg,transparent 45%,rgba(255,255,255,0.66)),linear-gradient(0deg,rgba(11,11,11,0.055),transparent 40%)}
.hero-photo figcaption{position:absolute;left:12px;bottom:11px;z-index:1;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--y);background:rgba(255,255,255,0.72);border:1px solid var(--yline);border-radius:var(--pill);padding:4px 9px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero-art:has(.hero-photo){filter:none}
@media (max-width:639px){.hero-art:has(.hero-photo){width:54%;height:50%;bottom:14px;right:4px}}
.hero-photo{max-width:none;height:94%}
.hero-photo figcaption{font-size:8.5px;padding:3px 8px;left:10px;bottom:10px;letter-spacing:.12em}
@media (max-width:639px){.hero-art:has(.hero-photo){width:56%;height:55%;bottom:12px;right:2px}.hero-photo{height:100%}}
@media (max-width:639px){.hero-art:has(.hero-photo){height:51%;bottom:8px}}
.hero-photo::after{background:linear-gradient(200deg,transparent 55%,rgba(255,255,255,0.66))}
.hero-photo img{filter:none}

/* hero cutout (transparent bags) */
.hero-art:has(.hero-cut){filter:drop-shadow(0 26px 22px rgba(0,0,0,0.266)) drop-shadow(0 0 28px rgba(0,0,0,0.048))}
.hero-cut{position:absolute;right:0;bottom:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;display:block}
@media (max-width:639px){.hero-art:has(.hero-cut){width:64%;height:56%;bottom:6px;right:-8px}}
@media (min-width:640px){.hero-art:has(.hero-cut){width:56%;height:100%;bottom:-2px}}
@media (min-width:960px){.hero-art:has(.hero-cut){width:58%;height:110%;bottom:-14px;right:-6px}}
@media (max-width:639px){.hero-art:has(.hero-cut){width:57%;height:54%;right:-6px}}

/* BIGGER hero bags */
.hero:has(.hero-cut){overflow:visible}
.hero:has(.hero-cut) .hero-glow{right:0;bottom:0;width:62%}
.hero:has(.hero-cut)::before{border-radius:inherit}
@media (max-width:639px){
  .hero:has(.hero-cut){padding-bottom:40px}
  .hero-slide:has(.hero-cut).on{flex-direction:column}
  .hero-slide:has(.hero-cut) .hero-copy p{max-width:92%}
  .hero-art:has(.hero-cut){position:relative;inset:auto;right:auto;bottom:auto;width:108%;height:auto;aspect-ratio:820/723;margin:6px -4% -18px;align-self:center}
  .hero-cut{position:static;width:100%;height:100%}
  .hero-dots{bottom:14px}
}
@media (min-width:640px) and (max-width:959px){.hero-art:has(.hero-cut){width:64%;height:118%;bottom:-18px;right:-5%}}
@media (min-width:960px){
  .hero-art:has(.hero-cut){width:72%;height:132%;bottom:-40px;right:-7%}
}
@media (max-width:639px){.hero:has(.hero-cut){padding-bottom:50px}.hero-art:has(.hero-cut){margin-bottom:-6px}}
@media (min-width:640px) and (max-width:959px){.hero-art:has(.hero-cut){width:66%;height:clamp(320px,52vw,460px);bottom:-70px;right:-8%}}
@media (min-width:960px){.hero-art:has(.hero-cut){width:74%;height:clamp(440px,44vw,640px);bottom:-100px;right:-10%}}
@media (min-width:640px) and (max-width:959px){
  .hero:has(.hero-cut){padding-bottom:56px}
  .hero-slide:has(.hero-cut).on{flex-direction:column}
  .hero-art:has(.hero-cut){position:relative;inset:auto;right:auto;bottom:auto;width:88%;height:auto;aspect-ratio:820/723;margin:0 -6% -10px auto;align-self:flex-end}
  .hero-cut{position:static;width:100%;height:100%}
}
@media (min-width:960px){.hero-art:has(.hero-cut){width:72%;height:clamp(400px,37vw,540px);bottom:-84px;right:-9%}}

/* home: two balanced tiles */
.cats.cats-home{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:visible;margin:0;padding:20px 0 6px;scroll-snap-type:none}
.cats.cats-home .cat{width:auto;min-width:0;flex:none;flex-direction:row;justify-content:center;gap:12px;min-height:84px}
@media (min-width:960px){.cats.cats-home{max-width:none}}
.cats.cats-home .cat{height:auto;min-height:84px;font-size:14px}@media (min-width:960px){.cats.cats-home .cat{min-height:92px;font-size:15px}}

/* ===== STEADY BARS + NO SIDEWAYS DRIFT ===== */
html{overflow-x:hidden;overflow-x:clip;overscroll-behavior-y:none}
body{overflow-x:hidden;overflow-x:clip;overscroll-behavior-y:none;width:100%;position:relative}
#app,.ticker,.site-footer{overflow-x:clip;max-width:100vw}
.f-in{grid-template-columns:minmax(0,1fr)}
.f-in>*{min-width:0}
.f-news input{min-width:0}
@media (min-width:640px){.f-in{grid-template-columns:none}}
.topbar{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:none}
.bottom-nav{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.bottom-nav a.on{transform:none}

/* ===== ANIMATED LOGO (inner layers only; box size fixed) ===== */
.blogo{position:relative;display:block;height:44px;aspect-ratio:1900/714;isolation:isolate;flex:none}
.blogo.bl-menu{height:50px}.blogo.bl-foot{height:72px}
@media (min-width:960px){.blogo.bl-head{height:48px}}
.blogo img{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.bl-bwrap{position:absolute;inset:0;clip-path:inset(0 0 22% 0)}
.blogo::before{content:"";position:absolute;inset:-30% -8%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(11,11,11,0.209),rgba(11,11,11,0));opacity:.25;pointer-events:none}
.blogo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(11,11,11,0) 38%,rgba(11,11,11,0.9) 50%,rgba(11,11,11,0) 62%) no-repeat;background-size:260% 100%;background-position:160% 0;-webkit-mask:url(/logo.png) center/100% 100% no-repeat;mask:url(/logo.png) center/100% 100% no-repeat}
@media (prefers-reduced-motion:no-preference){
  .bl-box{transform-origin:18% 100%;animation:blBox .8s cubic-bezier(.34,1.56,.64,1) both}
  .bl-b{transform-origin:18% 70%;animation:blB .9s .3s cubic-bezier(.34,1.5,.64,1) both}
  .bl-text{animation:blText .7s .55s cubic-bezier(.22,1,.36,1) both}
  .blogo::after{animation:blSheen 6.5s 1.5s ease-in-out infinite}
  .blogo::before{animation:blGlow 3.6s 1.2s ease-in-out infinite alternate}
}
@keyframes blBox{0%{opacity:0;transform:scale(.55) translateY(10%)}55%{opacity:1}100%{opacity:1;transform:none}}
@keyframes blB{0%{opacity:0;transform:translateY(30%)}40%{opacity:1}100%{opacity:1;transform:none}}
@keyframes blText{0%{opacity:0;transform:translateX(-6%)}100%{opacity:1;transform:none}}
@keyframes blSheen{0%,62%{background-position:160% 0}88%,100%{background-position:-60% 0}}
@keyframes blGlow{from{opacity:.15}to{opacity:.55}}

/* ===== DRAWER LOCKED HORIZONTALLY ===== */
.drawer{touch-action:none;overscroll-behavior:none;overflow:hidden}
.drawer-panel{overflow-x:hidden;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;max-width:100vw;box-sizing:border-box}
.drawer-panel *{max-width:100%;min-width:0}
.drawer-panel::before{right:0;top:0;width:220px;height:200px;border-radius:0 26px 0 0;background:radial-gradient(circle at 100% 0,rgba(11,11,11,0.121),transparent 65%);transform:none}
.drawer-panel .dr-head{overflow:visible}
.dr-sec a:hover,.dr-sec a:focus-visible,.dr-sec a.on{transform:none}
.dr-sec a:hover::after{transform:none}
html.menu-lock,body.menu-lock{overflow:hidden;overscroll-behavior:none}

/* ===== MENU LOGO: always visible; entrance only on .open, never paused ===== */
.drawer-panel .dr-head .wordmark{display:block;flex:0 0 auto;width:176px;height:66px;max-width:none;position:static;transform:none}
.drawer-panel .blogo.bl-menu{display:block;width:176px;height:66px;max-width:none;aspect-ratio:auto;flex:none}
.drawer-panel .blogo.bl-menu img,.drawer-panel .blogo.bl-menu .bl-bwrap{max-width:none;width:100%;height:100%;opacity:1;visibility:visible}
.blogo.bl-menu .bl-b,.blogo.bl-menu .bl-box,.blogo.bl-menu .bl-text{animation:none;opacity:1;transform:none}
.blogo.bl-menu{filter:drop-shadow(0 0 12px rgba(0,0,0,0.062))}
@media (prefers-reduced-motion:no-preference){
  .drawer.open .blogo.bl-menu .bl-box{animation:blBox .8s .15s cubic-bezier(.34,1.56,.64,1) backwards}
  .drawer.open .blogo.bl-menu .bl-b{animation:blB .9s .4s cubic-bezier(.34,1.5,.64,1) backwards}
  .drawer.open .blogo.bl-menu .bl-text{animation:blText .7s .6s cubic-bezier(.22,1,.36,1) backwards}
}

/* ===================== DESKTOP QA PASS ===================== */
.acct-top{display:none}
.grid-home .pcard:nth-child(n+7){display:none}
@media (min-width:960px){
  /* one container for header, page and footer: 1240px content */
  :root{--gut:max(28px,calc((100vw - var(--maxw)) / 2))}
  #app,main{max-width:calc(var(--maxw) + 56px);margin:0 auto;padding:12px 28px 56px;overflow-x:visible}
  .topbar{padding:14px var(--gut)}
  .site-footer{padding:60px 28px 36px}
  .f-in{max-width:var(--maxw);grid-template-columns:minmax(260px,1fr) 2.2fr;gap:28px 56px;align-items:start}
  .f-in>.f-bot{grid-column:1/-1}
  .f-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .f-mega{bottom:10px;font-size:min(22vw,330px)}
  /* header actions */
  .acct-top{display:grid}
  .acct-top.on{border-color:var(--y);box-shadow:0 0 18px -4px rgba(0,0,0,0.132)}
  .top-actions{gap:10px}
  /* dropdowns: solid dark glass, readable, close after choosing */
  .dd-menu{background:rgba(254,254,254,0.86)!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border:1px solid rgba(11,11,11,0.154)!important;box-shadow:0 24px 50px -16px rgba(0,0,0,0.342)!important;z-index:60;top:calc(100% + 8px)}
  .dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
  .dd-menu a{color:#212121;transition:background .2s,color .2s}
  .dd-menu a:hover{background:rgba(11,11,11,0.077);color:var(--y)}
  .dd.dd-x .dd-menu{opacity:0!important;pointer-events:none!important}
  .desk-nav>a:hover:not(.on),.dd:hover>a:not(.on){background:rgba(11,11,11,0.07)}
  /* hero: bags stay inside the page, sized to the hero */
  .hero{min-height:520px}
  .hero-art:has(.hero-cut){width:56%;height:clamp(420px,36vw,540px);bottom:-48px;right:0}
  .hero:has(.hero-cut){overflow:visible}
  .seal{width:104px;left:calc(46% - 52px);bottom:34px}
  /* tiles: one even row */
  .cats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;padding:26px 0 6px;overflow:visible}
  .cats .cat{width:auto;min-width:0;height:112px;flex:none;padding:10px 8px;text-align:center}
  /* product grids: balanced columns, equal cards */
  .grid{gap:20px;align-items:stretch}
  .grid.gc4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid.gc3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid.gc5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid.gc3 .pcard{aspect-ratio:1/1}
  .grid-home .pcard:nth-child(n+7){display:block}
  .pcard .name{font-size:13.5px}
  /* full-bleed tape */
  .tape{margin:56px calc(50% - 50vw) 14px;border-radius:0;width:100vw}
  /* section rhythm */
  .sec{margin-top:56px}
  .sec-head{align-items:center;margin-bottom:18px}
  .list-head{padding-top:18px}
  .list-head p{max-width:640px}
  /* wholesale hero art inside its card */
  .ws-hero{min-height:360px}
  .ws-hero .stack{right:48px;bottom:36px;width:34%;max-width:360px}
  .ws-hero h1{max-width:58%}
  .ind-hero .big{right:48px}
  /* product page */
  .detail-wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px}
  .d-info{max-width:560px}
  /* readable text widths */
  .hero p,.bulk p{max-width:440px}
  .how-step p,.feat p{max-width:36ch}
  a,button,.cat,.pcard,.chip,.size,label{cursor:pointer}
}
@media (min-width:1600px){
  .hero{min-height:560px}
}
@media (min-width:960px) and (max-width:1100px){
  .hero{padding:56px 44px}
  .hero h1{font-size:clamp(50px,5.6vw,64px)}
  .hero-art:has(.hero-cut){width:54%;height:clamp(380px,40vw,440px)}
  .cats .cat{font-size:12px;height:104px}
  .desk-nav>a,.dd>a{padding:10px 11px;font-size:13.5px}
}
/* grid fill card (desktop only, closes orphan gaps) */
.fill-card{display:none}
@media (min-width:960px){
  .fill-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:28px;border-radius:var(--r-md);border:1px dashed rgba(11,11,11,0.248);background:radial-gradient(90% 90% at 100% 100%,rgba(11,11,11,0.099),transparent 60%),rgba(250,250,250,0.66);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .25s,box-shadow .25s,transform .35s var(--ease)}
  .fill-card b{font-size:22px;line-height:1.2;color:#181818;max-width:20ch;font-weight:700}
  .fill-card .eyebrow{color:var(--y)}
  .fill-card .pill{background:var(--y);color:var(--k);font-weight:600}
  .fill-card:hover{border-color:var(--y);box-shadow:0 0 30px -8px rgba(0,0,0,0.121);transform:translateY(-4px)}
  .how-n{top:14px;right:16px}
  .how-step:not(:last-child)::after{display:none}
  .bulk .ring{right:-150px;top:-190px;opacity:.85}
  .bulk .tiers{position:relative;z-index:1}
  .seal{left:38%;bottom:30px}
  .hero-art:has(.hero-cut){height:clamp(400px,34vw,500px);bottom:-44px}
}
@media (min-width:640px) and (max-width:959px){.how-step:not(:last-child)::after{display:none}}
@media (min-width:960px){.opt .chips{padding:0;margin:0}}

/* ===================== BIG SCREENS (iMac etc.) =====================
   Everything scales proportionally with zoom; container widens per tier. */
:root{--z:1}
@media (min-width:1600px){:root{--z:1.1;--maxw:1300px}}
@media (min-width:1920px){:root{--z:1.2;--maxw:1380px}}
@media (min-width:2400px){:root{--z:1.34;--maxw:1520px}}
@media (min-width:2800px){:root{--z:1.48;--maxw:1600px}}
@media (min-width:1600px){
  html{zoom:var(--z)}
  :root{--gut:max(28px,calc((100vw / var(--z) - var(--maxw)) / 2))}
  .tape{margin-left:calc(50% - 50vw / var(--z));margin-right:calc(50% - 50vw / var(--z));width:calc(100vw / var(--z))}
  #app,.ticker,.site-footer{max-width:none}
  #app,main{max-width:calc(var(--maxw) + 56px)}
  .hero{min-height:560px}
  .hero-art:has(.hero-cut){width:56%;height:clamp(440px,calc(30vw / var(--z)),540px);bottom:-46px}
  /* crisper, softer background when enlarged */
  body::before{inset:-24px;filter:blur(3px) saturate(105%)}
}
@media (min-width:1920px){
  .grid-home .pcard:nth-child(n+9){display:block}
}
.grid-home .pcard:nth-child(n+9){display:none}
@media (min-width:1920px){.grid-home .pcard:nth-child(n+7){display:block}}
/* hero bags: boxed by top/bottom so they always stay inside the hero */
@media (min-width:960px){
  .hero-art:has(.hero-cut){top:-44px;bottom:-100px;height:auto;width:58%;right:0}
  .grid.gc6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .grid.gc6 .pcard .name{font-size:12.5px}
}
@media (min-width:960px) and (max-width:1100px){.hero-art:has(.hero-cut){width:54%}}
@media (min-width:1600px){.hero-art:has(.hero-cut){bottom:-136px;width:58%}}
@media (min-width:1600px){
  .tape-row.a{transform:rotate(-1.8deg)}.tape-row.b{transform:rotate(1.4deg)}
  .d-info{max-width:none}
}

/* =================== WHITE THEME (Oct 30 2026) =================== */
:root{--ink:#0B0B0B;--mute:#5C5C5C;--line:#DADADA;--card:#FFFFFF;--k2:#F5F5F5;--k3:#FAFAFA;--y2:#2E2E2E;--ysoft:rgba(11,11,11,.06);
  --gl-fill:rgba(255,255,255,.7);--glass:rgba(255,255,255,.68);--glass2:rgba(255,255,255,.78);--gl-bd:rgba(11,11,11,.08);
  --gl-sheen:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(11,11,11,.04);--gl-shadow:0 14px 34px -18px rgba(0,0,0,.22);--shadow:0 12px 30px -12px rgba(0,0,0,.16)}
html{background:#FFFFFF}
body::before{background:#E9E9E9 url(/bg-silver.jpg) center/cover no-repeat!important;filter:none!important;inset:0!important}
@media (min-aspect-ratio:4/5){body::before{background-image:url(/bg-silver-wide.jpg)!important}}
body::after{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.5) 50%,rgba(255,255,255,.58))!important}
::placeholder{color:#767676}
.hero-cut{filter:drop-shadow(0 26px 30px rgba(0,0,0,.22)) drop-shadow(0 6px 10px rgba(0,0,0,.12))}

.how-n{-webkit-text-stroke:1px rgba(11,11,11,.3)}
.ideas span,.chip:not(.on){background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:rgba(11,11,11,.14)}
input:not([type=checkbox]):not([type=radio]):not([type=number]):not(#searchInput),select,textarea{border:1px solid rgba(11,11,11,.2)!important;background-color:rgba(255,255,255,.88)!important}
.site-footer input:not([type=checkbox]){border:0!important;background-color:transparent!important}
:root{--mute:#4A4A4A}
@media (min-width:960px){.d-info{background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:var(--r-lg);padding:24px 26px;box-shadow:0 14px 34px -18px rgba(0,0,0,.18);align-self:start}}

/* =================== GLASS+ (more glassy, Oct 30 2026) =================== */
:root{
  --g-blur:blur(24px) saturate(175%);
  --g-fill:rgba(255,255,255,.44);
  --g-fill-hi:rgba(255,255,255,.56);
  --g-grad:linear-gradient(150deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.22) 46%,rgba(255,255,255,.4) 100%);
  --g-sheen:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.5),inset 0 -1px 0 rgba(11,11,11,.05);
  --g-shadow:0 0 0 1px rgba(11,11,11,.055),0 2px 4px rgba(0,0,0,.04),0 12px 28px -12px rgba(0,0,0,.18),0 34px 64px -34px rgba(0,0,0,.16);
  --g-shine:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);
}
/* big panels: real frosted blur */
.topbar,.drawer-panel,.bottom-nav,.dd-menu,.hero,.ws-hero,.ind-hero,.gal-hero,.bulk,.d-info,.summary,.site-footer,.lb-panel{
  background-color:var(--g-fill)!important;background-image:var(--g-grad)!important;
  border:1px solid rgba(255,255,255,.62)!important;box-shadow:var(--g-sheen),var(--g-shadow)!important;
  -webkit-backdrop-filter:var(--g-blur)!important;backdrop-filter:var(--g-blur)!important}
.topbar{border-width:0 0 1px!important;box-shadow:inset 0 -1px 0 rgba(11,11,11,.06),0 10px 30px -18px rgba(0,0,0,.2)!important}
.site-footer{border-width:1px 0 0!important}
.drawer-panel{background-color:rgba(255,255,255,.5)!important;border-width:0 1px 0 0!important}
.dd-menu{background-color:rgba(255,255,255,.62)!important}
.bottom-nav{background-color:rgba(255,255,255,.5)!important}
/* cards & tiles: glass look; blur only where it is cheap (desktop) */
.pcard,.cat,.ind,.feat,.how-step,.step,.slide,.line,.ccard,.trow,.tier,.sr,.gal-card{
  background-color:rgba(255,255,255,.6)!important;background-image:var(--g-shine),var(--g-grad)!important;background-size:260% 100%,100% 100%!important;background-position:160% 0,0 0!important;background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.62)!important;box-shadow:var(--g-sheen),var(--g-shadow)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-position .9s var(--ease)!important}
@media (min-width:960px){
  .pcard,.cat,.ind,.feat,.how-step,.step,.slide,.line,.ccard,.trow,.sr,.gal-card{background-color:var(--g-fill)!important;-webkit-backdrop-filter:blur(18px) saturate(170%)!important;backdrop-filter:blur(18px) saturate(170%)!important}
}
@media (hover:hover){
  .pcard:hover,.cat:hover,.feat:hover,.gal-card:hover,.how-step:hover{background-position:-60% 0,0 0!important;transform:translateY(-4px);box-shadow:var(--g-sheen),0 0 0 1px rgba(11,11,11,.06),0 22px 44px -18px rgba(0,0,0,.26)!important}
}
.cat.on,.chip.on,.size.on,.tag.k{background:#0B0B0B!important;color:#fff!important;border-color:#0B0B0B!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px -10px rgba(0,0,0,.45)!important}
.cat.on svg{stroke:#fff!important}
/* small controls: translucent + sheen, no blur (perf) */
.chip:not(.on),.size:not(.on),.tag:not(.k),.qty,.icon-btn,.toolbar select,.f-news,.ideas span,.sec-head>a{
  background-color:rgba(255,255,255,.55)!important;background-image:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.25))!important;
  border:1px solid rgba(255,255,255,.7)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(11,11,11,.08),0 4px 12px -6px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.topbar .icon-btn,.bottom-nav a{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
input:not([type=checkbox]):not([type=radio]):not([type=number]):not(#searchInput),select,textarea{
  background-color:rgba(255,255,255,.62)!important;border:1px solid rgba(11,11,11,.16)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.8)!important}
.site-footer input:not([type=checkbox]){border:0!important;background-color:transparent!important;box-shadow:none!important}
/* primary buttons: black glass */
.pill,.cta{background:linear-gradient(180deg,#2A2A2A,#0B0B0B 60%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 24px -10px rgba(0,0,0,.45)!important}
.bottom-nav a.on{background:linear-gradient(180deg,#2A2A2A,#0B0B0B)!important;color:#fff!important}
.hero-art,.hero-art:has(.hero-cut){background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* fallback where backdrop-filter is unsupported */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .topbar,.drawer-panel,.bottom-nav,.dd-menu,.hero,.ws-hero,.ind-hero,.gal-hero,.bulk,.d-info,.summary,.site-footer,.lb-panel,.pcard,.cat,.ind,.feat,.how-step,.step,.line,.ccard,.trow,.sr,.gal-card{background-color:rgba(255,255,255,.9)!important}
}

/* =================== BRAND MOCKUP GALLERY =================== */
.gal-hero{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:30px 22px 28px;margin:6px 0 16px}
.gal-hero .eyebrow{color:#4A4A4A}
.gal-hero h1{font-size:clamp(28px,6vw,54px);line-height:1.02;font-weight:800;letter-spacing:-.02em;margin:6px 0 10px;color:#0B0B0B}
.gal-hero p{max-width:520px;color:#2E2E2E;font-size:15px}
.gal-hero::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),rgba(255,255,255,0) 68%);pointer-events:none}
.gal-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:none;margin:0}
.gal-chips::-webkit-scrollbar{display:none}
.gal-chips .chip{flex:none;white-space:nowrap}
.gal-grid{columns:2;column-gap:12px}
@media (min-width:720px){.gal-grid{columns:3;column-gap:16px}.gal-hero{padding:44px 40px}}
@media (min-width:1200px){.gal-grid{columns:4;column-gap:18px}}
@media (min-width:1920px){.gal-grid{columns:5}}
.gal-card{display:block;width:100%;break-inside:avoid;margin:0 0 12px;border-radius:var(--r-md);overflow:hidden;text-align:left;cursor:pointer;color:#0B0B0B;padding:0;position:relative}
@media (min-width:720px){.gal-card{margin-bottom:16px}}
.gal-card[hidden]{display:none}
.gal-art{display:grid;place-items:center;aspect-ratio:1/1;padding:14px}
.gal-card.tall .gal-art{aspect-ratio:4/5}
.gal-card.wide .gal-art{aspect-ratio:4/3}
.gal-art svg{width:86%;height:auto;max-height:100%}
.gal-card.photo .gal-art{padding:0}
.gal-card.photo:not(.light) .gal-art img{width:100%;height:100%;object-fit:cover}
.gal-card.light .gal-art img{width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.2))}
.gal-cap{display:flex;flex-direction:column;gap:2px;padding:10px 14px 14px;border-top:1px solid rgba(255,255,255,.6)}
.gal-cap b{font-size:13.5px;font-weight:600;line-height:1.25}
.gal-cap small{font-size:11.5px;color:#4A4A4A;letter-spacing:.04em}
.gal-cta{display:flex;flex-direction:column;gap:8px;padding:22px 18px;cursor:pointer;text-decoration:none;background-color:rgba(255,255,255,.5)!important;outline:1.5px dashed rgba(11,11,11,.28);outline-offset:-8px}
.gal-cta b{font-size:18px;line-height:1.2}
.gal-cta span:not(.pill):not(.eyebrow){font-size:13px;color:#3A3A3A}
.gal-cta .pill{align-self:flex-start;margin-top:6px}
.gal-card:focus-visible{outline:3px solid #0B0B0B;outline-offset:2px}
/* lightbox */
.lb{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:14px;background:rgba(240,240,240,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s .3s;touch-action:pan-y}
.lb.open{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}
.lb-panel{position:relative;width:min(980px,100%);max-height:calc(100dvh - 28px);border-radius:24px;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;transform:scale(.96);transition:transform .35s var(--ease)}
.lb.open .lb-panel{transform:none}
.lb-stage{display:grid;place-items:center;min-height:0;height:min(64vh,640px);padding:22px;background:radial-gradient(70% 60% at 50% 60%,rgba(255,255,255,.75),rgba(255,255,255,0) 70%)}
.lb-stage svg{width:auto;height:100%;max-width:100%}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.2))}
.lb-stage.photo{padding:0;background:#0B0B0B}
.lb-stage.photo img{filter:none;width:100%;height:100%;object-fit:contain}
.lb-info{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:16px 20px 20px;border-top:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.55)}
.lb-info b{font-size:16px}
.lb-info p{font-size:13.5px;color:#2E2E2E;margin:2px 0 4px;max-width:520px}
.lb-info small{font-size:12px;color:#4A4A4A}
.lb-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lb-acts .pill{margin:0}
.lb-prod{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lb-prod[hidden]{display:none}
.lb-x{position:absolute;top:12px;right:12px;z-index:2}
.lb-nav{position:absolute;top:calc(min(64vh,640px) / 2 - 23px);z-index:2}
.lb-prev{left:12px}.lb-next{right:12px}
@media (max-width:639px){.lb{padding:8px}.lb-stage{height:52vh;padding:14px}.lb-nav{top:calc(52vh / 2 - 23px)}.lb-info{padding:14px 16px 18px}.lb-acts{width:100%}.lb-acts .pill{flex:1;justify-content:center}}
.dr-gal{font-weight:600}
:root{--g-blur:blur(20px) saturate(180%);--g-fill:rgba(255,255,255,.34);
  --g-grad:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.28) 34%,rgba(255,255,255,.06) 58%,rgba(255,255,255,.34) 100%)}
.hero,.ws-hero,.ind-hero,.gal-hero,.bulk{position:relative}
.hero::after,.gal-hero::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 18%);mix-blend-mode:normal;z-index:0}
.gal-hero>*{position:relative;z-index:1}
