:root{color:#242522;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f5f3ef;--ink:#242522;--muted:#777771;--line:#d9d7d1;--display-font:"DM Sans", Arial, sans-serif;background:#f5f3ef;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.site-header{z-index:3;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;width:100%;height:140px;margin:auto;padding:0 7.1%;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.brand{flex:none;width:100px;height:100px;display:block}.brand img{object-fit:contain;filter:brightness(0)invert();width:100%;height:100%;display:block}.main-nav{letter-spacing:.04em;align-items:center;gap:clamp(24px,4.2vw,66px);font-size:11px;display:flex}.main-nav a:not(.nav-location){color:#fff;transition:opacity .2s}.main-nav a:hover{opacity:.72}.nav-location{color:#ffffffc7;margin-left:10px}.nav-location span{color:#fff;padding-left:7px}.menu-toggle{color:#fff;background:0 0;border:0;display:none}.hero{isolation:isolate;background:#24272a;align-items:center;min-height:100svh;margin:0 auto;padding:160px 7.1% 100px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#101214c2 0%,#1012147a 48%,#10121424 100%),linear-gradient(#00000059,#0000 35% 72%,#0000003d);position:absolute;inset:0}.hero-background{z-index:-2;object-fit:cover;object-position:center 46%;opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.hero-background.is-loaded{opacity:1}.hero-copy{z-index:1;max-width:700px;padding-bottom:16px;animation:.8s ease-out 80ms both hero-copy-appear;position:relative}@keyframes hero-copy-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-fade-in{0%{opacity:0}to{opacity:1}}.eyebrow{text-transform:uppercase;letter-spacing:.19em;color:var(--muted);margin:0 0 22px;font-size:9px;line-height:1.5}h1,h2,h3,p{margin-top:0}.hero h1{color:#fff;font-family:var(--display-font);letter-spacing:-.04em;margin:0;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.02}.hero .eyebrow{color:#ffffffc2}.hero-intro{color:#ffffffd1;max-width:380px;margin:27px 0;font-size:12px;line-height:1.95}.text-link{border-bottom:1px solid #9a9a93;align-items:center;gap:13px;padding-bottom:6px;font-size:10px;transition:gap .2s;display:inline-flex}.text-link:hover{gap:19px}.hero .text-link{color:#fff;border-color:#ffffffad}.hero-photo-credit{z-index:1;color:#ffffffc7;font-size:9px;animation:.7s .25s both soft-fade-in;position:absolute;bottom:22px;right:7.1%}.work-section{border-top:1px solid var(--line);padding:103px 7.1% 122px}.reveal-on-scroll{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(4px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.photo-card.reveal-on-scroll:nth-child(3n+2){transition-delay:50ms}.photo-card.reveal-on-scroll:nth-child(3n){transition-delay:.1s}.section-heading{justify-content:space-between;align-items:end;gap:25px;max-width:1450px;margin:auto;display:flex}.section-heading .eyebrow{margin-bottom:13px}h2{font-family:var(--display-font);letter-spacing:-.035em;margin:0;font-size:clamp(41px,5vw,66px);font-weight:500;line-height:1.08}.mode-switch{border-bottom:1px solid var(--line);gap:27px;padding-bottom:10px;display:flex}.mode-switch button,.category-tabs button{cursor:pointer;color:#8b8b85;background:0 0;border:none;padding:0;font-size:10px}.mode-switch button.active,.category-tabs button.active{color:var(--ink)}.mode-switch button.active:after{content:"";background:var(--ink);height:1px;display:block;position:relative;top:11px}.category-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1450px;margin:48px auto 24px;padding-bottom:13px;display:flex}.category-tabs{flex-wrap:wrap;gap:clamp(18px,3vw,42px);display:flex}.category-tabs button{letter-spacing:.07em;font-size:9px}.work-count{color:#85857e;font-size:9px}.photo-grid{columns:3;column-gap:15px;max-width:1450px;margin:0 auto}.photo-card{break-inside:avoid;cursor:zoom-in;text-align:left;background:#e3e0d9;border:0;width:100%;margin:0 0 15px;padding:0;display:block;position:relative;overflow:hidden}.photo-card img{object-fit:cover;width:100%;height:auto;min-height:190px;transition:transform .6s;display:block}.photo-card:hover img{transform:scale(1.025)}.photo-card-info{opacity:0;color:#fff;background:linear-gradient(#0000,#161614a8);justify-content:space-between;align-items:center;padding:27px 15px 13px;font-size:10px;transition:opacity .25s;display:flex;position:absolute;inset:auto 0 0}.photo-card:hover .photo-card-info,.photo-card:focus-visible .photo-card-info{opacity:1}.empty-state{border:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:1450px;min-height:225px;margin:0 auto;display:flex}.empty-state>span{color:var(--muted);letter-spacing:.12em;margin-bottom:17px;font-size:9px}.empty-state h3{font-family:var(--display-font);margin:0 0 9px;font-size:20px;font-weight:500}.empty-state p{color:var(--muted);margin:0;font-size:10px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px;max-width:1450px;margin:0 auto;display:grid}.video-poster{aspect-ratio:16/9;background:#dfdcd5;place-items:center;display:grid;position:relative;overflow:hidden}.video-poster img{object-fit:cover;width:100%;height:100%}.play-mark{color:#fff;border:1px solid #fff9;border-radius:50%;place-items:center;width:54px;height:54px;padding-left:3px;font-size:13px;display:grid}.video-open{color:#fff;position:absolute;top:13px;right:13px}.video-title{font-family:var(--display-font);margin-top:12px;font-size:16px;font-weight:500;display:block}.video-kind{color:var(--muted);margin-top:5px;font-size:9px;display:block}.about-section{background:#e8e5df;grid-template-columns:1fr 2fr;padding:89px 7.1%;display:grid}.about-number{color:var(--muted);letter-spacing:.1em;font-size:9px}.about-content{max-width:650px;padding:4px 8% 0 0}.about-content .eyebrow{margin-bottom:25px}.about-content h2{font-size:clamp(54px,7vw,94px)}.about-text{color:#71716c;max-width:370px;margin:25px 0;font-size:12px;line-height:2}.contact-section{grid-template-columns:1fr 1fr;gap:11%;max-width:1600px;margin:auto;padding:112px 7.1% 115px;display:grid}.contact-intro h2{font-size:clamp(45px,6vw,78px)}.contact-intro>p:not(.eyebrow){max-width:310px;color:var(--muted);margin:23px 0;font-size:11px;line-height:1.9}.contact-details{color:var(--muted);margin-top:20px!important;font-size:9px!important;line-height:1.9!important}.contact-details a{color:var(--ink)}.contact-form{flex-direction:column;gap:23px;padding-top:8px;display:flex}.contact-form label{color:#686862;letter-spacing:.05em;font-size:9px}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #c7c5bf;border-radius:0;outline:none;margin-top:8px;padding:9px 0;font-size:12px;display:block}.contact-form input:focus,.contact-form textarea:focus{border-color:#57564e}.contact-form .honeypot{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.submit-button{cursor:pointer;background:0 0;border:1px solid #77756e;align-self:flex-start;align-items:center;gap:24px;padding:12px 17px;font-size:10px;display:flex}.submit-button:hover{background:var(--ink);color:var(--paper)}.submit-button:disabled{opacity:.5;cursor:wait}.form-note{color:#65735d;min-height:16px;margin:-12px 0 0;font-size:10px}.site-footer{border-top:1px solid var(--line);min-height:75px;color:var(--muted);align-items:center;gap:35px;padding:16px 7.1%;font-size:9px;display:flex}.footer-mark{flex:none;width:46px;height:46px;margin-right:auto;display:block}.footer-mark img{object-fit:contain;width:100%;height:100%;display:block}.lightbox{z-index:10;background:#191a18f5;place-items:center;padding:5vh 7vw;display:grid;position:fixed;inset:0}.lightbox>img{object-fit:contain;max-width:100%;max-height:83vh}.lightbox-close,.lightbox-arrow{color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute}.lightbox-close{top:24px;right:25px}.lightbox-share{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff5;align-items:center;gap:8px;padding:9px 11px;font-size:10px;display:flex;position:absolute;top:20px;left:22px}.lightbox-arrow{padding:12px;top:50%;transform:translateY(-50%)}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-caption{color:#dedcd7;letter-spacing:.05em;font-size:10px;position:absolute;bottom:22px}@media (width>=1500px){.hero,.site-header{padding-left:100px;padding-right:100px}.work-section,.about-section,.contact-section{padding-left:max(7.1%,50vw - 695px);padding-right:max(7.1%,50vw - 695px)}}@media (width<=800px){.site-header{height:122px;padding:0 6%}.brand{width:84px;height:84px}.main-nav{gap:21px;font-size:10px}.nav-location{display:none}.hero{min-height:100svh;padding:160px 6% 100px}.hero h1{font-size:clamp(48px,8vw,72px)}.work-section{padding:78px 6% 87px}.photo-grid{columns:2}.about-section{grid-template-columns:.55fr 1.45fr;padding:74px 6%}.contact-section{gap:7%;padding:82px 6%}}@media (width<=560px){.site-header{height:110px;padding:0 5%}.brand{width:80px;height:80px}.menu-toggle{padding:7px;display:block}.main-nav{z-index:5;background:#141618f5;border-bottom:1px solid #ffffff40;flex-direction:column;align-items:flex-start;padding:25px 6% 30px;display:none;position:absolute;top:110px;left:0;right:0}.main-nav.is-open{display:flex}.hero{min-height:100svh;padding:150px 5% 90px}.hero-background{object-position:55% center}.hero h1{font-size:clamp(42px,12vw,60px)}.hero-intro{max-width:300px;font-size:11px}.hero-photo-credit{bottom:17px;right:5%}.section-heading{flex-direction:column;align-items:flex-start}.mode-switch{margin-top:14px}.category-row{margin-top:36px}.category-tabs{gap:14px 19px}.photo-grid{columns:2;column-gap:8px}.photo-card{margin-bottom:8px}.photo-card-info{opacity:1;padding:23px 8px 8px;font-size:8px}.work-section{padding:73px 5% 79px}.about-section{padding:60px 5%;display:block}.about-number{margin-bottom:24px}.about-content{padding:0}.about-content h2{font-size:70px}.contact-section{grid-template-columns:1fr;gap:47px;padding:79px 5% 81px}.contact-intro h2{font-size:62px}.site-footer{flex-wrap:wrap;gap:13px 20px;padding:20px 5%;font-size:8px}.footer-mark+span{margin-right:auto}.lightbox{padding:5vh 12vw}.lightbox-prev{left:0}.lightbox-next{right:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-background{opacity:1;transition:none}.hero-copy,.hero-photo-credit{opacity:1;animation:none}.reveal-on-scroll,.reveal-on-scroll.is-visible{opacity:1;transition:none;transform:none}}.admin-page{max-width:1280px;min-height:100vh;margin:auto;padding:45px 7%}.admin-back{color:var(--muted);align-items:center;gap:8px;margin-bottom:45px;font-size:10px;display:inline-flex}.admin-login{max-width:420px;margin:7vh auto}.admin-login h1,.admin-header h1{font-family:var(--display-font);letter-spacing:-.035em;margin-bottom:34px;font-size:clamp(46px,7vw,74px);font-weight:500;line-height:1.08}.admin-login label,.admin-video-form label{color:var(--muted);margin-bottom:20px;font-size:10px;display:block}.admin-login input,.admin-video-form input,.admin-video-form select,.admin-category-form input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:11px 0;font-size:12px;display:block}.login-arrow{transform:rotate(135deg)}.admin-message{color:#8d5c47;min-height:18px;font-size:10px}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;display:flex}.admin-header .admin-back{margin:0 0 48px}.admin-header .eyebrow{margin-bottom:13px}.admin-header h1{margin-bottom:28px}.admin-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-bottom:33px;font-size:10px}.admin-grid{grid-template-columns:1fr 1fr;gap:17px;margin-top:24px;display:grid}.admin-panel{border:1px solid var(--line);padding:27px}.admin-hero-panel{grid-column:1/-1}.admin-hero-panel>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:11px;line-height:1.8}.admin-hero-preview{aspect-ratio:2.2;background:#e8e5df;margin:18px 0 22px;position:relative;overflow:hidden}.admin-hero-preview img{object-fit:cover;width:100%;height:100%;display:block}.admin-hero-preview span{color:#fff;background:linear-gradient(#0000,#000000a6);padding:26px 14px 11px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.hero-photo-choices{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px;margin:20px 0;display:grid}.hero-photo-choice{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;min-width:0;padding:0}.hero-photo-choice.selected{border-color:var(--ink)}.hero-photo-choice:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.hero-photo-choice img{aspect-ratio:3/2;object-fit:cover;background:#e8e5df;width:100%;display:block}.hero-photo-choice span{flex-direction:column;gap:4px;padding:7px;display:flex}.hero-photo-choice small{color:var(--muted);text-transform:capitalize;font-size:8px}.hero-photo-choice strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;overflow:hidden}.hero-mode-options{border:0;flex-wrap:wrap;gap:20px;margin:20px 0;padding:0;display:flex}.hero-mode-options legend{color:var(--muted);margin-bottom:10px;font-size:10px}.hero-mode-options label{color:var(--ink);cursor:pointer;align-items:center;gap:7px;font-size:10px;display:inline-flex}.hero-mode-options input{accent-color:var(--ink)}.admin-hero-panel .submit-button:disabled{opacity:.5;cursor:not-allowed}.admin-panel .eyebrow{margin-bottom:11px}.admin-panel h2{margin-bottom:23px;font-size:34px}.category-manager{margin:24px 0}.category-manager h3{margin-bottom:9px;font-size:10px;font-weight:500}.admin-list{margin:12px 0 15px;padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:11px 0;display:flex}.admin-list li span{flex-direction:column;gap:4px;display:flex}.admin-list strong{font-size:11px;font-weight:500}.admin-list small{color:var(--muted);font-size:9px}.admin-list button,.admin-category-form button{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:7px;display:grid}.category-name{flex:1;min-width:0}.category-name input{width:100%;color:var(--ink);background:0 0;border:0;padding:2px 0;font-size:11px}.category-actions{display:flex}.admin-category-form{align-items:center;gap:10px;display:flex}.admin-category-form input{font-size:10px}.admin-video-form{margin-bottom:28px}.admin-video-form select{appearance:auto}.admin-video-form .submit-button{margin-top:21px}.admin-photos{grid-column:1/-1}.admin-photos>p:not(.eyebrow){max-width:650px;color:var(--muted);font-size:11px;line-height:1.8}.folder-example{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.folder-example code{background:#e9e7e1;padding:9px 11px;font-size:10px}.admin-photo-count{color:var(--muted);font-size:10px}.admin-photo-upload{background:#eeece7;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.5fr) auto;align-items:end;gap:18px;margin:24px 0 30px;padding:18px;display:grid}.admin-photo-upload label,.admin-photo-library-heading label{color:var(--muted);gap:8px;font-size:10px;display:grid}.admin-photo-upload select,.admin-photo-library-heading select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:10px}.admin-photo-file-input input{min-width:0;color:var(--ink);font-size:10px}.admin-photo-upload .submit-button{white-space:nowrap;margin:0}.admin-photo-upload .submit-button:disabled,.admin-photo-item-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-photo-library-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.admin-photo-library-heading label{width:min(260px,100%)}.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px;display:grid}.admin-photo-item{border:1px solid var(--line);background:#fff;min-width:0;overflow:hidden}.admin-photo-item>img{aspect-ratio:4/3;object-fit:cover;background:#e8e5df;width:100%;display:block}.admin-photo-item-caption{flex-direction:column;gap:4px;min-width:0;padding:9px 9px 5px;display:flex}.admin-photo-item-caption strong,.admin-photo-item-caption small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-photo-item-caption strong{font-size:10px;font-weight:500}.admin-photo-item-caption small{color:var(--muted);font-size:8px}.admin-photo-item-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:3px 6px 7px;display:grid}.admin-photo-item-actions button,.admin-photo-replace{min-height:29px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:0 8px;font-size:9px;display:inline-flex}.admin-photo-item-actions button:hover,.admin-photo-replace:hover{color:var(--ink)}.admin-photo-move{color:var(--muted);grid-column:1/-1;gap:5px;font-size:9px;display:grid}.admin-photo-move select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:6px}.admin-photo-move-button{border:1px solid var(--line)!important;color:var(--ink)!important;background:#eeece7!important}.admin-photo-replace{position:relative;overflow:hidden}.admin-photo-replace input{opacity:0;width:1px;height:1px;position:absolute}.admin-photo-replace:focus-within{outline:2px solid var(--ink);outline-offset:-2px}.admin-photo-secondary-actions{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.admin-photo-empty,.admin-photo-lightroom{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.7}.admin-photo-lightroom code{color:var(--ink);background:#e9e7e1;padding:3px 5px}@media (width<=650px){.admin-page{padding:30px 5%}.admin-grid{grid-template-columns:1fr}.admin-hero-panel,.admin-photos{grid-column:auto}.admin-panel{padding:21px}.admin-header{align-items:flex-start}.admin-logout{margin-top:27px}.admin-photo-upload{grid-template-columns:1fr}.admin-photo-library-heading{flex-direction:column;align-items:flex-start}.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
