.mark{align-items:baseline;gap:.3rem}.mark span{text-transform:lowercase;font-weight:560;letter-spacing:-.035em;font-size:1.375rem}.mark img{width:1.2rem;height:1.2rem;position:relative;top:.075rem}.top{padding:1.5rem 0}.top-nav{display:flex;gap:1.5rem}.top-link{font-size:.9375rem}.studio{--art:#b4b4ae;position:relative;overflow:hidden;padding:3.5rem 0 0}@media (prefers-color-scheme:dark){.studio{--art:#44464c}}.studio .wrap{position:relative}.studio h1{font-size:clamp(2.75rem,1.6rem + 5vw,5.5rem);line-height:1;letter-spacing:-.05em;max-width:11ch}.studio .lede{max-width:36ch;margin-top:1.5rem;color:var(--muted)}.studio .lede a{color:var(--text)}.meta{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 0;font-size:.9375rem;color:var(--muted)}.meta li+li::before{content:"/";margin:0 .7rem;opacity:.5}.studio-art{display:block;width:200%;height:clamp(17rem,62vw,26rem);margin:2rem 0 1rem -50%;color:var(--art);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 40%,transparent 100%)}.studio-star{color:var(--text)}@media (min-width:64rem){.studio{padding:7.5rem 0 8rem}.studio-art{position:absolute;top:0;bottom:0;left:54%;width:46%;height:100%;margin:0}.studio .wrap>*{position:relative}}/* Motion: the contours draw in from the minimum, then for three slow cycles afaint light rolls outward and the asterisk ticks 60°. motion.js adds thepointer lean. Transforms and opacity only; nothing moves with reduced motion. */@media (prefers-reduced-motion:no-preference){.studio .wrap>*{animation:om-rise .8s cubic-bezier(.2,.7,.2,1) both}.studio .wrap>h1{animation-name:om-rise-h}.studio .wrap>:nth-child(2){animation-delay:.08s}.studio .wrap>:nth-child(3){animation-delay:.16s}.studio .wrap>:nth-child(4){animation-delay:.24s}.studio{--art:#8e8e89}@media (prefers-color-scheme:dark){.studio{--art:#7a7c82}}.studio-art{contain:paint}.studio-art path:not(.studio-star){opacity:.6;stroke-dasharray:1;stroke-dashoffset:1;animation:om-draw 1.8s cubic-bezier(.3,.6,.2,1) forwards,om-ripple 12s linear 3}.studio-art path:nth-child(1){animation-delay:0.15s,2.60s;translate:calc(var(--px,0)*33.0px) calc(var(--py,0)*19.8px)}.studio-art path:nth-child(2){animation-delay:0.24s,2.92s;translate:calc(var(--px,0)*29.2px) calc(var(--py,0)*17.5px)}.studio-art path:nth-child(3){animation-delay:0.33s,3.24s;translate:calc(var(--px,0)*25.5px) calc(var(--py,0)*15.3px)}.studio-art path:nth-child(4){animation-delay:0.42s,3.56s;translate:calc(var(--px,0)*21.8px) calc(var(--py,0)*13.1px)}.studio-art path:nth-child(5){animation-delay:0.51s,3.88s;translate:calc(var(--px,0)*18.0px) calc(var(--py,0)*10.8px)}.studio-art path:nth-child(6){animation-delay:0.60s,4.20s;translate:calc(var(--px,0)*14.2px) calc(var(--py,0)*8.5px)}.studio-art path:nth-child(7){animation-delay:0.69s,4.52s;translate:calc(var(--px,0)*10.5px) calc(var(--py,0)*6.3px)}.studio-art path:nth-child(8){animation-delay:0.78s,4.84s;translate:calc(var(--px,0)*6.8px) calc(var(--py,0)*4.1px)}.studio-star{transform-box:fill-box;transform-origin:center;translate:calc(var(--px,0)*36px) calc(var(--py,0)*21.6px);animation:om-star .9s cubic-bezier(.2,.8,.2,1) .1s both,om-tick 12s cubic-bezier(.6,0,.2,1) 2.6s 3}.studio.is-off .studio-art,.studio.is-off .studio-art *{animation-play-state:paused}}@keyframes om-rise{from{opacity:0;translate:0 .75rem}}@keyframes om-rise-h{from{opacity:.01;translate:0 .75rem}}@keyframes om-draw{to{stroke-dashoffset:0}}@keyframes om-ripple{0%,14%,100%{opacity:.6}5%{opacity:1}}@keyframes om-star{from{opacity:0;scale:.7;rotate:-60deg}}@keyframes om-tick{0%{rotate:0deg}5%,100%{rotate:60deg}}.products{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}@media (min-width:56rem){.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}.product{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);overflow:hidden}.product-media{display:block;border-bottom:1px solid var(--line);background:var(--bg)}.product-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.product-body{display:flex;flex-direction:column;flex:1;padding:1.5rem}@media (min-width:40rem){.product-body{padding:2rem}}.kind{font-size:.875rem;color:var(--muted);margin-bottom:.5rem}.product h3{font-size:1.375rem;letter-spacing:-.015em}.product h3 a{color:var(--text);text-decoration:none}.product h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}.summary{color:var(--muted);margin-top:.6rem}.product-price{margin-top:1.25rem;font-variant-numeric:tabular-nums}.product-price strong{font-size:1.25rem;font-weight:640}.product-price span{color:var(--muted);font-size:.9375rem}.product-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:1.25rem}.product-actions .btn{flex:1 1 10rem}.next{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:44rem}.next h3{font-size:1rem;letter-spacing:0;margin-bottom:.5rem}.next ul{list-style:none;margin:0;padding:0;color:var(--muted)}.next strong{color:var(--text);font-weight:600}.contact{max-width:40rem}.contact h2{margin-bottom:.75rem}.contact p{color:var(--muted)}.contact .email{margin-top:1.5rem;font-size:clamp(1.375rem,1.1rem + 1.2vw,2rem);font-weight:560;letter-spacing:-.03em}.contact .email a{color:var(--accent)}