@font-face{font-family:Manrope;src:url(/fonts/manrope-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-400.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--bg: #0b0b0c;--fg: #f2f0ec;--fg-dim: #8b8a86;--fg-faint: #55544f;--accent: #e10600;--line: rgba(242, 240, 236, .12);--hud-pad: clamp(14px, 2.2vw, 28px);--sans: Manrope, "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: var(--sans);--font: var(--sans);--display: var(--sans);--t-micro: clamp(9.5px, .6vw, 11px);--t-label: clamp(11px, .78vw, 13px);--t-ui: clamp(12px, .92vw, 15px);--t-body: clamp(12.5px, .95vw, 15.5px);--t-lead: clamp(14px, 1.15vw, 18px);--t-display: clamp(26px, 2.6vw, 44px);--t-chrome: clamp(15px, 1.2vw, 20px);--t-mast: clamp(20px, 1.85vw, 29px);--tr-tight: -.06em;--tr-wide: .08em;--tr-wider: .12em;--r-ui: 4px;--r-media: 10px;--r-cell: 18px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--dur-1: .14s;--dur-2: .26s;--dur-3: .42s;--dur-4: .62s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.42, .64, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{touch-action:none}img,video,picture{-webkit-touch-callout:none;-webkit-user-drag:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#stage{position:fixed;inset:0;cursor:grab;background:#08080a}#stage.is-dragging{cursor:grabbing}#world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.cell{position:absolute;top:0;left:0;transform-origin:50% 50%;contain:layout style paint;overflow:hidden;transition:clip-path .46s var(--ease-out);background:#0a0a0c}.cell-inner{position:absolute;inset:0;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}.cell img,.cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity var(--dur-3) var(--ease-out)}.cell img.is-loaded,.cell video.is-playing{opacity:1}.cell video{z-index:2}.cell.is-near{transition:clip-path .3s var(--ease-spring)}.cell.is-expanding{opacity:0!important}body.is-modal #hud,body.is-modal #wander,body.is-modal #readout{opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out)}#cursor-layer{position:fixed;inset:0;z-index:100;pointer-events:none}@media(hover:hover)and (prefers-reduced-motion:no-preference){body:has(#cursor-layer),body:has(#cursor-layer) #stage,body:has(#cursor-layer) button,body:has(#cursor-layer) a,body:has(#cursor-layer) #stage.is-dragging,body:has(#cursor-layer) .reel3d-card.is-front,body:has(#cursor-layer) #detail-stage{cursor:none}body:has(#cursor-layer) video[controls]{cursor:default}}#hud{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:var(--hud-pad);pointer-events:none}#hud>*{pointer-events:auto}#logo{display:flex;align-items:center;position:relative;padding:0 0 0 60px;background:none;color:var(--fg);transition:opacity var(--dur-1)}#logo:hover{opacity:.7}#logo:active{transform:scale(.985)}.logo-icon{position:absolute;left:0;top:50%;transform:translateY(-76.5%);width:58px;height:60px;object-fit:contain;object-position:bottom}.logo-mark{display:block;font-size:var(--t-mast);font-weight:600;letter-spacing:-.01em}.logo-mark{font-family:var(--sans);letter-spacing:-.02em;font-weight:600}.slab{background:none;color:var(--fg);border:0;box-shadow:none;transition:opacity var(--dur-1) var(--ease-out)}#vignette{position:fixed;inset:0;z-index:35;pointer-events:none;background:linear-gradient(to bottom,#060608b8,#06060800 22%),linear-gradient(to top,#060608b8,#06060800 22%),radial-gradient(120% 90% at 50% 50%,#06060800 45%,#0606088c)}body.is-modal #vignette{opacity:0;transition:opacity var(--dur-2)}#filters{position:relative;display:flex;gap:2px;padding:4px;background:var(--fg);transform:rotate(var(--lean, 0deg))}#filter-dial{position:absolute;top:4px;bottom:4px;z-index:0;background:var(--accent);transition:left .42s var(--ease-spring),width .42s var(--ease-spring),clip-path .42s var(--ease-out)}#filters button{position:relative;z-index:1;font-size:var(--t-chrome);font-weight:600;letter-spacing:.01em;padding:9px 16px 10px;background:none;color:#101012;opacity:.66;transition:opacity var(--dur-1)}#filters button:hover{opacity:.9}#filters button:active,#hud-right button:active,#wander:active{transform:translateY(1px) scale(.985)}#wander:active{transform:translateY(calc(-50% + 1px)) scale(.985)}#filters button.is-active{opacity:1;color:#fff}#hud-right button{font-size:var(--t-chrome);font-weight:600;padding:9px 18px 10px;background:var(--fg);color:#101012;transform:rotate(var(--lean, 0deg));transition:transform var(--dur-1) var(--ease-spring)}#hud-right button:hover{transform:rotate(var(--lean, 0deg)) scale(1.07)}#readout{position:fixed;left:var(--hud-pad);bottom:var(--hud-pad);z-index:40;max-width:min(46ch,60vw);pointer-events:none;padding:0;background:none;color:var(--fg);text-shadow:0 1px 14px rgba(6,6,8,.8);opacity:0;transform:translateY(6px);transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-spring)}#readout.is-visible{opacity:1;transform:none}#readout-title{display:block;font-family:var(--display);font-size:var(--t-mast);font-weight:600;letter-spacing:var(--tr-tight);line-height:1.06;text-transform:none}#readout-meta{display:block;font-family:var(--mono);font-size:var(--t-label);letter-spacing:var(--tr-wide);text-transform:none;opacity:.7;margin-top:6px}#wander:hover{background:#0b0b0c;color:var(--fg)}#wander svg{width:26px;height:26px}#detail{position:fixed;inset:0;z-index:60}#detail[hidden]{display:none}#detail-scrim{position:absolute;inset:0;background:#0606076b;opacity:0;transition:opacity var(--dur-3) var(--ease-out)}:root{--cat-bg: #8d9b3c;--cat-ink: #403d1f;--chrome-ink: #fff;--chrome-lift: drop-shadow(0 1px 2px rgba(0, 0, 0, .5)) drop-shadow(0 2px 18px rgba(0, 0, 0, .42))}#detail-scrim{position:absolute;inset:0;background:#06060899;opacity:0;transition:opacity var(--dur-3) var(--ease-out)}#detail.is-open #detail-scrim{opacity:1}#detail-card{position:absolute;overflow:visible;background:transparent;color:var(--sheet-ink, var(--cat-ink));will-change:transform;border:0;box-shadow:none;transition:color var(--dur-3) var(--ease-out)}#detail-ground{position:absolute;inset:0;z-index:0;background:var(--sheet-bg, var(--cat-bg));transition:background-color var(--dur-3) var(--ease-out);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}#detail-card:focus{outline:none}#detail-close{position:absolute;top:3.4%;left:50%;transform:translate(-50%,-50%);z-index:20;width:clamp(46px,4vw,60px);height:clamp(46px,4vw,60px);display:grid;place-items:center;background:none;color:var(--chrome-ink);fill:currentColor;opacity:0;filter:var(--chrome-lift);transition:opacity var(--dur-2) var(--ease-out) .18s,transform var(--dur-1),top .62s var(--ease-out)}#detail.is-open #detail-close{opacity:1}#detail-close svg{width:74%;height:74%;overflow:visible}#detail-close:hover{transform:translate(-50%,-50%) scale(.88)}#detail-close path{transition:d .62s var(--ease-out)}#detail-stage{position:absolute;z-index:2;inset:0;opacity:0;transition:opacity var(--dur-2) var(--ease-out) .14s;touch-action:none;cursor:grab}#detail.is-open #detail-stage{opacity:1}#detail.is-closing #detail-stage{transition:none}#detail.is-closing #detail-close{opacity:0;transition:opacity .22s cubic-bezier(.33,0,.2,1)}#detail.is-closing #detail-scrim{opacity:0;transition:opacity .46s cubic-bezier(.33,0,.2,1)}#detail.is-sliding #detail-stage{transition:none}#detail-stage.is-spinning{cursor:grabbing}.cat{position:absolute;inset:0}.cat-block{position:absolute;left:var(--sheet-text-left, 14%);top:44%;transform:translateY(-50%);width:min(38ch,40%);display:flex;flex-direction:column;align-items:flex-start}.cat-title{margin:0;font-family:var(--display);font-size:var(--t-display);font-weight:500;letter-spacing:-.035em;line-height:1.02;pointer-events:none}.cat-title i{font-style:normal;margin-left:.06em;opacity:.55}.cat-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:calc(clamp(20px,2.4vw,38px)*-.55);pointer-events:auto}.tag-chip{font:inherit;font-family:var(--mono);font-size:var(--t-label);font-weight:600;letter-spacing:.02em;padding:6px 11px 7px;background:var(--fg);color:#101012;opacity:.6;transform:rotate(var(--lean, 0deg));transition:opacity var(--dur-1),transform var(--dur-1)}.tag-chip:hover{opacity:1;transform:rotate(var(--lean, 0deg)) translateY(-1px) scale(1.04)}.tag-chip:active{transform:rotate(var(--lean, 0deg)) scale(.97)}.tag-chip--gig{background:var(--fg)}.cat-aside{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,2.4vw,38px);margin-top:clamp(26px,3.4vw,54px)}@media(min-width:500px)and (max-width:1279px)and (orientation:landscape),(min-width:861px)and (max-width:1279px){#detail-card .reel3d-ring{margin-left:-25%}.cat-block{width:min(38ch,27%)}}@media(orientation:landscape)and (max-height:520px){.cat-block{top:50%;max-height:72%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none}}.cat-desc{margin:0;font-size:var(--t-body);line-height:1.75;letter-spacing:.01em;white-space:pre-line}.cat-role{display:block;margin:0;font-size:var(--t-body);line-height:1.55;letter-spacing:.01em;opacity:.68;white-space:pre-line}.cat-desc a,.cat-role a{color:inherit;border-bottom:2px solid currentColor;padding-bottom:1px;transition:opacity var(--dur-1)}.cat-desc a:hover,.cat-role a:hover{opacity:.72}.cat-note{margin:0;font-size:var(--t-label);line-height:1.8;opacity:.66;white-space:pre-line}.cat-links{display:flex;flex-wrap:wrap;gap:clamp(14px,1.6vw,26px);margin-top:clamp(6px,1vw,14px)}.cat-links a{font-family:var(--mono);font-size:var(--t-ui);font-weight:600;padding:0;border:0;border-bottom:2px solid currentColor;background:none;color:inherit;transition:opacity var(--dur-1)}.cat-links a:after{content:" ↗";font-weight:400}.cat-links a:hover{opacity:.7}.reel3d{position:absolute;inset:0;perspective:1500px;perspective-origin:72% 48%;pointer-events:none;z-index:10}.reel3d-ring{position:absolute;left:72%;top:48%;width:min(50%,780px);transform-style:preserve-3d;height:0;margin-left:min(-25%,-390px)}.reel3d-card{position:absolute;left:0;right:0;top:0;transform-style:preserve-3d;pointer-events:none;will-change:transform,opacity}.reel3d-card .frame{max-height:88dvh;background-color:#14140f;box-shadow:0 30px 70px -24px #181608b8,0 2px #ffffff29 inset}.reel3d-card.is-front{cursor:zoom-in}.reel3d-card.is-front .frame{box-shadow:0 60px 120px -34px #000000e6}.piece-run{position:absolute;left:6%;bottom:6%;display:flex;align-items:center;gap:.42em;padding:.34em .62em .36em;background:var(--sheet-bg, var(--cat-bg));color:var(--sheet-ink, var(--cat-ink));filter:drop-shadow(0 1px 6px rgba(0,0,0,.55));font-size:var(--t-micro);letter-spacing:.02em;font-variant-numeric:tabular-nums;clip-path:polygon(2% 8%,98% 2%,97% 96%,3% 99%);z-index:2;pointer-events:none}.piece-run svg{width:.55em;height:.7em;flex:none;fill:currentColor}.piece-run i{font-style:normal;font-weight:600;letter-spacing:var(--tr-wide);text-transform:uppercase}.piece-run b{font-weight:400;opacity:.72}.frame{position:relative;overflow:hidden;aspect-ratio:var(--ar, 4 / 3);background:#14140f center/cover no-repeat}.frame>img,.frame>video,.frame>.yt-play,.frame>.ig-play{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}.frame>img,.frame>video{opacity:0;transition:opacity var(--dur-3) var(--ease-out)}.frame>img.is-ready,.frame>video{opacity:1}#detail-nav-unused{position:absolute;left:0;right:0;bottom:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:clamp(10px,1.2vw,18px) clamp(16px,2.2vw,34px);font-family:var(--mono);font-size:var(--t-ui);font-weight:700;letter-spacing:var(--tr-wide);text-transform:uppercase;opacity:0;transition:opacity var(--dur-2) var(--ease-out) .2s;pointer-events:none}#detail.is-open #detail-nav-unused{opacity:1}#detail-nav button{pointer-events:auto;padding:11px 18px;border-radius:var(--r-ui);background:var(--sheet-ink, var(--cat-ink));color:var(--sheet-bg, var(--cat-bg));transition:opacity var(--dur-1)}#detail-nav button:hover{opacity:.76}#detail-index{display:none}.yt-play,.ig-play{position:relative;display:block;background:#000}.yt-play img,.ig-play img{width:100%;height:100%;object-fit:cover;display:block}.yt-play:after,.ig-play:after{content:"";position:absolute;left:50%;top:50%;width:62px;height:62px;transform:translate(-50%,-50%);border-radius:50%;background:var(--sheet-bg, var(--cat-bg)) no-repeat center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath d='M8 5v14l11-7z' fill='%23111'/%3E%3C/svg%3E");transition:transform var(--dur-2) var(--ease-out)}.yt-play:hover:after,.ig-play:hover:after{transform:translate(-50%,-50%) scale(1.12)}.yt-frame,.ig-frame{position:absolute;inset:0}.yt-frame iframe,.ig-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width:860px)and (orientation:portrait){.cat-block{left:var(--sheet-text-left, 14%);right:8%;bottom:var(--sheet-text-bottom, 9%);transition:bottom .42s var(--ease-out);top:auto;max-height:42%;transform:none;width:auto;overflow-y:auto;overscroll-behavior:contain;justify-content:flex-start;touch-action:pan-y}.cat-aside{max-height:none}.cat-title{font-size:clamp(22px,6.5vw,34px)}.reel3d{perspective:900px;perspective-origin:50% 24%}.reel3d-ring{left:50%;top:var(--reel-anchor-y, 28%);width:var(--reel-width, 96%);margin-left:calc(var(--reel-width, 96%) / -2);transition:top .42s var(--ease-out)}.reel3d-card .frame{max-height:var(--reel-cap, 40dvh);min-height:26dvh}.reel3d-card.is-front .frame{box-shadow:0 24px 60px -22px #000000bf}#detail-close{width:44px;height:44px}#detail-nav-unused{padding:14px 16px}.cat-desc{font-size:var(--t-ui);line-height:1.5}.cat-role{font-size:var(--t-ui);line-height:1.4}.cat-note{display:none}}#shot{position:fixed;inset:0;z-index:75;touch-action:none}#shot[hidden]{display:none}#shot-scrim{position:absolute;inset:0;background:#050506f0;opacity:0;transition:opacity var(--dur-2) var(--ease-out)}#shot.is-open #shot-scrim{opacity:1}#shot-frame{position:absolute;inset:clamp(20px,4vw,64px) clamp(20px,7vw,120px);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;transform:scale(.985);transition:opacity var(--dur-2) var(--ease-out) .04s,transform .4s var(--ease-out)}#shot.is-open #shot-frame{opacity:1;transform:none}#shot-frame:focus{outline:none}#shot-media{display:flex;align-items:center;justify-content:center;min-height:0;flex:1;width:100%}.shot-item{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:var(--r-ui);background:#000}#shot-media .yt-play,#shot-media .yt-frame,#shot-media .ig-play,#shot-media .ig-frame{width:min(100%,1600px);aspect-ratio:16 / 9;height:auto;max-height:100%;position:relative;inset:auto}#shot-media .sphere360{width:min(100%,1600px);aspect-ratio:16 / 9;height:auto;max-height:100%}.sphere360{position:relative;overflow:hidden;background:#000}.frame>.sphere360{position:absolute;inset:0;width:100%;height:100%}.sphere360 canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.sphere360 canvas:active{cursor:grabbing}.sphere360-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);font-family:var(--mono);font-size:var(--t-ui);font-weight:700;letter-spacing:var(--tr-wider);text-transform:uppercase;color:#0b0b0c;background:#f2f0ec;border:0;padding:10px 16px;border-radius:var(--r-ui);pointer-events:none;transition:opacity .4s var(--ease-out)}.sphere360-hint.is-gone{opacity:0}#detail-card.is-immersive .reel3d{perspective:none;perspective-origin:50% 50%}#detail-card.is-immersive .reel3d-ring{left:50%;top:54%;width:88%;margin-left:-44%}#detail-card.is-immersive .reel3d-card .frame{max-height:76dvh}#detail-card.is-immersive .cat-block{z-index:12}#shot-cap{flex:none;font-family:var(--mono);font-size:var(--t-label);font-weight:700;letter-spacing:var(--tr-wider);text-transform:uppercase;color:var(--fg-dim)}#shot-close{position:absolute;top:clamp(14px,1.6vw,24px);right:clamp(14px,1.6vw,24px);width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:var(--fg);background:#ffffff14;border:1px solid rgba(255,255,255,.16);transition:background-color .2s,color .2s}#shot-close:hover{background:var(--fg);color:#0b0b0c}#shot-close svg{width:18px;height:18px}.shot-step{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:64px;display:grid;place-items:center;color:var(--fg-dim);transition:color .2s}.shot-step:hover{color:var(--fg)}.shot-step svg{width:26px;height:26px}.shot-step[data-dir="-1"]{left:clamp(4px,1.4vw,22px)}.shot-step[data-dir="1"]{right:clamp(4px,1.4vw,22px)}.shot-step.is-cued{color:var(--fg);animation:cue-nudge 1.6s var(--ease-out) infinite}@keyframes cue-nudge{50%{transform:translateY(-50%) translate(4px)}}@media(max-width:760px){#shot-frame{inset:44px 10px 72px}.shot-step{top:auto;bottom:max(20px,env(safe-area-inset-bottom));transform:none;width:64px}.shot-step.is-cued{animation:none}}#about{position:fixed;inset:0;z-index:70}#about[hidden]{display:none}#about-scrim{position:absolute;inset:0;background:#0606078c;opacity:0;transition:opacity var(--dur-2) var(--ease-out)}#about.is-open #about-scrim{opacity:1}#about-card{position:absolute;left:50%;top:clamp(8px,2.2vw,30px);transform:translate(-50%,8px);width:min(1720px,calc(100vw - (2*clamp(8px,2.2vw,30px))));height:calc(100dvh - (2*clamp(8px,2.2vw,30px)));overflow:visible;background:transparent;color:var(--sheet-ink, #2a2822);border:0;box-shadow:none;opacity:0;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-3) var(--ease-out)}#about-ground{position:absolute;inset:0;z-index:0;background:var(--sheet-bg, #c9c4b8);clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}#about-scroll{position:absolute;inset:0;z-index:2;display:grid;grid-template-columns:minmax(0,42ch) minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:clamp(28px,3.4vw,64px);padding:0 0 0 var(--sheet-text-left, 13%);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none}#about-scroll::-webkit-scrollbar{display:none}#about.is-open #about-card{opacity:1;transform:translate(-50%)}#about-card h1{grid-column:1;grid-row:1;margin:0 0 clamp(18px,2vw,30px);font-family:var(--display);font-size:var(--t-display);font-weight:500;letter-spacing:-.035em;line-height:1.02}#about-close{position:absolute;top:3.4%;left:50%;z-index:20;width:clamp(46px,4vw,60px);height:clamp(46px,4vw,60px);display:grid;place-items:center;background:none;color:var(--chrome-ink);fill:currentColor;filter:var(--chrome-lift);transform:translate(-50%,-50%);transition:transform var(--dur-1),top .62s var(--ease-out)}#about-close svg{width:74%;height:74%;overflow:visible}#about-close:hover{transform:translate(-50%,-50%) scale(.88)}#about-body{grid-column:1;grid-row:2;font-size:var(--t-body);line-height:1.62;color:var(--sheet-ink, #2a2822)}.about-text{white-space:pre-line;max-width:44ch}.about-pile{grid-column:2;grid-row:1 / span 2;position:relative;min-width:0;height:min(66vh,640px);align-self:center;margin-right:-6%;overflow:visible;touch-action:none}.about-pile .reel3d{pointer-events:auto;perspective-origin:50% 46%}.about-pile .reel3d-ring{left:50%;top:50%;width:100%;margin-left:-50%}@media(min-width:981px){.about-pile .reel3d-ring{width:76%;margin-left:-38%}.about-pile .reel3d-card .frame{max-height:56vh;width:min(100%,calc(56vh * var(--ar, 1)));margin-inline:auto}}.about-pile-layer{position:absolute;z-index:3;pointer-events:none;transform-origin:50% 50%}.about-pile-layer .about-media{pointer-events:auto;touch-action:none}.about-media{position:absolute;margin:0;aspect-ratio:var(--ar, 4 / 3);transform:translate(-50%,-50%) rotate(var(--rot, 0deg));overflow:hidden;background:#101014 center/cover no-repeat;cursor:pointer;transition:transform var(--dur-2) var(--ease-spring),left var(--dur-2) var(--ease-spring),top var(--dur-2) var(--ease-spring),width var(--dur-2) var(--ease-spring);-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}@media(hover:hover)and (pointer:fine){.about-media:hover{transform:translate(-50%,-52%) rotate(var(--rot, 0deg)) scale(1.045)}}.about-media.is-cycled{transform:translate(-50%,-52%) rotate(var(--rot, 0deg)) scale(1.045)}.about-media img,.about-media video{width:100%;height:100%;object-fit:cover;display:block}#about-scroll:not(:has(.about-pile)){grid-template-columns:minmax(0,62ch)}@media(max-width:980px){#about-scroll{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-content:start;padding:max(clamp(44px,7vh,80px),calc(var(--sheet-text-top, 0) * 1dvh)) 9% clamp(32px,5vh,64px) var(--sheet-text-left, 13%);row-gap:clamp(24px,4vh,44px)}#about-card h1{grid-row:1;margin-bottom:0}#about-body{grid-row:2}.about-text{max-width:none}.about-pile{grid-column:1;grid-row:3;width:106%;margin:0 0 0 -3%;height:min(52vh,480px)}}@media(max-width:760px){#about-scroll{overflow:hidden;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;align-items:start;padding:clamp(26px,6vh,48px) 10% clamp(20px,4.5vh,34px) var(--sheet-text-left, 13%);row-gap:clamp(16px,2.6vh,26px);touch-action:none;overscroll-behavior:none}#about-body{font-size:var(--t-ui);line-height:1.5}#about-body .about-links{margin-top:clamp(10px,2vh,18px)}.about-pile{height:auto;min-height:0;align-self:stretch;container-type:size}.about-pile .reel3d-card .frame{min-height:0;max-height:86cqh;width:min(100%,calc(86cqh * var(--ar, 1)));margin-inline:auto}}@media(max-width:900px)and (orientation:landscape){#about-scroll{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto minmax(0,1fr);align-content:center;align-items:center;column-gap:clamp(16px,3vw,34px);row-gap:0;padding:clamp(26px,7vh,40px) 0 clamp(26px,7vh,40px) var(--sheet-text-left, 13%)}#about-card h1{grid-column:1;grid-row:1;align-self:start;font-size:clamp(21px,2.6vw,44px);margin:0 0 clamp(4px,1.2vh,8px)}#about-body{grid-column:1;grid-row:2;align-self:start;font-size:var(--t-ui);line-height:1.35}#about-body .about-text p{margin:0 0 .6em}#about-body .about-links{margin-top:clamp(6px,1.6vh,11px)}.about-text{max-width:none}.about-pile{grid-column:2;grid-row:1 / span 2;width:auto;height:min(78vh,320px);align-self:center;margin:0 -2% 0 0}}#about-body a{color:inherit}.about-text a{font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.about-text a:hover{text-decoration-thickness:3px}#about-body .about-links a{border-bottom:0}#about-body .about-links{display:flex;flex-wrap:wrap;gap:clamp(14px,1.6vw,26px);margin-top:clamp(26px,3.4vw,54px)}#about-body .about-links a{font-size:var(--t-ui);font-weight:600;padding:0;border:0;border-bottom:2px solid currentColor;background:none;color:inherit;transition:opacity var(--dur-1)}#about-body .about-links a:after{content:" ↗";font-weight:400}#about-body .about-links a:hover{opacity:.7}#catalog{position:fixed;inset:0;z-index:70;background:#070708}#catalog[hidden]{display:none}#catalog{opacity:0;transition:opacity var(--dur-3) var(--ease-out)}#catalog.is-open{opacity:1}#catalog-media{position:absolute;inset:0}.catalog-layer{position:absolute;inset:0;opacity:0;transform:scale(1);transition:opacity .48s var(--ease-out),transform .9s var(--ease-out)}.catalog-layer.is-front{opacity:1;animation:catalog-arrive .9s var(--ease-out)}@keyframes catalog-arrive{0%{opacity:0;transform:scale(1.055) translateY(1.2%)}to{opacity:1;transform:scale(1) translateY(0)}}.catalog-layer video,.catalog-layer img{width:100%;height:100%;object-fit:cover;display:block}#catalog-dim{position:absolute;inset:0;background:linear-gradient(to top,#070708b3,#07070800 46%)}#catalog-count{position:fixed;top:clamp(18px,3.4vh,34px);left:clamp(18px,3vw,34px);z-index:20;font-size:var(--t-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--chrome-ink);filter:var(--chrome-lift);font-variant-numeric:tabular-nums}#catalog-close{position:fixed;top:clamp(14px,3vh,30px);left:50%;z-index:20;width:clamp(46px,4vw,60px);height:clamp(46px,4vw,60px);display:grid;place-items:center;color:var(--chrome-ink);filter:var(--chrome-lift);transform:translate(-50%);transition:transform var(--dur-1)}#catalog-close svg{width:74%;height:74%;overflow:visible}#catalog-close:hover{transform:translate(-50%) scale(.88)}#catalog-scroll{position:absolute;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-snap-type:y mandatory;scrollbar-width:none}#catalog-scroll::-webkit-scrollbar{display:none}.catalog-slide{cursor:pointer;height:100dvh;scroll-snap-align:start;scroll-snap-stop:normal;display:flex;align-items:flex-end;padding:0 6vw clamp(48px,9vh,110px)}.catalog-open{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(6px,1vh,12px);max-width:88vw;text-align:left;color:var(--fg);opacity:.16;transform:translateY(26px);transition:opacity .32s var(--ease-out),transform .48s var(--ease-out)}.catalog-slide.is-current .catalog-open{opacity:1;transform:none;transition:opacity .66s var(--ease-out) .24s,transform .66s var(--ease-out) .24s}.catalog-title{font-size:clamp(38px,8.5vw,104px);font-weight:600;letter-spacing:-.03em;line-height:.98;text-wrap:balance}.catalog-open:hover .catalog-title{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}@media(max-width:760px){.catalog-slide{padding-bottom:clamp(64px,12vh,110px)}.catalog-title{font-size:clamp(34px,11vw,56px)}}@media(hover:none){.catalog-slide{scroll-snap-stop:always}}#wander{position:fixed;right:var(--hud-pad);top:50%;transform:translateY(-50%) rotate(var(--lean, 0deg));z-index:40;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:12px 16px 13px;background:var(--fg);color:#101012;font-size:var(--t-ui);font-weight:600;transition:transform var(--dur-1) var(--ease-spring)}#wander:hover{transform:translateY(-50%) rotate(var(--lean, 0deg)) scale(1.07)}#wander svg{width:22px;height:22px}#gig-btn{position:fixed;left:var(--hud-pad);top:50%;transform:translateY(-50%) rotate(-2.1deg);z-index:40;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:12px 16px 13px;background:var(--accent);color:#fff;font-size:var(--t-ui);font-weight:600;transition:transform var(--dur-1) var(--ease-spring)}#gig-btn[hidden]{display:none}#gig-btn:hover{transform:translateY(-50%) rotate(-2.1deg) scale(1.07)}#gig-btn svg{width:22px;height:22px;overflow:visible}#note-btn{position:fixed;left:var(--hud-pad);top:50%;transform:translateY(-50%) rotate(-1.7deg);z-index:84;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:12px 16px 13px;background:var(--fg);color:#101012;font-size:var(--t-ui);font-weight:600;transition:transform var(--dur-1) var(--ease-spring)}#note-btn:hover{transform:translateY(-50%) rotate(-1.7deg) scale(1.07)}#note-btn svg{width:22px;height:22px;overflow:visible}#note-panel{position:fixed;left:var(--hud-pad);top:50%;transform:translateY(-50%);z-index:85;width:min(340px,calc(100vw - 2 * var(--hud-pad)));display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;background:var(--fg);color:#101012}#note-context{font-size:var(--t-label);font-weight:600;opacity:.65;overflow-wrap:anywhere}#note-panel textarea{font:inherit;font-size:var(--t-body);border:none;background:#10101212;color:inherit;padding:10px 12px;resize:vertical;min-height:88px}#note-panel textarea:focus{outline:2px solid #101012;outline-offset:-2px}#note-row{display:flex;gap:8px}#note-row button{flex:1;padding:10px 0;font-size:var(--t-ui);font-weight:600;background:#101012;color:var(--fg)}#note-row #note-cancel{background:#1010121f;color:#101012}#note-panel[hidden],#note-btn[hidden]{display:none}#curate-btn{position:fixed;left:var(--hud-pad);top:calc(50% + 78px);transform:translateY(-50%) rotate(1.4deg);z-index:84;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:12px 14px 13px;background:var(--fg);color:#101012;font-size:var(--t-ui);font-weight:600;transition:transform var(--dur-1) var(--ease-spring)}#curate-btn:hover{transform:translateY(-50%) rotate(1.4deg) scale(1.07)}#curate-btn.is-on{background:#e10600;color:#fff}#curate-btn svg{width:22px;height:22px;overflow:visible}#order-btn{position:fixed;left:var(--hud-pad);top:calc(50% + 156px);transform:translateY(-50%) rotate(-.9deg);z-index:84;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:12px 15px 13px;background:var(--fg);color:#101012;font-size:var(--t-ui);font-weight:600;transition:transform var(--dur-1) var(--ease-spring)}#order-btn:hover{transform:translateY(-50%) rotate(-.9deg) scale(1.07)}#order-btn svg{width:22px;height:22px;overflow:visible}#order-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-.4deg);z-index:86;width:min(680px,calc(100vw - 24px));max-height:78dvh;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--fg);color:#101012;overflow:hidden}#order-panel[hidden],#order-btn[hidden]{display:none}#order-head{font-size:var(--t-ui);font-weight:600}#order-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;overflow-y:auto}.order-tile{position:relative;aspect-ratio:1;background:#10101214;overflow:hidden}.order-tile img{width:100%;height:100%;object-fit:cover;display:block}.order-tile .order-name{display:grid;place-items:center;height:100%;padding:4px;font-size:var(--t-micro);overflow-wrap:anywhere}.order-tile.is-picked{outline:3px solid #e10600;outline-offset:-3px}.order-tile .order-badge{position:absolute;top:4px;left:4px;min-width:26px;height:26px;display:grid;place-items:center;background:#e10600;color:#fff;font-size:var(--t-ui);font-weight:700;transform:rotate(-4deg)}.order-tile .order-badge:empty{display:none}.order-tile .order-del{position:absolute;top:2px;right:2px;width:26px;height:26px;display:grid;place-items:center;color:var(--fg);background:#1010128c;cursor:pointer}.order-tile .order-del svg{width:13px;height:13px;overflow:visible}.order-tile.is-trash img,.order-tile.is-trash .order-name{opacity:.28}.order-tile.is-trash{outline:3px solid #d43a2f;outline-offset:-3px}.order-tile.is-trash .order-del{background:#d43a2f}#order-row{display:flex;align-items:center;gap:10px}#order-row #order-count{font-size:var(--t-label);font-weight:600;opacity:.65;margin-right:auto}#order-row button{padding:8px 16px;font-size:var(--t-ui);font-weight:600;background:#1010121f;color:#101012}#order-row #order-send{background:#101012;color:var(--fg)}#curate-bar{position:fixed;left:50%;bottom:calc(var(--hud-pad) + 4px);transform:translate(-50%) rotate(-.8deg);z-index:84;display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--fg);color:#101012;font-size:var(--t-ui);font-weight:600;white-space:nowrap}#curate-bar[hidden]{display:none}@media(max-width:900px){#curate-bar{bottom:calc(var(--hud-pad) + 104px)}}#curate-bar button{padding:6px 14px;font-size:var(--t-ui);font-weight:600;background:#101012;color:var(--fg)}#curate-bar #curate-done{background:#1010121f;color:#101012}.cell .curate-x{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#0a0a0c94;color:var(--fg);pointer-events:none}.cell .curate-x svg{width:36%;max-width:64px;overflow:visible}@media(max-width:760px){#note-panel{left:12px;right:12px;top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:none;width:auto}}#boot{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:var(--bg);transition:opacity var(--dur-4) var(--ease-out)}#boot.is-done{opacity:0;pointer-events:none}#boot .boot-mark{font-size:var(--t-lead);font-weight:600;letter-spacing:-.01em;text-align:center}#boot .boot-marks{display:flex;justify-content:center;gap:10px;margin-bottom:20px;color:var(--fg)}#boot .boot-marks svg{width:30px;height:30px;overflow:visible;animation:boot-jig .9s steps(1) infinite}#boot .boot-marks svg:nth-child(1){animation-delay:0s}#boot .boot-marks svg:nth-child(2){animation-delay:.15s;animation-name:boot-spin}#boot .boot-marks svg:nth-child(3){animation-delay:.3s}@keyframes boot-jig{0%{transform:translateY(0) rotate(-5deg)}25%{transform:translateY(-7px) rotate(3deg)}50%{transform:translateY(0) rotate(6deg) scale(.94)}75%{transform:translateY(-3px) rotate(-3deg)}}@keyframes boot-spin{0%{transform:rotate(0)}25%{transform:rotate(90deg) scale(.9)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg) scale(1.08)}}@media(prefers-reduced-motion:reduce){#boot .boot-marks svg{animation:none}}#boot .boot-bar{width:150px;height:1px;margin:18px auto 0;background:var(--line);overflow:hidden}#boot .boot-bar span{display:block;height:100%;width:0%;background:var(--fg);transition:width var(--dur-2) var(--ease-out)}.noscript{position:fixed;inset:0;z-index:100;display:grid;place-content:center;text-align:center;padding:24px;background:var(--bg)}.noscript a{color:var(--accent)}@media(max-width:760px){:root{--hud-pad: 10px}#hud{flex-wrap:wrap;gap:var(--s-2);align-items:center}.logo-mark{font-size:var(--t-chrome);font-weight:700}.logo-icon{width:50px;height:52px}#logo{padding:0 0 0 52px}#filters{order:3;width:100%;display:grid;grid-template-columns:repeat(4,1fr);margin-top:4px;padding:3px}#filter-dial{top:3px;bottom:3px}#filters button{padding:12px 2px;text-align:center;letter-spacing:.02em}#hud-right button{padding:13px 16px}#wander{top:auto;bottom:calc(var(--hud-pad) + env(safe-area-inset-bottom,0px));left:var(--hud-pad);right:auto;transform:none;flex-direction:row;gap:var(--s-2);padding:12px 16px}#wander:hover{background:var(--fg);color:#0b0b0c}#wander:active{transform:scale(.97)}#wander svg{width:18px;height:18px}#readout{max-width:calc(100vw - 2 * var(--hud-pad));bottom:calc(var(--hud-pad) + 58px + env(safe-area-inset-bottom,0px))}#gig-btn{top:auto;bottom:calc(var(--hud-pad) + env(safe-area-inset-bottom,0px));left:auto;right:var(--hud-pad);transform:none;flex-direction:row;gap:var(--s-1);padding:10px 13px;font-size:var(--t-label)}#gig-btn:active{transform:scale(.97)}#gig-btn svg{width:15px;height:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.cell video{display:none}}

/* BK HUD tweaks + liquid glass chrome */
:root{
  --glass-bg: rgba(255,255,255,.09);
  --glass-bg-hover: rgba(255,255,255,.15);
  --glass-bg-strong: rgba(255,255,255,.18);
  --glass-stroke: rgba(255,255,255,.28);
  --glass-stroke-soft: rgba(255,255,255,.14);
  --glass-ink: rgba(252,250,247,.94);
  --glass-ink-dim: rgba(252,250,247,.62);
  --glass-blur: blur(22px) saturate(165%);
  --glass-radius: 18px;
  --glass-radius-sm: 14px;
  --glass-shadow:
    0 10px 36px rgba(0,0,0,.38),
    0 1px 0 rgba(255,255,255,.16) inset,
    0 -1px 0 rgba(0,0,0,.18) inset;
  --glass-accent: rgba(225,6,0,.42);
  --glass-accent-strong: rgba(225,6,0,.62);
}

#hud{
  padding: calc(var(--hud-pad) + 2px) var(--hud-pad);
  background: linear-gradient(to bottom, rgba(6,6,8,.42), rgba(6,6,8,0) 88%);
}

#logo,
a.site-logo{
  display: inline-flex !important;
  align-items: center;
  padding: 0 !important;
  border-radius: 0;
  background: none;
  border: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: var(--fg, #f2f0ec);
  transition: color var(--dur-2) var(--ease-out);
}
#logo:hover,
a.site-logo:hover{
  opacity: 1 !important;
  background: none;
  color: var(--fg, #f2f0ec);
  transform: none;
}
.site-logo-mark{
  --logo-h: 36px;
  --logo-ease: cubic-bezier(.22, 1, .36, 1);
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  gap: calc(var(--logo-h) * .068);
  height: var(--logo-h);
  width: auto;
  max-width: none;
  overflow: visible;
  isolation: isolate;
}
.site-logo-word,
#logo .logo-icon,
a.site-logo .logo-icon{
  position: static !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: block;
  flex: none;
  width: auto !important;
  height: var(--logo-h, 36px) !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: left bottom !important;
  border-radius: 0;
  background: transparent;
  filter: none;
}
.site-logo-dot{
  position: relative;
  z-index: 3;
  flex: none;
  width: calc(var(--logo-h) * .255);
  height: calc(var(--logo-h) * .255);
  margin-bottom: 0;
  background: currentColor;
}
.site-logo-lines{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  /* Red only where BK glyphs are + right strip toward the square */
  -webkit-mask-image:
    url("/assets/logo-bk-only.png"),
    linear-gradient(#000, #000);
  -webkit-mask-size: auto 100%, 22% 100%;
  -webkit-mask-position: left bottom, right bottom;
  -webkit-mask-repeat: no-repeat, no-repeat;
  -webkit-mask-composite: source-over;
  mask-image:
    url("/assets/logo-bk-only.png"),
    linear-gradient(#000, #000);
  mask-size: auto 100%, 22% 100%;
  mask-position: left bottom, right bottom;
  mask-repeat: no-repeat, no-repeat;
  mask-composite: add;
}
.site-logo-lines i{
  position: absolute;
  top: 0;
  left: 0;
  width: 34%;
  height: 1.75px;
  margin: 0;
  border: 0;
  padding: 0;
  background: var(--accent, #e10600);
  box-shadow: 0 0 8px rgba(225, 6, 0, .55);
  opacity: 0;
  transform: translate3d(-120%, 0, 0);
  will-change: transform, opacity;
}
.site-logo-lines i:nth-child(1){ top: 16%; }
.site-logo-lines i:nth-child(2){ top: 38%; height: 2.25px; }
.site-logo-lines i:nth-child(3){ top: 60%; }
.site-logo-lines i:nth-child(4){ top: 82%; height: 2.25px; }

@keyframes site-logo-line {
  0% {
    opacity: 0;
    transform: translate3d(-120%, 0, 0);
  }
  8% {
    opacity: 1;
  }
  72% {
    opacity: 1;
    transform: translate3d(210%, 0, 0);
  }
  86% {
    opacity: 0;
    transform: translate3d(240%, 0, 0);
  }
  100% {
    opacity: 0;
    transform: translate3d(240%, 0, 0);
  }
}
@keyframes site-logo-dot {
  0%,
  68% {
    background: currentColor;
  }
  76%,
  100% {
    background: var(--accent, #e10600);
  }
}

#logo:hover .site-logo-lines i,
a.site-logo:hover .site-logo-lines i,
#logo:focus-visible .site-logo-lines i,
a.site-logo:focus-visible .site-logo-lines i{
  animation: site-logo-line 1.05s var(--logo-ease) both;
}
#logo:hover .site-logo-lines i:nth-child(1),
a.site-logo:hover .site-logo-lines i:nth-child(1),
#logo:focus-visible .site-logo-lines i:nth-child(1),
a.site-logo:focus-visible .site-logo-lines i:nth-child(1){ animation-delay: 0s; }
#logo:hover .site-logo-lines i:nth-child(2),
a.site-logo:hover .site-logo-lines i:nth-child(2),
#logo:focus-visible .site-logo-lines i:nth-child(2),
a.site-logo:focus-visible .site-logo-lines i:nth-child(2){ animation-delay: .05s; }
#logo:hover .site-logo-lines i:nth-child(3),
a.site-logo:hover .site-logo-lines i:nth-child(3),
#logo:focus-visible .site-logo-lines i:nth-child(3),
a.site-logo:focus-visible .site-logo-lines i:nth-child(3){ animation-delay: .1s; }
#logo:hover .site-logo-lines i:nth-child(4),
a.site-logo:hover .site-logo-lines i:nth-child(4),
#logo:focus-visible .site-logo-lines i:nth-child(4),
a.site-logo:focus-visible .site-logo-lines i:nth-child(4){ animation-delay: .14s; }

#logo:hover .site-logo-dot,
a.site-logo:hover .site-logo-dot,
#logo:focus-visible .site-logo-dot,
a.site-logo:focus-visible .site-logo-dot{
  animation: site-logo-dot 1.05s var(--logo-ease) forwards;
}

@media (prefers-reduced-motion: reduce){
  .site-logo-lines i{
    display: none;
  }
  #logo:hover .site-logo-dot,
  a.site-logo:hover .site-logo-dot,
  #logo:focus-visible .site-logo-dot,
  a.site-logo:focus-visible .site-logo-dot{
    animation: none;
    background: var(--accent, #e10600);
  }
}

#filters,
#hud-right a,
#hud-right button,
#blog-btn,
#wander,
#gig-btn,
#note-btn,
#curate-btn,
#order-btn,
.tag-chip{
  clip-path: none !important;
  border-radius: var(--glass-radius) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-stroke);
  box-shadow: var(--glass-shadow);
  color: var(--glass-ink);
  background:
    linear-gradient(165deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.05) 42%, rgba(255,255,255,.02) 100%),
    var(--glass-bg);
  transform: none !important;
}

#filters{
  position: relative;
  display: flex;
  gap: 4px;
  padding: 5px;
  overflow: hidden;
}
#filters::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.18), transparent 46%);
  opacity: .55;
}
#filter-dial{
  top: 5px;
  bottom: 5px;
  border-radius: calc(var(--glass-radius) - 4px);
  background:
    linear-gradient(165deg, rgba(255,255,255,.28), rgba(255,255,255,0) 55%),
    var(--glass-accent-strong);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 6px 18px rgba(225,6,0,.28),
    0 1px 0 rgba(255,255,255,.25) inset;
  clip-path: none !important;
}
#filters button{
  position: relative;
  z-index: 1;
  font-size: var(--t-chrome);
  font-weight: 600;
  letter-spacing: .01em;
  padding: 10px 18px 11px;
  background: transparent !important;
  color: var(--glass-ink-dim);
  opacity: 1;
  border: 0;
  border-radius: calc(var(--glass-radius) - 4px);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: color var(--dur-2), background var(--dur-2), transform var(--dur-1);
}
#filters button:hover{
  color: var(--glass-ink);
  background: rgba(255,255,255,.08) !important;
}
#filters button.is-active{
  color: #fff;
  text-shadow: 0 1px 10px rgba(0,0,0,.35);
}
#filters button:active,
#hud-right button:active,
#hud-right a:active,
#wander:active{
  transform: scale(.97) !important;
}

