/* Motion Heals — white & silver, phone first */
:root{
  --ink:#0a0a0a; --ink-2:#3c4043; --mute:#5f6368; --line:#e4e5e8; --silver:#a9adb3;
  --studio:#e5e5e5; --soft:#f5f5f6; --err:#a3191f;
  --silver-grad:linear-gradient(135deg,#f8f9fa 0%,#d7dade 38%,#f2f3f5 55%,#bfc3c9 100%);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:'Inter','Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--ink)}
@media (hover:hover){a:hover{color:var(--mute)}}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cap{font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border:0;background:var(--ink);color:#fff;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.btn:hover{color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #8b9097}
.btn.white{background:#fff;color:var(--ink)}
.btn[disabled]{opacity:.5;cursor:default}
.link{min-height:44px;padding:0;border:0;background:transparent;font-size:13px;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* silver sheen on buttons */
.sheen{position:relative;overflow:hidden}
.sheen::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 48%,rgba(210,214,219,.35) 52%,transparent 70%);transform:translateX(-120%);pointer-events:none}
.sheen.go::after{animation:sheen .9s ease-out}
@media (hover:hover){.sheen:hover::after{animation:sheen .9s ease-out}}
@keyframes sheen{to{transform:translateX(120%)}}

/* HEADER: clear over the hero, frosted once you scroll */
.hdr{position:sticky;top:0;z-index:10;color:var(--ink);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid rgba(10,10,10,.08);transition:background-color .35s,color .35s,border-color .35s,backdrop-filter .35s,-webkit-backdrop-filter .35s}
.hdr.clear{color:#fff;background:rgba(255,255,255,0);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
.hdr.clear.open{color:var(--ink);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.hdr-row{max-width:1400px;height:64px;margin:0 auto;padding:0 8px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.hdr a,.hdr button{color:inherit;text-decoration:none}
.hdr-l{justify-self:start;display:flex;align-items:center}
.hdr-r{justify-self:end;display:flex;align-items:center}
.hdr-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;border:0;background:transparent;font-size:11px;letter-spacing:.16em;cursor:pointer;font-variant-numeric:tabular-nums}
.hdr-logo{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px}
.hdr-logo svg{width:64px;height:42px;transition:transform .35s;transform-origin:center}
.hdr:not(.clear) .hdr-logo svg{transform:scale(.78)}
.menu{display:none;flex-direction:column;padding:8px 16px 24px;gap:2px}
.hdr.open .menu{display:flex}
.menu a{font-size:26px;font-weight:500;min-height:52px;display:flex;align-items:center}
.d-only{display:none!important}

/* HERO */
.hero{position:relative;width:100%;aspect-ratio:4/5;max-height:92vh;margin-top:-64px;overflow:hidden;background:#2a2b2d}
.hero img{position:absolute;inset:0;width:100%;height:100%}
.hero-fg{object-fit:cover;object-position:50% 28%;animation:heroIn 1.2s cubic-bezier(.2,.7,.3,1) both}
.hero-bg{display:none;object-fit:cover;filter:blur(28px) brightness(.6);transform:scale(1.1)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.42) 0%,rgba(10,10,10,0) 22%,rgba(10,10,10,0) 55%,rgba(10,10,10,.55) 100%);pointer-events:none}
.hero-txt{position:absolute;left:0;right:0;bottom:0;padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;text-align:center;animation:heroTxt 1s .5s cubic-bezier(.2,.7,.3,1) both}
.hero-txt .cap{letter-spacing:.32em}
.hero-txt .btn{min-width:180px;min-height:48px}
@keyframes heroIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
@keyframes heroTxt{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* SHOP */
.shop{max-width:1400px;margin:0 auto;padding:24px 6px 64px;display:flex;flex-direction:column;gap:18px}
.row-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 8px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 6px}
.grid .feat{grid-column:1/-1}
.prod{display:flex;flex-direction:column;gap:10px}
.tile{position:relative;display:block;width:100%;padding:0;border:0;background:var(--studio);overflow:hidden;cursor:pointer}
.tile::before{content:"";display:block;padding-top:125%}
.layer{position:absolute;inset:0;background:var(--studio);isolation:isolate}
.layer.back{opacity:0;transition:opacity .45s ease}
@media (hover:hover){.tile:hover .layer.back{opacity:1}}
.pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 12%,#000 88%,transparent 100%)}
.pimg.white{mix-blend-mode:darken}
.prod-meta{display:flex;flex-direction:column;gap:3px;padding:0 8px;font-size:11px}
.prod-meta b{font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.prod-meta span{letter-spacing:.06em;color:var(--mute)}

/* ARCHIVE strip */
.archive{border-top:1px solid var(--line);padding:28px 0 56px;display:flex;flex-direction:column;gap:18px}
.archive-head{max-width:1400px;width:100%;margin:0 auto;padding:0 14px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.archive-head h2{margin:0;font-size:22px;font-weight:500;line-height:1.2;letter-spacing:-.01em}
.strip{display:flex;gap:6px;overflow-x:auto;padding:0 14px;scroll-snap-type:x mandatory;scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.strip figure{flex:0 0 74%;max-width:420px;margin:0;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start}
.strip .ph{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--studio)}
.strip .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.strip .ph img.cut{object-fit:contain;mix-blend-mode:darken}
.strip figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.14em;color:var(--mute)}

/* MEMBERS block on home */
.members{border-top:1px solid var(--line);background:var(--soft)}
.m-wrap{max-width:1100px;margin:0 auto;padding:48px 16px 56px;display:flex;flex-direction:column;gap:36px}
.m-copy{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
.m-copy h2{margin:0;font-size:34px;font-weight:500;line-height:1.05;letter-spacing:-.01em}
.m-copy p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:40ch}
.m-form{display:flex;flex-direction:column;gap:14px;max-width:420px;padding-top:6px}
.field{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.18em;color:var(--ink-2)}
.field input{min-height:46px;border:0;border-bottom:1px solid #8b9097;border-radius:0;background:transparent;font-family:inherit;font-size:16px;color:var(--ink);letter-spacing:0;outline:none}
.field input:focus{border-bottom-color:var(--ink)}
.small{font-size:12px;line-height:1.5;color:var(--mute)}
.small a{color:inherit}
.err{font-size:13px;color:var(--err)}
.card-stage{flex:1 1 0;min-width:0;display:flex;justify-content:center;perspective:900px}
.mcard{position:relative;overflow:hidden;width:100%;max-width:380px;aspect-ratio:1.586/1;border-radius:14px;background:var(--silver-grad);box-shadow:0 26px 50px rgba(10,10,10,.18),inset 0 0 0 1px rgba(255,255,255,.7);padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;animation:cardIn 1s cubic-bezier(.2,.8,.25,1) both}
.mcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.7) 48%,transparent 60%);background-size:260% 100%;animation:cardSheen 5s ease-in-out 1s infinite;pointer-events:none}
.mcard .top,.mcard .bot{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mcard .bot{align-items:flex-end;font-size:10px;letter-spacing:.18em}
.mcard .lbl{font-size:9px;letter-spacing:.22em;color:var(--ink-2)}
.mcard .no{display:block;font-size:40px;font-weight:500;letter-spacing:.04em;line-height:1;font-variant-numeric:tabular-nums}
@keyframes cardIn{from{opacity:0;transform:translateY(40px) rotateX(22deg)}to{opacity:1;transform:none}}
@keyframes cardSheen{0%{background-position:130% 0}45%,100%{background-position:-60% 0}}

/* FOOTER */
.foot{border-top:1px solid var(--line);background:#fff}
.foot-in{max-width:1400px;margin:0 auto;padding:44px 16px 40px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px;font-size:11px;letter-spacing:.14em}
.foot nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}

/* OVERLAYS: product sheet, bag */
.sheet{position:fixed;inset:0;z-index:30;background:#fff;overflow-y:auto;animation:sheetUp .45s cubic-bezier(.2,.8,.25,1) both}
.sheet[hidden],.bag[hidden],.lb[hidden]{display:none}
@keyframes sheetUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.bar{position:sticky;top:0;z-index:2;height:56px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;padding:0 8px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,10,10,.06)}
.bar .t{text-align:center}
.x{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sheet-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap}
.sheet-l{flex:1 1 360px;min-width:0}
.sheet-r{flex:1 1 320px;min-width:0;padding:8px 16px 48px;display:flex;flex-direction:column;gap:14px}
.stage{position:relative;width:100%;aspect-ratio:1/1;background:var(--studio);overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.stage.drag{cursor:grabbing}
.stage .pimg{pointer-events:none;-webkit-user-drag:none;transition:opacity .4s ease,transform .4s ease}
.stage.drag .pimg{transition:none}
.hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.85);font-size:10px;letter-spacing:.18em;pointer-events:none;white-space:nowrap}
.turn{display:flex;justify-content:center;align-items:center;gap:4px;padding:10px 0}
.turn button{width:44px;height:44px;border:0;background:transparent;cursor:pointer}
.dots{display:flex;gap:4px;align-items:center}
.dots i{display:block;width:6px;height:2px;background:var(--silver);transition:width .3s}
.dots i.on{width:18px;background:var(--ink)}
.sheet-r h2{margin:0;font-size:24px;font-weight:500}
.details{margin:8px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.details li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.details li span:first-child{color:var(--mute);letter-spacing:.08em}
.details li span:last-child{text-align:right}

.bag{position:fixed;inset:0;z-index:40;background:rgba(10,10,10,.25);display:flex;justify-content:flex-end;animation:fade .3s ease-out both}
.bag-scrim{flex:1 1 auto;border:0;background:transparent;cursor:pointer}
.bag-panel{width:100%;max-width:420px;height:100%;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;animation:sheetUp .45s cubic-bezier(.2,.8,.25,1) both}
.bag-head{height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 8px 0 16px;border-bottom:1px solid var(--line)}
.bag-list{flex:1 1 auto;overflow-y:auto;padding:8px 16px}
.bag-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.bag-thumb{position:relative;aspect-ratio:1/1;background:var(--studio);overflow:hidden;isolation:isolate}
.bag-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bag-thumb img.white{mix-blend-mode:darken}
.qty{display:flex;align-items:center;gap:2px;font-size:12px;font-variant-numeric:tabular-nums}
.qty button{width:32px;height:32px;border:1px solid var(--line);background:transparent;cursor:pointer}
.bag-foot{padding:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.sum{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* added-to-bag confirmation on the product page */
.added{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--soft);border:1px solid var(--line);animation:sheetUp .35s cubic-bezier(.2,.8,.25,1) both}
.added[hidden]{display:none}
.added-row{display:flex;align-items:center;gap:10px;font-size:14px}
.added-row b{font-weight:500}
.added-tick{width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.added-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.added-btns .btn{min-height:48px;padding:0 10px;font-size:10px;letter-spacing:.18em}
.hdr-btn.bump{animation:bump .5s ease}
@keyframes bump{40%{transform:scale(1.18)}}

/* ARCHIVE page */
.wall{max-width:1400px;margin:0 auto;padding:6px 6px 48px;columns:2;column-gap:6px}
.wall button{display:block;width:100%;margin:0 0 6px;padding:0;border:0;background:var(--studio);cursor:zoom-in;overflow:hidden;break-inside:avoid;isolation:isolate}
.wall img{display:block;width:100%;height:auto}
.wall img.cut{mix-blend-mode:darken}
.lb{position:fixed;inset:0;z-index:28;background:#fff;display:flex;flex-direction:column;animation:fade .3s ease-out both}
.lb-stage{position:relative;flex:1 1 auto;min-height:0;touch-action:pan-y;isolation:isolate}
.lb-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb-stage.cut{background:var(--studio)}
.lb-stage.cut img{mix-blend-mode:darken}
.lb-nav{display:flex;justify-content:center;gap:24px;padding:8px 0 16px}
.lb-nav button{width:44px;height:44px;border:0;background:transparent;cursor:pointer}

/* plain text pages */
.page{max-width:680px;margin:0 auto;padding:40px 16px 72px;line-height:1.65;font-size:15px;color:var(--ink-2)}
.page h1{font-size:32px;font-weight:500;color:var(--ink);margin:0 0 20px;line-height:1.1}
.page h2{font-size:15px;font-weight:600;color:var(--ink);margin:28px 0 6px}

@media (min-width:900px){
  .d-only{display:flex!important}
  .m-only{display:none!important}
  .hdr.open .menu{display:none}
  .hero{aspect-ratio:16/9}
  .hero-bg{display:block}
  .hero-fg{object-fit:contain;object-position:center}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 12px;max-width:1040px;width:100%;margin:0 auto}
  .grid .feat{grid-column:auto}
  .strip figure{flex-basis:30%}
  .m-wrap{flex-direction:row;align-items:center}
  .wall{columns:3;column-gap:10px}
  .wall button{margin-bottom:10px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
