*,*:before,*:after{box-sizing:border-box}:root{--bg: #ffffff;--text: #1a1a1a;--panel: #f1f1f1;--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}.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__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}.container{position:fixed;inset:0;transform-origin:center center;will-change:transform}.container:before{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .45s var(--ease-out);pointer-events:none;z-index:2}.container.is-details-open:before{opacity:.45}.container.is-details-open{transform:translate3d(-50vw,0,0);transition:transform 1.2s var(--ease-out)}.grid{position:absolute;width:max-content;height:max-content;display:flex;gap:5vw;cursor:grab;will-change:transform;transform:translateZ(0)}.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)}.details{position:fixed;top:0;right:0;width:50vw;height:100vh;padding:22px 24px;background:var(--panel);transform:translate3d(100%,0,0);transition:transform 1.2s var(--ease-out);z-index:20;box-shadow:var(--shadow)}.details.is-open{transform:translateZ(0)}.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;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:cover}.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{position:fixed;z-index:25;width:34px;height:34px;pointer-events:none;transform:translate(-9999px,-9999px);opacity:0;transition:opacity .2s ease}.cursor-cross.is-visible{opacity:.9}.cursor-cross img{width:100%;height:100%}@media(max-width:820px){body{overflow:hidden}.tile{width:42vw}.column,.grid{gap:6vw}.details{width:92vw}.container.is-details-open{transform:translate3d(-92vw,0,0)}}@media(prefers-reduced-motion:reduce){.grid,.tile img,.details,.container:before,.container.is-details-open{transition:none!important}}