#hud-right{
  display: flex;
  gap: 10px;
  align-items: center;
}
#hud-right a,
#hud-right button,
#blog-btn{
  font-size: var(--t-chrome);
  font-weight: 600;
  padding: 10px 18px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--dur-2) var(--ease-out), border-color var(--dur-2), transform var(--dur-1), box-shadow var(--dur-2);
}
#hud-right a:hover,
#hud-right button:hover,
#blog-btn:hover{
  background:
    linear-gradient(165deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.08) 45%, rgba(255,255,255,.04) 100%),
    var(--glass-bg-hover);
  border-color: rgba(255,255,255,.4);
  transform: translateY(-1px) !important;
}

#wander{
  right: var(--hud-pad);
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s-1);
  padding: 14px 16px 15px;
  font-size: var(--t-ui);
  font-weight: 600;
  transform: translateY(-50%) !important;
  transition: background var(--dur-2), border-color var(--dur-2), transform var(--dur-1), box-shadow var(--dur-2);
}
#wander:hover{
  background:
    linear-gradient(165deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.08) 45%, rgba(255,255,255,.04) 100%),
    var(--glass-bg-hover);
  border-color: rgba(255,255,255,.4);
  transform: translateY(-50%) scale(1.04) !important;
}
#wander:active{
  transform: translateY(-50%) scale(.97) !important;
}
#wander svg{
  width: 22px;
  height: 22px;
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.35));
}

