.research-intro{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:64px 0 35px}.research-intro h1{font-size:clamp(48px,6vw,92px);font-weight:400;line-height:1.02;letter-spacing:-.06em;margin:18px 0}.research-intro h1 span{display:block;font:italic .65em Georgia,serif}.research-intro p{color:var(--muted)}.collection-cover{aspect-ratio:16/9;position:relative;overflow:hidden;background:#070909}.rotate-frame{position:absolute;inset:0;display:grid;place-items:center}.rotate-frame img{position:absolute;width:56.25%;height:177.778%;object-fit:contain;transform:rotate(90deg)}.research-filters{display:flex;gap:8px;flex-wrap:wrap;padding:20px 0 34px;border-top:1px solid var(--line)}.research-filters a{padding:7px 12px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:12px}.research-filters a[aria-current]{background:var(--accent);color:#10140c}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;align-items:start;padding:50px 0 100px}.research-tile{min-width:0}.research-tile figure{margin:0!important}.research-tile .media-tile,.research-tile .artwork-video{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden;background:#101317}.research-tile .media-tile img{object-fit:contain}.research-tile .artwork-video video{height:100%;width:100%;object-fit:contain}.research-caption{padding:13px 0}.research-caption>p{margin:8px 0 4px;font-size:14px}.research-chip{display:inline-block;background:hsl(var(--chip-h) 60% 79%);color:#101317;font-size:11px;font-weight:bold;text-decoration:none;border-radius:20px;padding:5px 9px;max-width:100%;line-height:1.4}.artwork-tags{display:flex;gap:8px;flex-wrap:wrap;font:11px/1.6 'Courier New',monospace;color:var(--muted)}.artwork-tags span{border-bottom:1px solid #3c4247}.artwork-description{font-size:13px;color:var(--muted)}.unassigned-tag{font:11px 'Courier New',monospace;color:var(--muted)}.design-credit{font-size:11px;color:var(--muted);max-width:560px;padding-bottom:30px}.design-credit a{color:inherit}.owner-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}.owner-actions button{background:#171d20;border:1px solid var(--line);padding:5px 9px;font-size:12px}.research-empty{padding:60px 0}.notebook{max-width:840px;margin:auto;padding:80px 0}.notebook h1{font:400 clamp(48px,7vw,96px)/1.06 Georgia,serif;letter-spacing:-.04em;margin:25px 0 40px}.notebook-text{font:20px/1.8 Georgia,serif;overflow-wrap:anywhere}.note-row{display:grid;grid-template-columns:130px 1fr;gap:25px;border-top:1px solid var(--line);padding:28px 0}.note-row h2{font:32px/1.2 Georgia,serif;letter-spacing:-.03em}.note-row>a,.note-row a{text-decoration:none}.note-row time,.note-row p{font-size:12px;color:var(--muted)}.rotated-art{aspect-ratio:16/9;position:relative;overflow:hidden}.rotated-art img{position:absolute!important;left:21.875%;top:-38.889%;width:56.25%!important;height:177.778%!important;transform:rotate(90deg);object-fit:contain!important}.rotated-art figcaption{position:relative}.project-mention{text-decoration-thickness:1px;text-decoration-color:#778378}.project-body .research-tile{margin:25px 0}.shader-palette{font-size:12px}.shader-palette select{font-size:12px}.header-right a{font-size:13px}
@media(max-width:800px){.research-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.research-intro{grid-template-columns:1fr;gap:20px;padding-top:40px}.collection-cover{max-width:600px}.header-right{gap:12px}.note-row{grid-template-columns:1fr;gap:10px}}
@media(max-width:500px){.research-grid{grid-template-columns:1fr;padding-top:20px}.research-intro h1{font-size:54px}.notebook{padding-top:40px}.notebook-text{font-size:18px}.wordmark{font-size:16px}.header-right a{font-size:11px}.research-filters{gap:6px}.research-filters a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.research-tile{transform:none!important}}
@media(max-width:600px){.home-page header .wordmark{white-space:nowrap;font-size:15px}.home-page header .header-right{gap:12px}.home-page header a[href="#bio"]{display:none}.home-page header .header-link[href="#contact"]{font-size:0}.home-page header .header-link[href="#contact"]::after{content:'Contact';font-size:11px}}

.rotated-viewer .viewer-image{transform:rotate(90deg);max-width:70vh;max-height:85vw;object-fit:contain}

.research-labels{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.research-project{display:block;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.5}.research-project:hover{text-decoration:underline}.research-artwork-name{color:var(--muted)}.research-caption .artwork-tags{margin-top:6px}

.research-project-group{min-width:0}.group-preview{aspect-ratio:16/9;overflow:hidden;background:#101317}.group-preview>.video-loop,.group-preview>.artwork-video{aspect-ratio:16/9!important;width:100%;height:100%;margin:0}.group-cover{position:relative;display:block;width:100%;height:100%;color:var(--ink)}.group-cover img,.group-preview video{width:100%;height:100%;object-fit:cover}.group-cover:hover .media-annotation,.group-cover:focus-visible .media-annotation{opacity:1;transform:none}
.group-heading{padding:16px 0 8px}.group-heading h2{font:400 20px/1.35 Arial,sans-serif;letter-spacing:-.02em;margin:0}.group-heading h2 a{color:var(--ink);text-decoration:none}.group-heading h2 a:hover{text-decoration:underline}
.project-artworks summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;font-size:13px;color:var(--muted)}.project-artworks summary::-webkit-details-marker{display:none}.project-artworks summary:before{content:'+';font-size:20px;color:var(--accent)}.project-artworks[open] summary:before{content:'−'}.project-artworks summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.artwork-count{font:11px monospace;padding:3px 7px;border:1px solid var(--line);border-radius:15px}.collapse-label,.project-artworks[open] .expand-label{display:none}.project-artworks[open] .collapse-label{display:inline}
.research-project-group:has(.project-artworks[open]){grid-column:1/-1;transform:none!important}.research-project-group:has(.project-artworks[open]) .group-preview{max-width:640px}.project-artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;padding:20px 0 30px;border-bottom:1px solid var(--line)}
@media(max-width:850px){.project-artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-artwork-grid{grid-template-columns:1fr}.group-heading h2{font-size:19px}}
