.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-unit);list-style:none;margin:0;padding:0}.project-grid__item{position:relative}.project-grid__item--full{grid-column:span 2}.project-grid--home .project-grid__item--full .project-grid__cover:not(.project-cropped){aspect-ratio:16 / 12}.project-grid--work .project-grid__item--full .project-grid__cover:not(.project-cropped){aspect-ratio:16 / 9}.project-grid__item--full .project-grid__cover:not(.project-cropped) .project-grid__img{object-position:center center}.project-grid__cover{aspect-ratio:4 / 3;transform:translateZ(0)}.project-grid__cover.project-cropped{aspect-ratio:var(--project-image-ratio)}.project-grid__stack{position:absolute;inset:0}.project-grid__stack .project-grid__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-grid__cover--has-hover .project-grid__img,html.is-dev-mode .project-grid__cover .project-grid__img{transition:opacity .2s ease}.project-grid__img--hover{opacity:0}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__img--hover,.project-grid__card:focus-visible .project-grid__cover--has-hover .project-grid__img--hover,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__img--hover,.project-grid__cover.is-dev-hover-forced .project-grid__img--hover{opacity:1}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__img--base,.project-grid__card:focus-visible .project-grid__cover--has-hover .project-grid__img--base,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__img--base,.project-grid__cover.is-dev-hover-forced .project-grid__img--base{opacity:0}.project-grid__title,.project-grid__subtitle,.project-grid__teaser-label{font-size:1.25rem;letter-spacing:-.03em;line-height:1.2;transition:color .2s ease}.project-grid__title{color:var(--title-ink)}.project-grid__subtitle,.project-grid__teaser-label{color:var(--subtitle-ink)}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__title,.project-grid__card:focus-visible .project-grid__cover--has-hover .project-grid__title,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__title,.project-grid__cover.is-dev-hover-forced .project-grid__title{color:var(--title-ink-hover)}.project-grid__cover.is-dev-hover-forced:not(.project-grid__cover--has-hover) .project-grid__title{color:var(--title-ink-on-page)}.project-grid__cover.is-dev-hover-forced:not(.project-grid__cover--has-hover) .project-grid__subtitle,.project-grid__cover.is-dev-hover-forced:not(.project-grid__cover--has-hover) .project-grid__teaser-label{color:var(--subtitle-ink-on-page)}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__subtitle,.project-grid__card:hover .project-grid__cover--has-hover .project-grid__teaser-label,.project-grid__card:focus-visible .project-grid__cover--has-hover .project-grid__subtitle,.project-grid__card:focus-visible .project-grid__cover--has-hover .project-grid__teaser-label,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__subtitle,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__teaser-label,.project-grid__cover.is-dev-hover-forced .project-grid__subtitle,.project-grid__cover.is-dev-hover-forced .project-grid__teaser-label{color:var(--subtitle-ink-hover)}.project-grid__meta{z-index:5;opacity:0;padding:var(--space-unit);transition:opacity .3s ease}.project-grid__card:hover .project-grid__meta,.project-grid__card:focus-visible .project-grid__meta{opacity:1}.project-grid__card--placeholder,.project-grid__card--teaser{cursor:not-allowed}.project-grid__card--placeholder .project-grid__img{filter:grayscale(1)}.project-grid__card--teaser .project-grid__meta,.project-grid__card--placeholder .project-grid__meta{opacity:1}.project-grid__status-wrap{position:relative}.project-grid__chip{display:grid;place-items:center;width:auto;height:auto;min-width:0;padding:.45em .55em;border:0;border-radius:var(--radius-control);background:transparent;color:var(--chip-ink);font:inherit;font-size:.75rem;line-height:1;cursor:pointer;box-shadow:none;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease,color .15s ease,opacity var(--dev-suppress-duration) ease}.project-grid__chip-icon{display:grid;place-items:center;line-height:0;pointer-events:none}.project-grid__chip:hover,.project-grid__chip:focus-visible,.project-grid__chip[aria-pressed=true],.project-grid__chip[aria-expanded=true]{background:var(--chip-fill);box-shadow:inset 0 0 0 1px var(--chip-ring);backdrop-filter:blur(8px);transform:scale(1.08);color:var(--chip-ink)}.project-grid__chip:active,.project-grid__chip[aria-pressed=true],.project-grid__chip[aria-expanded=true]{background:var(--chip-press);box-shadow:inset 0 0 0 1px var(--chip-ring);backdrop-filter:blur(8px);color:var(--chip-ink)}.project-grid__status-menu{--status-menu-pad: .35em;position:absolute;top:0;left:calc(100% + .35em);display:grid;gap:.15em;min-width:7.5em;padding:var(--status-menu-pad);border-radius:var(--radius-control);background:var(--sys-color-srf);box-shadow:0 .25em .8em #0000001f}.project-grid__status-menu button{padding:.35em .55em;border:0;border-radius:calc(var(--radius-control) - var(--status-menu-pad));background:transparent;color:var(--sys-color-on-srf);font:inherit;font-size:.75rem;text-align:left;cursor:pointer}.project-grid__status-menu button:hover,.project-grid__status-menu button[aria-selected=true]{background:var(--sys-color-srf-container)}.project-grid__new-page{display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;margin:0;padding:1em;border:1px dashed #b8b4ab;border-radius:0;background:transparent;color:#8a857c;font:inherit;font-size:1rem;letter-spacing:-.02em;cursor:pointer;transition:border-color .2s ease,color .2s ease}.project-grid__new-page:hover{border-color:#6f6b62;color:#4f4b43}.project-grid--home .project-grid__item--new .project-grid__new-page,.project-grid--work .project-grid__item--new .project-grid__new-page,.project-grid--play .project-grid__item--new .project-grid__new-page{aspect-ratio:4 / 3}@media(max-width:667px){.project-grid--work .project-grid__item--new .project-grid__new-page,.project-grid--play .project-grid__item--new .project-grid__new-page{aspect-ratio:1 / 1}}@media(max-width:768px){.project-grid__meta{opacity:1!important;transition:none!important}.project-grid__cover--has-hover .project-grid__img,html.is-dev-mode .project-grid__cover .project-grid__img{transition:none}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__img--hover,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__img--hover{opacity:0}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__img--base,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__img--base{opacity:1}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__title,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__title{color:var(--title-ink)}.project-grid__card:hover .project-grid__cover--has-hover .project-grid__subtitle,.project-grid__card:hover .project-grid__cover--has-hover .project-grid__teaser-label,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__subtitle,html.is-dev-mode .project-grid__item:hover .project-grid__cover--has-hover .project-grid__teaser-label{color:var(--subtitle-ink)}}@media(prefers-reduced-motion:reduce){.project-grid__cover--has-hover .project-grid__img,html.is-dev-mode .project-grid__cover .project-grid__img,.project-grid__meta,.project-grid__title,.project-grid__subtitle,.project-grid__teaser-label{transition:none}}@media(max-width:667px){.project-grid--home{grid-template-columns:1fr}.project-grid--home .project-grid__item--full{grid-column:span 1}.project-grid--work .project-grid__item--full,.project-grid--play .project-grid__cover:not(.project-cropped),.project-grid--work .project-grid__cover:not(.project-cropped),.project-grid--work .project-grid__item--full .project-grid__cover:not(.project-cropped){aspect-ratio:1 / 1}.project-grid--work .project-grid__item--full,.project-grid--play .project-grid__item--full{grid-column:span 1}}@media(max-width:480px){.project-grid{grid-template-columns:1fr}.project-grid__cover:not(.project-cropped),.project-grid--home .project-grid__item--full .project-grid__cover:not(.project-cropped),.project-grid--work .project-grid__item--full .project-grid__cover:not(.project-cropped){aspect-ratio:4 / 3}}.project-grid__item[data-dev-status=draft],.project-grid__item--new{display:none}html.is-dev-mode .project-grid__item[data-dev-status=draft],html.is-dev-mode .project-grid__item--new,html.is-dev-mode-exiting .project-grid__item[data-dev-status=draft],html.is-dev-mode-exiting .project-grid__item--new{display:revert;opacity:1;transition:opacity .28s ease}html.is-dev-mode-entering .project-grid__item[data-dev-status=draft],html.is-dev-mode-entering .project-grid__item--new,html.is-dev-mode-exiting .project-grid__item[data-dev-status=draft],html.is-dev-mode-exiting .project-grid__item--new{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){html.is-dev-mode .project-grid__item[data-dev-status=draft],html.is-dev-mode .project-grid__item--new,html.is-dev-mode-exiting .project-grid__item[data-dev-status=draft],html.is-dev-mode-exiting .project-grid__item--new{transition:none}}.project-grid__chips{position:absolute;top:.75em;z-index:5;display:flex;flex-direction:column;gap:.35em;opacity:0;pointer-events:none;transition:opacity .15s ease}.project-grid__chips--start{left:.75em;right:auto;align-items:flex-start}.project-grid__chips--end{right:.75em;left:auto;align-items:flex-end}.project-grid__chips--end-bottom{inset:auto .75em .75em auto;align-items:flex-end}html.is-dev-mode .project-grid__chips:focus-within,html.is-dev-mode .project-grid__item:hover .project-grid__chips,html.is-dev-mode .project-grid__item:focus-within .project-grid__chips,html.is-dev-mode .project-grid__item:has([data-dev-status-menu]:not([hidden])) .project-grid__chips,html.is-dev-crop-open .project-grid__item:has(.dev-crop-stage-host) .project-grid__chips,html.is-dev-mode .project-grid__item.is-span-mode .project-grid__chips{opacity:1;pointer-events:auto}.project-grid{--chip-ink-on-light: var(--sys-color-on-srf);--chip-fill-on-light: color-mix(in srgb, var(--sys-color-srf-container) 92%, transparent);--chip-ring-on-light: color-mix(in srgb, var(--sys-color-on-srf) 7%, var(--sys-color-srf-container-high));--chip-press-on-light: color-mix(in srgb, var(--sys-color-srf-container-high) 92%, transparent);--chip-ink-on-dark: var(--sys-color-srf);--chip-fill-on-dark: rgb(0 0 0 / .58);--chip-ring-on-dark: color-mix(in srgb, var(--sys-color-srf) 22%, #1a1a1a);--chip-press-on-dark: color-mix(in srgb, var(--sys-color-srf) 12%, #1a1a1a)}.project-grid__item{--chip-ink: var(--chip-ink-on-light);--chip-fill: var(--chip-fill-on-light);--chip-ring: var(--chip-ring-on-light);--chip-press: var(--chip-press-on-light)}.project-grid__item[data-dev-dark=true]{--chip-ink: var(--chip-ink-on-dark);--chip-fill: var(--chip-fill-on-dark);--chip-ring: var(--chip-ring-on-dark);--chip-press: var(--chip-press-on-dark)}.project-grid__item[data-dev-hover-dark=true]:hover:has(.project-grid__cover--has-hover),.project-grid__item[data-dev-hover-dark=true]:has(.project-grid__cover--has-hover.is-dev-hover-forced){--chip-ink: var(--chip-ink-on-dark);--chip-fill: var(--chip-fill-on-dark);--chip-ring: var(--chip-ring-on-dark);--chip-press: var(--chip-press-on-dark)}.project-grid__item[data-dev-hover-dark=false]:hover:has(.project-grid__cover--has-hover),.project-grid__item[data-dev-hover-dark=false]:has(.project-grid__cover--has-hover.is-dev-hover-forced),.project-grid__item:has(.project-grid__cover.is-dev-hover-forced:not(.project-grid__cover--has-hover)){--chip-ink: var(--chip-ink-on-light);--chip-fill: var(--chip-fill-on-light);--chip-ring: var(--chip-ring-on-light);--chip-press: var(--chip-press-on-light)}.project-grid__drop-veil{position:absolute;inset:0;z-index:3;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.project-grid__drop-label{color:var(--sys-color-on-srf);font-size:.8125rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;text-align:center;filter:drop-shadow(0 0 .15em rgb(255 255 255 / .95)) drop-shadow(0 .05em .2em rgb(0 0 0 / .45))}.project-grid__cover[data-dev-drop-active=true] .project-grid__drop-veil:not(.project-grid__drop-veil--hover-empty):not(.project-grid__drop-veil--cover-empty){opacity:1}.project-grid__cover.is-dev-hover-forced:not([data-dev-drop-active=true]):not([data-dev-crossfade-active=true]):has(>.project-grid__stack>.project-grid__img--hover[hidden]) .project-grid__drop-veil--hover-empty{opacity:1}html.is-dev-mode .project-grid__cover[data-dev-cover-empty=true]:not(.is-dev-hover-forced):not([data-dev-drop-active=true]):not([data-dev-crossfade-active=true]) .project-grid__drop-veil--cover-empty{opacity:1}.project-grid__cover[data-dev-drop-active=true]:after,.project-grid__cover.is-dev-hover-forced:has(>.project-grid__stack>.project-grid__img--hover[hidden]):after,html.is-dev-mode .project-grid__cover[data-dev-cover-empty=true]:after{content:"";position:absolute;inset:0;z-index:2;background:var(--sys-color-srf);opacity:.72;pointer-events:none;transition:opacity .2s ease}.project-grid__item:has(.project-grid__cover[data-dev-drop-active=true]) .project-grid__chips,.project-grid__item:has(.project-grid__cover[data-dev-crossfade-active=true]) .project-grid__chips{opacity:0!important;pointer-events:none!important}.project-grid__item:has(.project-grid__cover[data-dev-drop-active=true]) :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable],.project-grid__item:has(.project-grid__cover[data-dev-crossfade-active=true]) :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]{outline-color:transparent}html.is-dev-mode .project-grid__item:has([data-dev-status-menu]:not([hidden])) .project-grid__chip:not([data-dev-project-status]){opacity:0;pointer-events:none;transition:opacity var(--dev-suppress-duration) ease}html.is-dev-mode .project-grid__item.is-span-mode .project-grid__chip:not([data-dev-project-span]){opacity:0;pointer-events:none;transition:opacity var(--dev-suppress-duration) ease}html.is-dev-mode .project-grid__item.is-span-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]{outline-color:transparent;transition:outline-color var(--dev-suppress-duration) ease}html.is-dev-crop-open .project-grid__item:has(.dev-crop-stage-host) .project-grid__chip:not([data-dev-edit-trigger=image]){opacity:0;pointer-events:none;transition:opacity var(--dev-suppress-duration) ease}html.is-dev-crop-open .project-grid__item:has(.dev-crop-stage-host) :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]{outline-color:transparent;transition:outline-color var(--dev-suppress-duration) ease}html.is-dev-text-caret .project-grid__item:has([contenteditable]:focus) .project-grid__chip{opacity:0;pointer-events:none;transition:opacity var(--dev-suppress-duration) ease}.project-grid__cover[data-dev-crossfade-active=true]{background-color:var(--sys-color-srf)!important}.project-grid__cover[data-dev-crossfade-active=true] .project-grid__stack{transition:opacity .55s ease}.project-grid__cover[data-dev-fade-out=true] .project-grid__stack{opacity:0}.project-grid__crossfade{position:absolute;inset:0;z-index:4;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .55s ease}.project-grid__crossfade.is-in{opacity:1}@media(prefers-reduced-motion:reduce){.project-grid__drop-veil,.project-grid__cover[data-dev-drop-active=true]:after,.project-grid__cover[data-dev-crossfade-active=true] .project-grid__stack,.project-grid__crossfade{transition:none}}html.is-dev-mode .project-grid__meta{opacity:1}html.is-dev-mode .project-grid__cover:before{content:"";position:absolute;inset:.75em;z-index:3;border:2px dashed var(--dev-edit-dash-color);border-radius:var(--radius-control);opacity:0;pointer-events:none;transition:opacity .2s ease}html.is-dev-mode .project-grid__cover[data-dev-drop-active=true]:before{opacity:1}@media(prefers-reduced-motion:reduce){html.is-dev-mode .project-grid__cover:before,html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]{transition:none}}html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]{outline:var(--dev-edit-dash);outline-offset:.12em;border-radius:.15em;cursor:text;transition:outline-color .2s ease;display:inline-block;min-height:1.15em;vertical-align:baseline}html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]:empty,html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]:has(>br:only-child){width:max-content}html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]:empty:before,html.is-dev-mode :is([data-dev-project-title],[data-dev-project-subtitle],[data-dev-project-teaser-label])[contenteditable]:has(>br:only-child):before{content:attr(data-placeholder);color:color-mix(in srgb,currentColor 45%,transparent);pointer-events:none}.project-grid__cover.project-cropped>.project-grid__stack>.project-crop-clip>img,.project-grid__cover.project-cropped>.project-grid__stack>img.project-grid__img--base{position:absolute;inset:50% auto auto 50%;width:calc(100% / var(--project-content-w, 1));height:auto;max-width:none;min-height:0;object-fit:fill;transform:translate(calc(var(--project-content-cx, .5) * -100%),calc(var(--project-content-cy, .5) * -100%))}.is-dev-mode .dev-crop-stage-host.project-grid__cover{overflow:visible}.project-grid__item.is-span-mode .project-grid__span-frame{position:absolute;inset:0;z-index:4;border:1.5px solid color-mix(in srgb,var(--sys-color-on-srf) 55%,transparent);border-radius:0;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sys-color-srf) 40%,transparent)}.project-grid__item.is-span-mode .project-grid__span-handle{position:absolute;bottom:.55em;z-index:6;width:1.1em;height:1.1em;padding:0;border:1.5px solid color-mix(in srgb,var(--sys-color-on-srf) 70%,transparent);border-radius:.15em;background:color-mix(in srgb,var(--sys-color-srf-container) 94%,transparent);backdrop-filter:blur(8px);cursor:ew-resize;pointer-events:auto;touch-action:none}.project-grid__item.is-span-mode .project-grid__span-handle[data-side=end]{right:.55em;left:auto}.project-grid__item.is-span-mode .project-grid__span-handle[data-side=start]{left:.55em;right:auto}.project-grid__item.is-span-mode .project-grid__span-handle:active{box-shadow:0 .35em 1.1em #00000029}html.is-dev-crop-open .project-grid__item.is-span-mode .project-grid__span-handle,.project-grid__item.is-span-mode.is-span-disabled .project-grid__span-handle{pointer-events:none;opacity:.35}
