#portfolio-photo{--pg-linen: #efe1d4;--pg-surface: #ffffff;--pg-card-bg: #FAF6F2;--pg-ink: #58433b;--pg-ink-strong: #3D2E28;--pg-text-muted: #7A6459;--pg-text-light: #9C8A80;--pg-accent: #d29a84;--pg-accent-light: #E4BBA8;--pg-accent-dark: #B8806A;--pg-accent-rgb: 210, 154, 132;--pg-shadow-color: 88, 67, 59;--pg-border-color: color-mix(in oklab, var(--pg-ink) 18%, #ffffff);--pg-muted: color-mix(in oklab, var(--pg-ink) 60%, var(--pg-linen));--pg-radius-xl: 24px;--pg-radius-md: 12px;--pg-shadow: 0 12px 30px rgba(var(--pg-shadow-color), .08);--pg-shadow-hover: 0 18px 46px rgba(var(--pg-shadow-color), .12);--pg-padX: 24px;--pg-sectionY: 90px;--pg-preview-max-h: 480px}@media(max-width:600px){#portfolio-photo{--pg-padX: 16px;--pg-sectionY: 48px;--pg-preview-max-h: 320px;--pg-radius-xl: 16px;--pg-radius-md: 10px}}@media(max-width:400px){#portfolio-photo{--pg-padX: 12px;--pg-sectionY: 36px}}.pg{color:var(--pg-ink);padding:var(--pg-sectionY) var(--pg-padX)}.pg--loading{min-height:200px}.pg__loader{display:none}.pg__skip{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pg__skip:focus{position:static;width:auto;height:auto;padding:8px 12px;background:#000;border-radius:6px}.pg-section-title{width:min(1200px,92vw);margin:0 auto 48px;text-align:center;position:relative}.pg-section-title__text{margin:0;font-family:"PT Serif",Georgia,serif;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:400;text-transform:uppercase;letter-spacing:.15em;color:var(--pg-ink);line-height:1;position:relative;display:inline-block;opacity:0;transform:translateY(12px);animation:pg-title-reveal 1.2s cubic-bezier(.23,1,.32,1) .2s forwards;will-change:opacity,transform}@keyframes pg-title-reveal{to{opacity:1;transform:translateZ(0)}}.pg-section-title__flourish{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;opacity:0;transform:translateY(8px);animation:pg-title-reveal 1s cubic-bezier(.23,1,.32,1) .5s forwards;will-change:opacity,transform}.pg-section-title__flourish:before,.pg-section-title__flourish:after{content:"";width:32px;height:1px;background:linear-gradient(90deg,transparent,var(--pg-accent))}.pg-section-title__flourish:after{background:linear-gradient(90deg,var(--pg-accent),transparent)}.pg-section-title__flourish-icon{width:6px;height:6px;background:var(--pg-accent);border-radius:50%;opacity:.8}.pg-section-title__sub{display:block;margin-top:20px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.125rem;font-weight:400;font-style:italic;letter-spacing:.02em;color:var(--pg-muted);opacity:0;transform:translateY(6px);animation:pg-title-reveal 1s cubic-bezier(.23,1,.32,1) .7s forwards;will-change:opacity,transform}@media(max-width:600px){.pg-section-title{margin-bottom:32px}.pg-section-title__text{font-size:clamp(1.25rem,6vw,2rem)}.pg-section-title__flourish{gap:10px;margin-top:14px}.pg-section-title__flourish:before,.pg-section-title__flourish:after{width:20px}.pg-section-title__flourish-icon{width:4px;height:4px}.pg-section-title__sub{margin-top:14px;font-size:.9375rem}}@media(max-width:400px){.pg-section-title{margin-bottom:24px}.pg-section-title__text{font-size:1.25rem}.pg-section-title__sub{font-size:.875rem}}.pg__header{position:sticky;top:0;z-index:3;backdrop-filter:saturate(125%) blur(6px);background:color-mix(in oklab,var(--pg-linen) 82%,#fff);border-bottom:1px solid var(--pg-border-color);margin:-24px calc(var(--pg-padX) * -1) 18px;padding:14px var(--pg-padX);padding-top:calc(14px + env(safe-area-inset-top,0px))}.pg__header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:min(1200px,92vw);margin:0 auto}.pg__title{margin:0;font-weight:750;letter-spacing:-.02em;color:var(--pg-ink-strong);font-size:clamp(1.25rem,1.3vw + 1rem,1.7rem)}.pg__count{font-size:.9rem;color:var(--pg-muted);padding:4px 10px;border:1px solid var(--pg-border-color);border-radius:999px;background:#fff}.pg__filters{width:min(1200px,92vw);margin:8px auto 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:8px var(--pg-padX);margin-inline:calc(var(--pg-padX) * -1)}.pg-pill{appearance:none;border:1px solid var(--pg-border-color);background:#fff;color:var(--pg-ink-strong);padding:12px;border-radius:999px;cursor:pointer;font-weight:600;line-height:1;transition:transform .18s,background .18s,border-color .18s,color .18s;scroll-snap-align:start;white-space:nowrap;flex:0 0 auto;min-height:44px}.pg-pill:hover{transform:translateY(-1px)}.pg-pill.is-active{background:var(--pg-ink-strong);color:#fff;border-color:var(--pg-ink-strong);box-shadow:0 2px 10px rgba(var(--pg-shadow-color),.12)}.pg-modal[hidden]{display:none!important}.pg-modal{position:fixed;inset:0;z-index:2147483647!important;display:grid;place-items:center;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0)}.pg-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(var(--pg-shadow-color),.6),rgba(var(--pg-shadow-color),.85));backdrop-filter:blur(12px) saturate(120%);animation:backdropFadeIn .3s ease;cursor:pointer}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.pg-modal__content{position:relative;z-index:1;max-width:92vw;max-height:92vh;display:grid;background:var(--pg-card-bg);color:var(--pg-ink-strong);border-radius:16px;border:1px solid rgba(var(--pg-shadow-color),.08);box-shadow:0 24px 64px rgba(var(--pg-shadow-color),.25),0 8px 24px rgba(var(--pg-shadow-color),.15);animation:modalScaleIn .4s cubic-bezier(.34,1.56,.64,1);padding:6px}.pg-modal__close{position:absolute;top:16px;right:16px;z-index:10;appearance:none;width:44px;height:44px;border:none;border-radius:50%;background:rgba(var(--pg-shadow-color),.7);backdrop-filter:blur(8px);color:#fff;font-size:28px;font-weight:300;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .2s,transform .2s;-webkit-tap-highlight-color:transparent}.pg-modal__close:hover{background:rgba(var(--pg-shadow-color),.85)}.pg-modal__close:active{transform:scale(.92)}@media(max-width:600px),(pointer:coarse){.pg-modal__close{display:flex;top:calc(8px + env(safe-area-inset-top,0));right:8px}.pg-modal .image-compare-label{top:auto;bottom:12px}.pg-modal .image-compare-label.before{left:12px}.pg-modal .image-compare-label.after{right:12px}}body.pg-modal-open header,body.pg-modal-open .header,body.pg-modal-open .Header,body.pg-modal-open [class*=header],body.pg-modal-open [class*=Header],body.pg-modal-open nav[role=navigation],body.pg-modal-open .sqs-announcement-bar,body.pg-modal-open .site-header{visibility:hidden!important;pointer-events:none!important}@media(max-width:600px){.pg-modal__content{max-width:100vw;max-height:100vh;max-height:100dvh;width:100vw;height:100vh;height:100dvh;border-radius:0;padding:0;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);border:none;background:#000;display:flex;align-items:center;justify-content:center}.pg-modal__view{border-radius:0!important;width:min(100vw,calc(100dvh * var(--m-ratio, 1)))!important;height:min(100dvh,calc(100vw / var(--m-ratio, 1)))!important}}@media(max-width:900px)and (orientation:landscape){.pg-modal__content{max-width:100vw;max-height:100vh;max-height:100dvh;width:100vw;height:100vh;height:100dvh;border-radius:0;padding:0;padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);border:none;background:#000;display:flex;align-items:center;justify-content:center}.pg-modal__view{border-radius:0!important;width:min(100vw,calc(100dvh * var(--m-ratio, 1)))!important;height:min(100dvh,calc(100vw / var(--m-ratio, 1)))!important}.pg-modal__close{display:flex;top:8px;right:calc(8px + env(safe-area-inset-right,0))}.pg-modal .image-compare-label{top:auto;bottom:8px}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pg-modal__view{position:relative;background:var(--pg-card-bg);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(var(--pg-shadow-color),.05),inset 0 2px 8px rgba(var(--pg-shadow-color),.08);width:min(92vw,calc(80vh * var(--m-ratio, 1)));height:min(80vh,calc(92vw / var(--m-ratio, 1)))}.pg-modal__img{display:block;width:100%;height:100%;object-fit:contain;background:var(--pg-card-bg)}.image-compare{position:relative;margin:0;width:100%;height:100%;user-select:none;touch-action:none}.image-compare img{max-width:none;display:block;object-fit:cover}.image-compare-wrapper,.image-compare-handle{position:absolute;top:0;bottom:0}.image-compare-wrapper{left:0;overflow:hidden;width:100%;z-index:1;transform:translateZ(0);will-change:width}.image-compare-handle{color:#fff;background-color:currentColor;cursor:ew-resize;transform:translate(-50%) translateZ(0);width:2px;z-index:2;will-change:left}.image-compare-handle-icon{position:absolute;top:50%;left:50%;font-size:2rem;color:currentColor;line-height:normal}.image-compare-handle-icon.left{padding-right:10px;transform:translate(-100%,-50%)}.image-compare-handle-icon.right{padding-left:10px;transform:translateY(-50%)}@media(max-width:600px){.image-compare-handle{width:3px}.image-compare-handle-icon{font-size:1.5rem}.image-compare-handle-icon.left{padding-right:8px}.image-compare-handle-icon.right{padding-left:8px}}.image-compare-label{position:absolute;top:12px;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#fffffff2;background:rgba(var(--pg-shadow-color),.55);backdrop-filter:blur(12px) saturate(140%);padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px rgba(var(--pg-shadow-color),.2);pointer-events:none;z-index:3;opacity:1;transform:translateY(0);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.image-compare-label.before{left:12px}.image-compare-label.after{right:12px}.image-compare-label.is-hidden-immediate{opacity:0;transform:translateY(-4px);transition:opacity .12s cubic-bezier(.4,0,1,1),transform .12s cubic-bezier(.4,0,1,1)}.image-compare-label.is-hidden-delayed{opacity:0;transform:translateY(-6px);transition:opacity .5s cubic-bezier(.4,0,.2,1) .8s,transform .5s cubic-bezier(.4,0,.2,1) .8s}@media(max-width:600px){.image-compare-label{top:8px;font-size:9px;padding:5px 10px}.image-compare-label.before{left:8px}.image-compare-label.after{right:8px}}.pg-masonry{width:min(1200px,92vw);margin:10px auto 40px;column-gap:clamp(12px,2vw,24px)}@media(max-width:479px){.pg-masonry{column-count:1;column-gap:0;width:100%;padding:0 var(--pg-padX);box-sizing:border-box}}@media(min-width:480px)and (max-width:599px){.pg-masonry{column-count:1}}@media(min-width:600px)and (max-width:899px){.pg-masonry{column-count:2}}@media(min-width:900px){.pg-masonry{column-count:3}}.pg-masonry__item{break-inside:avoid;display:block;margin:0 0 clamp(12px,2vw,24px);border-radius:var(--pg-radius-xl);background:var(--pg-surface);border:1px solid var(--pg-border-color);box-shadow:var(--pg-shadow);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 300px;contain:layout style paint;opacity:0;transform:translate3d(0,28px,0) scale(.96);will-change:opacity,transform;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.pg-masonry__item.is-visible{animation:pg-card-reveal .9s cubic-bezier(.23,1,.32,1) forwards}.pg-masonry__item.is-visible:nth-child(1){animation-delay:.95s}.pg-masonry__item.is-visible:nth-child(2){animation-delay:1.02s}.pg-masonry__item.is-visible:nth-child(3){animation-delay:1.09s}.pg-masonry__item.is-visible:nth-child(4){animation-delay:1.14s}.pg-masonry__item.is-visible:nth-child(5){animation-delay:1.21s}.pg-masonry__item.is-visible:nth-child(6){animation-delay:1.28s}.pg-masonry__item.is-visible:nth-child(n+7){animation-delay:1.35s}@keyframes pg-card-reveal{60%{opacity:1}to{opacity:1;transform:translateZ(0) scale(1)}}.pg-masonry__item.is-visible.is-instant{animation:none;opacity:1;transform:none;will-change:auto}.pg-masonry__item.is-visible:hover{transform:translate3d(0,-3px,0) scale(1.008);box-shadow:0 16px 40px #d29a8429;z-index:2;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s ease;will-change:auto}.pg-masonry__media{position:relative;display:block;aspect-ratio:var(--m-ratio, 1);overflow:hidden;-webkit-tap-highlight-color:transparent}.pg-masonry__media:after{content:"";position:absolute;inset:0;background:color-mix(in oklab,var(--pg-accent) 7%,transparent);opacity:0;transition:opacity .2s ease}.pg-masonry__media:hover:after,.pg-masonry__media:focus-within:after{opacity:1}.pg-masonry__img{display:block;width:100%;height:calc(100% + 3px);object-fit:cover;object-position:top left;background:color-mix(in oklab,#fff 84%,var(--pg-linen));transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.pg-masonry__item:hover .pg-masonry__img{transform:scale(1.02)}.pg-masonry__media.is-loading .pg-masonry__img{opacity:0}.pg-skel{position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--pg-shadow-color),.04),rgba(var(--pg-shadow-color),.06),rgba(var(--pg-shadow-color),.04));background-size:200% 100%;animation:pg-shimmer 1.2s linear infinite;border-radius:inherit}@keyframes pg-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pg-masonry__title{position:absolute;left:12px;bottom:12px;font-size:9px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(var(--pg-shadow-color),.45);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:4px;border:1px solid rgba(255,255,255,.06);padding:5px 10px;pointer-events:none;z-index:2;opacity:0;transform:translateY(8px);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.pg-masonry__item:hover .pg-masonry__title,.pg-masonry__media:focus-within .pg-masonry__title{opacity:1;transform:translateY(0)}.pg-masonry__fs{position:absolute;top:12px;right:12px;transform:scale(.92) translateY(-3px);transform-origin:top right;appearance:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:rgba(var(--pg-shadow-color),.45);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#fff;border:1px solid rgba(255,255,255,.06);font-size:12px;line-height:1;cursor:pointer;opacity:0;z-index:3;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),background .25s ease,border-color .25s ease}.pg-masonry__media:hover .pg-masonry__fs,.pg-masonry__media:focus-within .pg-masonry__fs{opacity:1;transform:scale(1) translateY(0)}.pg-masonry__fs:hover{background:rgba(var(--pg-shadow-color),.6);border-color:#ffffff1a;transform:scale(1.06)}.pg-masonry__fs:active{transform:scale(.94);transition-duration:.1s}.pg-masonry__media:focus-visible{outline:2px solid color-mix(in oklab,var(--pg-accent) 70%,#fff 30%);outline-offset:3px;border-radius:16px}.pg-masonry__fs:focus-visible{outline:2px solid color-mix(in oklab,var(--pg-accent) 70%,#fff 30%);outline-offset:3px}@media(pointer:coarse){.pg-masonry__fs{width:32px;height:32px;opacity:1;transform:scale(1) translateY(0);font-size:16px;border-radius:8px}.pg-masonry__title{opacity:1;transform:translateY(0)}.pg-masonry__item.is-visible:hover{transform:none;box-shadow:var(--pg-shadow)}.pg-masonry__item:hover .pg-masonry__img{transform:none}}@media(max-width:479px){.pg-masonry__item{border-radius:var(--pg-radius-md);margin-bottom:16px}.pg-masonry__fs{top:10px;right:10px;width:32px;height:32px;font-size:15px}.pg-masonry__title{left:10px;bottom:10px;font-size:8px;padding:4px 8px;letter-spacing:.1em}}@media(prefers-reduced-motion:reduce){.pg-section-title__text,.pg-section-title__flourish,.pg-section-title__sub,.pg-masonry__item{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}.pg-masonry__img{transition:none!important}.pg-modal__content,.pg-modal__backdrop{animation:none!important}.image-compare-label{transition:opacity .1s!important}}@media print{.pg-masonry__fs,.pg-modal{display:none!important}.pg-masonry__item{break-inside:avoid;opacity:1!important;transform:none!important}}.is-hidden{display:none!important}.pg-modal__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#0000000a;border:none;color:#555;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;font-weight:400}.pg-modal__close:hover{background:#111;color:#fff;transform:rotate(90deg)}