#gig-btn,
#note-btn,
#curate-btn,
#order-btn{
  transform: translateY(-50%) !important;
}
#gig-btn{
  background:
    linear-gradient(165deg, rgba(255,255,255,.22), rgba(255,255,255,0) 50%),
    var(--glass-accent-strong);
  border-color: rgba(255,180,170,.35);
}
#gig-btn:hover,
#note-btn:hover,
#curate-btn:hover,
#order-btn:hover{
  transform: translateY(-50%) scale(1.04) !important;
}

#readout{
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  padding: 10px 16px;
  min-height: 0;
  height: auto;
  box-sizing: border-box;
  border-radius: var(--glass-radius);
  background:
    linear-gradient(165deg, rgba(255,255,255,.14), rgba(255,255,255,.03)),
    rgba(12,12,14,.42);
  border: 1px solid var(--glass-stroke-soft);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  text-shadow: none;
  max-width: min(42ch, 58vw);
}
#readout-title{
  display: block;
  margin: 0;
  padding: 0;
  font-size: clamp(18px, 1.7vw, 26px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.02em;
  transform: none;
}
#readout-meta{
  opacity: .72;
  margin: 4px 0 0;
  line-height: 1.2;
  transform: none;
}
#readout-meta:empty{
  display: none;
  margin: 0;
}

