/*! SOLA — the bag fills itself — © 2026 Hasib (OVERSHOOT). All rights reserved. Licensed, not sold: see LICENSE.md. */:root{--bg-1:#efeae2;--bg-2:#e4ddd2;--paper:#fbf9f5;--paper-2:#f4f0e8;--ink:#1c1813;--ink-2:#6d645a;--ink-3:#a89f92;--line:#e2dacd;--brass:#b08a4e;--brass-lo:#8f6d38;--bag-face-1:#fefcf8;--bag-face-2:#f1eade;--bag-side:#dcd0b9;--bag-cuff:#f8f2e6;--bag-edge:#c9bba1;--bag-in:#6e6250;--bag-cord:#b08a4e;--shadow-soft:0 24px 60px -28px rgba(40,30,18,.42);--shadow-lift:0 40px 90px -36px rgba(40,30,18,.55);--font-serif:"Fraunces",Georgia,serif;--font-ui:"Inter",system-ui,-apple-system,sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{min-height:100dvh;background:radial-gradient(120% 90% at 78% 8%,#f6f2ea 0%,transparent 55%),linear-gradient(168deg,var(--bg-1),var(--bg-2));background-attachment:fixed;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ambient{position:fixed;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 40% at 28% 26%,rgba(255,244,224,.75),transparent 66%),radial-gradient(44% 46% at 78% 74%,rgba(206,224,236,.5),transparent 68%),radial-gradient(36% 40% at 62% 18%,rgba(233,205,168,.34),transparent 70%);will-change:transform;animation:drift 26s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate3d(-2.5%,-1.5%,0) scale(1.04)}50%{transform:translate3d(2%,2.5%,0) scale(1.1)}to{transform:translate3d(3%,-2%,0) scale(1.05)}}body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(130% 112% at 50% 36%,transparent 56%,rgba(56,40,18,.13))}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}html.js .reveal-up{opacity:0;transform:translateY(26px)}html.js .reveal-fade{opacity:0}html.js .lede__title .w{display:inline-block;overflow:hidden;vertical-align:top}html.js .lede__title .w>span{display:inline-block;transform:translateY(112%)}html.js .card,html.js .bagdock{opacity:0}.stage{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:clamp(1.4rem,3vw,2.6rem) clamp(1.2rem,4vw,3rem) 8rem}.masthead{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:clamp(1.4rem,3.5vw,2.4rem)}.masthead__brand{display:flex;flex-direction:column;gap:.2rem}.wordmark{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.9rem,1.2rem+2vw,2.6rem);letter-spacing:.16em;line-height:.9;color:var(--ink)}.eyebrow{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding-left:.16em}.masthead__mark{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);font-weight:600;border:1px solid var(--line);border-radius:999px;padding:.5em 1em;white-space:nowrap}.lede{margin:clamp(1.2rem,3vw,2.4rem) 0 clamp(1.8rem,4vw,3rem)}.lede__title{font-family:var(--font-serif);font-weight:500;font-size:clamp(3rem,1.4rem+5.4vw,5.6rem);line-height:.96;letter-spacing:-.02em;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.6rem)}.card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#fdfbf7,var(--paper) 40%);border:1px solid var(--line);border-radius:22px;padding:.9rem .9rem 1rem;box-shadow:inset 0 1px #ffffffd9,var(--shadow-soft);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);will-change:transform}.card:hover{transform:translateY(-6px);border-color:#b08a4e66;box-shadow:inset 0 1px #ffffffe6,0 0 0 1px #b08a4e38,var(--shadow-lift)}.card__inner{display:flex;flex-direction:column;flex:1;transform-origin:center 42%}.card__media{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(120% 120% at 30% 12%,#fdfcf9,transparent 60%),linear-gradient(160deg,var(--paper-2),#eee7db);aspect-ratio:16/10;display:grid;place-items:center}.card__media:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.55) 50%,transparent 68%);transform:translate(-130%);opacity:0}.card.swap .card__media:after{animation:sweep .72s var(--ease-out)}@keyframes sweep{0%{transform:translate(-130%);opacity:0}28%{opacity:.9}to{transform:translate(130%);opacity:0}}.card__spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(220px 200px at var(--mx,50%) var(--my,42%),rgba(255,255,255,.55),transparent 62%);mix-blend-mode:soft-light;transition:opacity .45s var(--ease)}.card:hover .card__spot{opacity:1}.card__chip{position:absolute;top:.7rem;left:.7rem;z-index:4;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-2);background:#ffffffb8;backdrop-filter:blur(4px);border:1px solid var(--line);border-radius:999px;padding:.32em .7em}.card__wish{position:absolute;top:.6rem;right:.6rem;z-index:4;width:34px;height:34px;border-radius:50%;cursor:pointer;background:#ffffffa8;backdrop-filter:blur(6px);border:1px solid var(--line);display:grid;place-items:center;opacity:0;transform:translateY(-4px) scale(.9);transition:opacity .35s var(--ease),transform .35s var(--spring),background .3s var(--ease)}.card:hover .card__wish,.card__wish[aria-pressed=true],.card__wish:focus-visible{opacity:1;transform:none}.card__wish svg{width:16px;height:16px;fill:none;stroke:var(--ink-2);stroke-width:1.8;transition:fill .3s,stroke .3s}.card__wish:hover{background:#ffffffe6}.card__wish[aria-pressed=true] svg{fill:#e0563f;stroke:#e0563f}.card__wish.pop{animation:wishpop .55s var(--spring)}@keyframes wishpop{0%{transform:scale(1)}38%{transform:scale(1.32)}to{transform:scale(1)}}@media(hover:none){.card__wish{opacity:1;transform:none}}.card__shoe{position:relative;z-index:2;width:86%;height:auto;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(40,26,10,.22));transform:translateZ(0);transition:transform .12s linear;pointer-events:none;user-select:none}.card.is-flying .card__shoe{opacity:0;transition:opacity .12s ease}.card__body{display:flex;flex-direction:column;gap:.55rem;padding:.95rem .45rem .15rem}.card__head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.card__name{font-family:var(--font-serif);font-weight:500;font-size:1.28rem;letter-spacing:-.01em}.card__price{font-size:1.06rem;font-weight:600;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}.card__meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.card__sub{font-size:.78rem;color:var(--ink-2);letter-spacing:.01em}.card__rating{display:inline-flex;align-items:center;gap:.3em;font-size:.76rem;font-weight:600;color:var(--ink-2);white-space:nowrap}.card__rating svg{width:13px;height:13px;fill:var(--brass)}.card__rating i{color:var(--ink-3);font-style:normal;font-weight:500}.card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.35rem}.card__swatches{display:inline-flex;align-items:center;gap:.32em}.card__swatches i{width:15px;height:15px;border-radius:50%;background:var(--c);border:1.5px solid rgba(255,255,255,.75);box-shadow:0 1px 3px #281a0a33;transition:transform .35s var(--spring)}.card:hover .card__swatches i{transform:translateY(-2px)}.card:hover .card__swatches i:nth-child(2){transition-delay:.04s}.card:hover .card__swatches i:nth-child(3){transition-delay:.08s}.card:hover .card__swatches i:nth-child(4){transition-delay:.12s}.card__swatches em{font-size:.64rem;font-style:normal;font-weight:600;color:var(--ink-3);margin-left:.2em;letter-spacing:.03em}.add{position:relative;overflow:hidden;font-family:var(--font-ui);font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--paper);background:var(--ink);border:none;border-radius:999px;padding:.62em 1.35em;min-width:5.4em;cursor:pointer;display:inline-grid;place-items:center;transition:transform .3s var(--spring),background .35s var(--ease),box-shadow .35s var(--ease);box-shadow:0 8px 20px -10px #1c1813b3}.add:hover{background:#000;transform:translateY(-1px)}.add:active{transform:translateY(0) scale(.97)}.add:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.add:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%);transform:translate(-135%)}.add:hover:after{animation:addshine .72s var(--ease)}@keyframes addshine{to{transform:translate(135%)}}.add__label,.add__tick{grid-area:1/1}.add__label{transition:opacity .25s var(--ease),transform .25s var(--ease)}.add__tick{width:1.1em;height:1.1em;fill:none;stroke:var(--paper);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.4);stroke-dasharray:26;stroke-dashoffset:26}.add.is-added{background:var(--brass)}.add.is-added .add__label{opacity:0;transform:translateY(-6px)}.add.is-added .add__tick{opacity:1;transform:scale(1);stroke-dashoffset:0;transition:opacity .2s var(--ease) .05s,transform .4s var(--spring) .05s,stroke-dashoffset .4s var(--ease) .12s}.bagdock{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bagdock__stage{position:absolute;left:50%;top:120px;transform:translate(-50%,-50%);width:320px;height:290px;z-index:0;pointer-events:none;background:radial-gradient(54% 50% at 50% 44%,rgba(255,251,243,1),rgba(255,247,234,.55) 38%,rgba(255,245,230,.14) 60%,transparent 74%),radial-gradient(32% 18% at 50% 90%,rgba(66,47,20,.26),transparent 70%);animation:pedestal 6s var(--ease) infinite}@keyframes pedestal{0%,to{opacity:.9}50%{opacity:1}}.bag{z-index:1}@media(min-width:821px){.stage{display:grid;grid-template-columns:minmax(0,1fr) 264px;grid-template-areas:"head head" "lede bag" "cat  bag";column-gap:clamp(1.4rem,3vw,3rem);align-items:start}.masthead{grid-area:head}.lede{grid-area:lede}.catalog{grid-area:cat}.bagdock{grid-area:bag;align-self:end;justify-self:center;position:sticky;bottom:clamp(1.5rem,4vh,2.4rem)}}.bag{--bag-w:150px;position:relative;width:var(--bag-w);aspect-ratio:150/166;background:none;border:none;padding:0;cursor:pointer;display:block;-webkit-tap-highlight-color:transparent}.bag:focus-visible{outline:2px solid var(--brass);outline-offset:6px;border-radius:16px}.bag__shadow{position:absolute;left:50%;bottom:3%;translate:-50% 0;width:78%;height:11%;border-radius:50%;background:radial-gradient(closest-side,rgba(28,20,10,.4),transparent 72%);filter:blur(2px);transition:width .4s var(--ease),opacity .4s var(--ease)}.bag__vessel{position:absolute;left:50%;bottom:5%;translate:-50% 0;width:90%;height:78.9%}.bag__lift{position:absolute;inset:0;transform-origin:50% 100%;animation:bagfloat 5.5s var(--ease) infinite}@keyframes bagfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.bag__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.bag__svg--back{z-index:1}.bag__svg--front{z-index:3;filter:drop-shadow(0 22px 26px rgba(24,16,6,.5))}.bag__items{position:absolute;inset:0;z-index:2;pointer-events:none}.bag__item{position:absolute;bottom:63%;left:50%;margin-left:-29%;width:58%;height:auto;transform-origin:50% 90%;filter:drop-shadow(0 7px 9px rgba(0,0,0,.55));will-change:transform,opacity}.bag__badge{position:absolute;top:2px;right:-2px;z-index:5;min-width:30px;height:30px;padding:0 7px;display:grid;place-items:center;font-size:.86rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--paper);background:var(--ink);border-radius:999px;box-shadow:0 0 0 3px var(--brass),0 0 14px -2px #c99a5899,0 8px 16px -6px #00000080;transition:transform .45s var(--spring),box-shadow .45s var(--ease)}.bag__badge[data-empty=true]{opacity:.34;box-shadow:0 0 0 3px var(--line);color:var(--ink);background:var(--paper)}.bag__badge.pop{animation:badgepop .6s var(--spring)}@keyframes badgepop{0%{transform:scale(1)}35%{transform:scale(1.34);box-shadow:0 0 0 4px var(--brass),0 0 22px 2px #c99a58d9,0 8px 16px -6px #00000080}to{transform:scale(1)}}.bag__ring{position:absolute;left:50%;top:27%;translate:-50% -50%;z-index:5;width:42%;height:43%;border-radius:50%;border:2px solid var(--brass);opacity:0;pointer-events:none}.bag__ring.go{animation:ring .55s var(--ease-out) forwards}@keyframes ring{0%{opacity:.7;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.flightdeck{position:fixed;inset:0;z-index:20;pointer-events:none}.flier{position:fixed;top:0;left:0;height:auto;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(40,26,10,.28));will-change:transform;transform-origin:50% 50%}.peek{position:fixed;inset:0;z-index:30;visibility:hidden}.peek.open{visibility:visible}.peek__scrim{position:absolute;inset:0;border:none;cursor:pointer;background:#1a12086b;opacity:0;transition:opacity .4s var(--ease)}.peek.open .peek__scrim{opacity:1}.peek__panel{position:absolute;top:0;right:0;height:100%;width:min(440px,94vw);background:var(--paper);box-shadow:-30px 0 90px -30px #1e14088c;display:flex;flex-direction:column;transform:translate(103%);transition:transform .5s var(--ease-out);border-left:1px solid var(--line)}.peek.open .peek__panel{transform:translate(0)}.peek__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1.15rem;border-bottom:1px solid var(--line)}.peek__title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.peek__head h2{font-family:var(--font-serif);font-weight:500;font-size:1.45rem;line-height:1}.peek__count{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.peek__ship{padding:1rem 1.5rem .9rem;border-bottom:1px solid var(--line)}.peek:not(.has-items) .peek__ship{display:none}.peek__ship-msg{font-size:.78rem;color:var(--ink-2);margin-bottom:.55rem;display:flex;align-items:center;gap:.4rem}.peek__ship-msg b{color:var(--ink);font-variant-numeric:tabular-nums}.peek__meter{height:5px;border-radius:999px;background:var(--line);overflow:hidden}.peek__meter-fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--brass-lo),var(--brass));transition:width .55s var(--ease-out),background .4s var(--ease)}.peek__ship.is-free .peek__meter-fill{background:linear-gradient(90deg,#4f7d52,#69a06d)}.peek__ship.is-free .peek__ship-msg{color:#4f7d52;font-weight:600}.peek__close{width:38px;height:38px;border-radius:50%;cursor:pointer;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;transition:background .3s var(--ease),transform .3s var(--ease)}.peek__close:hover{background:#ece5d8;transform:rotate(90deg)}.peek__close svg{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.peek__close:focus-visible,.peek__checkout:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.peek__list{list-style:none;flex:1;min-height:0;overflow-y:auto;padding:.4rem 1.5rem 1rem}.peek__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:2rem}.peek__empty-mark{color:var(--ink-3);opacity:.5}.peek__empty-mark svg{width:46px;height:46px;display:block}.peek__empty strong{font-family:var(--font-serif);font-weight:500;font-size:1.05rem}.peek__empty span{font-size:.82rem;color:var(--ink-3)}.peek.has-items .peek__empty{display:none}.peek:not(.has-items) .peek__list{display:none}.peek__item{display:flex;align-items:center;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);animation:rowin .45s var(--ease-out) both}@keyframes rowin{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.peek__item.removing{animation:rowout .35s var(--ease) forwards}@keyframes rowout{to{opacity:0;transform:translate(24px);height:0;padding:0;margin:0}}.peek__thumb{width:80px;height:60px;flex:none;border-radius:12px;overflow:hidden;background:radial-gradient(120% 110% at 30% 18%,color-mix(in srgb,var(--tint,#c9714f) 16%,#fff),transparent 62%),linear-gradient(160deg,var(--paper-2),#ece4d6);display:grid;place-items:center;border:1px solid var(--line)}.peek__thumb img{width:86%;height:auto}.peek__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.peek__meta strong{font-family:var(--font-serif);font-weight:500;font-size:1.02rem}.peek__meta span{font-size:.74rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peek__price{font-weight:600;font-variant-numeric:tabular-nums;font-size:.95rem}.peek__rm{width:28px;height:28px;border-radius:50%;flex:none;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink-3);display:grid;place-items:center;padding:0;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}.peek__rm svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.peek__rm:hover,.peek__rm:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)}.peek__perks{list-style:none;padding:1rem 1.5rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}.peek:not(.has-items) .peek__perks{display:none}.peek__perks li{display:flex;align-items:center;gap:.6rem;font-size:.76rem;color:var(--ink-2)}.peek__perks svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--brass);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.peek__foot{padding:1.2rem 1.5rem 1.6rem;border-top:1px solid var(--line);background:var(--paper)}.peek__lines{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.7rem}.peek__line{display:flex;align-items:baseline;justify-content:space-between;font-size:.82rem;color:var(--ink-2)}.peek__line dd{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.peek__line dd.is-free{color:#4f7d52}.peek__sum{display:flex;align-items:baseline;justify-content:space-between;font-size:.95rem;margin-bottom:1rem;padding-top:.7rem;border-top:1px solid var(--line)}.peek__sum span:last-child{font-family:var(--font-serif);font-size:1.5rem;font-variant-numeric:tabular-nums}.peek__checkout{width:100%;padding:1em;border:none;border-radius:14px;cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:.95rem;letter-spacing:.03em;color:var(--paper);background:var(--ink);transition:transform .3s var(--spring),background .3s var(--ease),opacity .3s var(--ease)}.peek__checkout:hover:not(:disabled){background:#000;transform:translateY(-2px)}.peek__checkout:disabled{opacity:.4;cursor:not-allowed}.peek__checkout.done{background:var(--brass)}@media(max-width:820px){.stage{padding-bottom:9rem}.masthead__mark{display:none}.grid{grid-template-columns:1fr}.bagdock{position:fixed;right:1rem;bottom:1.1rem;left:auto;align-items:center;background:#fbf9f5db;backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:22px;padding:.55rem .7rem;box-shadow:var(--shadow-lift)}.bagdock__stage{display:none}.bag{--bag-w:86px}.bag__badge{min-width:24px;height:24px;font-size:.74rem;top:0;right:-4px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important}.card{transition:box-shadow .3s ease}.card:hover{transform:none}.bag__lift,.ambient,.bagdock__stage{animation:none}.card__shoe{transition:none}html.js .reveal-up,html.js .reveal-fade,html.js .card,html.js .bagdock{opacity:1;transform:none}html.js .lede__title .w>span{transform:none}}
