:root{--page-padding:26px;--sidebar-width:168px;--ink:#0b0b0b;--muted:#737373;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;line-height:1.42}button,a{color:inherit;font:inherit}a{text-decoration:none}button{border:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-title{letter-spacing:-.02em;font-size:13px;font-weight:700;display:inline-block}.sidebar{z-index:10;width:calc(var(--sidebar-width) + var(--page-padding));padding:18px var(--page-padding);background:var(--paper);position:fixed;inset:0 auto 0 0}.navigation{flex-direction:column;align-items:flex-start;margin-top:39px;display:flex}.nav-group{flex-direction:column;align-items:flex-start;width:100%;margin-bottom:19px;display:flex}.nav-final{margin-top:1px}.nav-link,.nav-trigger,.project-links a,.instagram{cursor:pointer;background:0 0;padding:0;line-height:1.58;display:inline-flex;position:relative}.nav-link:after,.project-links a:after{content:"";opacity:0;transform-origin:0;background:currentColor;height:1px;transition:opacity .14s,transform .14s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(.4)}.nav-link:hover:after,.nav-link:focus-visible:after,.project-links a:hover:after,.project-links a:focus-visible:after,.project-links a.is-active:after{opacity:1;transform:scaleX(1)}.project-links{color:var(--muted);flex-direction:column;margin:3px 0 0 9px;display:flex}.instagram{margin-top:1px}.portfolio-main{min-height:100vh;margin-left:calc(var(--sidebar-width) + var(--page-padding));padding:66px 38px 60px 25px}.gallery{width:100%}.gallery-row{width:100%;margin-bottom:25px;display:flex}.gallery-card{cursor:zoom-in;background:#e9e7e2;flex:none;height:100%;padding:0;position:relative;overflow:hidden}.artwork{background:radial-gradient(circle at var(--art-spot), color-mix(in srgb, var(--art-c) 86%, white) 0 13%, transparent 14%), radial-gradient(ellipse at 51% 112%, var(--art-b) 0 48%, transparent 49%), linear-gradient(132deg, var(--art-a) 0%, var(--art-c) 43%, var(--art-b) 100%);width:100%;height:100%;transition:filter .22s,transform .42s cubic-bezier(.22,.72,.28,1);position:relative;overflow:hidden;transform:scale(1.001)}.artwork:before,.artwork:after{content:"";pointer-events:none;position:absolute}.artwork:before{mix-blend-mode:soft-light;background:linear-gradient(112deg,#0000 0 43%,#ffffff3d 44% 45%,#0000 46%),radial-gradient(circle at 16% 80%,#ffffff57 0 2%,#0000 2.5%),radial-gradient(circle at 81% 19%,#ffffff80 0 1.2%,#0000 1.7%);inset:0}.artwork:after{opacity:.13;background-image:repeating-radial-gradient(circle at 30% 40%,#ffffff2b 0 1px,#0000 1px 4px);inset:-25%;transform:rotate(7deg)}.artwork>span{z-index:1;color:#ffffffbf;letter-spacing:.08em;font-size:9px;position:absolute;bottom:6px;right:8px}.artwork-image{object-fit:cover;width:100%;height:100%;display:block}.artwork-soft{filter:saturate(.82)contrast(.92)}.artwork-flash{filter:saturate(1.1)contrast(1.08)}.artwork-grain{filter:saturate(.73)contrast(1.15)}.artwork-still{background:linear-gradient(90deg, transparent 0 24%, #ffffffb3 25% 72%, transparent 73%), linear-gradient(0deg, var(--art-b) 0 12%, var(--art-c) 13% 82%, var(--art-a) 83%);filter:saturate(.48)}.gallery-card:hover .artwork,.gallery-card:focus-visible .artwork{filter:brightness(.72)saturate(.78);transform:scale(1.025)}.card-caption{z-index:2;color:#fff;text-align:center;opacity:0;flex-direction:column;justify-content:center;align-items:center;padding:15px;transition:opacity .18s;display:flex;position:absolute;inset:0}.card-caption strong,.card-caption span{font-weight:400}.card-caption span{text-underline-offset:2px;margin-top:2px;text-decoration:underline}.gallery-card:hover .card-caption,.gallery-card:focus-visible .card-caption{opacity:1}.about{border-top:1px solid #dedede;max-width:420px;margin-top:72px;padding:72px 0 120px;font-size:12px}.about p{margin:0 0 3px}.about a{text-underline-offset:3px;margin-top:18px;text-decoration:underline;display:inline-block}.mobile-header,.mobile-menu{display:none}.ui-button{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 14px;font-size:13px;font-weight:500;line-height:1;transition:background-color .14s,border-color .14s,color .14s,opacity .14s;display:inline-flex}.ui-button:focus-visible,.ui-input:focus-visible,.ui-select:focus-visible{outline-offset:2px;outline:2px solid #18181b}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button-default{color:#fff;background:#18181b}.ui-button-default:hover:not(:disabled){background:#303034}.ui-button-outline{color:#18181b;background:#fff;border-color:#dedee2}.ui-button-outline:hover:not(:disabled),.ui-button-ghost:hover:not(:disabled){background:#f4f4f5}.ui-button-ghost{background:0 0}.ui-button-ghost:hover:not(:disabled){color:#b42318;background:#fff1f0}.ui-button-destructive{color:#fff;background:#c9362b}.ui-button-size-sm{min-height:32px;padding:0 11px;font-size:12px}.ui-button-size-icon{width:34px;min-height:34px;padding:0}.ui-input{color:#18181b;background:#fff;border:1px solid #d9d9de;border-radius:7px;width:100%;height:36px;padding:0 10px;font-family:inherit;font-size:13px;box-shadow:0 1px 1px #00000005}.ui-select{color:#18181b;appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#71717a 50%),linear-gradient(135deg,#71717a 50%,#0000 50%);background-position:calc(100% - 14px) 15px,calc(100% - 10px) 15px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border:1px solid #d9d9de;border-radius:7px;width:100%;height:36px;padding:0 32px 0 10px;font-family:inherit;font-size:13px;box-shadow:0 1px 1px #00000005}.ui-input::placeholder{color:#a1a1aa}.ui-input[type=file]{color:#71717a;height:40px;padding:6px}.ui-input[type=file]::file-selector-button{color:#27272a;height:26px;font:inherit;cursor:pointer;background:#f1f1f2;border:0;border-radius:5px;margin-right:9px;padding:0 10px;font-weight:500}.ui-label{color:#3f3f46;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.ui-card{background:#fff;border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 1px 2px #00000006}.ui-card-header{align-items:center;gap:12px;padding:20px 22px 0;display:flex}.ui-card-content{padding:20px 22px 22px}.admin-shell{color:#18181b;background:#fafafa;min-height:100vh;font-size:13px;line-height:1.5}.admin-topbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e4e4e7;justify-content:space-between;align-items:center;height:56px;padding:0 28px;display:flex;position:sticky;top:0}.admin-brand{letter-spacing:-.02em;font-size:14px;font-weight:650}.admin-back-link{color:#52525b;align-items:center;gap:6px;font-size:12px;display:inline-flex}.admin-back-link:hover{color:#18181b}.admin-main{width:min(1280px,100% - 48px);margin:0 auto;padding:52px 0 70px}.admin-page-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}.admin-eyebrow{color:#71717a;letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:600}.admin-page-heading h1{letter-spacing:-.045em;margin:0;font-size:clamp(26px,3vw,36px);font-weight:620;line-height:1.08}.admin-page-heading p:not(.admin-eyebrow){color:#71717a;margin:9px 0 0}.admin-stats{align-items:center;gap:8px;display:flex}.admin-stats span{color:#71717a;background:#fff;border:1px solid #e4e4e7;border-radius:999px;align-items:baseline;gap:5px;padding:6px 10px;font-size:11px;display:inline-flex}.admin-stats strong{color:#27272a;font-size:13px}.admin-upload-card{margin-bottom:42px}.admin-card-title-icon{background:#fafafa;border:1px solid #e4e4e7;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.admin-upload-card h2,.admin-section-heading h2,.admin-empty-state h3{letter-spacing:-.015em;margin:0;font-size:15px;font-weight:600}.admin-upload-card .ui-card-header p,.admin-section-heading p,.admin-empty-state p{color:#71717a;margin:2px 0 0;font-size:12px}.admin-upload-form{grid-template-columns:minmax(210px,1.3fr) minmax(150px,1fr) minmax(150px,1fr) 100px auto;align-items:end;gap:14px;display:grid}.admin-file-field{min-width:0}.admin-alt-field{grid-column:1/4}.admin-upload-switch{align-self:center;margin-top:20px}.admin-upload-form>.ui-button{grid-area:2/5}.admin-field{min-width:0}.admin-optional{color:#a1a1aa;margin-left:4px;font-size:10px;font-weight:400}.admin-required{color:#b42318;margin-left:4px;font-size:10px;font-weight:500}.admin-project-picker{gap:7px;display:flex}.admin-project-picker .ui-select{min-width:0}.admin-upload-error{margin:12px 0 0}.admin-section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:13px;display:flex}.admin-library-tools{align-items:center;gap:8px;display:flex}.admin-filter-select{width:180px;height:32px;font-size:12px}.admin-photo-list{background:#fff;border:1px solid #e4e4e7;border-radius:12px;overflow:hidden}.admin-photo-row{border-bottom:1px solid #ececef;grid-template-columns:116px minmax(245px,1.35fr) minmax(230px,.9fr) 130px auto;align-items:center;gap:18px;padding:18px;display:grid}.admin-photo-row:last-child{border-bottom:0}.admin-thumbnail-wrap{background:#f1f1f2;border-radius:7px;width:116px;height:90px;overflow:hidden}.admin-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.admin-photo-fields{gap:11px;display:grid}.admin-photo-main-fields{grid-template-columns:1fr 1fr}.admin-photo-meta-fields{grid-template-columns:1fr 1fr;align-items:end}.admin-switch-row{color:#52525b;cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;width:fit-content;font-size:12px;display:inline-flex;position:relative}.admin-switch-row>input{opacity:0;width:1px;height:1px;position:absolute}.admin-switch{background:#d4d4d8;border-radius:999px;flex:none;width:30px;height:17px;padding:2px;transition:background .14s;display:inline-flex;position:relative}.admin-switch>span{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .14s;box-shadow:0 1px 2px #0003}.admin-switch-row>input:checked+.admin-switch{background:#18181b}.admin-switch-row>input:checked+.admin-switch>span{transform:translate(13px)}.admin-switch-row>input:focus-visible+.admin-switch{outline-offset:2px;outline:2px solid #18181b}.admin-switch-row>span:last-child{align-items:center;gap:5px;display:inline-flex}.admin-photo-details{color:#71717a;flex-direction:column;gap:2px;min-width:0;font-size:11px;display:flex}.admin-photo-details span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-photo-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.admin-photo-actions .admin-success,.admin-photo-actions .admin-error{max-width:130px;margin-right:3px;font-size:11px}.admin-success{color:#167044}.admin-error{color:#b42318}.admin-spinner{animation:.8s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-empty-state{color:#71717a;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;display:flex}.admin-empty-state h3{color:#27272a;margin-top:12px}.admin-local-note{color:#a1a1aa;text-align:center;margin:20px 0 0;font-size:11px}.admin-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#09090b75;place-items:center;padding:20px;animation:.13s ease-out admin-fade-in;display:grid;position:fixed;inset:0}.admin-modal{background:#fff;border:1px solid #fff3;border-radius:13px;width:min(430px,100%);padding:24px;animation:.17s cubic-bezier(.22,.75,.3,1) admin-dialog-in;position:relative;box-shadow:0 24px 70px #0003}.admin-project-modal{width:min(560px,100%)}.admin-modal-close{cursor:pointer;background:0 0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:14px;right:14px}.admin-modal-close:hover{background:#f4f4f5}.admin-modal-icon{background:#fafafa;border:1px solid #e4e4e7;border-radius:9px;place-items:center;width:38px;height:38px;margin-bottom:15px;display:grid}.admin-modal-header{margin-bottom:20px;padding-right:24px}.admin-modal-header h2{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:620}.admin-modal-header p{color:#71717a;margin:5px 0 0;font-size:12px}.admin-modal-error{margin:9px 0 0;font-size:12px}.admin-modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.admin-project-create-form{border-bottom:1px solid #ececef;padding-bottom:20px}.admin-project-create-row{gap:8px;display:flex}.admin-project-manager-list{flex-direction:column;gap:8px;max-height:min(330px,42vh);padding:16px 2px 2px;display:flex;overflow-y:auto}.admin-project-row{background:#fafafa;border:1px solid #e4e4e7;border-radius:9px;align-items:center;gap:10px;padding:10px;display:flex}.admin-project-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.admin-project-row-main>span{color:#8b8b94;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.admin-project-row-main>.admin-error{color:#b42318;white-space:normal}.admin-project-row-actions{gap:4px;display:flex}.admin-projects-empty{color:#8b8b94;text-align:center;margin:18px 0}@keyframes admin-fade-in{0%{opacity:0}}@keyframes admin-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.lightbox{z-index:100;background:#fff;grid-template-columns:80px 1fr 80px;align-items:center;display:grid;position:fixed;inset:0}.lightbox-center{flex-direction:column;grid-column:2;justify-content:center;align-items:center;min-width:0;display:flex}.lightbox-visual{width:min(78vw, calc(72vh * var(--lightbox-aspect)));aspect-ratio:var(--lightbox-aspect);box-shadow:0 10px 45px #00000017}.lightbox-caption{text-align:center;flex-direction:column;align-items:center;margin-top:15px;display:flex}.lightbox-caption strong{font-weight:500}.lightbox-caption span{color:var(--muted)}.lightbox-project-link{color:var(--muted);text-underline-offset:3px;margin-top:2px;text-decoration:underline}.lightbox-close,.lightbox-arrow{z-index:2;cursor:pointer;background:0 0;padding:12px;position:fixed}.lightbox-close{font-size:25px;font-weight:200;top:8px;right:12px}.lightbox-arrow{color:#4a4a4a;font-size:22px;top:50%;transform:translateY(-50%)}.lightbox-prev{left:14px}.lightbox-next{right:14px}.project-page-main{min-height:100vh;margin-left:calc(var(--sidebar-width) + var(--page-padding));padding:0 38px 110px 25px}.project-page-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;justify-content:space-between;align-items:center;min-height:36px;display:flex;position:sticky;top:0}.project-page-title{align-items:baseline;gap:9px;display:flex}.project-page-title span,.project-page-title h1,.project-page-close{font-size:11px;font-weight:400;line-height:1}.project-page-title h1{margin:0}.project-page-close:hover,.project-page-close:focus-visible,.project-page-footer a:hover,.project-page-footer a:focus-visible{text-underline-offset:3px;text-decoration:underline}.project-photo-feed{flex-direction:column;align-items:center;gap:44px;width:100%;display:flex}.project-feed-item{width:82%;max-width:960px;margin:0}.project-feed-size-0{width:76%;max-width:860px}.project-feed-size-1{width:92%;max-width:1020px}.project-feed-size-2{width:68%;max-width:780px}.project-feed-size-3{width:84%;max-width:940px}.project-feed-image{background:#f1f1f1;width:100%;height:auto;display:block}.project-feed-item figcaption{gap:10px;margin-top:7px;font-size:10px;line-height:1.25;display:flex}.project-caption-muted{color:#a1a1aa}.project-page-empty{color:#71717a;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 130px);display:flex}.project-page-empty p{margin:0 0 8px}.project-page-empty a{color:#18181b;text-underline-offset:3px;text-decoration:underline}.project-page-footer{text-align:center;padding-top:85px}@media (max-width:700px){:root{--page-padding:16px}body{font-size:11px}.sidebar{display:none}.mobile-header{z-index:60;background:var(--paper);justify-content:space-between;align-items:center;height:47px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-header .site-title{font-size:13px}.menu-toggle{cursor:pointer;background:0 0;width:24px;height:24px;padding:0;position:relative}.menu-toggle span{background:currentColor;width:20px;height:1.5px;transition:transform .18s,opacity .18s,top .18s;position:absolute;right:0}.menu-toggle span:first-child{top:5px}.menu-toggle span:nth-child(2){top:11px}.menu-toggle span:nth-child(3){top:17px}.menu-toggle.is-open span:first-child{top:11px;transform:rotate(45deg)scale(.62)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){top:11px;transform:rotate(-45deg)scale(.62)}.menu-toggle:focus-visible{outline-offset:1px;outline:1px solid #8b8b8b}.mobile-menu{z-index:50;background:var(--paper);padding:29px 16px;display:block;position:fixed;inset:47px 0 0;overflow-y:auto}.mobile-menu .navigation{margin-top:0}.mobile-menu .nav-group{margin-bottom:20px}.portfolio-main{margin-left:0;padding:0 17px 35px}.project-page-main{margin-left:0;padding:0 12px 70px}.project-page-header{min-height:38px;padding:0 4px;top:47px}.project-photo-feed{gap:26px}.project-feed-item,.project-feed-size-0,.project-feed-size-1,.project-feed-size-3{width:100%;max-width:none}.project-feed-size-2{width:88%;max-width:none}.project-feed-item figcaption{margin-top:6px;padding:0 1px}.project-page-footer{padding-top:60px}.gallery-row{margin-bottom:11px}.card-caption{display:none}.gallery-card:hover .artwork,.gallery-card:focus-visible .artwork{filter:none;transform:none}.about{margin-top:45px;padding:45px 0 80px}.lightbox{grid-template-columns:0 1fr 0}.lightbox-visual{width:min(92vw, calc(68vh * var(--lightbox-aspect)))}.lightbox-caption{margin-top:12px}.lightbox-arrow{top:auto;bottom:16px;transform:none}.lightbox-prev{left:12px}.lightbox-next{right:12px}}@media (max-width:1080px){.admin-upload-form{grid-template-columns:1.2fr 1fr 1fr 90px}.admin-upload-form>.ui-button{grid-area:2/4}.admin-photo-row{grid-template-columns:104px minmax(220px,1fr) minmax(220px,.9fr) auto}.admin-thumbnail-wrap{width:104px}.admin-photo-details{display:none}}@media (max-width:780px){.admin-topbar{padding:0 18px}.admin-main{width:min(100% - 28px,680px);padding-top:32px}.admin-page-heading{flex-direction:column;align-items:flex-start}.admin-section-heading{flex-direction:column;align-items:flex-start;gap:12px}.admin-library-tools{width:100%}.admin-filter-select{flex:1;width:auto}.admin-stats{flex-wrap:wrap}.admin-upload-form{grid-template-columns:1fr 1fr}.admin-file-field,.admin-alt-field{grid-column:1/-1}.admin-upload-form>.ui-button{grid-area:auto/2}.admin-upload-switch{margin-top:0}.admin-photo-list{background:0 0;border:0;border-radius:0;gap:12px;display:grid;overflow:visible}.admin-photo-row{background:#fff;border:1px solid #e4e4e7;border-radius:10px;grid-template-columns:92px 1fr;gap:15px;padding:15px}.admin-photo-row:last-child{border-bottom:1px solid #e4e4e7}.admin-thumbnail-wrap{grid-row:1;width:92px;height:92px}.admin-photo-main-fields{grid-template-columns:1fr}.admin-photo-meta-fields,.admin-photo-actions{grid-column:1/-1}.admin-photo-actions{justify-content:flex-end}}@media (max-width:480px){.admin-main{width:calc(100% - 20px)}.admin-back-link{font-size:0}.admin-back-link svg{width:17px;height:17px}.ui-card-header,.ui-card-content{padding-left:15px;padding-right:15px}.admin-upload-form{grid-template-columns:1fr}.admin-file-field,.admin-alt-field,.admin-upload-form>.ui-button{grid-column:1}.admin-library-tools{flex-direction:column;align-items:stretch}.admin-filter-select,.admin-library-tools .ui-button{width:100%}.admin-modal{padding:20px}.admin-upload-form>.ui-button{width:100%}.admin-project-create-row{flex-direction:column;align-items:stretch}.admin-project-create-row .ui-button{width:100%}.admin-project-row{flex-direction:column;align-items:stretch}.admin-project-row-actions{justify-content:flex-end}.admin-photo-row{grid-template-columns:1fr}.admin-thumbnail-wrap{width:100%;height:190px}.admin-photo-main-fields,.admin-photo-meta-fields,.admin-photo-actions{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
