*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#071013;color:#f5f7f4;font-family:"Manrope",sans-serif}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:74px;position:fixed;z-index:10;top:0;left:0;width:100%;padding:0 4.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:linear-gradient(#041014a8,transparent)}.wordmark{display:flex;align-items:baseline;white-space:nowrap;font-family:"Barlow Condensed",sans-serif;font-size:27px;font-weight:700;letter-spacing:.075em;line-height:1;text-shadow:0 1px 12px #001a20aa}.word-main{font-weight:600;letter-spacing:.055em}.word-accent{font-weight:800;letter-spacing:.015em}.wordmark sup{font:8px Manrope,sans-serif;margin-left:4px;align-self:flex-start}.main-nav{display:flex;gap:clamp(14px,2.1vw,36px)}.main-nav a{font-size:10px;letter-spacing:.18em;color:#f3f7f5;opacity:.8;transition:opacity .2s}.main-nav a:hover,.main-nav a.current{opacity:1}.socials{display:flex;justify-content:flex-end;gap:19px}.socials a{width:18px;height:18px;opacity:.9}.socials svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.socials svg:last-child path{fill:#fff;stroke:none}.socials .dot{fill:#fff;stroke:none}.view{display:none;min-height:100vh}.view.active{display:block}.home-view{height:100svh;min-height:600px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.86)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#03101480,transparent 40%,#03101440),linear-gradient(90deg,#03101440,transparent 72%)}.hero-title{position:absolute;left:10vw;top:50%;transform:translateY(-43%)}.hero-title p{font-size:9px;letter-spacing:.25em;color:#e1f0ed;margin:0 0 19px;text-shadow:0 1px 8px #00343c}.hero-title h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(58px,9vw,126px);font-weight:600;letter-spacing:.035em;line-height:.9;margin:0 0 30px;text-shadow:0 2px 22px #002d35aa}.contact-link{display:inline-flex;gap:23px;align-items:center;font-size:9px;letter-spacing:.22em;border-bottom:1px solid #ffffffbb;padding:0 0 10px}.contact-link span{font-size:16px}.hero-foot{position:absolute;bottom:25px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;color:#e0eeeb;font-size:8px;letter-spacing:.18em}.gallery-view{padding:100px 5vw 36px;display:none;flex-direction:column;align-items:center}.gallery-view.active{display:flex}.category-nav{display:flex;justify-content:center;gap:30px;margin:0 auto 24px;padding:0 0 14px}.category-tab{border:0;background:transparent;color:#89999a;font-size:10px;letter-spacing:.2em;padding:5px 2px 8px;cursor:pointer;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.category-tab:hover,.category-tab.active{color:#f4f7f5;border-bottom-color:#dce8e5}.carousel{width:min(100%,1180px);height:min(68vh,760px);min-height:300px;position:relative;display:flex;justify-content:center;align-items:center}.carousel-figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.carousel-figure img{max-width:calc(100% - 100px);width:auto;height:calc(100% - 48px);object-fit:contain;display:block;filter:saturate(.9)}.carousel-figure figcaption{font-size:11px;letter-spacing:.08em;color:#d7e2df;min-height:18px}.carousel-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:48px;height:58px;border:1px solid #ffffff55;background:#07101366;color:#fff;font-size:38px;font-weight:300;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}.carousel-arrow:hover{background:#ffffff1c;border-color:#ffffffbb}.carousel-arrow.previous{left:0}.carousel-arrow.next{right:0}.carousel-status{width:min(100%,1180px);display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:#89999a;font-size:9px;letter-spacing:.16em}.carousel-dots{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:75%}.carousel-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#546163;cursor:pointer}.carousel-dot.active{background:#e6efec}.film-view.active{display:flex}.film-view,.work-view{min-height:100vh;padding:120px 8vw 64px;align-items:center;justify-content:center;flex-direction:column;text-align:center}.section-kicker,.about-kicker{font-size:9px;letter-spacing:.24em;color:#9badae}.film-view h2,.work-heading h2{font-family:"Barlow Condensed",sans-serif;font-size:clamp(58px,9vw,108px);line-height:.9;letter-spacing:.035em;font-weight:600;margin:18px 0 24px}.film-note{font-size:12px;color:#b8c7c4}.work-view.active{display:flex}.work-heading>p:last-child{font-size:12px;color:#d1dcda;margin:0 0 30px}.work-heading .section-kicker{margin:0}.work-player{width:min(100%,1050px);aspect-ratio:16/9;background:#111a1d;box-shadow:0 20px 70px #0006}.work-player iframe{display:block;width:100%;height:100%;border:0}.youtube-link{display:inline-flex;gap:14px;align-items:center;margin-top:25px;padding-bottom:9px;border-bottom:1px solid #b9c8c5;font-size:9px;letter-spacing:.2em}.youtube-link span{font-size:15px}.about-view{min-height:100vh;padding:105px 8vw 60px;background:#071013;display:none;align-items:center}.about-view.active{display:flex}.about-layout{width:100%;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(36px,6vw,88px);align-items:center}.about-image-wrap{width:100%;height:min(66vh,680px);min-height:360px;overflow:hidden;background:#101a1d}.about-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.about-copy{max-width:570px}.about-kicker{margin:0 0 22px}.about-copy h2{font-family:"Barlow Condensed",sans-serif;font-size:clamp(54px,6.5vw,90px);line-height:.9;letter-spacing:.035em;font-weight:600;margin:0 0 26px}.about-intro{font-size:13px;line-height:1.9;color:#d1dcda;max-width:540px;margin:0}.about-details{display:grid;gap:16px;margin:28px 0}.about-details span{font-size:8px;letter-spacing:.22em;color:#8ea1a2}.about-details p{font-size:11px;line-height:1.8;color:#e3eae8;margin:7px 0 0}.email-link{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #b9c8c5;padding:0 0 11px;font-size:10px;letter-spacing:.2em;margin-top:5px}.email-link span{font-size:16px}.email-link small{font-size:9px;letter-spacing:.04em;color:#9aacab;margin-left:5px}
@media(max-width:800px){.topbar{height:64px;padding:0 5vw;grid-template-columns:1fr auto}.socials{display:none}.main-nav{gap:clamp(12px,3vw,22px)}.main-nav a{font-size:9px}.gallery-view{padding:86px 4vw 28px}.carousel{height:66vh;min-height:280px}.carousel-figure img{max-width:calc(100% - 70px)}.carousel-arrow{width:38px;height:48px}.about-view{padding:88px 6vw 44px}.about-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.about-image-wrap{height:48vh;min-height:280px}.about-copy h2{font-size:clamp(50px,8vw,68px)}.about-intro{font-size:12px;line-height:1.8}.about-details{margin:20px 0;gap:12px}}
@media(max-width:560px){.topbar{grid-template-columns:1fr auto;gap:12px}.wordmark{font-size:22px}.main-nav{gap:12px}.main-nav a{font-size:8px;letter-spacing:.12em}.home-view{min-height:540px}.hero-title{left:7vw}.hero-title p{font-size:8px}.hero-title h1{font-size:clamp(48px,13vw,70px)}.gallery-view{padding:80px 3vw 22px}.category-nav{margin-bottom:14px;gap:24px}.category-tab{font-size:9px}.carousel{height:68vh;min-height:260px}.carousel-figure img{max-width:calc(100% - 56px);height:calc(100% - 46px)}.carousel-arrow{width:32px;height:42px;font-size:31px}.carousel-status{padding:0 4px}.carousel-dots{gap:6px;max-width:78%}.carousel-dot{width:6px;height:6px}.about-view{padding:78px 6vw 36px;align-items:flex-start}.about-layout{grid-template-columns:1fr;gap:24px}.about-image-wrap{height:34vh;min-height:210px;max-height:340px}.about-copy h2{font-size:58px;margin-bottom:20px}.about-kicker{margin-bottom:16px}.about-intro{font-size:12px}.work-view,.film-view{padding:96px 6vw 48px}.work-heading>p:last-child{line-height:1.7}.work-player{width:100%}}
/* Full-screen photo viewer */
.photo-expand{display:flex;align-items:center;justify-content:center;width:100%;height:calc(100% - 32px);border:0;padding:0;background:none;cursor:zoom-in}.photo-expand img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in}body.viewer-open{overflow:hidden}.photo-lightbox{position:fixed;z-index:40;inset:0;display:none;align-items:center;justify-content:center;background:#03090bf7;padding:38px 72px 56px;touch-action:pan-y}.photo-lightbox.open{display:flex}.lightbox-figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.lightbox-figure img{display:block;max-width:100%;max-height:calc(100% - 34px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}.lightbox-figure figcaption{font-size:12px;letter-spacing:.08em;color:#d7e2df}.lightbox-close,.lightbox-arrow{position:absolute;z-index:1;color:#fff;background:#07101366;border:1px solid #ffffff55;cursor:pointer}.lightbox-close{top:17px;right:22px;width:44px;height:44px;font-size:33px;font-weight:200;line-height:1}.lightbox-arrow{top:50%;transform:translateY(-50%);width:48px;height:58px;font-size:38px;font-weight:300;line-height:1}.lightbox-previous{left:16px}.lightbox-next{right:16px}.lightbox-count{position:absolute;bottom:19px;left:0;right:0;text-align:center;color:#9badae;font-size:10px;letter-spacing:.16em}
@media(max-width:560px){.photo-lightbox{padding:44px 38px 58px}.lightbox-figure img{max-width:100%;max-height:calc(100% - 34px)}.lightbox-arrow{width:32px;height:44px;font-size:30px}.lightbox-previous{left:4px}.lightbox-next{right:4px}.lightbox-close{top:9px;right:9px;width:38px;height:38px}}
.gallery-view,.film-view,.work-view,.about-view{background:#000}
body[data-view="photo"] .topbar,body[data-view="film"] .topbar,body[data-view="work"] .topbar,body[data-view="about"] .topbar{background:#000}
.photo-grid{width:100%;max-width:1680px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.photo-tile{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border:0;padding:0;background:#101416;cursor:zoom-in;text-align:left}
.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .35s;filter:saturate(.9)}
.photo-tile:hover img{transform:scale(1.035);opacity:.84}
.photo-tile-caption{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 12px;background:linear-gradient(transparent,#000a);color:#fff;font-size:11px;letter-spacing:.06em;opacity:0;transition:opacity .25s}
.photo-tile:hover .photo-tile-caption,.photo-tile:focus-visible .photo-tile-caption{opacity:1}
@media(max-width:800px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(max-width:560px){.gallery-view{padding-top:80px}.photo-grid{gap:6px}.photo-tile{aspect-ratio:1/1}.photo-tile-caption{opacity:1;font-size:9px;padding:28px 9px 8px}}
.film-view{display:none;align-items:center;justify-content:flex-start;gap:8px;padding-top:100px}
.film-view.active{display:flex}
.film-heading{width:100%;max-width:1680px;text-align:center}
.film-heading .section-kicker{margin:0}
.film-heading h2{margin:8px 0 22px;font-family:"Barlow Condensed",sans-serif;font-size:clamp(38px,5vw,62px);font-weight:600;letter-spacing:.04em;line-height:1}
.film-grid{width:100%;max-width:1680px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.film-tile{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border:0;padding:0;background:#101416;color:#fff;text-align:left;cursor:pointer}
.film-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .35s}
.film-tile:hover img{transform:scale(1.035);opacity:.8}
.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;padding-left:4px;border:1px solid #ffffffd0;border-radius:50%;background:#07101377;color:white;font-size:16px;transition:background .2s,transform .2s}
.film-tile:hover .film-play{background:#000b;transform:translate(-50%,-50%) scale(1.08)}
.film-title{position:absolute;left:0;right:0;bottom:0;padding:36px 14px 12px;background:linear-gradient(transparent,#000b);color:#fff;font-size:11px;letter-spacing:.03em}
.video-lightbox{position:fixed;z-index:45;inset:0;display:none;align-items:center;justify-content:center;background:#000f;padding:48px 7vw 60px;touch-action:pan-y}
.video-lightbox.open{display:flex}
.video-lightbox-content{width:min(100%,1240px);aspect-ratio:16/9;background:#000}
.video-lightbox-content iframe{display:block;width:100%;height:100%;border:0}
.video-lightbox-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:1px solid #ffffff55;background:#07101366;color:#fff;font-size:33px;font-weight:200;line-height:1;cursor:pointer}
.video-lightbox-count{position:absolute;bottom:19px;left:0;right:0;text-align:center;color:#9badae;font-size:10px;letter-spacing:.16em}
@media(max-width:800px){.film-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
@media(max-width:560px){.film-view{padding:84px 3vw 24px;gap:6px}.film-heading h2{font-size:40px;margin:5px 0 15px}.film-grid{grid-template-columns:1fr;gap:8px}.film-title{font-size:10px;padding:32px 10px 9px}.video-lightbox{padding:48px 4vw 55px}.video-lightbox-close{top:9px;right:9px;width:38px;height:38px}}

.photo-tile[hidden]{display:none!important}

/* V7: mobile-friendly photo viewer with selectable thumbnails and zoom */
.photo-lightbox{padding:0;flex-direction:column;justify-content:stretch;touch-action:pan-y}
.lightbox-toolbar{position:absolute;z-index:3;top:0;left:0;right:0;height:58px;display:flex;align-items:center;gap:10px;padding:0 14px;background:linear-gradient(#000c,transparent);}
.lightbox-toolbar .lightbox-count{position:static;flex:1;text-align:left}
.zoom-button,.lightbox-close{position:static;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#101719b8;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.lightbox-close{font-size:28px}
.lightbox-figure{width:100%;height:auto;min-height:0;flex:1;padding:66px 12px 8px;gap:10px}
.lightbox-figure img{max-width:100%;max-height:calc(100% - 26px);transform-origin:center center;transition:transform .12s ease;touch-action:none;cursor:grab}
.lightbox-figure img.zoomed{cursor:move}
.lightbox-thumbnails{flex:none;width:100%;height:82px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#080a0b;border-top:1px solid #ffffff24;scrollbar-width:thin}
.lightbox-thumb{flex:0 0 68px;height:58px;padding:0;border:1px solid transparent;background:#111;opacity:.62;cursor:pointer;overflow:hidden}
.lightbox-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.lightbox-thumb.active{border-color:#fff;opacity:1}
.lightbox-arrow{z-index:2}
@media(max-width:560px){.lightbox-toolbar{height:54px;padding:0 10px;gap:8px}.zoom-button,.lightbox-close{width:34px;height:34px}.lightbox-thumbnails{height:76px}.lightbox-thumb{flex-basis:60px;height:54px}.lightbox-figure{padding:60px 5px 6px}.lightbox-arrow{top:46%}}

.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.work-grid{grid-template-columns:1fr}}

.lightbox-figure img.zoomed{cursor:grab}.lightbox-figure img.panning{cursor:grabbing}
