:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#e8e0d6;--ink:#181512;--muted:#18151294;--hairline:#1815122e;--nav-surface:#f2ede6c2;--nav-icon-surface:#fff3;--nav-icon-highlight:#ffffff85;--ambient-base:#ded5ca;--ambient-wash:#f8f5ef4d;--ambient-vignette:#ffffff42;--about-surface:#f6f2ec47;--photo-shadow:#32231833;--viewer-surface:#f4f0ead6;--viewer-edge:#18151229;--viewer-shadow:#32231829;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--serif:Iowan Old Style, Baskerville, "Times New Roman", serif}html[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#15120f;--ink:#f7f4ef;--muted:#f7f4ef9e;--hairline:#ffffff29;--nav-surface:#121110b8;--nav-icon-surface:#ffffff0f;--nav-icon-highlight:#ffffff2b;--ambient-base:#171413;--ambient-wash:#08080833;--ambient-vignette:#00000047;--about-surface:#0a0a0a33;--photo-shadow:#0000004d;--viewer-surface:#080808cc;--viewer-edge:#ffffff21;--viewer-shadow:#00000047}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page)}body{background:var(--page);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .45s,color .45s;overflow-x:clip}body.viewer-open{overflow:hidden}body.viewer-open .site-nav{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}button,a{color:inherit}button{font:inherit}a{text-underline-offset:.24em}.skip-link{z-index:1000;color:#111;background:#fff;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-nav{z-index:50;width:100%;padding:max(1.1rem, env(safe-area-inset-top)) clamp(1rem, 3vw, 3.5rem) .9rem;border-bottom:1px solid var(--hairline);background:var(--nav-surface);-webkit-backdrop-filter:blur(14px)saturate(125%);backdrop-filter:blur(14px)saturate(125%);justify-content:space-between;align-items:center;transition:background-color .45s,border-color .45s,opacity .2s,transform .2s,visibility .2s;display:flex;position:fixed;inset:0 0 auto}.wordmark{letter-spacing:-.025em;font-size:.82rem;font-weight:500;text-decoration:none}.site-nav nav{scrollbar-width:none;align-items:center;gap:clamp(.8rem,1.8vw,1.8rem);display:flex;overflow-x:auto}.site-nav nav::-webkit-scrollbar{display:none}.site-nav nav a,.theme-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.18rem 0;font-size:.7rem;text-decoration:none;transition:color .25s}.site-nav nav a:hover,.theme-toggle:hover{color:var(--ink);outline:none;text-decoration:underline;text-decoration-thickness:1px}.site-nav nav a:focus-visible{color:var(--ink);outline:none;text-decoration:underline;text-decoration-thickness:1px}.theme-toggle:focus-visible{color:var(--ink);outline:none;text-decoration:underline;text-decoration-thickness:1px}.site-nav nav .instagram-nav{border:1px solid var(--hairline);background:var(--nav-icon-surface);width:2rem;height:2rem;color:var(--ink);box-shadow:inset 0 1px var(--nav-icon-highlight);-webkit-backdrop-filter:blur(12px)saturate(135%);backdrop-filter:blur(12px)saturate(135%);border-radius:50%;flex:none;place-items:center;padding:0;transition:color .25s,background-color .25s,transform .25s;display:grid}:is(.site-nav nav .instagram-nav:hover,.site-nav nav .instagram-nav:focus-visible){text-decoration:none;transform:translateY(-1px)}.instagram-glyph{border:1.25px solid;border-radius:.26rem;place-items:center;width:.82rem;height:.82rem;display:grid;position:relative}.instagram-glyph:after{content:"";background:currentColor;border-radius:50%;width:.11rem;height:.11rem;position:absolute;top:.13rem;right:.13rem}.instagram-glyph span{border:1.15px solid;border-radius:50%;width:.34rem;height:.34rem}.experience{--tone-a:#bd321f;--tone-b:#282025;--tone-c:#d9b9a1;isolation:isolate;position:relative}.ambient{z-index:-2;background:var(--ambient-base);transition:background-color .45s;position:fixed;inset:-16vmax;overflow:hidden;transform:translateZ(0)}.ambient:after{content:"";background:var(--ambient-wash);box-shadow:inset 0 0 17vmax var(--ambient-vignette);-webkit-backdrop-filter:saturate(112%);backdrop-filter:saturate(112%);transition:background-color .45s,box-shadow .45s;position:absolute;inset:10vmax}.ambient span{filter:blur(7.5vmax)saturate(118%);opacity:.9;will-change:background-color;border-radius:50%;width:56vmax;height:56vmax;transition:background-color 1.4s cubic-bezier(.2,.75,.2,1),opacity 1.4s;display:block;position:absolute}.ambient span:first-child{background-color:var(--tone-a);top:0;left:5%}.ambient span:nth-child(2){background-color:var(--tone-b);bottom:0;right:0}.ambient span:nth-child(3){background-color:var(--tone-c);opacity:.72;width:46vmax;height:46vmax;top:34%;left:36%}.identity{min-height:100svh;padding:clamp(8rem, 16vh, 12rem) clamp(1rem, 5vw, 6rem) max(2rem, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-end;gap:12vh;display:flex}.identity>div{gap:clamp(1rem,2vw,2rem);display:grid}.identity p{margin:0}.identity>div>p{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.64rem,.75vw,.76rem)}.identity h1{font:400 clamp(4.2rem, 14.2vw, 14.7rem)/.73 var(--serif);letter-spacing:-.078em;margin:0}.identity h1 span{display:block}.identity h1 span:last-child{padding-left:.42em}.scroll-cue{color:var(--muted);align-self:flex-end;align-items:center;gap:1rem;font-size:.68rem;display:flex}.scroll-cue span{animation:1.8s ease-in-out infinite float;display:inline-block}.gallery-section,.portfolio{position:relative}.gallery-label{z-index:2;position:absolute;top:clamp(5.5rem,9vh,8rem);left:clamp(1rem,5vw,6rem)}.photo-scene{align-items:center;min-height:clamp(44rem,112svh,78rem);padding:12vh clamp(.65rem,5vw,6rem);display:flex}.photo-scene figure{width:100%;margin:0}.photo-button{cursor:zoom-in;width:100%;box-shadow:0 2.6rem 8rem var(--photo-shadow);background:#0000001f;border:0;border-radius:clamp(.22rem,.5vw,.5rem);padding:0;transition:transform .6s cubic-bezier(.2,.75,.2,1),box-shadow .6s;display:block;overflow:hidden}.photo-button:hover{box-shadow:0 3.2rem 9rem var(--photo-shadow);transform:scale(1.006)}.photo-button:focus-visible{outline:2px solid var(--ink);outline-offset:.35rem}.photo-button picture,.photo-button img{width:100%;display:block}.photo-button img{height:auto}.photo-scene figcaption{color:var(--muted);letter-spacing:.08em;justify-content:space-between;padding-top:.7rem;font-size:.61rem;display:flex}.photo-scene.size-full>figure{width:min(92vw,1580px)}.photo-scene.size-medium>figure{width:min(70vw,1120px)}.photo-scene.size-small.shape-landscape>figure{width:min(58vw,930px)}.photo-scene.size-small.shape-portrait>figure{width:min(43vw,690px)}.photo-scene.position-left>figure{margin-right:auto}.photo-scene.position-center>figure{margin-inline:auto}.photo-scene.position-right>figure{margin-left:auto}.photo-scene.position-left.size-small.shape-portrait>figure{margin-left:8vw}.photo-scene.position-right.size-small.shape-portrait>figure{margin-right:8vw}.photo-group{align-items:start;gap:clamp(.55rem,1.4vw,1.5rem);margin-inline:auto;display:grid}.photo-group-scene.size-full .photo-group{width:min(92vw,1580px)}.photo-group-scene.size-medium .photo-group{width:min(76vw,1240px)}.photo-group-scene.group-2 .photo-group{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-group-scene.group-3 .photo-group{grid-template-columns:repeat(3,minmax(0,1fr))}.opening-scene{padding-top:4vh}.gallery-jump{z-index:45;right:max(1.25rem, env(safe-area-inset-right));bottom:max(1.25rem, env(safe-area-inset-bottom));border:1px solid var(--hairline);background:var(--nav-surface);width:3rem;height:3rem;color:var(--ink);-webkit-backdrop-filter:blur(16px)saturate(125%);backdrop-filter:blur(16px)saturate(125%);box-shadow:0 1rem 3rem var(--photo-shadow);cursor:pointer;opacity:0;visibility:hidden;border-radius:50%;place-items:center;padding:0;transition:opacity .25s,transform .25s,visibility .25s,background-color .45s;display:grid;position:fixed;transform:translateY(.75rem)}.gallery-jump.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.gallery-jump:hover span{transform:translateY(.18rem)}.gallery-jump:focus-visible{outline:1px solid var(--ink);outline-offset:.25rem}.gallery-jump span{transition:transform .2s}.consent-banner{z-index:70;left:max(1.25rem, env(safe-area-inset-left));bottom:max(1.25rem, env(safe-area-inset-bottom));border:1px solid var(--hairline);background:var(--nav-surface);width:min(27rem,100vw - 2.5rem);color:var(--ink);box-shadow:inset 0 1px var(--nav-icon-highlight), 0 1.5rem 5rem var(--photo-shadow);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);border-radius:.65rem;padding:1.15rem;position:fixed}.consent-banner p{max-width:39ch;margin:0;font-size:.78rem;line-height:1.45}.consent-details-link{color:var(--muted);text-underline-offset:.22em;cursor:pointer;background:0 0;border:0;margin:.8rem 0 1rem;padding:0;font-size:.68rem;text-decoration:underline}.consent-actions,.privacy-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.consent-actions button,.privacy-actions button{border:1px solid var(--hairline);background:var(--nav-icon-surface);min-height:2.45rem;color:var(--ink);cursor:pointer;border-radius:.35rem;padding:.6rem .8rem;font-size:.68rem;transition:background-color .2s,transform .2s}.consent-actions button:hover,.privacy-actions button:hover{background:var(--nav-surface);transform:translateY(-1px)}.consent-actions button:focus-visible{outline:1px solid var(--ink);outline-offset:.2rem}.privacy-actions button:focus-visible{outline:1px solid var(--ink);outline-offset:.2rem}.consent-details-link:focus-visible{outline:1px solid var(--ink);outline-offset:.2rem}.privacy-trigger:focus-visible{outline:1px solid var(--ink);outline-offset:.2rem}.privacy-close:focus-visible{outline:1px solid var(--ink);outline-offset:.2rem}.privacy-trigger{z-index:44;left:max(1.25rem, env(safe-area-inset-left));bottom:max(1.25rem, env(safe-area-inset-bottom));border:1px solid var(--hairline);background:var(--nav-surface);color:var(--muted);cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(125%);backdrop-filter:blur(12px)saturate(125%);border-radius:2rem;padding:.45rem .65rem;font-size:.6rem;position:fixed}.privacy-backdrop{z-index:90;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(12px)saturate(105%);backdrop-filter:blur(12px)saturate(105%);background:#0c0a093d;place-items:center;display:grid;position:fixed;inset:0}.privacy-panel{border:1px solid var(--viewer-edge);background:var(--viewer-surface);width:min(100%,38rem);max-height:calc(100svh - 2rem);color:var(--ink);box-shadow:inset 0 1px var(--nav-icon-highlight), 0 3rem 10rem var(--viewer-shadow);-webkit-backdrop-filter:blur(26px)saturate(115%);backdrop-filter:blur(26px)saturate(115%);border-radius:1rem;padding:clamp(1.4rem,4vw,3rem);position:relative;overflow-y:auto}.privacy-kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem;font-size:.62rem}.privacy-panel h2{max-width:8ch;font:400 clamp(2.6rem, 6vw, 5rem)/.92 var(--serif);letter-spacing:-.05em;margin:0 0 2rem}.privacy-panel>p:not(.privacy-kicker){max-width:53ch;margin:0 0 1.4rem;font-size:.78rem;line-height:1.55}.privacy-panel a{color:inherit}.privacy-panel dl{border-top:1px solid var(--hairline);margin:1.8rem 0}.privacy-panel dl div{border-bottom:1px solid var(--hairline);grid-template-columns:8rem 1fr;gap:1rem;padding:.65rem 0;font-size:.68rem;display:grid}.privacy-panel dt{color:var(--muted)}.privacy-panel dd{margin:0}.privacy-close{border:1px solid var(--viewer-edge);background:var(--nav-icon-surface);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;border-radius:50%;padding:0;position:absolute;top:1rem;right:1rem}.privacy-close:before,.privacy-close:after{content:"";background:currentColor;width:1rem;height:1px;position:absolute;top:50%;left:50%}.privacy-close:before{transform:translate(-50%,-50%)rotate(45deg)}.privacy-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.privacy-actions{margin-top:2rem}.viewer{z-index:100;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:var(--viewer-surface);color:var(--ink);-webkit-backdrop-filter:blur(34px)saturate(115%);backdrop-filter:blur(34px)saturate(115%);touch-action:pan-y;grid-template-columns:minmax(3rem,1fr) minmax(0,12fr) minmax(3rem,1fr);align-items:center;animation:.3s ease-out both viewer-in;display:grid;position:fixed;inset:0}.viewer-glass{z-index:-1;border:1px solid var(--viewer-edge);box-shadow:inset 0 1px var(--viewer-edge), 0 3rem 10rem var(--viewer-shadow);pointer-events:none;border-radius:1.25rem;position:absolute;inset:1rem}.viewer figure{grid-column:2;place-items:center;margin:0;display:grid}.viewer img{border-radius:.2rem;width:auto;max-width:100%;height:auto;max-height:86svh;display:block;box-shadow:0 1.8rem 6rem #0000005c}.viewer figcaption{color:var(--muted);letter-spacing:.08em;margin-top:.75rem;font-size:.62rem}.viewer button{z-index:1;color:var(--muted);cursor:pointer;background:0 0;border:0;position:relative}:is(.viewer button:hover,.viewer button:focus-visible){color:var(--ink);outline:none}.viewer button:focus-visible{outline-offset:.2rem;outline:1px solid}.viewer-close{top:max(1.6rem, env(safe-area-inset-top));right:max(1.8rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid;border:1px solid var(--viewer-edge)!important;background:var(--nav-surface)!important;position:absolute!important}.viewer-close:before,.viewer-close:after{content:"";background:currentColor;width:1.15rem;height:1px;position:absolute}.viewer-close:before{transform:rotate(45deg)}.viewer-close:after{transform:rotate(-45deg)}.viewer-previous,.viewer-next{padding:2rem 1rem;font-size:1.2rem}.viewer-previous{grid-column:1}.viewer-next{grid-column:3}.about{z-index:1;min-height:100svh;padding:12vh clamp(1rem, 5vw, 6rem) max(2rem, env(safe-area-inset-bottom));background:var(--about-surface);grid-template-columns:minmax(3rem,.35fr) minmax(0,3fr) auto;align-content:center;gap:4rem;transition:background-color .45s;display:grid;position:relative}.about p{margin:0}.section-label,.copyright{color:var(--muted);margin:0;padding-top:.6rem;font-size:.65rem;font-weight:400}.about-body{grid-template-columns:minmax(17rem,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2rem,4vw,5rem);display:grid}.about-portrait{margin:0}.about-portrait picture,.about-portrait img{width:100%;display:block}.about-portrait img{height:auto;box-shadow:0 2rem 7rem var(--photo-shadow);border-radius:.25rem}.about-text{flex-direction:column;align-items:flex-start;gap:1.2rem;display:flex}.about-copy{max-width:24ch;font:400 clamp(1.9rem, 2.7vw, 3.25rem)/1.05 var(--serif);letter-spacing:-.042em;margin:0 0 2rem}.about a{font-size:.78rem}.content-section{z-index:1;min-height:100svh;padding:12vh clamp(1rem, 5vw, 6rem) max(3rem, env(safe-area-inset-bottom));background:var(--about-surface);grid-template-columns:minmax(3rem,.35fr) minmax(0,3fr) auto;align-content:center;gap:4rem;display:grid;position:relative}.content-body{width:min(100%,64rem)}.content-body>h3,.content-intro{max-width:20ch;font:400 clamp(2.8rem, 6vw, 6.8rem)/.95 var(--serif);letter-spacing:-.052em;margin:0 0 clamp(2.5rem,7vh,6rem)}.content-body>p:not(.content-intro){max-width:48ch;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.5}.content-body a{font-size:.78rem}.news-list{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--hairline);grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:2rem;padding:1.5rem 0 2.2rem;display:grid}.news-list time{color:var(--muted);padding-top:.25rem;font-size:.66rem}.news-list h3{font:400 clamp(1.7rem, 2.8vw, 3rem)/1 var(--serif);letter-spacing:-.035em;margin:0 0 .7rem}.news-list p{max-width:52ch;margin:0 0 1rem;line-height:1.5}.contact-links{flex-wrap:wrap;gap:1.5rem;margin-top:2.5rem;display:flex}@keyframes viewer-in{0%{opacity:0}}@keyframes float{50%{transform:translateY(.32rem)}}@media (max-width:700px){.site-nav{padding-inline:1rem}.site-nav nav{gap:.78rem}.identity{gap:9vh;padding-inline:1rem}.identity h1{font-size:clamp(4.05rem,25vw,6.25rem);line-height:.78}.identity h1 span:last-child{padding-left:0}.scroll-cue{align-self:flex-start}.photo-scene{min-height:96svh;padding:10vh .65rem}.photo-scene.size-full>figure,.photo-scene.size-medium>figure,.photo-scene.size-small.shape-landscape>figure{width:100%;margin-inline:auto}.photo-scene.size-small.shape-portrait>figure{width:min(79vw,29rem);margin-inline:auto}.photo-group-scene.size-full .photo-group,.photo-group-scene.size-medium .photo-group{width:100%}.photo-group{gap:.45rem}.gallery-label{top:5.5rem;left:1rem}.gallery-jump{right:max(.8rem, env(safe-area-inset-right));bottom:max(.8rem, env(safe-area-inset-bottom));width:2.8rem;height:2.8rem}.consent-banner{left:max(.8rem, env(safe-area-inset-left));bottom:max(.8rem, env(safe-area-inset-bottom));width:calc(100vw - 1.6rem)}.privacy-trigger{left:max(.8rem, env(safe-area-inset-left));bottom:max(.8rem, env(safe-area-inset-bottom))}.privacy-panel dl div{grid-template-columns:6.5rem 1fr}.viewer{grid-template-columns:3.2rem minmax(0,1fr) 3.2rem;padding-inline:.2rem}.viewer-glass{inset:.5rem}.viewer-close{top:max(.75rem, env(safe-area-inset-top));right:max(.8rem, env(safe-area-inset-right))}.viewer-previous,.viewer-next{padding:1.5rem .5rem}.viewer img{max-height:78svh}.about{padding-top:7rem;padding-bottom:max(6rem, env(safe-area-inset-bottom));grid-template-columns:1fr;align-content:start;gap:2.4rem}.about-body{grid-template-columns:1fr;gap:2.8rem}.about-copy{max-width:19ch;font-size:clamp(2.1rem,10.5vw,3.25rem)}.copyright{align-self:end}.content-section{grid-template-columns:1fr;align-content:start;gap:2.4rem;padding-top:7rem}.content-body>h3,.content-intro{font-size:clamp(2.8rem,14vw,4.8rem)}.news-list li{grid-template-columns:1fr;gap:.8rem}}@media (min-width:1500px){.photo-scene{padding-block:16vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
