.template-media-overlay{width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;color:inherit}.template-media-overlay:not([open]){display:none}.template-media-overlay::backdrop{background:transparent}@keyframes media-dialog-enter{0%{opacity:0}to{opacity:1}}@keyframes media-dialog-panel-enter{0%{opacity:0;transform:translateY(.35rem) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}[data-media-dialog][open]{animation:media-dialog-enter .15s ease-out both}[data-media-dialog][open]::backdrop{animation:media-dialog-enter .15s ease-out both}[data-media-dialog][open]>:first-child{animation:media-dialog-panel-enter .17s cubic-bezier(.2,.8,.2,1) both;transform-origin:center}[data-media-dialog] img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){[data-media-dialog][open],[data-media-dialog][open]::backdrop,[data-media-dialog][open]>:first-child{animation:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-body),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono),ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.gallery-container{width:min(100% - 112px,1328px);margin-inline:auto}.gallery-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgb(var(--color-border));background:rgb(var(--color-background))}.gallery-wordmark{display:inline-flex;align-items:center;gap:12px;min-width:0;font-size:16px;font-weight:650;letter-spacing:-.04em}.gallery-header-inner{min-height:88px}.gallery-mark{width:13px;height:13px;flex-shrink:0;background:rgb(var(--color-accent));border-radius:50%}.gallery-nav-link{padding-block:12px;font-size:13px;color:rgb(var(--color-text) / .75);transition:color .2s}.gallery-nav-link:hover,.gallery-nav-link:focus-visible{color:rgb(var(--color-accent))}.gallery-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:240px;max-height:calc(100dvh - 120px);overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;background:rgb(var(--color-background));border:1px solid rgb(var(--color-border));box-shadow:0 14px 32px -20px rgb(var(--color-text) / .2)}.gallery-mobile-navigation{position:absolute;top:100%;inset-inline:0;max-height:calc(100dvh - 100px);overflow-y:auto;display:flex;flex-direction:column;padding:16px 24px;border-bottom:1px solid rgb(var(--color-border));background:rgb(var(--color-background))}.gallery-mobile-navigation a{border-bottom:1px solid rgb(var(--color-border));padding-block:16px}.gallery-mobile-navigation a:last-child{border-bottom:0}.gallery-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgb(var(--color-border));border-radius:0;transition:background .2s}.gallery-icon-button:hover,.gallery-icon-button:focus-visible{background:rgb(var(--color-muted))}.gallery-hero{position:relative;isolation:isolate;overflow:clip;background:rgb(var(--color-background))}.gallery-hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 85% 35%,rgb(var(--color-muted-alt)),rgb(var(--color-background)) 75%)}.gallery-hero-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgb(var(--color-background)),transparent 55%),linear-gradient(100deg,rgb(var(--color-background)) 8%,rgb(var(--color-background) / .94) 35%,rgb(var(--color-background) / .35) 85%)}.gallery-hero-atmosphere{position:absolute;inset:-32px -32px -32px auto;width:80%;height:calc(100% + 64px);-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;filter:blur(24px);opacity:0;transition:opacity .5s ease}.gallery-hero-atmosphere.is-loaded{opacity:.55}.gallery-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:28px;min-height:clamp(480px,66svh,640px);padding-block:64px 40px}.gallery-intro{min-width:0}.gallery-name{min-width:0;font-family:var(--font-heading);font-size:clamp(56px,8vw,120px);font-weight:500;line-height:1.05;letter-spacing:-.055em}.gallery-headline{margin-top:24px;max-width:30ch;font-size:clamp(24px,2.6vw,38px);line-height:1.3;letter-spacing:-.025em;white-space:pre-line;color:rgb(var(--color-text) / .85)}.gallery-header-portrait{flex-shrink:0;width:40px;aspect-ratio:1;border-radius:50%}.gallery-header-portrait-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%}.gallery-summary{grid-column:1;max-width:60ch;font-size:14px;line-height:1.65;color:rgb(var(--color-text) / .75)}.gallery-contact{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;min-width:0;margin-top:8px;padding-top:24px;border-top:1px solid rgb(var(--color-border))}.gallery-contact-links{display:flex;flex:1 1 24rem;flex-wrap:wrap;align-items:baseline;gap:8px 24px;min-width:0}.gallery-contact-links li{min-width:0;max-width:100%}.gallery-contact-links .gallery-text-link{max-width:100%;min-height:32px}.gallery-contact-links .gallery-text-link span{min-width:0}.gallery-contact-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;max-width:100%;padding-bottom:9px;border-bottom:1px solid rgb(var(--color-text));font-size:18px;letter-spacing:-.025em;transition:color .2s ease,border-color .2s ease}.gallery-contact-cta:hover,.gallery-contact-cta:focus-visible{color:rgb(var(--color-accent));border-color:currentColor}.gallery-text-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:12px;color:rgb(var(--color-text) / .75);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:color .2s ease,text-decoration-color .2s ease}.gallery-text-link:hover,.gallery-text-link:focus-visible{color:rgb(var(--color-accent));text-decoration-color:currentColor}.gallery-entry-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px}.gallery-entry-title{min-width:0;font-family:var(--font-heading);font-size:1.25rem;font-weight:500;line-height:1.4;letter-spacing:-.025em;color:rgb(var(--color-text))}.gallery-entry-meta{font-size:.875rem;line-height:1.65;color:rgb(var(--color-text) / .75)}.gallery-date{font-family:var(--font-mono);font-size:.75rem;line-height:1.65;color:rgb(var(--color-text) / .75)}.gallery-copy{font-size:.875rem;line-height:1.75;color:rgb(var(--color-text) / .75)}.gallery-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--color-accent))}.gallery-record{display:flex;align-items:flex-start;gap:16px;min-width:0}.gallery-record-list>.gallery-record+.gallery-record{margin-top:28px;padding-top:28px;border-top:1px solid rgb(var(--color-border))}.gallery-record-content{flex:1;min-width:0}.gallery-record-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;margin-top:-8px;color:rgb(var(--color-text) / .75);transition:color .2s ease,background-color .2s ease}.gallery-record-link:hover,.gallery-record-link:focus-visible{color:rgb(var(--color-accent));background:rgb(var(--color-muted))}.gallery-tag{display:inline-flex;align-items:center;padding:4px 10px;max-width:100%;border:1px solid rgb(var(--color-border));border-radius:0;background:rgb(var(--color-surface));font-size:.75rem;line-height:1.6;color:rgb(var(--color-text) / .75);transition:background-color .2s ease,border-color .2s ease}.gallery-tag:hover{background:rgb(var(--color-muted));border-color:rgb(var(--color-text) / .2)}.gallery-work{padding-block:36px 96px}.gallery-work-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.gallery-section-title{font-family:var(--font-heading);font-size:28px;line-height:1.3;font-weight:600;letter-spacing:-.035em}.gallery-count{display:inline-block;margin-left:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:0;vertical-align:super;color:rgb(var(--color-accent))}.gallery-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:32px;column-gap:32px;row-gap:64px}.gallery-project{min-width:0}.gallery-project-featured{grid-column:1 / -1}.gallery-project-image{position:relative;display:block;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:rgb(var(--color-surface));text-align:left}.gallery-project-featured .gallery-project-image{aspect-ratio:2 / 1}.gallery-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.gallery-project-image:hover .gallery-cover,.gallery-project-image:focus-visible .gallery-cover{transform:scale(1.025)}.gallery-image-index{position:absolute;top:20px;left:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:0;background:rgb(var(--color-background) / .96);color:rgb(var(--color-text));font-family:var(--font-mono);font-size:11px}.gallery-image-action{position:absolute;right:20px;bottom:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:calc(100% - 40px);min-height:44px;border-radius:0;padding:10px 18px;background:rgb(var(--color-background) / .96);color:rgb(var(--color-text));font-size:12px;transition:background-color .2s ease,opacity .2s ease}.gallery-project-image:hover .gallery-image-action,.gallery-project-image:focus-visible .gallery-image-action{background:rgb(var(--color-muted))}.gallery-project-caption{padding-top:22px;display:grid;gap:18px}.gallery-project-featured .gallery-project-caption{grid-template-columns:1fr 1fr;gap:48px}.gallery-project-title{min-width:0;font-family:var(--font-heading);font-size:clamp(22px,2.1vw,29px);font-weight:500;line-height:1.3;letter-spacing:-.045em}.gallery-project-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-bottom:1px solid rgb(var(--color-border));transition:color .2s ease,border-color .2s ease}.gallery-project-link:hover,.gallery-project-link:focus-visible{color:rgb(var(--color-accent));border-color:currentColor}.gallery-project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.gallery-project-text{border-top:1px solid rgb(var(--color-border));padding-top:10px}.gallery-media-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;width:100%;height:100%;background:rgb(var(--color-muted));color:rgb(var(--color-accent))}.gallery-section{padding-block:64px;border-top:1px solid rgb(var(--color-border))}.gallery-section-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.5fr);gap:64px}.gallery-section-title{align-self:start}.gallery-footer{padding-block:32px;border-top:1px solid rgb(var(--color-border));background:rgb(var(--color-background));text-align:center}.gallery-footer-content{display:flex;flex-direction:column;align-items:center;gap:4px}.gallery-footer-brand{margin:0 auto 16px;max-width:100%;height:40px;-o-object-fit:contain;object-fit:contain}.gallery-section-icon{width:20px;height:28px;flex-shrink:0;color:rgb(var(--color-accent))}.gallery-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:rgb(var(--color-text));overflow-y:auto}.gallery-dialog[open]{display:flex;align-items:center;justify-content:center}.gallery-dialog::backdrop{background:rgb(var(--color-text) / .8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-dialog-panel{width:min(1120px,100%);max-height:100%;overflow-y:auto;background:rgb(var(--color-background));border:1px solid rgb(var(--color-border))}.gallery-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid rgb(var(--color-border))}.gallery-viewer-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-content:center;min-height:160px;background:rgb(var(--color-surface))}.gallery-viewer-stage.has-navigation{grid-template-columns:64px minmax(0,1fr) 64px}.gallery-viewer-media{min-width:0}.gallery-viewer-arrow{justify-self:center;background:rgb(var(--color-surface))}.gallery-viewer-image{width:100%;max-height:66dvh;-o-object-fit:contain;object-fit:contain}.gallery-viewer-video{display:block;width:100%;aspect-ratio:16 / 9;max-height:66dvh;border:0}.gallery-dialog-caption{padding:16px 24px;border-top:1px solid rgb(var(--color-border))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.right-4{right:1rem}.z-\[70\]{z-index:70}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-7{height:1.75rem}.h-\[40px\]{height:40px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\/2{width:50%}.w-7{width:1.75rem}.w-\[200px\]{width:200px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-full{max-width:100%}.max-w-xl{max-width:36rem}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-skew-x-12{--tw-skew-x: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.gap-y-8{row-gap:2rem}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-\[3px\]{border-width:3px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-accent{--tw-border-opacity: 1;border-color:rgb(var(--color-accent) / var(--tw-border-opacity, 1))}.border-black\/10{border-color:#0000001a}.border-border{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.border-current{border-color:currentColor}.border-r-transparent{border-right-color:transparent}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--color-background) / var(--tw-bg-opacity, 1))}.bg-muted{--tw-bg-opacity: 1;background-color:rgb(var(--color-muted) / var(--tw-bg-opacity, 1))}.bg-muted-alt{--tw-bg-opacity: 1;background-color:rgb(var(--color-muted-alt) / var(--tw-bg-opacity, 1))}.bg-surface\/70{background-color:rgb(var(--color-surface) / .7)}.bg-text\/40{background-color:rgb(var(--color-text) / .4)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-white\/75{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .75) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-5{padding-left:1.25rem}.text-center{text-align:center}.font-display{font-family:var(--font-heading),var(--font-body),system-ui,sans-serif}.font-mono{font-family:var(--font-mono),ui-monospace,monospace}.font-sans{font-family:var(--font-body),system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.16em\]{letter-spacing:.16em}.text-accent{--tw-text-opacity: 1;color:rgb(var(--color-accent) / var(--tw-text-opacity, 1))}.text-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.text-text\/70{color:rgb(var(--color-text) / .7)}.text-text\/75{color:rgb(var(--color-text) / .75)}.text-text\/80{color:rgb(var(--color-text) / .8)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.gallery-header-portrait{transition:box-shadow .24s ease}.gallery-header-portrait-image{transition:opacity .3s ease-out,transform .24s ease}[data-portrait-hover=true] .gallery-wordmark:hover .gallery-header-portrait{box-shadow:0 0 0 2px rgb(var(--color-accent) / .7)}[data-portrait-hover=true] .gallery-wordmark:hover .gallery-header-portrait-image{transform:scale(1.06)}}@media(prefers-reduced-motion:no-preference){[data-portrait-hover=true] .gallery-wordmark:focus-visible .gallery-header-portrait{box-shadow:0 0 0 2px rgb(var(--color-accent) / .7)}[data-portrait-hover=true] .gallery-wordmark:focus-visible .gallery-header-portrait-image{transform:scale(1.06)}}:root{--template-scrollbar-thumb: rgb(var(--color-accent));--template-scrollbar-track: rgb(var(--color-muted));--color-background: 247 247 242;--color-surface: 238 238 231;--color-text: 34 37 31;--color-border: 214 216 205;--color-accent: 82 99 70;--color-accent-dark: 67 83 56;--color-accent-darker: 53 66 44;--color-muted: 229 231 220;--color-muted-alt: 217 221 206;--font-body: "DM Sans", sans-serif;--font-heading: "Manrope", sans-serif;--font-mono: "IBM Plex Mono", monospace}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:rgb(var(--color-background));color:rgb(var(--color-text));font-family:var(--font-body);-webkit-font-smoothing:antialiased}::-moz-selection{background:rgb(var(--color-accent));color:rgb(var(--color-background))}::selection{background:rgb(var(--color-accent));color:rgb(var(--color-background))}:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}svg{flex-shrink:0}h1,h2,h3,p,li,a,span{overflow-wrap:anywhere}.scroll-reveal>*{opacity:0;transition:opacity .4s ease}.scroll-reveal.is-revealed>*,.scroll-reveal:focus-within>*{opacity:1}.scroll-reveal:focus-within>*{transition:none}.page-fade{opacity:0;transition:opacity .25s ease}.page-fade.is-ready{opacity:1}@media(hover:hover)and (pointer:fine){.gallery-image-action{opacity:0}.gallery-project-image:hover .gallery-image-action,.gallery-project-image:focus-visible .gallery-image-action{opacity:1}}@media(min-width:1024px){.gallery-section-layout>.gallery-section-title{position:sticky;top:112px}}@media(max-width:1023px){.gallery-footer.has-powered-by{padding-bottom:88px}.gallery-container{width:calc(100% - 64px)}.gallery-section-layout{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:32px}.gallery-project-featured .gallery-project-caption{gap:32px}.gallery-project-grid{gap:48px 24px}}@media(max-width:639px){html{scroll-padding-top:100px}.gallery-container{width:calc(100% - 40px)}.gallery-hero-inner{gap:24px;min-height:0;padding-block:40px 32px}.gallery-name{font-size:clamp(36px,10vw,62px)}.gallery-headline{margin-top:24px;font-size:24px}.gallery-summary{grid-column:1 / -1;font-size:14px}.gallery-contact-links{-moz-column-gap:20px;column-gap:20px}.gallery-work{padding-block:24px 48px}.gallery-work-heading{margin-bottom:20px}.gallery-project-grid{grid-template-columns:minmax(0,1fr);gap:40px}.gallery-project-featured .gallery-project-image{aspect-ratio:4 / 3}.gallery-project-featured .gallery-project-caption{grid-template-columns:minmax(0,1fr);gap:18px}.gallery-image-index{top:12px;left:12px;width:30px;height:30px}.gallery-image-action{right:12px;bottom:12px;max-width:calc(100% - 24px);padding-inline:14px}.gallery-project-caption{padding-top:18px}.gallery-section{padding-block:40px}.gallery-section-layout{grid-template-columns:minmax(0,1fr);gap:28px}.gallery-dialog{padding:12px}.gallery-dialog-header,.gallery-dialog-caption{padding:14px 16px}.gallery-viewer-stage.has-navigation{grid-template-columns:minmax(0,1fr)}.gallery-viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.gallery-viewer-previous{left:8px}.gallery-viewer-next{right:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.page-fade,.scroll-reveal>*{opacity:1}.gallery-project-image:hover .gallery-cover,.gallery-project-image:focus-visible .gallery-cover{transform:none}}.gallery-cursor{position:fixed;top:0;left:0;z-index:10000;width:18px;height:18px;border-radius:50%;background:transparent;border:1px solid rgb(var(--color-text));box-shadow:0 0 0 1px rgb(var(--color-background));pointer-events:none;visibility:hidden}.gallery-cursor[data-active=true]{width:22px;height:22px;border:2px solid rgb(var(--color-accent))}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference)and (forced-colors:none){html.gallery-cursor-active,html.gallery-cursor-active *{cursor:none!important}}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce),(forced-colors:active){.gallery-cursor{display:none}}.last\:border-0:last-child{border-width:0px}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-black\/40:focus-visible{--tw-ring-color: rgb(0 0 0 / .4)}.focus-visible\:ring-current:focus-visible{--tw-ring-color: currentColor}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color: #fff}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media(min-width:768px){.md\:bottom-6{bottom:1.5rem}.md\:right-6{right:1.5rem}.md\:h-7{height:1.75rem}.md\:w-\[156px\]{width:156px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}}@media(min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-wrap{flex-wrap:wrap}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}}:root[data-custom-scrollbar=true]{scrollbar-color:var(--template-scrollbar-thumb, rgb(var(--color-text))) var(--template-scrollbar-track, rgb(var(--color-background)));scrollbar-width:thin}@media(forced-colors:active),(pointer:coarse){:root[data-custom-scrollbar=true]{scrollbar-color:auto;scrollbar-width:auto}}[data-reveal-item]{opacity:0;transform:translateY(16px)}[data-reveal-item].is-revealed{animation:selfcv-reveal-item .4s ease-out both}[data-reveal-item]:not(.is-revealed):focus-within{opacity:1;transform:none;animation:none}@keyframes selfcv-reveal-item{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){[data-reveal-item]{opacity:1;transform:none;animation:none}}
