@font-face{font-family:Display;src:url('media/display.ttf') format('truetype');font-display:swap} :root{--paper:#080808;--ink:#efefea;--muted:#8c8c87;--line:#292927;--display:Display,'Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px;scrollbar-color:#444 #080808}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.75 Arial,Helvetica,sans-serif}body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}button:disabled{opacity:.3}[hidden]{display:none!important}header{position:absolute;top:0;left:0;width:100%;z-index:5;padding:35px 45px 0 5%;display:flex;justify-content:space-between;font-size:12px}.wordmark{font-weight:600;letter-spacing:.5px}.wordmark span{font-weight:400;color:var(--muted);margin-left:9px}.nav{display:flex;gap:25px}header a:hover,.contacts a:hover{color:#aaa}.sidenav{position:fixed;right:42px;top:50%;transform:translateY(-35%);display:flex;flex-direction:column;align-items:end;gap:16px;z-index:10;font-size:12px}.sidenav a{position:relative;color:#92928e;padding:3px 0}.sidenav a:hover,.sidenav a.active{color:#fff}.sidenav a.active:after{content:'';position:absolute;right:0;bottom:0;width:100%;height:1px;background:#eee}main{padding:0}h1,h2,h3,p{margin:0}.eyebrow{font-size:10px;letter-spacing:2.3px;text-transform:uppercase;color:var(--muted)}.intro{min-height:100svh;position:relative;display:flex;flex-direction:column;align-items:start;justify-content:center;padding:110px 15% 70px 5%;overflow:hidden;isolation:isolate}.heroimage{position:absolute;z-index:-2;right:11%;top:0;height:100%;width:67%;object-fit:cover;object-position:50% 55%;filter:grayscale(1) brightness(.65)}.intro:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080808 0%,#080808b3 26%,#08080810 64%,#080808cc),linear-gradient(0deg,#080808,transparent 35%,#08080844)}.intro h1{font:400 clamp(82px,12.2vw,180px)/.93 var(--display);text-transform:uppercase;letter-spacing:-1.5px;margin:25px 0 28px;max-width:100%;text-shadow:0 4px 30px #0002}.intro h1 span{display:block}.intro h1 span:last-child{color:#bcbdb7}.bio{max-width:400px;font-size:13px;color:#b3b3ad;line-height:1.9}.bio p+p{margin-top:10px;font-size:11px;color:#80817b}.hero-bottom{width:100%;display:flex;justify-content:space-between;margin-top:38px;font-size:10px;letter-spacing:1.5px;color:#aaa;text-transform:uppercase}.hero-bottom a{border-bottom:1px solid #7a7a75;padding-bottom:7px}.hero-bottom span{align-self:center}.worksection,.about,.skills,.experience-section,.contact,#collectionview{margin-left:5%;margin-right:15%;max-width:1320px}.worksection{padding:100px 0 40px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}.sectionhead h2,.skills h2,.experience-section h2{font:400 clamp(55px,7vw,100px)/1 var(--display);text-transform:uppercase;letter-spacing:.5px;margin-top:16px}.worktop{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line);margin-bottom:10px}.worktop h2{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:2px}.small{font-size:10px;color:var(--muted)}.categories{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cover,.thumb{position:relative;aspect-ratio:3/4;overflow:hidden;background:#151515}.cover img,.thumb img{width:100%;height:100%;object-fit:cover;transition:filter .7s,transform .9s}.cover img{filter:grayscale(1)}.category:hover img{filter:grayscale(0);transform:scale(1.035)}.badge,.play{position:absolute;left:16px;bottom:16px;border:1px solid #ffffff70;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:12px;background:#0003;backdrop-filter:blur(5px)}.categoryinfo{display:flex;justify-content:space-between;padding-top:18px;gap:12px}.categoryinfo h3{font-size:14px;font-weight:400}.categoryinfo p{font-size:10px;color:var(--muted);margin-top:4px}.arrow{font-size:19px}.about{padding:110px 0 90px;margin-top:90px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.aboutfigure{margin:0}.aboutfigure img{width:100%;max-height:650px;object-fit:cover;filter:grayscale(1);transition:filter .8s}.aboutfigure:hover img{filter:grayscale(0)}.aboutfigure figcaption{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin-top:13px}.abouttext{padding-top:25px}.about h2{font:400 clamp(48px,5.5vw,80px)/1.02 var(--display);text-transform:uppercase;margin:22px 0 30px}.about p{font-size:13px;color:#999b95;line-height:2}.about .signature{color:#e4e4de;margin-top:25px;font-size:12px}.skills{padding:80px 0 100px;border-top:1px solid var(--line)}.skillrows{margin-top:40px}.skillrow{padding:23px 0;display:grid;grid-template-columns:45px 1.1fr 1fr;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.skillrow span{color:#777;font-size:10px}.skillrow h3{font:400 clamp(25px,3vw,42px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.4px}.skillrow p{font-size:11px;color:#90928b}.experience-section{padding:90px 0 100px;border-top:1px solid var(--line)}.countryrows{margin-top:40px}.country{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}.country h3{font:400 36px/1 var(--display);text-transform:uppercase;letter-spacing:.5px}.country span{font-size:10px;color:var(--muted)}.experience-note{margin-top:28px;font-size:12px;color:#8c8e86}.contact{padding:95px 0 80px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.contact h2{font:400 clamp(60px,7vw,110px)/.97 var(--display);text-transform:uppercase;margin:20px 0}.contact p{font-size:11px;color:var(--muted)}.contacts{display:flex;flex-direction:column;align-items:start;gap:12px;padding-bottom:7px;font-size:11px}.contacts a:first-child{font-size:clamp(15px,1.8vw,24px);padding-bottom:8px;border-bottom:1px solid #62635d;margin-bottom:8px}footer{margin:0 15% 0 5%;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#777b73}.pagehead{padding:135px 0 50px;max-width:750px}.back{font-size:10px;color:var(--muted);display:inline-block;margin-bottom:35px}.pagehead h1{font:400 clamp(55px,7vw,100px)/1 var(--display);text-transform:uppercase;letter-spacing:.5px;margin:18px 0 23px}.pagehead p{font-size:12px;color:#999c92;max-width:480px}.subhead{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;align-items:center}.subhead h2{font-size:12px;font-weight:400}.workgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px;margin-bottom:55px}.workgrid.two{grid-template-columns:repeat(2,1fr);max-width:900px}.workbutton{display:block;width:100%;background:transparent;text-align:left;padding:0}.workbutton:hover img{transform:scale(1.025)}.worklabel{font-size:11px;display:flex;justify-content:space-between;padding-top:13px;gap:10px}.worklabel small{font-size:9px;color:var(--muted)}.more{display:block;margin:0 auto 65px;padding:12px 24px;font-size:10px;border:1px solid #444;background:transparent;letter-spacing:1px}.more:hover{background:#222}.pagefoot{padding:0 0 65px}.pagefoot a{font-size:11px;border-bottom:1px solid #666;padding-bottom:5px}dialog{padding:0;border:1px solid #333;background:#101010;color:#eee;width:min(1080px,94vw);max-height:94vh;overflow:auto}dialog::backdrop{background:#000e;backdrop-filter:blur(6px)}.modalbar{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px}.close{background:transparent;padding:2px 8px;font-size:24px;line-height:1}.modalmedia{background:#080808;display:flex;justify-content:center;align-items:center;min-height:240px}.modalmedia img,.modalmedia video{display:block;max-height:74vh;max-width:100%;object-fit:contain}.modalmedia video{width:100%;background:#000}.modalnav{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;font-size:10px}.modalnav button{background:transparent;padding:7px 10px}.modalnav span{color:var(--muted)}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s ease,transform 1s ease}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}@media(min-width:1600px){.intro{padding-left:max(5%,calc((100vw - 1500px)/2))}}@media(max-width:900px){header{padding:25px 6%}.wordmark span{display:none}.sidenav{right:20px;gap:12px;font-size:10px}.intro{padding:115px 14% 65px 6%;min-height:85svh}.intro h1{font-size:clamp(74px,13vw,130px)}.heroimage{width:85%;right:5%}.worksection,.about,.skills,.experience-section,.contact,#collectionview{margin-left:6%;margin-right:14%}.categories{gap:15px}.categoryinfo h3{font-size:12px}.categoryinfo p{font-size:9px}.worksection{padding-top:75px}.about{gap:35px;padding:75px 0;margin-top:60px}.abouttext{padding-top:0}.about p{font-size:12px}.workgrid{grid-template-columns:repeat(2,1fr);gap:25px 16px}.skillrow{grid-template-columns:25px 1fr}.skillrow p{grid-column:2}.contact{gap:25px}.contacts a:first-child{font-size:15px}footer{margin-left:6%;margin-right:14%}}@media(max-width:600px){header{padding:22px 6%;font-size:10px}.nav{gap:17px}.wordmark{font-size:10px}.sidenav{top:auto;bottom:16px;right:5%;left:5%;transform:none;flex-direction:row;justify-content:space-around;gap:8px;background:#151515e8;border:1px solid #333;padding:11px 12px;backdrop-filter:blur(12px)}.sidenav a{font-size:9px}.intro{padding:115px 6% 65px;min-height:92svh;justify-content:center}.intro h1{font-size:clamp(62px,15vw,95px);line-height:.99;letter-spacing:0}.intro .eyebrow{font-size:8px;letter-spacing:1.4px}.heroimage{width:100%;right:0;opacity:.72}.intro:before{background:linear-gradient(90deg,#080808c7,#08080844),linear-gradient(0deg,#080808,transparent 55%)}.bio{font-size:12px;max-width:290px}.hero-bottom{font-size:8px;margin-top:30px}.hero-bottom span{display:none}.worksection,.about,.skills,.experience-section,.contact,#collectionview{margin-left:6%;margin-right:6%}.worksection{padding-top:65px}.categories{grid-template-columns:1fr;gap:38px}.cover{aspect-ratio:5/4}.cover img{object-position:50% 32%;filter:none}.categoryinfo h3{font-size:15px}.categoryinfo p{font-size:10px}.worktop .small{display:none}.about{grid-template-columns:1fr;gap:35px}.aboutfigure img{max-height:470px;object-position:50% 25%}.about h2{font-size:60px}.about p{font-size:13px}.skills,.experience-section{padding:65px 0}.country h3{font-size:30px}.contact{grid-template-columns:1fr;padding:65px 0}.contacts{padding-top:10px}.contacts a:first-child{font-size:20px}.workgrid.two{grid-template-columns:repeat(2,1fr)}.pagehead{padding-top:105px}.pagehead h1{font-size:57px}.worklabel{font-size:10px}.worklabel small{font-size:8px}.subhead .small{font-size:9px}footer{margin-left:6%;margin-right:6%;padding-bottom:100px;gap:15px;font-size:8px}.modalbar{font-size:10px;padding:12px}.modalnav{padding:10px}body:has(dialog[open]) .sidenav{visibility:hidden}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

/* Personal portrait composition */
.heroimage{right:8%;width:76%;object-fit:contain;object-position:right bottom;filter:grayscale(1) brightness(.8)}.aboutfigure img{object-position:50% 20%}@media(max-width:600px){.heroimage{width:100%;right:0;object-fit:cover;object-position:54% 35%;opacity:.82}}

/* Portfolio portrait, based on supplied Google profile photo */
.heroimage{right:7%;width:77%;object-fit:contain;object-position:right bottom;filter:grayscale(1) brightness(.88)}.aboutfigure img{object-position:50% 18%}@media(max-width:600px){.heroimage{width:100%;right:0;object-fit:cover;object-position:56% 25%;opacity:.85}}