.tag-chip{
  background:
    linear-gradient(165deg, rgba(255,255,255,.35), rgba(255,255,255,.08)),
    rgba(255,255,255,.55) !important;
  color: #1a1916 !important;
  opacity: .88;
  border-color: rgba(255,255,255,.45);
}
.tag-chip:hover{
  opacity: 1;
  transform: translateY(-1px) scale(1.03) !important;
}

#shot-close,
#detail-close,
#about-close,
#catalog-close{
  border-radius: 999px;
  background:
    linear-gradient(165deg, rgba(255,255,255,.24), rgba(255,255,255,.06)),
    rgba(255,255,255,.1);
  border: 1px solid var(--glass-stroke);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
  color: var(--glass-ink);
  filter: none;
}
#shot-close:hover,
#detail-close:hover,
#about-close:hover,
#catalog-close:hover{
  background:
    linear-gradient(165deg, rgba(255,255,255,.34), rgba(255,255,255,.1)),
    rgba(255,255,255,.18);
  color: #fff;
}

#curate-bar,
#note-panel,
#order-panel{
  clip-path: none !important;
  border-radius: var(--glass-radius) !important;
  background:
    linear-gradient(165deg, rgba(255,255,255,.22), rgba(255,255,255,.06)),
    rgba(18,18,20,.55) !important;
  color: var(--glass-ink) !important;
  border: 1px solid var(--glass-stroke);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
