@font-face{font-family:'Schibsted Grotesk';src:url('/fonts/schibsted-grotesk-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{color-scheme:light;--paper:#f8f9fb;--ink:#20232a;--muted:#656972;--line:#ccd0d8;--blue:#355eea;--gutter:clamp(20px,3.7vw,72px);font-family:'Schibsted Grotesk',Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}img{display:block;width:100%;height:auto}h1,h2,p{margin:0}h1,h2{font-weight:650;letter-spacing:-.055em;line-height:1.02}button{cursor:pointer}.skip-link{visibility:hidden;position:fixed;top:12px;left:20px;padding:12px;background:var(--paper);z-index:20}.skip-link:focus{visibility:visible}.site-header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--gutter);gap:20px;max-width:1920px;margin:auto}.wordmark{display:block;flex:none;font-size:clamp(22px,1.8vw,28px);font-weight:650;letter-spacing:-.055em;white-space:nowrap}.site-header nav{display:flex;gap:36px;font-size:17px}.site-header nav a{padding:6px 0;position:relative}.site-header nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a:hover::after{transform:scaleX(1)}.site-header a[aria-current=page]{color:var(--blue)}main{padding:0 var(--gutter);min-height:55vh;max-width:1920px;margin:auto}main:focus{outline:none}.text-action{display:inline-flex;align-items:center;gap:14px;font-size:18px;min-height:44px}.text-action svg{transition:transform .2s}.text-action:hover svg,.text-action:focus-visible svg{transform:translate(3px,-3px)}.work-navigation{display:flex;gap:clamp(28px,4.5vw,72px);border-bottom:1px solid #8f949f;margin-bottom:24px}.work-navigation a{position:relative;font-size:clamp(30px,3.8vw,58px);font-weight:550;letter-spacing:-.06em;color:var(--muted);padding:4px 0 14px;transition:color .2s}.work-navigation a:hover{color:var(--blue)}.work-navigation a[aria-current=page]{color:var(--ink)}.work-navigation a[aria-current=page]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ink)}.album-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 24px}.album-tile{display:block;min-width:0}.album-grid .album-tile:nth-child(4n+1),.album-grid .album-tile:nth-child(4n+4){grid-column:span 7}.album-grid .album-tile:nth-child(4n+2),.album-grid .album-tile:nth-child(4n+3){grid-column:span 5}.cover-frame{height:clamp(260px,34vw,650px);overflow:hidden;background:#e8eaee}.cover-frame img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}.album-tile:hover .cover-frame img,.album-tile:focus-visible .cover-frame img{transform:scale(1.025)}.album-label{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding-top:14px;font-size:clamp(24px,2.35vw,36px);font-weight:550;letter-spacing:-.045em;line-height:1.2}.album-title{min-width:0}.album-tile[href='/work/portraits'] .cover-frame img,.album-tile[href='/work/animals-nature'] .cover-frame img{object-position:50% 20%}.gallery-top{position:relative;isolation:isolate;padding:36px 0 40px}.gallery-top .gallery-title{font-size:clamp(34px,5vw,88px);line-height:1.1;letter-spacing:-.045em}.breadcrumbs{display:flex;gap:12px;font-size:15px;align-items:center;margin-bottom:18px;color:var(--muted)}.breadcrumbs a{color:var(--blue);padding:4px 0}.display-title{font-size:clamp(58px,8.5vw,150px);max-width:100%;overflow-wrap:break-word}.photo-count{color:var(--muted);font-size:15px;margin-top:15px}.photo-grid{display:flex;flex-direction:column;gap:18px}.photo-row{display:flex;gap:18px;align-items:start}.photo-button{flex:none;display:block;border:0;background:#e8eaee;padding:0;cursor:zoom-in;min-width:0;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:contain;transition:filter .3s}.photo-button:hover img{filter:brightness(.95)}.related-work{padding:80px 0 0}.related-work h2{font-size:clamp(34px,4vw,60px);margin-bottom:28px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-grid .cover-frame{height:auto;aspect-ratio:1.45}.related-grid .album-label{font-size:clamp(18px,1.6vw,25px)}.site-footer{background:var(--ink);color:var(--paper);padding:0 var(--gutter);margin-top:100px;overflow:hidden}.footer-callout{max-width:1776px;margin:auto;position:relative;isolation:isolate;padding:76px 0 70px}.footer-callout p,.footer-callout>a{font-size:clamp(48px,7.8vw,124px);line-height:1.08;font-weight:600;letter-spacing:-.06em}.footer-callout>a{display:inline-flex;align-items:center;gap:16px}.footer-base{max-width:1776px;margin:auto;display:flex;align-items:center;gap:36px;border-top:1px solid #ffffff40;padding:28px 0 32px;font-size:14px;color:#d4d8e1}.footer-name{margin-right:auto;font-weight:550}.footer-base nav{display:flex;gap:28px}.footer-base a:hover{color:white;text-decoration:underline;text-underline-offset:5px}#back-top{display:inline-flex;align-items:center;gap:8px}#back-top svg{width:16px;height:16px}.coming-content{padding:60px 0 70px}.coming-content h2{font-size:clamp(30px,4vw,58px);margin-bottom:20px}.coming-content p{color:var(--muted);font-size:18px;line-height:1.6;margin-bottom:20px}.coming-content .text-action{color:var(--ink)}.loading,.notice{padding:80px 0;font-size:18px;line-height:1.6;color:var(--muted)}.notice button{border:0;background:none;text-decoration:underline;font-size:inherit;padding:0}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.65,.2,1)}.will-reveal.is-visible{opacity:1;transform:translateY(0)}
/* Full photographs stay uncropped while the next frame decodes and slides in. */
.lightbox{border:0;padding:85px 108px 68px;background:#14171d;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}.lightbox::backdrop{background:#14171d}.lightbox[open]{display:flex;align-items:center;justify-content:center}.viewer-stage{width:100%;height:100%;position:relative;overflow:hidden}.viewer-stage img{width:100%;height:100%;object-fit:contain}.lightbox-bar{position:absolute;inset:18px 24px auto 28px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#d4d8e1;z-index:3}.lightbox button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff4d;border-radius:50%;background:#ffffff0d;color:white;cursor:pointer;transition:background .2s}.lightbox button:hover:not(:disabled){background:#ffffff24}.lightbox button:focus-visible{outline-color:white;outline-offset:4px}.lightbox button:disabled{opacity:.18;cursor:default}.lightbox .lightbox-arrow{width:64px;height:64px;position:absolute;top:50%;transform:translateY(-50%);z-index:3}.lightbox-arrow svg{width:28px;height:28px;stroke-width:1.8}.lightbox-arrow.previous{left:24px}.lightbox-arrow.next{right:24px}#photo-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;background:#14171de6;font-size:14px;text-align:center;max-width:80%;z-index:2}.viewer-hint{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);font-size:12px;color:#aab0bd;white-space:normal;width:calc(100% - 32px);text-align:center}body:has(.lightbox[open]){overflow:hidden}
/* The form remains a native accessible form behind a server-verified bot check. */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px);padding:85px 0 36px}.contact-intro{position:relative;isolation:isolate;padding-top:110px}.contact-intro h1{font-size:clamp(58px,7.4vw,130px);white-space:nowrap;margin-bottom:30px}.contact-intro p{font-size:clamp(22px,2.5vw,39px);line-height:1.25;letter-spacing:-.04em;max-width:630px}.contact-form{display:grid;gap:24px;min-width:0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:grid;gap:10px;font-size:14px;font-weight:500}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;color:var(--ink);width:100%;min-width:0;border:1px solid var(--line);border-radius:2px;background:#ffffffa6;padding:13px 14px;line-height:1.5}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.contact-form textarea{resize:vertical;min-height:180px}.form-note{font-size:12px;color:var(--muted);line-height:1.6}.form-note a{text-decoration:underline;text-underline-offset:3px}.submit-message{display:flex;justify-content:center;align-items:center;gap:16px;border:0;border-radius:2px;background:var(--blue);color:white;padding:16px 28px;min-height:54px;font-size:16px}.submit-message:hover:not(:disabled){background:#254acf}.submit-message:disabled{opacity:.55;cursor:default}.form-status{font-size:14px;line-height:1.6}.form-status:empty{display:none}.form-status.error{color:#a32020}.form-status.success{padding:18px;background:#eaf2ed;border-left:3px solid #366c3a}.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.turnstile-slot{min-height:65px;max-width:100%}.contact-page .footer-callout{display:none}.contact-page .site-footer{background:transparent;color:var(--ink);margin-top:65px}.contact-page .footer-base{border-color:var(--line);color:var(--muted)}.contact-page .footer-base a:hover{color:var(--ink)}

@media(max-width:900px){.contact-layout{gap:40px}.contact-intro{padding-top:85px}.contact-intro h1{font-size:7vw}.contact-intro p{font-size:24px}.form-pair{grid-template-columns:1fr;gap:24px}.footer-base{flex-wrap:wrap}.footer-name{flex:1}.footer-base nav{order:3;flex-basis:100%;padding-top:5px}.related-grid{gap:18px}}
@media(max-width:650px){.site-header{padding-top:16px;padding-bottom:16px;gap:12px}.site-header nav{gap:18px;font-size:14px}.wordmark{font-size:19px}.work-navigation{gap:clamp(20px,7vw,36px);margin-bottom:20px}.work-navigation a{font-size:clamp(30px,8.9vw,35px);padding-bottom:12px}.album-grid{grid-template-columns:1fr;gap:32px}.album-grid .album-tile:nth-child(n){grid-column:auto}.cover-frame{height:auto;aspect-ratio:1.2}.album-label{font-size:26px;padding-top:12px}.gallery-top{padding:25px 0 30px}.gallery-top .gallery-title{font-size:clamp(28px,7.6vw,43px);line-height:1.15}.display-title{font-size:clamp(48px,12.8vw,84px);line-height:1.02}.breadcrumbs{font-size:13px;margin-bottom:18px;gap:9px}.photo-count{font-size:13px;margin-top:14px}.related-work{padding-top:52px}.related-work h2{font-size:34px;margin-bottom:24px}.related-grid{grid-template-columns:1fr;gap:28px}.related-grid .cover-frame{aspect-ratio:1.6}.related-grid .album-label{font-size:23px}.site-footer{margin-top:60px}.footer-callout{padding:50px 0}.footer-callout p,.footer-callout>a{font-size:clamp(43px,11.2vw,70px)}.footer-callout>a{gap:20px}.footer-base{gap:24px;font-size:12px;padding:24px 0 30px}.footer-base nav{gap:28px}.coming-content{padding:35px 0}.coming-content h2{max-width:330px;font-size:36px;line-height:1.1}.coming-content p{font-size:16px;max-width:300px}.contact-layout{grid-template-columns:1fr;gap:40px;padding:48px 0 0}.contact-intro{padding-top:0}.contact-intro h1{font-size:clamp(57px,15.4vw,92px);margin-bottom:22px}.contact-intro p{font-size:23px;line-height:1.3;max-width:480px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.contact-page .site-footer{margin-top:48px}.lightbox{padding:82px 12px 120px}.lightbox-bar{inset:14px 16px auto 18px;font-size:12px}.lightbox .lightbox-arrow{width:56px;height:56px;bottom:43px;top:auto;transform:none}.lightbox-arrow.previous{left:calc(50% - 70px)}.lightbox-arrow.next{right:calc(50% - 70px)}.viewer-hint{bottom:14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}

.work-intro{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:clamp(240px,22vw,340px);padding:32px 0 40px}.work-tagline{font-size:clamp(42px,6.8vw,104px);line-height:1.08;max-width:16ch;text-wrap:balance;letter-spacing:-.055em}.work-services{font-size:clamp(20px,2.3vw,34px);line-height:1.3;letter-spacing:-.035em;margin-top:16px;max-width:32ch;text-wrap:balance}.work-stage{position:relative;isolation:isolate;min-height:360px;touch-action:pan-y pinch-zoom}.coming-content{padding:55px 0 70px}.coming-content .coming-soon{font-size:22px;color:var(--ink);margin:0 0 25px}.work-stage .coming-content h2{margin-bottom:16px}.work-navigation{touch-action:pan-y pinch-zoom}
@media(max-width:650px){.work-intro{padding:26px 0 30px}.work-tagline{font-size:clamp(37px,10vw,62px);max-width:14ch}.work-stage{min-height:300px}.album-label{font-size:clamp(23px,6vw,28px);line-height:1.22}.related-grid .album-label{font-size:23px}.coming-content{padding:36px 0 40px}}
@media(max-width:350px){.site-header nav{gap:14px;font-size:13px}.site-header{gap:10px}}

@media(max-width:650px){.work-services{font-size:23px;line-height:1.25;margin-top:14px;max-width:26ch}.work-tagline{font-size:clamp(54px,14vw,88px);max-width:none}.gallery-top .gallery-title{max-width:24ch;text-wrap:balance}}

/* The supplied signature stays fully inside its decorative canvas. */
.signature{position:absolute;z-index:-1;pointer-events:none;user-select:none;height:100%;object-fit:contain;object-position:right center;opacity:.05}
.work-signature{inset:0 0 0 auto;width:min(82%,960px)}
.gallery-signature{inset:0 0 0 auto;width:min(72%,800px)}
.contact-signature{top:0;left:0;width:100%;height:310px;object-position:left center}
.footer-signature{inset:0 0 0 auto;width:min(74%,1000px);filter:invert(1);opacity:.07}
.album-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.17em;text-decoration-color:transparent;transition:text-decoration-color .2s}
.album-tile:hover .album-title,.album-tile:focus-visible .album-title{text-decoration-color:currentColor}
.text-action{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.footer-callout>a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:transparent;transition:text-decoration-color .2s}
.footer-callout>a:hover,.footer-callout>a:focus-visible{text-decoration-color:currentColor}
.contact-page .footer-callout{display:block;padding:34px 0;min-height:150px}
.contact-page .footer-callout p,.contact-page .footer-callout>a{display:none}
.contact-page .footer-signature{filter:none;opacity:.05;object-position:right center}
@media(max-width:650px){.work-intro{min-height:210px;padding:28px 0 32px}.work-signature{width:100%;opacity:.045}.gallery-signature{width:100%;opacity:.04}.contact-signature{height:190px;opacity:.045}.footer-signature{width:100%;opacity:.065}.contact-page .footer-callout{min-height:130px;padding:18px 0}}
