@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-latin-ext-wght-normal.CT1r92Rl.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/playfair-display-latin-wght-normal.BOwq7MWX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-latin-ext-wght-italic.ze_cPdSg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/playfair-display-latin-wght-italic.DmbndNpe.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:300 500;src:url(/_astro/raleway-latin-ext-wght-normal.CwtNDoQR.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:300 500;src:url(/_astro/raleway-latin-wght-normal.CSF1BaNN.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.projects-shell{--projects-page-scale: .92;--projects-shell-gap: calc(28px * var(--projects-page-scale));--projects-hero-gap: calc(18px * var(--projects-page-scale));--projects-hero-support-gap: calc(12px * var(--projects-page-scale));--projects-hero-word-width: calc(940px * var(--projects-page-scale));--projects-word-font-size: 144px;--projects-word-font-size-tablet: 150px;--projects-word-font-size-mobile: clamp(96px, 24vw, 104px);--projects-hero-switcher-top-offset: calc(var(--projects-word-font-size) * .36);--projects-hero-projects-word-trim: calc(42px * var(--projects-page-scale));--projects-switcher-width: clamp(258px, 22vw, 309px);--projects-switcher-height: calc(60px * var(--projects-page-scale));--projects-switcher-padding: calc(5px * var(--projects-page-scale));--projects-switcher-shell-radius: calc(24px * var(--projects-page-scale));--projects-switcher-option-radius: calc(18px * var(--projects-page-scale));--projects-switcher-label-size: .94rem;--projects-switcher-label-size-mobile: .94rem;--projects-switcher-label-weight: 400;--projects-switcher-label-line-height: 1.5;--projects-switcher-label-letter-spacing: 0;--projects-gallery-min-height: clamp(350px, 42.5vw, 515px);--projects-gallery-padding: calc(18px * var(--projects-page-scale));--projects-gallery-shell-radius: 35px;--projects-gallery-shell-radius-open: 35;--projects-gallery-shell-radius-focus: 28;--projects-track-gap: calc(10px * var(--projects-page-scale));--projects-track-min-height: clamp(316px, 38.6vw, 478px);--projects-card-min-height: clamp(316px, 38.6vw, 478px);--projects-card-radius: calc(28px * var(--projects-page-scale));--projects-card-overlay-padding-y: calc(28px * var(--projects-page-scale));--projects-card-overlay-padding-x: calc(22px * var(--projects-page-scale));--projects-filter-count-top: calc(24px * var(--projects-page-scale));--projects-filter-count-right: calc(26px * var(--projects-page-scale));--projects-focus-stage-radius: calc(26px * var(--projects-page-scale));--projects-focus-overlay-padding-top: calc(28px * var(--projects-page-scale));--projects-focus-overlay-padding-side: calc(28px * var(--projects-page-scale));--projects-focus-overlay-padding-bottom: calc(24px * var(--projects-page-scale));--projects-detail-ghost-min-height: 44vh;font-size:.94rem;--projects-filter-count-color: color-mix( in srgb, white 82%, var(--projects-card-accent) 18% );--projects-card-overlay-gradient: linear-gradient( 180deg, rgba(8, 10, 16, 0) 0%, rgba(8, 10, 16, 0) 58%, rgba(8, 10, 16, .12) 76%, rgba(8, 10, 16, .38) 100% );--projects-card-kicker-color: color-mix(in srgb, white 72%, transparent);--projects-card-title-color: white;--projects-card-tag-bg: color-mix(in srgb, black 24%, transparent);--projects-card-tag-color: rgba(255, 255, 255, .92);--projects-card-tag-border: rgba(255, 255, 255, .08);--projects-grid-card-box-shadow: rgba(0, 0, 0, .41) 0 30px 60px 0, inset #333 0 0 0 5px, inset rgba(255, 255, 255, .5) 0 0 0 6px;--projects-grid-card-box-shadow-hover: rgba(255, 255, 255, .2) 0 0 40px 5px, rgba(255, 255, 255, 1) 0 0 0 1px, rgba(0, 0, 0, .41) 0 30px 60px 0, inset #333 0 0 0 5px, inset #fff 0 0 0 6px;--projects-grid-project-card-image-opacity: .5;--projects-grid-project-card-image-opacity-hover: .8;--projects-grid-project-card-overlay-gradient: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, .6) 100%);--projects-grid-project-card-box-shadow: var(--projects-grid-card-box-shadow);--projects-grid-project-card-box-shadow-hover: var( --projects-grid-card-box-shadow-hover );--projects-accordion-card-box-shadow: rgba(0, 0, 0, .2) 0 14px 28px 0, rgba(0, 0, 0, .1) 0 6px 14px 0, inset rgba(72, 72, 72, .85) 0 0 0 5px, inset rgba(255, 255, 255, .3) 0 0 0 6px;--projects-accordion-card-box-shadow-hover: rgba(255, 255, 255, .2) 0 0 40px 5px, rgba(255, 255, 255, 1) 0 0 0 1px, rgba(0, 0, 0, .24) 0 16px 32px 0, rgba(0, 0, 0, .12) 0 8px 18px 0, inset #484848 0 0 0 5px, inset #fff 0 0 0 6px;--projects-focus-overlay-gradient: linear-gradient( 180deg, rgba(12, 14, 24, 0) 0%, rgba(12, 14, 24, 0) 54%, rgba(12, 14, 24, .14) 76%, rgba(12, 14, 24, .42) 100% );--projects-focus-title-color: white;--projects-focus-year-color: rgba(255, 255, 255, .76);--projects-toolbar-surface-top: color-mix( in srgb, var(--popover-bg) 10%, transparent );--projects-toolbar-surface-bottom: color-mix( in srgb, var(--theme-bg-main) 78%, transparent );--projects-toolbar-border: color-mix( in srgb, var(--color-text-muted) 70%, transparent );--projects-toolbar-shadow: 0 30px 70px rgba(0, 0, 0, .12);--projects-toolbar-highlight: color-mix(in srgb, white 42%, transparent);--projects-toolbar-outline-offset: -1px;--projects-hero-hint-text: color-mix( in srgb, var(--color-text-muted) 84%, transparent );--projects-toolbar-kicker-text: color-mix( in srgb, var(--color-text-muted) 82%, transparent );--projects-toolbar-filter-text: var(--color-text);--projects-toolbar-button-text: var(--color-text);--projects-toolbar-button-bg: color-mix( in srgb, var(--popover-bg) 18%, var(--theme-bg-main) 82% );--projects-toolbar-button-border: color-mix( in srgb, var(--color-text-muted) 38%, transparent );--projects-toolbar-button-shadow: inset 0 1px 0 color-mix(in srgb, white 26%, transparent);--projects-toolbar-button-hover-text: var(--color-text);--projects-toolbar-button-hover-bg: color-mix( in srgb, var(--popover-bg) 28%, var(--theme-bg-main) 72% );--projects-toolbar-button-hover-border: color-mix( in srgb, var(--color-text-muted) 48%, transparent );--projects-switcher-glass: color-mix(in srgb, var(--popover-bg) 74%, white 26%);--projects-switcher-light: color-mix(in srgb, white 94%, var(--popover-bg) 6%);--projects-switcher-dark: color-mix(in srgb, black 72%, var(--color-text) 28%);--projects-switcher-text: var(--projects-hero-hint-text);--projects-switcher-text-active: var(--projects-toolbar-filter-text);--projects-switcher-saturation: 148%;--projects-switcher-reflex-dark: 1.25;--projects-switcher-reflex-light: .95}html[data-theme=solarized-light] .projects-shell,html[data-theme=sage-garden] .projects-shell,html[data-theme=cherry-blossom] .projects-shell,html[data-theme=pastel-melon] .projects-shell{--projects-filter-count-color: color-mix( in srgb, var(--color-text) 88%, var(--projects-card-accent) 12% );--projects-card-overlay-gradient: linear-gradient( 180deg, transparent 0%, transparent 58%, color-mix(in srgb, var(--popover-bg) 8%, transparent) 76%, color-mix(in srgb, var(--theme-bg-main) 14%, transparent) 100% );--projects-card-kicker-color: color-mix( in srgb, var(--color-text-muted) 92%, transparent );--projects-card-title-color: color-mix(in srgb, var(--color-text) 94%, black 6%);--projects-card-tag-bg: color-mix(in srgb, var(--popover-bg) 82%, transparent);--projects-card-tag-color: color-mix(in srgb, var(--color-text) 92%, black 8%);--projects-card-tag-border: color-mix( in srgb, var(--color-text-muted) 14%, transparent );--projects-grid-card-box-shadow: rgba(71, 71, 71, .56) 0 25px 60px 0, inset #333 0 0 0 5px, inset rgba(255, 255, 255, .5) 0 0 0 6px;--projects-grid-card-box-shadow-hover: rgba(255, 255, 255, .2) 0 0 40px 5px, rgba(255, 255, 255, 1) 0 0 0 1px, rgba(71, 71, 71, .56) 0 25px 60px 0, inset #333 0 0 0 5px, inset #fff 0 0 0 6px;--projects-grid-project-card-box-shadow: var(--projects-grid-card-box-shadow);--projects-grid-project-card-box-shadow-hover: var( --projects-grid-card-box-shadow-hover );--projects-accordion-card-box-shadow: rgba(71, 71, 71, .16) 0 12px 26px 0, rgba(71, 71, 71, .08) 0 4px 12px 0, inset #dbdbdb 0 0 0 5px, inset rgba(255, 255, 255, .5) 0 0 0 6px;--projects-accordion-card-box-shadow-hover: rgba(255, 255, 255, .2) 0 0 40px 5px, rgba(255, 255, 255, .5) 0 0 0 1px, rgba(71, 71, 71, .2) 0 14px 30px 0, rgba(71, 71, 71, .1) 0 6px 14px 0, inset #dbdbdb 0 0 0 5px, inset rgba(255, 255, 255, 1) 0 0 0 6px;--projects-focus-overlay-gradient: linear-gradient( 180deg, transparent 0%, transparent 52%, color-mix(in srgb, var(--popover-bg) 10%, transparent) 76%, color-mix(in srgb, var(--popover-bg) 34%, transparent) 100% );--projects-focus-title-color: color-mix(in srgb, var(--color-text) 95%, black 5%);--projects-focus-year-color: color-mix( in srgb, var(--color-text-muted) 92%, transparent );--projects-toolbar-surface-top: color-mix( in srgb, var(--popover-bg) 35%, transparent );--projects-toolbar-surface-bottom: color-mix( in srgb, var(--theme-bg-main) 18%, transparent );--projects-toolbar-border: color-mix( in srgb, var(--color-text-muted) 54%, transparent );--projects-toolbar-shadow: 0 24px 56px rgba(0, 0, 0, .08);--projects-toolbar-highlight: color-mix(in srgb, white 52%, transparent);--projects-hero-hint-text: color-mix( in srgb, var(--color-text-muted) 84%, transparent );--projects-toolbar-kicker-text: color-mix( in srgb, var(--color-text-muted) 88%, transparent );--projects-toolbar-filter-text: color-mix(in srgb, var(--color-text) 96%, black 4%);--projects-toolbar-button-text: color-mix(in srgb, var(--color-text) 94%, black 6%);--projects-toolbar-button-bg: color-mix( in srgb, var(--popover-bg) 42%, var(--theme-bg-main) 58% );--projects-toolbar-button-border: color-mix( in srgb, var(--color-text-muted) 30%, transparent );--projects-toolbar-button-shadow: inset 0 1px 0 color-mix(in srgb, white 38%, transparent);--projects-toolbar-button-hover-text: color-mix( in srgb, var(--color-text) 96%, black 4% );--projects-toolbar-button-hover-bg: color-mix( in srgb, var(--popover-bg) 54%, var(--theme-bg-main) 46% );--projects-toolbar-button-hover-border: color-mix( in srgb, var(--color-text-muted) 38%, transparent );--projects-switcher-glass: color-mix(in srgb, var(--popover-bg) 88%, white 12%);--projects-switcher-light: color-mix(in srgb, white 98%, var(--popover-bg) 2%);--projects-switcher-dark: color-mix(in srgb, black 40%, var(--color-text) 60%);--projects-switcher-text: var(--projects-hero-hint-text);--projects-switcher-text-active: var(--projects-toolbar-filter-text);--projects-switcher-reflex-dark: .92;--projects-switcher-reflex-light: 1.08}@media(min-width:961px)and (max-height:900px){.projects-shell{--projects-shell-gap: calc(16px * var(--projects-page-scale));--projects-hero-gap: calc(10px * var(--projects-page-scale));--projects-hero-support-gap: calc(8px * var(--projects-page-scale));--projects-word-font-size: 128px;--projects-hero-switcher-top-offset: calc(var(--projects-word-font-size) * .33);--projects-hero-projects-word-trim: calc(38px * var(--projects-page-scale));--projects-gallery-min-height: clamp(338px, 50vh, 456px);--projects-gallery-padding: calc(16px * var(--projects-page-scale));--projects-track-min-height: clamp(300px, 50vh, 418px);--projects-card-min-height: clamp(300px, 45vh, 418px);--projects-card-overlay-padding-y: calc(24px * var(--projects-page-scale))}}@media(max-width:960px){.projects-shell{--projects-page-scale: .95;--projects-hero-gap: calc(40px * var(--projects-page-scale));--projects-switcher-width: min(100%, 320px);--projects-gallery-min-height: 344px;--projects-track-min-height: 324px;--projects-card-min-height: 324px;font-size:.97rem}}.projects-shell{width:100%;display:flex;flex-direction:column;gap:var(--projects-shell-gap)}.projects-area-intro{position:relative;z-index:3}.projects-hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--projects-hero-gap);text-align:center;width:100%}.projects-hero-word-wrap{width:min(100%,var(--projects-hero-word-width));min-width:0;margin-inline:auto}.projects-hero-switcher-slot{position:absolute;top:var(--projects-hero-switcher-top-offset);right:0;display:flex;justify-content:flex-end;align-items:flex-start}.projects-area-gallery{position:relative;z-index:2}@media(min-width:961px)and (max-height:900px){.projects-shell{margin-top:-70px}}@media(max-width:960px){.projects-hero-switcher-slot{position:static;justify-content:center;width:100%;margin-top:6px}}@font-face{font-family:Projects Stroke Word;font-style:normal;font-display:swap;font-weight:400;src:local("Liberation Serif"),url(/fonts/liberation-serif-regular.woff2) format("woff2")}.projects-stroke-word{width:100%;height:auto;overflow:visible;text-rendering:geometricPrecision}.projects-stroke-word-layers{will-change:filter}.projects-stroke-word-layers--active{transition:filter 0s linear}.projects-stroke-word-layers--idle{transition:filter .34s cubic-bezier(.22,1,.36,1)}.projects-stroke-word text{font-family:Projects Stroke Word,"Liberation Serif",Georgia,Times New Roman,serif;font-size:var(--projects-word-font-size);font-weight:400;font-style:normal;letter-spacing:.01em;font-synthesis:none}.projects-stroke-word-outline{fill:var(--color-text-muted);stroke:color-mix(in srgb,var(--color-accent) 72%,var(--color-text-muted) 28%);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1800;paint-order:stroke fill}.projects-stroke-word-fill{fill:color-mix(in srgb,var(--color-text) 86%,var(--color-accent) 14%);opacity:.9}.projects-hero-support{display:flex;flex-direction:column;align-items:center;gap:var(--projects-hero-support-gap)}.projects-hero-copy[data-stage=projects] .projects-hero-word-wrap{margin-bottom:calc(-1 * var(--projects-hero-projects-word-trim))}.projects-hero-stage-slot,.projects-hero-stage-content{width:100%;display:flex;justify-content:center}.projects-hint{font-size:.94rem;line-height:1.5;color:var(--projects-hero-hint-text);max-width:560px}.projects-hint-swipe{display:none}.projects-stage-toolbar{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center;padding:12px 16px;border-radius:999px;background:linear-gradient(180deg,var(--projects-toolbar-surface-top),var(--projects-toolbar-surface-bottom));border:none;outline:.5px solid var(--projects-toolbar-border);outline-offset:var(--projects-toolbar-outline-offset);box-shadow:var(--projects-toolbar-shadow),inset 0 1px 0 var(--projects-toolbar-highlight);backdrop-filter:blur(18px) saturate(124%);-webkit-backdrop-filter:blur(18px) saturate(124%);transform:translateY(6px)}.projects-toolbar-labels{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;min-height:38px}.projects-toolbar-kicker{font-size:.94rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;color:var(--projects-toolbar-kicker-text)}.projects-toolbar-filter{font-size:.98rem;line-height:1;color:var(--projects-toolbar-filter-text)}.projects-toolbar-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:999px;color:var(--projects-toolbar-button-text);background:linear-gradient(180deg,color-mix(in srgb,var(--projects-toolbar-button-bg) 04%,var(--projects-switcher-glass) 10%),color-mix(in srgb,var(--projects-toolbar-surface-bottom) 78%,var(--projects-toolbar-button-bg) 22%));backdrop-filter:blur(7px) saturate(var(--projects-switcher-saturation));-webkit-backdrop-filter:blur(7px) saturate(var(--projects-switcher-saturation));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 8%),var(--projects-toolbar-button-border)),inset 2px 1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 56%),transparent),inset -1.5px -1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 42%),transparent),inset -1px 2px 3px -1px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 12%),transparent),inset 0 -4px 1px -2px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 6%),transparent),0 3px 6px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 5%),transparent);transition:background .24s ease,box-shadow .24s ease,color .24s ease,transform .24s ease}.projects-toolbar-button:hover{color:var(--projects-toolbar-button-hover-text);background:linear-gradient(180deg,color-mix(in srgb,var(--projects-toolbar-button-bg) 34%,var(--projects-switcher-glass) 10%),color-mix(in srgb,var(--projects-toolbar-surface-bottom) 78%,var(--projects-toolbar-button-bg) 32%));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 10%),var(--projects-toolbar-button-hover-border)),inset 2px 1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 64%),transparent),inset -1.5px -1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 48%),transparent),inset -1px 2px 3px -1px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 14%),transparent),0 4px 8px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 6%),transparent);transform:translateY(-1px)}@media(max-width:960px){.projects-stroke-word text{font-size:var(--projects-word-font-size-tablet)}.projects-hint-wheel{display:none}.projects-hint-swipe{display:block}}.projects-view-switcher{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;width:min(100%,var(--projects-switcher-width));min-width:0;height:var(--projects-switcher-height);padding:var(--projects-switcher-padding);border:none;border-radius:var(--projects-switcher-shell-radius);background:linear-gradient(180deg,var(--projects-toolbar-surface-top),var(--projects-toolbar-surface-bottom));outline:.5px solid var(--projects-toolbar-border);outline-offset:var(--projects-toolbar-outline-offset);box-shadow:var(--projects-toolbar-shadow),inset 0 1px 0 var(--projects-toolbar-highlight);transition:background .4s cubic-bezier(1,0,.4,1),box-shadow .4s cubic-bezier(1,0,.4,1)}.projects-view-switcher__legend,.projects-view-switcher__input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(100%)}.projects-view-switcher__option{display:flex;align-items:center;justify-content:center;min-width:0;height:100%;padding:0 12px;border-radius:var(--projects-switcher-option-radius);cursor:pointer;z-index:1}.projects-view-switcher__label-text{display:inline-flex;align-items:center;justify-content:center;min-width:0;font-size:var(--projects-switcher-label-size);font-weight:var(--projects-switcher-label-weight);letter-spacing:var(--projects-switcher-label-letter-spacing);line-height:var(--projects-switcher-label-line-height);white-space:nowrap;color:var(--projects-switcher-text);transition:scale .2s cubic-bezier(.5,0,0,1),color .24s ease}.projects-view-switcher__option:hover .projects-view-switcher__label-text{scale:1.04;color:var(--projects-switcher-text-active)}.projects-view-switcher__option:has(input:checked){cursor:default}.projects-view-switcher__option:has(input:checked) .projects-view-switcher__label-text{scale:1;color:var(--projects-switcher-text-active)}.projects-view-switcher__filter{position:absolute;width:0;height:0;z-index:-1}.projects-view-switcher:after{content:"";position:absolute;left:var(--projects-switcher-padding);top:var(--projects-switcher-padding);width:calc((100% - (var(--projects-switcher-padding) * 2)) / 3);height:calc(100% - (var(--projects-switcher-padding) * 2));border-radius:var(--projects-switcher-option-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--projects-toolbar-button-bg) 44%,var(--projects-switcher-glass) 10%),color-mix(in srgb,var(--projects-toolbar-surface-bottom) 78%,var(--projects-toolbar-button-bg) 22%));backdrop-filter:blur(7px) url(#projects-view-switcher-toggle-filter) saturate(var(--projects-switcher-saturation));-webkit-backdrop-filter:blur(7px) url(#projects-view-switcher-toggle-filter) saturate(var(--projects-switcher-saturation));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 8%),transparent),inset 2px 1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 64%),transparent),inset -1.5px -1px 0 -1px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 54%),transparent),inset -2px -6px 1px -5px color-mix(in srgb,var(--projects-switcher-light) calc(var(--projects-switcher-reflex-light) * 36%),transparent),inset -1px 2px 3px -1px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 16%),transparent),inset 0 -4px 1px -2px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 8%),transparent),0 3px 6px color-mix(in srgb,var(--projects-switcher-dark) calc(var(--projects-switcher-reflex-dark) * 6%),transparent)}.projects-view-switcher:has(input[data-option="1"]:checked):after{translate:0 0;transform-origin:right}.projects-view-switcher:has(input[data-option="2"]:checked):after{translate:100% 0}.projects-view-switcher[data-previous=accordion]:has(input[data-option="2"]:checked):after{transform-origin:left}.projects-view-switcher[data-previous=gallery]:has(input[data-option="2"]:checked):after{transform-origin:right}.projects-view-switcher:has(input[data-option="3"]:checked):after{translate:200% 0;transform-origin:left}.projects-view-switcher[data-has-interacted=true]:has(input[data-option="1"]:checked):after{translate:0 0;transform-origin:right;transition:background .4s cubic-bezier(1,0,.4,1),box-shadow .4s cubic-bezier(1,0,.4,1),translate .4s cubic-bezier(1,0,.4,1);animation:projectsViewSwitcherScaleStart .44s ease}.projects-view-switcher[data-has-interacted=true]:has(input[data-option="2"]:checked):after{translate:100% 0;transition:background .4s cubic-bezier(1,0,.4,1),box-shadow .4s cubic-bezier(1,0,.4,1),translate .4s cubic-bezier(1,0,.4,1);animation:projectsViewSwitcherScaleMiddle .44s ease}.projects-view-switcher[data-has-interacted=true][data-previous=accordion]:has(input[data-option="2"]:checked):after{transform-origin:left}.projects-view-switcher[data-has-interacted=true][data-previous=gallery]:has(input[data-option="2"]:checked):after{transform-origin:right}.projects-view-switcher[data-has-interacted=true]:has(input[data-option="3"]:checked):after{translate:200% 0;transform-origin:left;transition:background .4s cubic-bezier(1,0,.4,1),box-shadow .4s cubic-bezier(1,0,.4,1),translate .4s cubic-bezier(1,0,.4,1);animation:projectsViewSwitcherScaleEnd .44s ease}@keyframes projectsViewSwitcherScaleStart{0%{scale:1 1}50%{scale:1.1 1}to{scale:1 1}}@keyframes projectsViewSwitcherScaleMiddle{0%{scale:1 1}50%{scale:1.2 1}to{scale:1 1}}@keyframes projectsViewSwitcherScaleEnd{0%{scale:1 1}50%{scale:1.1 1}to{scale:1 1}}@media(max-width:960px){.projects-view-switcher{width:min(100%,var(--projects-switcher-width))}}.projects-gallery-shell{position:relative;width:100%;min-height:var(--projects-gallery-min-height);border-radius:var(--projects-gallery-shell-radius);padding:var(--projects-gallery-padding);overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--popover-bg) 08%,transparent),color-mix(in srgb,var(--theme-bg-main) 78%,transparent));border:none;outline:.5px solid color-mix(in srgb,var(--color-text-muted) 70%,transparent);outline-offset:-1px;box-shadow:0 30px 70px #0000001f,inset 0 1px color-mix(in srgb,white 42%,transparent);backdrop-filter:blur(20px) saturate(132%);-webkit-backdrop-filter:blur(20px) saturate(132%)}html[data-theme=sage-garden] .projects-gallery-shell,html[data-theme=cherry-blossom] .projects-gallery-shell,html[data-theme=pastel-melon] .projects-gallery-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--popover-bg) 35%,transparent),color-mix(in srgb,var(--theme-bg-main) 18%,transparent))}.projects-gallery-shell:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:24px;pointer-events:none;z-index:1;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--bg-primary) 38%,var(--popover-bg) 04%) 100%)}.projects-gallery-shell[data-detail=true]{background:linear-gradient(180deg,color-mix(in srgb,var(--popover-bg) 86%,transparent),color-mix(in srgb,var(--bg-primary) 86%,transparent))}.projects-gallery-fog{position:absolute;inset:-10% -6% auto;height:46%;pointer-events:none;background:radial-gradient(circle at 18% 70%,rgba(255,255,255,.44),transparent 42%),radial-gradient(circle at 52% 16%,rgba(255,255,255,.36),transparent 44%),radial-gradient(circle at 86% 42%,rgba(255,255,255,.28),transparent 34%);filter:blur(48px);opacity:0;z-index:1}.projects-accordion-stage,.projects-focus-stage{position:relative;z-index:2;min-height:inherit}.projects-accordion-track{display:flex;align-items:flex-start;justify-content:center;gap:var(--projects-track-gap);min-height:var(--projects-track-min-height)}.projects-accordion-card{flex:1 1 1%;min-width:0;position:relative;opacity:.28;transform:translateY(calc(var(--projects-stagger-offset, 0px)));transition:flex-basis .62s cubic-bezier(.25,1,.5,1),opacity .25s ease,transform .6s cubic-bezier(.22,1,.36,1);padding-top:5px}.projects-accordion-track[data-neutral=true] .projects-accordion-card{opacity:.9}html[data-theme=solarized-light] .projects-accordion-track[data-neutral=true] .projects-accordion-card,html[data-theme=sage-garden] .projects-accordion-track[data-neutral=true] .projects-accordion-card,html[data-theme=cherry-blossom] .projects-accordion-track[data-neutral=true] .projects-accordion-card,html[data-theme=pastel-melon] .projects-accordion-track[data-neutral=true] .projects-accordion-card{opacity:1;filter:brightness(.97) contrast(1.04)}.projects-accordion-card[data-stagger="0"]{--projects-stagger-offset: 0px}.projects-accordion-card[data-stagger="1"]{--projects-stagger-offset: 18px}.projects-accordion-card[data-stagger="2"]{--projects-stagger-offset: 34px}.projects-accordion-card[data-active=true]{flex-basis:30%;opacity:1;transform:translateY(calc(var(--projects-stagger-offset, 0px) - 6px))}.projects-accordion-track[data-neutral=true] .projects-accordion-card.projects-project-card{opacity:.85}.projects-accordion-card.projects-project-card[data-active=true]{opacity:.9}html[data-theme=solarized-light] .projects-accordion-card[data-active=true],html[data-theme=sage-garden] .projects-accordion-card[data-active=true],html[data-theme=cherry-blossom] .projects-accordion-card[data-active=true],html[data-theme=pastel-melon] .projects-accordion-card[data-active=true]{filter:brightness(.97) contrast(1.04)}html[data-theme=solarized-light] .projects-accordion-track[data-neutral=true] .projects-accordion-card.projects-project-card,html[data-theme=sage-garden] .projects-accordion-track[data-neutral=true] .projects-accordion-card.projects-project-card,html[data-theme=cherry-blossom] .projects-accordion-track[data-neutral=true] .projects-accordion-card.projects-project-card,html[data-theme=pastel-melon] .projects-accordion-track[data-neutral=true] .projects-accordion-card.projects-project-card,html[data-theme=solarized-light] .projects-accordion-card.projects-project-card[data-active=true],html[data-theme=sage-garden] .projects-accordion-card.projects-project-card[data-active=true],html[data-theme=cherry-blossom] .projects-accordion-card.projects-project-card[data-active=true],html[data-theme=pastel-melon] .projects-accordion-card.projects-project-card[data-active=true]{opacity:.9}.projects-filter-button,.projects-project-button{display:block;width:100%;min-height:var(--projects-card-min-height);border-radius:var(--projects-card-radius);overflow:hidden;position:relative;background-color:#333;box-shadow:var(--projects-accordion-card-box-shadow);transition:box-shadow 1s cubic-bezier(.445,.05,.55,.95);background:radial-gradient(circle at top right,var(--projects-card-glow),transparent 42%),linear-gradient(160deg,color-mix(in srgb,var(--bg-primary) 92%,var(--projects-card-accent) 8%),color-mix(in srgb,var(--popover-bg) 78%,var(--projects-card-accent) 22%))}.projects-filter-button:before,.projects-project-button:before{content:"";position:absolute;inset:6px;border-radius:calc(var(--projects-card-radius) - 6px);border:1px solid rgba(255,255,255,.06);pointer-events:none;z-index:1;transition:border-color 1s cubic-bezier(.445,.05,.55,.95),box-shadow 1s cubic-bezier(.445,.05,.55,.95)}.projects-project-button:before{border-color:#ffffff2e}.projects-project-card .projects-card-glass-inner{position:absolute;inset:0;border-radius:var(--projects-card-radius);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(4px);background:#ffffff05;z-index:0;pointer-events:none;transition:opacity .58s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.projects-accordion-card:hover .projects-filter-button,.projects-accordion-card:hover .projects-project-button,.projects-filter-button:focus-visible,.projects-project-button:focus-visible{box-shadow:var(--projects-accordion-card-box-shadow-hover);transition:box-shadow 2s cubic-bezier(.23,1,.32,1)}.projects-accordion-card:hover .projects-filter-button:before,.projects-accordion-card:hover .projects-project-button:before,.projects-filter-button:focus-visible:before,.projects-project-button:focus-visible:before{border-color:#ffffffb8;box-shadow:0 0 14px #ffffff1a;transition:border-color 2s cubic-bezier(.23,1,.32,1),box-shadow 2s cubic-bezier(.23,1,.32,1)}.projects-accordion-card:hover .projects-project-button:before,.projects-project-button:focus-visible:before{border-color:#ffffff8f;box-shadow:0 0 10px #ffffff14}.projects-accordion-card.projects-project-card:hover .projects-card-glass-inner,.projects-project-button:focus-visible .projects-card-glass-inner{opacity:0}.projects-accordion-card.projects-project-card:hover .projects-project-title,.projects-project-button:focus-visible .projects-project-title{opacity:0;transform:translateY(8px)}}.projects-filter-art{position:absolute;inset:0;background:radial-gradient(circle at 28% 28%,var(--projects-card-glow),transparent 45%),linear-gradient(145deg,color-mix(in srgb,var(--projects-card-accent) 30%,transparent),color-mix(in srgb,var(--bg-primary) 88%,var(--projects-card-accent) 12%))}.projects-filter-art:before,.projects-filter-art:after,.projects-filter-rings,.projects-filter-rings:before,.projects-filter-rings:after{content:"";position:absolute;inset:auto;border-radius:999px}.projects-filter-art:before{width:56%;height:56%;right:-6%;top:10%;border:18px solid color-mix(in srgb,var(--projects-card-accent) 68%,transparent);opacity:.22}.projects-filter-art:after{width:22%;height:22%;left:12%;bottom:14%;background:color-mix(in srgb,var(--projects-card-accent) 60%,white 40%);opacity:.24}.projects-filter-rings{width:50%;height:50%;left:-4%;top:22%;border:18px solid color-mix(in srgb,white 48%,transparent);opacity:.15}.projects-filter-rings:before{width:58%;height:58%;inset:22%;border:10px solid color-mix(in srgb,white 58%,transparent)}.projects-filter-rings:after{width:16%;height:16%;right:10%;bottom:12%;background:color-mix(in srgb,var(--projects-card-accent) 72%,white 28%)}.projects-filter-count{position:absolute;right:var(--projects-filter-count-right);top:var(--projects-filter-count-top);font-size:clamp(1.2rem,2.6vw,2rem);font-weight:600;letter-spacing:-.04em;color:var(--projects-filter-count-color)}.projects-card-media{position:absolute;inset:0}.projects-card-media:after{content:"";position:absolute;inset:0;background:var(--projects-card-overlay-gradient);pointer-events:none}.projects-project-card .projects-card-media:after{background:none}.projects-card-media img,.projects-focus-image{width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 9}.projects-project-card .projects-card-media img{opacity:var(--projects-project-image-opacity, 1);filter:brightness(var(--projects-project-image-brightness, .8))}.projects-card-overlay{position:absolute;inset:0;padding:var(--projects-card-overlay-padding-y) var(--projects-card-overlay-padding-x);display:flex;flex-direction:column;justify-content:center;gap:10px;align-items:center;text-align:center;z-index:2}.projects-project-overlay{justify-content:center}.projects-card-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--projects-card-kicker-color)}.projects-project-card .projects-card-kicker{text-shadow:0 1px 5px rgba(0,0,0,.25)}.projects-filter-card .projects-card-kicker{position:absolute;left:22px;right:22px;bottom:20px}.projects-project-year{position:absolute;top:var(--projects-card-overlay-padding-y);right:var(--projects-card-overlay-padding-x);font-size:1rem;font-weight:600;letter-spacing:.04em;line-height:1;text-align:right;color:#ffffffb8}.projects-card-title{font-size:clamp(1.12rem,1.9vw,1.62rem);line-height:1.08;color:var(--projects-card-title-color);text-wrap:balance}.projects-project-card .projects-card-title{color:#fff;text-shadow:rgba(0,0,0,.5) 0 10px 10px}.projects-project-title{max-width:min(88%,12ch);font-size:clamp(1.12rem,1.9vw,1.62rem);line-height:1.08;transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1)}.projects-card-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.projects-project-tags{position:absolute;left:var(--projects-card-overlay-padding-x);right:var(--projects-card-overlay-padding-x);bottom:var(--projects-card-overlay-padding-y);flex-wrap:wrap-reverse;gap:10px}.projects-project-tags span{min-height:30px;padding:0 12px;font-size:.95rem}.projects-card-tags span{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:var(--projects-card-tag-bg);color:var(--projects-card-tag-color);box-shadow:inset 0 0 0 1px var(--projects-card-tag-border);font-size:.76rem;line-height:1;white-space:nowrap}.projects-project-card .projects-card-tags span{text-shadow:0 1px 4px rgba(0,0,0,.3)}.projects-project-card[data-image-color=light]{--projects-card-kicker-color: rgba(24, 28, 36, .62);--projects-card-title-color: rgba(16, 20, 28, .94);--projects-card-tag-bg: rgba(255, 255, 255, .56);--projects-card-tag-color: rgba(18, 22, 30, .9);--projects-card-tag-border: rgba(18, 22, 30, .1);--projects-project-image-brightness: .9}.projects-project-card[data-image-color=light][data-active=true]{--projects-project-image-brightness: .92}.projects-project-card[data-image-color=light] .projects-card-kicker{text-shadow:0 1px 5px rgba(255,255,255,.45)}.projects-project-card[data-image-color=light] .projects-card-title{color:#12161ef5;text-shadow:rgba(255,255,255,.45) 0 2px 8px}.projects-project-card[data-image-color=light] .projects-project-year{color:#12161ea8}.projects-project-card[data-image-color=light] .projects-card-tags span{text-shadow:0 1px 4px rgba(255,255,255,.4)}.projects-project-card[data-image-color=dark]{--projects-card-kicker-color: rgba(255, 255, 255, .72);--projects-card-title-color: rgba(255, 255, 255, .96);--projects-card-tag-bg: rgba(0, 0, 0, .24);--projects-card-tag-color: rgba(255, 255, 255, .92);--projects-card-tag-border: rgba(255, 255, 255, .08);--projects-project-image-brightness: .72}.projects-project-card[data-image-color=dark][data-active=true]{--projects-project-image-brightness: .75}.projects-project-card[data-image-color=dark] .projects-card-title{color:#fffffff5;text-shadow:rgba(0,0,0,.5) 0 10px 10px}.projects-project-card[data-image-color=dark] .projects-project-year{color:#ffffffb8}.projects-focus-stage{min-height:var(--projects-card-min-height);border-radius:var(--projects-focus-stage-radius);overflow:hidden;position:relative;box-shadow:0 24px 60px #00000029,inset 0 0 0 1px color-mix(in srgb,var(--projects-card-frame) 38%,transparent)}.projects-focus-overlay{position:absolute;inset:auto 0 0;padding:var(--projects-focus-overlay-padding-top) var(--projects-focus-overlay-padding-side) var(--projects-focus-overlay-padding-bottom);display:flex;flex-direction:column;gap:10px;background:var(--projects-focus-overlay-gradient)}.projects-focus-overlay h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1;color:var(--projects-focus-title-color)}.projects-focus-year{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--projects-focus-year-color)}.projects-detail-ghost{min-height:var(--projects-detail-ghost-min-height);margin-top:-12px;pointer-events:none}@media(max-width:960px){.projects-gallery-shell{min-height:var(--projects-gallery-min-height);padding:14px 14px 0;border-radius:28px;display:flex;align-items:flex-end}.projects-gallery-shell:after{height:0}.projects-accordion-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(160px,34vw,190px);width:100%;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:8px;min-height:var(--projects-track-min-height);padding-bottom:0;padding-inline:8px;box-sizing:border-box;align-items:flex-start;justify-content:start;scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--color-text-muted) 34%,transparent) transparent;transform:translateY(calc(var(--projects-stagger-offset, 0px) - 8px))}.projects-accordion-stage{width:100%;min-height:auto;margin-top:auto}.projects-accordion-card,.projects-accordion-card[data-active=true]{flex:none;opacity:1}.projects-filter-button,.projects-project-button,.projects-focus-stage{min-height:auto;aspect-ratio:.72}.projects-accordion-card{scroll-snap-align:start}.projects-project-tags{left:12px;right:12px;gap:2px}.projects-project-tags span{min-height:20px;padding:0 clamp(7px,1.8vw,9px);font-size:clamp(.62rem,1.9vw,.78rem)}.projects-accordion-track::-webkit-scrollbar{height:12px}.projects-accordion-track::-webkit-scrollbar-track{background:transparent}.projects-accordion-track::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 34%,transparent)}}.projects-area-grid{position:relative;z-index:2;width:100%}.projects-grid-stage{width:100%}.projects-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,240px));justify-content:center;gap:20px}.projects-grid-card-wrap{transform:perspective(800px);transform-style:preserve-3d;cursor:pointer}.projects-grid-card{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;border:0;border-radius:10px;background-color:#333;box-shadow:var(--projects-grid-card-box-shadow);transition:transform 1s cubic-bezier(.445,.05,.55,.95),box-shadow 1s cubic-bezier(.445,.05,.55,.95)}.projects-grid-card-wrap[data-browser=safari] .projects-grid-card,.projects-grid-card-wrap[data-browser=safari] .projects-grid-card-bg{-webkit-backface-visibility:hidden;backface-visibility:hidden}.projects-grid-card-bg{opacity:.5;position:absolute;top:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);background-repeat:no-repeat;background-position:center;background-size:cover;will-change:transform,opacity;transform:translate(0) translateY(0) scale(1.08);transition:transform 1s cubic-bezier(.445,.05,.55,.95),opacity 5s 1s cubic-bezier(.445,.05,.55,.95);pointer-events:none}.projects-grid-card-info{padding:20px;position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:#fff;transform:translateY(40%);transition:transform .6s 1.6s cubic-bezier(.215,.61,.355,1)}.projects-grid-card-info:after{content:"";position:absolute;top:0;left:0;z-index:0;width:100%;height:100%;background-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 100%);background-blend-mode:overlay;opacity:0;transform:translateY(100%);transition:5s 1s cubic-bezier(.445,.05,.55,.95)}.projects-grid-card-info>*{position:relative;z-index:1}.projects-grid-card-title{margin:0;text-align:left;font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1;color:#fff;text-shadow:rgba(0,0,0,.5) 0 10px 10px}.projects-grid-card[data-variant=project] .projects-grid-card-title{font-size:26px}.projects-grid-card[data-variant=project]{box-shadow:var(--projects-grid-project-card-box-shadow)}.projects-grid-card[data-variant=project] .projects-grid-card-bg{opacity:var(--projects-grid-project-card-image-opacity)}.projects-grid-card[data-variant=project] .projects-grid-card-info:after{background-image:var(--projects-grid-project-card-overlay-gradient)}.projects-grid-card-copy{margin:10px 0 0;text-align:left;white-space:pre-line;font-family:Raleway,sans-serif;font-size:14px;font-weight:500;line-height:1.5;color:#fff;opacity:0;text-shadow:rgba(0,0,0,1) 0 2px 3px;transition:opacity .6s 1.6s cubic-bezier(.215,.61,.355,1)}.projects-grid-card[data-variant=project] .projects-grid-card-copy{min-height:6em}@media(hover:hover)and (pointer:fine){.projects-grid-card-wrap:hover .projects-grid-card-info{transform:translateY(0);transition:.6s cubic-bezier(.23,1,.32,1)}.projects-grid-card-wrap:hover .projects-grid-card-copy{opacity:1;transition:.6s cubic-bezier(.23,1,.32,1)}.projects-grid-card-wrap:hover .projects-grid-card-info:after{transition:5s cubic-bezier(.23,1,.32,1);opacity:1;transform:translateY(0)}.projects-grid-card-wrap:hover .projects-grid-card-bg{transition:transform .6s cubic-bezier(.23,1,.32,1),opacity 5s cubic-bezier(.23,1,.32,1);opacity:.8}.projects-grid-card-wrap:hover .projects-grid-card[data-variant=project]{box-shadow:var(--projects-grid-project-card-box-shadow-hover)}.projects-grid-card-wrap:hover .projects-grid-card[data-variant=project] .projects-grid-card-bg{opacity:var(--projects-grid-project-card-image-opacity-hover)}.projects-grid-card-wrap:hover .projects-grid-card{box-shadow:var(--projects-grid-card-box-shadow-hover);transition:transform .6s cubic-bezier(.23,1,.32,1),box-shadow 2s cubic-bezier(.23,1,.32,1)}.projects-grid-card-wrap[data-browser=safari][data-pointer-active=true] .projects-grid-card{transition:box-shadow 1s cubic-bezier(.445,.05,.55,.95)}.projects-grid-card-wrap[data-browser=safari][data-pointer-active=true] .projects-grid-card-bg{transition:opacity 5s 1s cubic-bezier(.445,.05,.55,.95)}.projects-grid-card-wrap[data-browser=safari][data-pointer-active=true]:hover .projects-grid-card{transition:box-shadow 2s cubic-bezier(.23,1,.32,1)}.projects-grid-card-wrap[data-browser=safari][data-pointer-active=true]:hover .projects-grid-card-bg{transition:opacity 5s cubic-bezier(.23,1,.32,1)}}@media(hover:none),(pointer:coarse){.projects-grid-card-wrap{transform:none;transform-style:flat;-webkit-tap-highlight-color:transparent}.projects-grid-card,.projects-grid-card-bg,.projects-grid-card-info,.projects-grid-card-info:after,.projects-grid-card-copy{transition:none}.projects-grid-card{transform:none!important}.projects-grid-card-bg{opacity:.5;transform:translate(0) translateY(0) scale(1.08)!important}.projects-grid-card[data-variant=project] .projects-grid-card-bg{opacity:var(--projects-grid-project-card-image-opacity)}.projects-grid-card-info{transform:translateY(40%)}.projects-grid-card-info:after{opacity:0;transform:translateY(100%)}.projects-grid-card-copy{opacity:0}}@media(max-width:960px){.projects-grid{grid-template-columns:repeat(2,minmax(0,240px));gap:14px}}@media(max-width:960px)and (hover:hover)and (pointer:fine){.projects-grid-card-info{transform:translateY(0)}.projects-grid-card-info:after{opacity:1;transform:translateY(0)}.projects-grid-card-copy{opacity:1}}:root{--projects-exhibit-height: clamp(560px, 76vh, 760px);--projects-exhibit-shell-extension: clamp(72px, 9vh, 120px);--projects-exhibit-shell-height: calc( var(--projects-exhibit-height) + var(--projects-exhibit-shell-extension) );--projects-exhibit-guide-line-color: var(--theme-text-muted);--projects-exhibit-frame-color: var(--theme-text-primary);--projects-exhibit-frame-thickness: .04;--projects-exhibit-shadow-color: #000000;--projects-exhibit-shadow-opacity: .15;--projects-exhibit-catalogue-rule-color:var(--theme-text-primary);--projects-exhibit-meta-rule-color: var(--theme-text-primary);--projects-exhibit-logo-size: clamp(.82rem, .72rem + .25vw, 1rem);--projects-exhibit-logo-spacing: clamp(1.4px, .9px + .08vw, 2px);--projects-exhibit-catalogue-gap: clamp(1rem, .7rem + .9vw, 1.5rem);--projects-exhibit-catalogue-padding: clamp(3px, 2px + .15vw, 5px);--projects-exhibit-catalogue-size: clamp(.58rem, .5rem + .18vw, .7rem);--projects-exhibit-catalogue-spacing: clamp(2px, 1.4px + .12vw, 3px);--projects-exhibit-title-gap: clamp(1rem, .7rem + .8vw, 1.5rem);--projects-exhibit-title-size: clamp(2.2rem, 1.05rem + 2.3vw, 4rem);--projects-exhibit-description-gap: clamp(1.8rem, 1rem + 1.4vw, 3rem);--projects-exhibit-description-size: clamp(.92rem, .84rem + .22vw, 1.05rem);--projects-exhibit-meta-gap: clamp(.6rem, .45rem + .28vw, .8rem);--projects-exhibit-meta-padding-top: clamp(1rem, .6rem + .7vw, 1.5rem);--projects-exhibit-meta-pair-gap: clamp(.7rem, 1.5em + .45vw, 2rem);--projects-exhibit-meta-pair-label-size: clamp(.68rem, .61rem + .16vw, .78rem);--projects-exhibit-meta-pair-value-size: clamp(1.04rem, .9rem + .32vw, 1.22rem);--projects-exhibit-meta-label-size: clamp(.58rem, .53rem + .12vw, .65rem);--projects-exhibit-meta-label-spacing: clamp(1.1px, .8px + .06vw, 1.5px);--projects-exhibit-meta-value-size: clamp(.92rem, .78rem + .25vw, 1.1rem);--projects-exhibit-meta-value-offset: clamp(1px, 3px + .15vw, 4px)}html[data-theme=original-dark],html[data-theme=nord],html[data-theme=catppuccin-macchiato],html[data-theme=midnight-silver]{--projects-exhibit-shadow-color: #5d5d5d}.projects-area-exhibit,.projects-area-exhibit-host{position:relative;z-index:2}.projects-area-exhibit-host[data-state=warm]{position:fixed;top:0;left:-200vw;width:100vw;height:var(--projects-exhibit-shell-height);overflow:hidden;visibility:hidden;pointer-events:none;z-index:-1;contain:layout paint size}.projects-exhibit-stage{position:relative}.projects-exhibit-breakout{width:100vw;margin-inline:calc(50% - 50vw)}.projects-exhibit-shell{position:relative;min-height:var(--projects-exhibit-shell-height);overflow:hidden;background:var(--bg-primary)}.projects-exhibit-logo{position:absolute;top:40px;left:max(8%,48px);z-index:3;color:var(--theme-text-primary);font-family:Playfair Display,serif;font-size:var(--projects-exhibit-logo-size);font-weight:700;letter-spacing:var(--projects-exhibit-logo-spacing);text-transform:uppercase;pointer-events:none}.projects-exhibit-canvas{position:absolute;top:0;left:0;right:0;height:var(--projects-exhibit-height);z-index:1}.projects-exhibit-canvas[data-clickable=true]{cursor:pointer}.projects-exhibit-canvas-element{display:block;width:100%;height:100%}.projects-exhibit-ui{position:absolute;inset:0;z-index:2;pointer-events:none}.projects-exhibit-slide-content{position:absolute;top:25%;left:max(8%,48px);width:min(30%,450px);max-width:450px;color:var(--theme-text-primary)}.projects-exhibit-catalogue-number{display:inline-flex;align-items:baseline;gap:.4em;margin-bottom:var(--projects-exhibit-catalogue-gap);padding-bottom:var(--projects-exhibit-catalogue-padding);border-bottom:1px solid var(--projects-exhibit-catalogue-rule-color);color:var(--theme-text-primary);font-family:Raleway,sans-serif;font-size:var(--projects-exhibit-catalogue-size);font-weight:400;letter-spacing:var(--projects-exhibit-catalogue-spacing);text-transform:uppercase}.projects-exhibit-catalogue-index,.projects-exhibit-catalogue-divider,.projects-exhibit-catalogue-label{font-family:inherit;font-size:1em;font-weight:inherit;line-height:1}.projects-exhibit-catalogue-index{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}.projects-exhibit-title{margin:0 0 var(--projects-exhibit-title-gap);color:var(--theme-text-primary);font-family:Playfair Display,serif;font-size:var(--projects-exhibit-title-size);font-style:italic;font-weight:400;line-height:1;text-wrap:balance}.projects-exhibit-description{margin-bottom:var(--projects-exhibit-description-gap);color:var(--theme-text-primary);font-family:Raleway,sans-serif;font-size:var(--projects-exhibit-description-size);font-weight:300;line-height:1.8;text-align:justify}.projects-exhibit-meta-grid[data-layout=grid]{display:grid;grid-template-columns:max-content 1fr;align-items:start;column-gap:var(--projects-exhibit-meta-pair-gap);row-gap:var(--projects-exhibit-meta-gap);padding-top:var(--projects-exhibit-meta-padding-top);border-top:1px solid var(--projects-exhibit-meta-rule-color)}.projects-exhibit-meta-grid[data-layout=grid] .projects-exhibit-meta-label{align-self:start;font-size:var(--projects-exhibit-meta-pair-label-size)}.projects-exhibit-meta-grid[data-layout=grid] .projects-exhibit-meta-value{align-self:start;font-size:var(--projects-exhibit-meta-pair-value-size);line-height:1.35;padding-bottom:10}.projects-exhibit-meta-grid[data-layout=pairs]{display:flex;flex-direction:column;gap:var(--projects-exhibit-meta-gap);padding-top:var(--projects-exhibit-meta-padding-top);border-top:1px solid var(--projects-exhibit-meta-rule-color)}.projects-exhibit-meta-row{display:flex;align-items:center;gap:var(--projects-exhibit-meta-pair-gap)}.projects-exhibit-meta-grid[data-layout=pairs] .projects-exhibit-meta-label{font-size:var(--projects-exhibit-meta-pair-label-size)}.projects-exhibit-meta-grid[data-layout=pairs] .projects-exhibit-meta-value{font-size:var(--projects-exhibit-meta-pair-value-size)}.projects-exhibit-meta-label{align-self:center;color:var(--theme-text-muted);font-family:Raleway,sans-serif;font-size:var(--projects-exhibit-meta-label-size);letter-spacing:var(--projects-exhibit-meta-label-spacing);text-transform:uppercase}.projects-exhibit-meta-label[data-empty=true]{visibility:hidden}.projects-exhibit-meta-value{color:var(--theme-text-primary);font-family:Playfair Display,serif;font-size:var(--projects-exhibit-meta-value-size);font-style:italic;padding-bottom:var(--projects-exhibit-meta-value-offset)}@media(max-width:960px){:root{--projects-exhibit-height: clamp(520px, 74vh, 640px);--projects-exhibit-shell-extension: clamp(56px, 8vh, 96px);--projects-exhibit-logo-size: .82rem;--projects-exhibit-logo-spacing: 2px;--projects-exhibit-catalogue-gap: 1.5rem;--projects-exhibit-catalogue-padding: 5px;--projects-exhibit-catalogue-size: .7rem;--projects-exhibit-catalogue-spacing: 3px;--projects-exhibit-title-gap: 1.5rem;--projects-exhibit-title-size: clamp(2.2rem, 8vw, 3rem);--projects-exhibit-description-gap: 1.8rem;--projects-exhibit-description-size: .92rem;--projects-exhibit-meta-gap: .6rem;--projects-exhibit-meta-padding-top: 1rem;--projects-exhibit-meta-pair-label-size: .7rem;--projects-exhibit-meta-pair-value-size: 1.06rem;--projects-exhibit-meta-label-size: .58rem;--projects-exhibit-meta-label-spacing: 1.5px;--projects-exhibit-meta-value-size: .92rem}}@media(max-width:720px){:root{--projects-exhibit-shell-extension: clamp(40px, 6vh, 72px);--projects-exhibit-logo-size: .74rem;--projects-exhibit-logo-spacing: 1.6px;--projects-exhibit-catalogue-gap: 1.15rem;--projects-exhibit-catalogue-padding: 4px;--projects-exhibit-catalogue-size: .62rem;--projects-exhibit-catalogue-spacing: 2.4px;--projects-exhibit-title-gap: 1.1rem;--projects-exhibit-title-size: clamp(1.95rem, 7vw, 2.55rem);--projects-exhibit-description-gap: 1.35rem;--projects-exhibit-description-size: .84rem;--projects-exhibit-meta-gap: .45rem;--projects-exhibit-meta-padding-top: .8rem;--projects-exhibit-meta-pair-label-size: .62rem;--projects-exhibit-meta-pair-value-size: .94rem;--projects-exhibit-meta-label-size: .52rem;--projects-exhibit-meta-label-spacing: 1.2px;--projects-exhibit-meta-value-size: .82rem}.projects-exhibit-slide-content{top:clamp(108px,24%,150px);left:clamp(24px,7vw,32px);width:min(52vw,290px);max-width:290px}.projects-exhibit-logo{top:22px;left:clamp(24px,7vw,32px)}.projects-exhibit-description{width:min(44vw,232px);max-width:232px;line-height:1.55}.projects-exhibit-meta-grid[data-layout=grid],.projects-exhibit-meta-grid[data-layout=pairs]{width:min(44vw,232px);max-width:232px}}.top-spacer[data-astro-cid-lhcdpc53]{height:40px}.sky-wrap[data-astro-cid-lhcdpc53]{position:relative;width:100%}.projects-main[data-astro-cid-lhcdpc53]{position:relative;max-width:1100px;margin:0 auto;padding:52px 32px 0}@media(max-width:960px){.projects-main[data-astro-cid-lhcdpc53]{padding:24px 18px 0}}