#note-panel textarea{
  background: rgba(255,255,255,.08);
  color: var(--glass-ink);
  border-radius: 12px;
}
#note-row button,
#order-row button,
#curate-bar button{
  border-radius: 12px;
  border: 1px solid var(--glass-stroke-soft);
  background: rgba(255,255,255,.12);
  color: var(--glass-ink);
}
#note-row #note-cancel,
#order-row button:not(#order-send),
#curate-bar #curate-done{
  background: rgba(255,255,255,.06);
}
#note-row button:not(#note-cancel),
#order-row #order-send,
#curate-bar button:not(#curate-done){
  background:
    linear-gradient(165deg, rgba(255,255,255,.25), transparent 55%),
    var(--glass-accent-strong);
  border-color: rgba(255,180,170,.3);
  color: #fff;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #filters,
  #hud-right a,
  #hud-right button,
  #blog-btn,
  #wander,
  #readout{
    background: rgba(28,28,32,.88);
  }
}

@media (max-width: 760px){
  :root{
    --hud-pad: 12px;
  }
  #logo{padding: 0 !important}
  .site-logo-mark{ --logo-h: 28px }
  #logo .logo-icon,
  a.site-logo .logo-icon,
  .site-logo-word{
    position: static !important;
    width: auto !important;
    height: var(--logo-h, 28px) !important;
    max-width: none !important;
    transform: none !important;
  }
  #hud{
    row-gap: 8px;
    padding-top: max(10px, env(safe-area-inset-top, 0px));
  }
  #filters{
    order: 3;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    margin-top: 2px;
  }
  #filters button{padding: 12px 6px; text-align: center}
  #hud-right a,
  #hud-right button,
  #blog-btn{padding: 12px 14px}
  #wander{
    top: auto;
    bottom: calc(var(--hud-pad) + env(safe-area-inset-bottom, 0px));
    left: var(--hud-pad);
    right: auto;
    transform: none !important;
    flex-direction: row;
    justify-content: center;
    gap: 6px;
    width: auto;
    max-width: min(148px, calc(100vw - 2 * var(--hud-pad)));
    min-height: 40px;
    padding: 8px 12px;
    box-sizing: border-box;
    z-index: 45;
  }
  #wander:hover,
  #wander:active{
    transform: scale(.98) !important;
  }
  #wander svg{
    width: 16px;
    height: 16px;
  }
  #wander span{
    font-size: 11px;
  }
  #readout{
    width: min(148px, calc(100vw - 2 * var(--hud-pad)));
    max-width: min(148px, calc(100vw - 2 * var(--hud-pad)));
    min-height: 36px;
    bottom: calc(var(--hud-pad) + 52px + env(safe-area-inset-bottom, 0px));
    left: var(--hud-pad);
    padding: 7px 10px;
    box-sizing: border-box;
    font-size: 12px;
    justify-content: center;
  }
  #readout-title{
    width: 100%;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform: none;
  }
  #readout-meta{
    width: 100%;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* About sheet: allow touch scroll on phones */
  #about-scroll,
  #about-scroll:not(:has(.about-pile)){
    touch-action: pan-y !important;
    overflow: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    padding-left: max(20px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(20px, env(safe-area-inset-right, 0px)) !important;
    padding-top: max(84px, calc(env(safe-area-inset-top, 0px) + 68px)) !important;
    padding-bottom: max(40px, calc(env(safe-area-inset-bottom, 0px) + 28px)) !important;
  }
  #about-scroll:not(:has(.about-pile)) > h1,
  #about-scroll:not(:has(.about-pile)) #about-title,
  #about-card #about-title{
    width: 100% !important;
    font-size: clamp(18px, 5.4vw, 24px) !important;
    padding-right: 52px;
  }
  #about-scroll:not(:has(.about-pile)) #about-body,
  #about-scroll:not(:has(.about-pile)) .about-text{
    width: 100%;
    max-width: 100%;
  }
  #about-close{
    top: max(14px, calc(env(safe-area-inset-top, 0px) + 10px)) !important;
    left: auto !important;
    right: max(14px, env(safe-area-inset-right, 0px)) !important;
    transform: none !important;
  }
  #detail-close{
    top: max(22px, calc(env(safe-area-inset-top, 0px) + 14px));
  }
  #shot-close{
    top: max(12px, env(safe-area-inset-top, 0px));
    right: max(12px, env(safe-area-inset-right, 0px));
  }
}

