:root{--bg: #faf4f6;--ink: #3b2b33;--title: #4a3641;--accent: #9e5678;--dim: #b99dab;--muted: #cdb6c2;--line: #eedde6;--card: #fffcfd;--shot: #f0e2e9;--foot: #8a6c7b;--serif: "Source Serif 4", Georgia, serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}::selection{background:#efd9e3}.shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.side{border-right:1px solid var(--line);padding:64px 40px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto}.side-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{font-size:26px;letter-spacing:.02em;cursor:pointer}.burger{display:none;width:30px;height:24px;background:none;border:none;padding:0;cursor:pointer}.burger span{display:block;height:1.5px;background:var(--ink);margin:5px 0;transition:transform .22s ease,opacity .18s ease}.burger.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.burger.on span:nth-child(2){opacity:0}.burger.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.side-body{display:flex;flex-direction:column;flex:1}.modes{display:flex;gap:20px;margin-top:14px}.modes a{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:1px solid transparent;padding-bottom:4px}.modes a.on{color:var(--accent);border-bottom-color:var(--accent)}.side nav{display:flex;flex-direction:column;gap:22px;margin-top:64px}.side nav a{font-size:21px;font-weight:300;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;padding-bottom:5px;align-self:flex-start}.side nav a.on{color:var(--accent);border-bottom-color:var(--accent)}.side-foot{margin-top:auto;padding-top:48px;color:var(--dim);font-size:13px;line-height:1.7}.side-foot a{display:block;color:var(--foot);overflow-wrap:anywhere}.side-foot span{display:block}main{padding:88px 72px 120px;min-width:0}h1{font-size:clamp(44px,5.5vw,76px);font-weight:400;letter-spacing:-.01em;color:var(--title);margin:0;line-height:1.05}.note{color:var(--dim);font-size:18px;font-weight:300;margin:16px 0 56px;max-width:60ch}.about{display:flex;align-items:flex-start;gap:32px;margin-top:10px;margin-bottom:14px}.about .note{margin:0 0 14px}.portrait{width:168px;height:168px;flex:0 0 auto;object-fit:cover;display:block;background:var(--shot);border:1px solid var(--line)}.about-col{flex:1;min-width:0}.featured{max-width:min(880px,calc((100vh - 470px)*1.895));min-width:320px;background:var(--card);border:1px solid var(--line)}.about .note{max-width:68ch}.featured .frame{background:#000;min-height:200px;overflow:hidden}.featured video,.featured iframe{display:block;width:100%;height:auto;max-height:70vh;border:0;object-fit:contain;background:#000}.featured .cap{display:block;padding:18px 20px 20px}.grades{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:40px;max-width:1180px}.grade{margin:0;background:var(--card);border:1px solid var(--line)}.wipe{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--shot);cursor:ew-resize;touch-action:pan-y}.wipe img,.wipe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.wipe .handle{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#ffffffe6;box-shadow:0 0 0 1px #3b2b3340;pointer-events:none}.wipe .tag,.piece .tag,.featured .tag{position:absolute;bottom:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#1e161a8c;padding:3px 8px;pointer-events:none}.wipe .tag.l,.piece .tag.l,.featured .tag.l{left:10px}.wipe .tag.r,.piece .tag.r,.featured .tag.r{right:10px}.piece .shot,.featured .frame{position:relative;line-height:0}.piece .shot video~.tag,.featured video~.tag{top:10px;bottom:auto}.wipe input[type=range]{position:absolute;inset:auto 0 0;width:100%;opacity:0;height:100%;margin:0;cursor:ew-resize}.wipe:focus-within{outline:2px solid var(--accent);outline-offset:2px}.wipe:focus-within .handle{width:4px;margin-left:-2px;background:var(--accent);box-shadow:0 0 0 1px #00000059}.unmute{position:absolute;top:10px;right:10px;font-family:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#1e161ab8;border:1px solid rgba(255,255,255,.35);padding:4px 10px;cursor:pointer}.unmute:hover{background:var(--accent);border-color:var(--accent)}.grade figcaption{padding:18px 20px 20px;font-size:16px;line-height:1.45;color:var(--ink)}@media(max-width:900px){.grades{grid-template-columns:1fr;gap:28px}}.cards{display:grid}.cards.wide{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:40px}.cards.tall{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:32px}.piece{display:block;margin:0;background:var(--card);border:1px solid var(--line);transition:box-shadow .3s ease,transform .3s ease}.piece:hover{box-shadow:0 10px 30px #9e567824;transform:translateY(-3px)}figure.piece:hover{transform:none}.piece img,.piece video{width:100%;object-fit:cover;display:block;background:var(--shot)}.cards.wide .piece img,.cards.wide .piece video{aspect-ratio:16 / 9}.cards.tall .piece img,.cards.tall .piece video{aspect-ratio:9 / 16}.cap{display:block}.cards.wide .cap{padding:18px 20px 20px}.cards.tall .cap{padding:14px 16px 16px}.cap .t{display:block;line-height:1.45;color:var(--ink)}.cards.wide .cap .t{font-size:16px}.cards.tall .cap .t{font-size:14px}.cap .m{display:block;color:var(--dim)}.cards.wide .cap .m{font-size:13px;margin-top:6px}.cards.tall .cap .m{font-size:12px;margin-top:5px}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:sticky;top:0;height:auto;overflow:visible;border-right:none;border-bottom:1px solid var(--line);padding:22px 24px;background:var(--bg);z-index:20}.burger{display:block}.side-body{display:none}.side-body.open{display:flex;padding-bottom:8px}.side nav{margin-top:28px;gap:16px}.side-foot{padding-top:28px}main{padding:44px 24px 80px}.note{font-size:17px;margin-bottom:36px}.about{flex-direction:column;gap:20px}.featured{max-width:100%}.portrait{width:132px;height:132px}.cards.wide{grid-template-columns:1fr;gap:28px}.cards.tall{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}}
