*,*:before,*:after{box-sizing:border-box}:root{--bg: #ffffff;--text: #1a1a1a;--panel: #f1f1f1;--details-w: clamp(360px, 42vw, 650px);--shadow: 0 10px 40px rgba(0, 0, 0, .12);--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media(scripting:enabled){body.loading:before,body.loading:after{content:"";position:fixed;z-index:10000}body.loading:before{inset:0;background:var(--bg)}body.loading:after{top:50%;left:50%;width:120px;height:1px;margin-left:-60px;background:var(--text);animation:loaderAnim 1.5s ease-in-out infinite alternate forwards}}@keyframes loaderAnim{0%{transform:scaleX(0);transform-origin:0% 50%}50%{transform:scaleX(1);transform-origin:0% 50%}50.1%{transform:scaleX(1);transform-origin:100% 50%}to{transform:scaleX(0);transform-origin:100% 50%}}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}:root{--details-w: clamp(360px, 42vw, 560px)}.site-header{position:fixed;z-index:10;top:0;left:0;width:100%;padding:18px 20px;display:flex;justify-content:space-between;align-items:baseline;pointer-events:none}.site-header__brand,.site-header__nav{pointer-events:auto}.site-header__brand{position:relative;padding:12px 14px;border-radius:16px;background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000014;border:1px solid rgba(0,0,0,.06)}.site-header__title{font-size:14px;letter-spacing:.02em}.site-header__subtitle{font-size:12px;opacity:.65;margin-top:4px}.site-header__nav{display:flex;gap:14px;font-size:12px;opacity:.85}.artist-filter{margin-top:10px;display:flex;align-items:center;gap:10px}.artist-filter__hint{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffffb3;-webkit-user-select:none;user-select:none}.artist-filter__menu{display:flex;gap:8px;will-change:transform,opacity}.artist-filter__btn{appearance:none;border:1px solid rgba(0,0,0,.08);background:#0000000a;padding:6px 10px;border-radius:999px;cursor:pointer;font-size:12px;line-height:1;transition:none}.artist-filter__btn:hover{background:#00000012}.artist-filter__btn.is-active{background:#0000001f;border-color:#0000001f}.artist-filter__btn:focus-visible{outline:2px solid rgba(0,0,0,.28);outline-offset:2px}.container{position:fixed;inset:0;transform-origin:center center;will-change:transform}.container:before{content:"";position:absolute;inset:0;background:#000;opacity:var(--overlay-opacity, 0);pointer-events:none;z-index:2;transition:none}.grid{position:absolute;width:max-content;height:max-content;display:flex;gap:5vw;cursor:grab;will-change:transform;transform:translateZ(0);z-index:1}.grid.is-grabbing{cursor:grabbing}.column{display:flex;flex-direction:column;gap:5vw}.column:nth-child(2n){margin-top:10vw}.tile{position:relative;width:18.5vw;aspect-ratio:1 / 1;padding:0;border:0;background:transparent}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .26s ease;will-change:transform}.tile:hover img{transform:scale(1.05)}.reveal-mask{display:inline-block;overflow:hidden;vertical-align:bottom}.reveal-char,.reveal-word{display:inline-block;transform:translateY(110%);will-change:transform}.details{position:fixed;top:0;right:0;width:var(--details-w);height:100vh;padding:22px 24px;background:var(--panel);transform:translateZ(0);transition:none;z-index:20;box-shadow:var(--shadow)}.details__close{appearance:none;border:0;background:transparent;padding:8px;border-radius:10px;cursor:pointer;position:absolute;top:14px;right:14px}.details__close:hover{background:#0000000f}.details__close img{width:22px;height:22px}.details__inner{display:grid;grid-template-columns:1fr;gap:18px;margin-top:42px}.details__thumb{position:relative;max-height:55vh;width:100%;aspect-ratio:1 / 1;background:#00000008;border-radius:16px;overflow:hidden}.details__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.details__meta{line-height:1.5}.details__title{margin:0 0 6px;font-size:24px;letter-spacing:.01em}.details__sub{font-size:13px;opacity:.7;margin-bottom:12px}.details__desc{margin:0 0 14px;font-size:13px;opacity:.9;max-width:52ch}.details__facts{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0;font-size:12px;opacity:.85}.details__facts dt{opacity:.7}.details__facts dd{margin:0}.cursor-cross{display:none!important}@media(max-width:820px){:root{--details-w: 92vw}body{overflow:hidden}.tile{width:42vw}.column,.grid{gap:6vw}.site-header{padding:14px}.site-header__brand{padding:10px 12px;border-radius:14px}}@media(prefers-reduced-motion:reduce){.grid,.tile img,.details,.container:before{transition:none!important}}@media(max-width:560px){.site-header{padding-top:calc(12px + env(safe-area-inset-top));padding-right:calc(12px + env(safe-area-inset-right));padding-bottom:10px;padding-left:calc(12px + env(safe-area-inset-left));align-items:flex-start;gap:10px}.site-header__brand{max-width:calc(100vw - 120px)}.site-header__title{font-size:12px;letter-spacing:.02em}.site-header__subtitle{font-size:11px;margin-top:3px}.site-header__nav{gap:10px;opacity:1}}.contact-fab{position:fixed;left:18px;bottom:18px;z-index:25;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#ffffffc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 36px #0000001a;cursor:pointer;transform:translateZ(0);will-change:transform,opacity}.contact-fab__dot{width:10px;height:10px;border-radius:999px;background:#000000a6;box-shadow:0 0 0 6px #0000000f}.contact-fab__label{font-size:12px;letter-spacing:.02em}.contact-fab:active{transform:scale(.98)}#details.is-open~.contact-fab{opacity:0;transform:translateY(10px);pointer-events:none}@media(max-width:560px){.contact-fab{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));padding:9px 12px}.contact-fab__label{font-size:11px}}