@media (prefers-reduced-motion: reduce){
  #filters,
  #hud-right a,
  #hud-right button,
  #blog-btn,
  #wander,
  #readout{
    transition: none !important;
  }
}

/* Homepage wall: covers fill tile edge-to-edge */
.cell{
  clip-path: none !important;
  background: #08080a;
  overflow: hidden;
  contain: layout style paint;
  isolation: isolate;
  border-radius: 0;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transition:
    box-shadow .55s cubic-bezier(.22, 1, .36, 1),
    filter .55s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}
.cell.is-near{
  transition:
    clip-path .3s var(--ease-spring),
    box-shadow .55s cubic-bezier(.22, 1, .36, 1),
    filter .55s cubic-bezier(.22, 1, .36, 1);
}
body:has(.cell.is-focus) .cell:not(.is-focus){
  filter: brightness(.62) saturate(.92);
}
.cell.is-focus{
  box-shadow:
    0 10px 28px rgba(0, 0, 0, .28),
    0 22px 56px rgba(0, 0, 0, .38);
  filter: brightness(1) saturate(1);
}
.cell-inner{
  overflow: hidden;
  background: #08080a;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.cell img,
.cell video{
  object-fit: cover !important;
  object-position: center center;
  width: 100%;
  height: 100%;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.cell img.is-loaded,
.cell video.is-playing{
  opacity: 1;
}

.ig-play{
  background:
    linear-gradient(145deg, rgba(131,58,180,.92), rgba(253,29,29,.88) 55%, rgba(252,176,69,.9));
  cursor: pointer;
}
.ig-play img[src=""]{
  opacity: 0;
}
.ig-play::after{
  content: "Instagram";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font: 600 14px/1.2 var(--sans);
  letter-spacing: .06em;
  pointer-events: none;
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
}
.ig-play:has(img:not([src=""]))::after{
  content: none;
}

/* Project detail: hide leftover category chips; show link pills clearly */
#detail .cat-tags{
  display: none !important;
}
#detail .cat-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(16px, 2.2vw, 28px);
}
#detail .cat-links a{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 16px;
  border-radius: calc(var(--glass-radius, 18px) - 6px);
  border: 1px solid rgba(255,255,255,.35);
  background:
    linear-gradient(165deg, rgba(255,255,255,.42), rgba(255,255,255,.12)),
    rgba(255,255,255,.72);
  color: #1a1916 !important;
  font-family: var(--sans);
  font-size: var(--t-ui);
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  border-bottom: 0 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
  transition: transform var(--dur-1), opacity var(--dur-1), background var(--dur-2);
}
#detail .cat-links a:after{
  content: "↗";
  font-weight: 500;
  opacity: .7;
}
#detail .cat-links a:hover{
  opacity: 1;
  transform: translateY(-1px) scale(1.02);
}

/* About sheet: column layout; safe center so long copy can still scroll from the top */
#about-scroll:not(:has(.about-pile)){
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap;
  justify-content: flex-start !important;
  justify-content: safe center !important;
  align-items: center !important;
  gap: clamp(10px, 1.4vw, 16px);
  box-sizing: border-box;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding:
    clamp(52px, 8vh, 88px)
    clamp(28px, 6vw, 72px)
    clamp(36px, 6vh, 72px)
    max(clamp(28px, 6vw, 72px), var(--sheet-text-left, 16%)) !important;
}
#about-scroll:not(:has(.about-pile)) > h1,
#about-scroll:not(:has(.about-pile)) #about-title,
#about-card #about-title{
  flex: 0 0 auto;
  width: min(34rem, 100%);
  max-width: 100%;
  margin: 0 !important;
  padding: 0;
  box-sizing: border-box;
  font-family: Manrope, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: clamp(20px, 2.2vw, 28px) !important;
  font-weight: 700 !important;
  font-style: normal;
  font-synthesis: none !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  text-rendering: auto;
}
#about-scroll:not(:has(.about-pile)) #about-body{
  flex: 0 1 auto;
  width: min(34rem, 100%);
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-width: 0;
  font-family: Manrope, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: clamp(12.5px, 1.05vw, 14.5px) !important;
  font-weight: 400;
  font-synthesis: none;
  line-height: 1.45;
  letter-spacing: 0;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
#about-scroll:not(:has(.about-pile)) .about-text{
  max-width: none;
}
#about-scroll:not(:has(.about-pile)) .about-text p{
  margin: 0 0 .55em;
  font-weight: 400;
}
#about-scroll:not(:has(.about-pile)) .about-text p:last-child{
  margin-bottom: 0;
}
#about-scroll:not(:has(.about-pile)) #about-body .about-links{
  justify-content: flex-start;
  margin-top: clamp(12px, 1.8vw, 20px);
}
#about-scroll:not(:has(.about-pile)) #about-body .about-links a{
  font-size: clamp(12px, 1vw, 13.5px);
  font-weight: 700;
  font-synthesis: none;
}

/* Panel sheet_ink / sheet_bg must win */
#about-card{
  color: var(--sheet-ink, #2a2822) !important;
}
#about-card #about-title,
#about-body,
#about-body .about-text,
#about-body .about-text p,
#about-body .about-links a{
  color: inherit !important;
}
#about-ground{
  background: var(--sheet-bg, #c9c4b8) !important;
}

/* Mobile about: full screen + scroll — never clip text */
@media (max-width: 860px){
  #about-card{
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }
  #about.is-open #about-card{
    opacity: 1;
    transform: none !important;
  }
  #about-ground{
    inset: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
  }
  #about-scroll,
  #about-scroll:not(:has(.about-pile)){
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    align-content: flex-start !important;
    gap: 18px !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
    padding:
      max(84px, calc(env(safe-area-inset-top, 0px) + 68px))
      max(22px, env(safe-area-inset-right, 0px))
      max(40px, calc(env(safe-area-inset-bottom, 0px) + 28px))
      max(22px, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box !important;
    scrollbar-width: thin;
  }
  #about-scroll:not(:has(.about-pile)) > h1,
  #about-scroll:not(:has(.about-pile)) #about-title,
  #about-card #about-title{
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(18px, 5.2vw, 24px) !important;
    line-height: 1.15 !important;
    padding-right: 52px;
  }
  #about-scroll:not(:has(.about-pile)) #about-body,
  #about-scroll:not(:has(.about-pile)) .about-text{
    flex: 0 0 auto;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  #about-scroll:not(:has(.about-pile)) #about-body{
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  #about-scroll:not(:has(.about-pile)) .about-text p{
    overflow-wrap: anywhere;
    word-break: break-word;
    margin: 0 0 .5em;
  }
  #about-scroll:not(:has(.about-pile)) #about-body .about-links{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 8px;
  }
  #about-close{
    top: max(14px, calc(env(safe-area-inset-top, 0px) + 10px)) !important;
    left: auto !important;
    right: max(14px, env(safe-area-inset-right, 0px)) !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 30;
  }
  #about-close:hover{
    transform: scale(.94) !important;
  }
}

/* Kill legacy 760px lock that blocked about scrolling */
@media (max-width: 760px){
  #about-scroll,
  #about-scroll:not(:has(.about-pile)){
    overflow: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
  }
}


/* Soft wall restore after project popup closes */
.cell{
  transition:
    clip-path .46s var(--ease-out),
    opacity .4s var(--ease-out),
    box-shadow .55s cubic-bezier(.22, 1, .36, 1),
    filter .55s cubic-bezier(.22, 1, .36, 1);
}
.cell.is-expanding{
  opacity: 0 !important;
  transition: clip-path .46s var(--ease-out), opacity 0s !important;
}
body.is-modal-exit .cell{
  transition:
    opacity .4s var(--ease-out),
    box-shadow .55s cubic-bezier(.22, 1, .36, 1) !important;
}
body.is-modal-exit .cell.is-near{
  transition:
    opacity .4s var(--ease-out),
    box-shadow .55s cubic-bezier(.22, 1, .36, 1) !important;
}



/* Boot / loading — simple logo */
#boot{
  background: var(--bg);
}
#boot .boot-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
#boot .boot-logo{
  width: min(160px, 46vw);
  height: auto;
  object-fit: contain;
  opacity: 0;
  animation: boot-logo-in .7s cubic-bezier(.22, 1, .36, 1) .05s forwards;
}
#boot .boot-bar{
  width: min(120px, 36vw);
  height: 1px;
  margin: 0;
  background: rgba(242, 240, 236, .14);
  overflow: hidden;
}
#boot .boot-bar span{
  display: block;
  height: 100%;
  width: 0%;
  background: var(--fg);
  transition: width .4s cubic-bezier(.33, 0, .2, 1);
}
#boot.is-done{
  opacity: 0;
  transition: opacity .55s cubic-bezier(.33, 0, .2, 1);
}
@keyframes boot-logo-in{
  from{ opacity: 0; transform: translateY(6px); }
  to{ opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce){
  #boot .boot-logo{
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Detail media: never spill past the sheet */
#detail-stage{
  overflow: hidden;
}
#detail-card .reel3d{
  perspective-origin: 78% 48%;
}
#detail-card .reel3d-ring{
  left: 74%;
  top: 48%;
  width: min(44%, 620px);
  margin-left: calc(min(44%, 620px) / -2);
  max-width: calc(100% - 6%);
}
#detail-card .reel3d-card .frame{
  max-width: 100%;
  width: min(100%, calc(min(72dvh, 88dvh) * var(--ar, 1)));
  margin-inline: auto;
  box-sizing: border-box;
}
#detail-card .cat-block{
  top: 50%;
  transform: translateY(-50%);
  max-height: min(78%, 78dvh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-width: thin;
  scrollbar-color: rgba(42, 40, 34, .28) transparent;
  -webkit-overflow-scrolling: touch;
  padding-right: 10px;
  box-sizing: border-box;
}
#detail-card .cat-block::-webkit-scrollbar{
  width: 5px;
}
#detail-card .cat-block::-webkit-scrollbar-thumb{
  background: rgba(42, 40, 34, .28);
  border-radius: 999px;
}
#detail-card .cat-aside{
  max-height: none;
}
@media (min-width: 500px) and (max-width: 1279px) and (orientation: landscape),
       (min-width: 861px) and (max-width: 1279px){
  #detail-card .reel3d-ring{
    left: 72%;
    width: min(46%, 520px);
    margin-left: calc(min(46%, 520px) / -2);
  }
}
@media (max-width: 860px){
  #detail-card{
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }
  #detail.is-open #detail-card,
  #detail.is-sliding #detail-card{
    transform: none !important;
  }
  #detail-ground{
    inset: 0 !important;
    border-radius: 0 !important;
    clip-path: none !important;
  }
  #detail-stage{
    overflow: hidden !important;
    inset: 0 !important;
  }
  #detail-card .reel3d{
    perspective: 900px;
    perspective-origin: 50% 28%;
  }
  #detail-card .reel3d-ring{
    left: 50% !important;
    top: 28% !important;
    width: min(94%, 520px) !important;
    margin-left: calc(min(94%, 520px) / -2) !important;
  }
  #detail-card .reel3d-card .frame{
    max-height: min(42dvh, 340px) !important;
    min-height: 0 !important;
    width: min(100%, calc(min(42dvh, 340px) * var(--ar, 1))) !important;
  }
  #detail-card{
    --reel-width: 94% !important;
    --reel-cap: 42dvh !important;
    --reel-anchor-y: 28% !important;
    --sheet-text-bottom: 0 !important;
  }
  #detail-card .cat-block{
    left: max(16px, env(safe-area-inset-left, 0px)) !important;
    right: max(16px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    top: 52% !important;
    bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
    transform: none !important;
    max-height: none !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
    padding: 0 4px 12px 0 !important;
    box-sizing: border-box !important;
  }
  #detail-card .cat-title{
    font-size: clamp(20px, 5.8vw, 28px) !important;
    line-height: 1.15 !important;
  }
  #detail-card .cat-desc{
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  #detail-card .cat-aside{
    gap: 12px !important;
    margin-top: 12px !important;
  }
  #detail-card .cat-links a{
    display: inline-flex;
    margin-bottom: 8px;
  }
  #detail-close{
    top: max(22px, calc(env(safe-area-inset-top, 0px) + 12px)) !important;
    width: 44px;
    height: 44px;
  }
}
