
#htb-site{--htb-bg:light-dark(#fff,#171717);--htb-ink:light-dark(#171717,#eee);--htb-secondary:light-dark(#62625e,#b2b2ab);--htb-line:light-dark(#e4e4e0,#383835);--htb-accent:light-dark(#b30b00,#f23838);--htb-paper:#fdfcf9;--htb-paper-ink:#262620;--htb-shadow:light-dark(#27261c21,#0007);font:14px/1.4 Arial,Helvetica,sans-serif;color:var(--htb-ink);color-scheme:dark;container-type:inline-size;width:100%;max-width:1440px;margin:0 auto;background:transparent}
#htb-site *{box-sizing:border-box}
#htb-site [hidden]{display:none!important}
#htb-site button,#htb-site a{-webkit-tap-highlight-color:transparent;color:inherit}
#htb-site button{font:inherit;border:0;border-radius:0;background:none;text-align:left;padding:0}
#htb-site a{text-decoration:none;text-underline-offset:4px}
#htb-site a:hover{text-decoration:underline}
#htb-site img{display:block;max-width:100%;height:auto}
#htb-site .htb-site{background:var(--htb-bg);width:100%;overflow:clip}
#htb-site .htb-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 32px 21px}
#htb-site .htb-brand{font-family:'Space Mono','Courier New',monospace;font-size:clamp(18px,2.1vw,30px);font-weight:400;letter-spacing:-.055em;line-height:1;color:var(--htb-ink)}
#htb-site nav{display:flex;gap:23px;align-items:center}
#htb-site nav a{min-height:44px;font-family:'Space Mono','Courier New',monospace;font-weight:400;font-size:12.8px;letter-spacing:-.04em;position:relative}
#htb-site .htb-header a,#htb-site .htb-header a:hover,#htb-site .htb-header a:focus-visible{ text-decoration:none }
#htb-site .htb-header a:hover,#htb-site .htb-header a:focus-visible,#htb-site nav a[aria-current=page]{color:var(--htb-accent)}
#htb-site .htb-main{padding:0 32px}
#htb-site .htb-content-area{position:relative}
#htb-site .htb-content-action{position:absolute;top:12px;right:0;z-index:3;background:var(--htb-bg);padding:0 12px}
#htb-site .htb-label{font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.65px;text-transform:uppercase;color:var(--htb-secondary)}
#htb-site .htb-work-grid{--htb-selected-columns:4;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:22px 16px;padding:10px 0 40px;overflow-anchor:none}
#htb-site .htb-work-grid[data-masonry]{display:block}
#htb-site .htb-work-grid[data-selected-drag],#htb-site .htb-work-grid[data-selected-drag]>.htb-project{cursor:grab;user-select:none;-webkit-user-select:none}
#htb-site .htb-work-grid[data-selected-drag=dragging],#htb-site .htb-work-grid[data-selected-drag=dragging]>.htb-project{cursor:grabbing}
#htb-site .htb-work-grid[data-masonry]>.htb-project{position:absolute;left:var(--htb-photo-x,0);top:var(--htb-photo-y,0);width:var(--htb-card-width,var(--htb-photo-width))}
#htb-site .htb-project{display:block;width:100%;min-width:0;overflow:hidden}
#htb-site .htb-project img{width:100%;height:auto;transition:transform .28s ease,filter .28s ease}
#htb-site .htb-work-grid>.htb-project img{-webkit-touch-callout:none}
#htb-site .htb-project:focus-visible img{transform:scale(1.035);filter:brightness(1.055)}
@media(hover:hover){
  #htb-site .htb-project:hover img{transform:scale(1.035);filter:brightness(1.055)}
}
#htb-site .htb-work-grid[data-elastic]>.htb-project{height:var(--htb-card-height)}
#htb-site .htb-work-grid[data-elastic]>.htb-project img{width:100%;height:100%;object-fit:fill;transform:none;filter:none;transition:none}
#htb-site .htb-work-grid[data-elastic]>.htb-project:focus-visible{outline:2px solid var(--htb-ink);outline-offset:3px}
#htb-site .htb-water-photo{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
#htb-site .htb-work-grid[data-backlight]>.htb-project[data-water-photo]>img{filter:grayscale(1) brightness(.62)}
#htb-site .htb-work-grid:is([data-backlight],[data-ripple-only])>.htb-project[data-water-ready]>.htb-water-photo{display:block}
#htb-site .htb-work-grid[data-ripple-only]>.htb-project img{filter:none;transform:none;transition:none}
#htb-site[data-view=selected]{container-type:normal;isolation:isolate}
#htb-site[data-view=selected]>.htb-site{container-type:inline-size}
#htb-site[data-photo-painting]>.htb-site{background:transparent}
#htb-site>.htb-photo-painting{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;user-select:none;transition:opacity .65s ease}
@media(prefers-reduced-motion:reduce){#htb-site>.htb-photo-painting{display:none;transition:none}}
@media(prefers-reduced-motion:reduce){#htb-site .htb-project:is(:hover,:focus-visible) img{transform:none}}
#htb-site .htb-project-meta{display:flex;justify-content:space-between;gap:10px;padding-top:9px;font-size:11px;align-items:baseline}
#htb-site #htb-photo-viewer{width:min(980px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 24px);border:0;padding:48px 52px 28px;background:var(--htb-bg);color:var(--htb-ink);overflow:hidden}
#htb-site #htb-photo-viewer::backdrop{background:light-dark(#fffffff0,#171717f0)}
#htb-site .htb-viewer-image img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 124px);object-fit:contain;margin:0 auto}
#htb-site #htb-photo-viewer button{position:absolute;min-width:44px;min-height:44px;text-align:center}
#htb-site .htb-viewer-close{right:12px;top:2px;font-size:12px}
#htb-site .htb-viewer-previous{left:2px;top:calc(50% - 22px);font-size:20px}
#htb-site .htb-viewer-next{right:2px;top:calc(50% - 22px);font-size:20px}
#htb-site .htb-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:77px;padding:16px 32px;border-top:1px solid var(--htb-line);font:10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.6px}
#htb-site .htb-footer a{display:flex;align-items:center;min-height:44px}
#htb-site .htb-footer a:hover,#htb-site .htb-footer a:focus-visible{color:var(--htb-accent)}
#htb-site .htb-canvas{--htb-board:light-dark(#f5f4f1,#20201e);height:708px;position:relative;overflow:hidden;margin:0 -32px;background:var(--htb-board);cursor:grab;isolation:isolate;user-select:none}
#htb-site .htb-canvas:active{cursor:grabbing}
#htb-site[data-view=notes]{max-width:none}
#htb-site[data-view=notes] .htb-header,#htb-site[data-view=notes] .htb-footer{max-width:1440px;margin-inline:auto}
#htb-site[data-view=notes] .htb-main{padding:0}
#htb-site[data-view=notes] .htb-canvas{margin:0}
#htb-site .htb-notes-workspace{position:relative}
#htb-site .htb-notes-zoom{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:4px;width:max-content;max-width:calc(100% - 32px);padding:0;color:#626e75;background:none;border:0;box-shadow:none;opacity:.45;transition:opacity .2s ease;touch-action:manipulation}
#htb-site .htb-notes-zoom:is(:hover,:has(:focus-visible)){opacity:1}
#htb-site .htb-notes-zoom>svg{flex:none;width:15px;height:15px;margin-right:4px}
#htb-site .htb-notes-zoom button{flex:none;width:40px;height:44px;font:22px/1 Arial,sans-serif;text-align:center}
#htb-site .htb-notes-zoom button:hover{color:#37434a}
#htb-site .htb-notes-zoom button:disabled{opacity:.3;cursor:default}
#htb-site .htb-notes-zoom input{appearance:none;-webkit-appearance:none;width:90px;min-width:40px;height:44px;margin:0;background:transparent;color:inherit;cursor:pointer;touch-action:pan-y}
#htb-site .htb-notes-zoom input::-webkit-slider-runnable-track{height:2px;border:0;border-radius:1px;background:#626e7566}
#htb-site .htb-notes-zoom input::-webkit-slider-thumb{-webkit-appearance:none;width:9px;height:9px;margin-top:-3.5px;border:0;border-radius:50%;background:#626e75}
#htb-site .htb-notes-zoom input::-moz-range-track{height:2px;border:0;border-radius:1px;background:#626e7566}
#htb-site .htb-notes-zoom input::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:#626e75}
#htb-site .htb-notes-zoom output{flex:none;width:35px;text-align:right;font-size:11px;font-variant-numeric:tabular-nums}
#htb-site .htb-notes-zoom :is(button,input):focus-visible{outline:1px solid currentColor;outline-offset:1px}
@media(hover:none){#htb-site .htb-notes-zoom{opacity:.75}}
@media(prefers-reduced-motion:reduce){#htb-site .htb-notes-zoom{transition:none}}
#htb-site .htb-print{position:absolute;width:var(--print-width,180px);display:block;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;min-width:0;touch-action:none}
#htb-site .htb-print:active{cursor:grabbing}
#htb-site .htb-print-face{display:block;position:relative;padding:5px;background:linear-gradient(105deg,#fffefb,#faf9f5 72%,#fdfcf9);box-shadow:0 0 .6px #57564e55,.6px 1.3px 2.8px var(--htb-shadow);transform:rotate(var(--tilt,0deg));transform-origin:center;transition:box-shadow .16s ease}
#htb-site .htb-print-face::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 .5px #ffffffe0,inset -1px -1px 1px #d6d4cd40}
#htb-site .htb-print-face img{width:100%;pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
#htb-site .htb-print:hover .htb-print-face{box-shadow:0 0 .6px #57564e55,1px 3px 5px var(--htb-shadow)}
#htb-site .htb-canvas.instant .htb-print-face{padding:8px 8px 36px;background:linear-gradient(112deg,#fffffc,#f9f8f2 72%,#fdfcf8);box-shadow:0 .2px .9px #53504755,1.4px 2px 3.5px var(--htb-shadow)}
#htb-site .htb-canvas.instant .htb-print-face::before{content:'';position:absolute;left:8px;right:8px;bottom:20px;height:.7px;background:#dbd8cd45;opacity:.5}
#htb-site .htb-canvas.borderless .htb-print-face{padding:0;background:none;box-shadow:none}
#htb-site .htb-canvas.borderless .htb-print-face::after{display:none}
#htb-site .htb-word-face{display:block;background:var(--htb-paper);color:var(--htb-paper-ink);padding:20px 18px 21px;min-height:155px;box-shadow:0 .3px .7px #53504735,.8px 1.2px 2px var(--htb-shadow);transform:rotate(var(--tilt,0deg))}
#htb-site .htb-word-face small{display:block;font:9px/1.5 'Space Mono',monospace;letter-spacing:.6px;margin:0 0 26px}
#htb-site .htb-word-face strong{display:block;font:400 20px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.3px}
#htb-site .htb-detail-top{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--htb-line);padding:5px 0 16px}
#htb-site .htb-detail-top button{min-height:44px;font-size:12px}
#htb-site .htb-detail-figure{display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:32px;align-items:end;margin:0;padding-bottom:40px}
#htb-site .htb-detail-image{width:100%;max-height:600px;object-fit:contain;object-position:center}
#htb-site .htb-detail-figure h1{font:400 24px/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.7px;margin:0 0 17px}
#htb-site .htb-detail-figure p{font-size:12px;color:var(--htb-secondary);line-height:1.5;margin:0 0 18px}
#htb-site .htb-arrows{display:flex;gap:4px;align-items:center}
#htb-site .htb-arrows button{height:44px;width:44px;font-size:22px;text-align:center}
#htb-site .htb-arrows span{font-size:11px}
#htb-site .htb-thumbnails{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
#htb-site .htb-thumbnails button{padding-bottom:5px;border-bottom:1px solid transparent}
#htb-site .htb-thumbnails button[aria-current=page]{border-color:var(--htb-ink)}
#htb-site .htb-thumbnails img{width:48px;height:60px;object-fit:contain}
#htb-site .htb-info{padding:60px 0 65px;max-width:870px;margin:0 auto;font:13px/1.65 'Space Mono','Courier New',monospace}
#htb-site .htb-biography{max-width:760px}
#htb-site .htb-biography p{margin:0 0 20px}
#htb-site .htb-biography .htb-emphasis{color:var(--htb-accent);font-weight:700}
#htb-site .htb-biography .htb-practice{font-weight:700;text-decoration:underline;text-underline-offset:3px}
#htb-site .htb-biography a{color:var(--htb-accent);text-decoration:underline}
#htb-site .htb-clients{padding:60px 0 0 32px}
#htb-site .htb-clients h2{font:400 13px/1.65 'Space Mono','Courier New',monospace;text-decoration:underline;margin:0 0 20px}
#htb-site .htb-clients ul{margin:0;columns:3;padding-left:20px;column-gap:38px}
#htb-site .htb-clients li{padding:0 0 10px 2px;break-inside:avoid}
#htb-site .htb-info-contact{margin-top:70px}
#htb-site .htb-info-contact p{margin:0 0 7px}
#htb-site .htb-info-contact a{display:inline-block;min-height:35px;text-decoration:underline;overflow-wrap:anywhere}
#htb-site .htb-info-contact a:hover,#htb-site .htb-info-contact a:focus-visible{color:var(--htb-accent)}
#htb-site .htb-info-contact .htb-studio{margin-top:22px;color:var(--htb-accent)}
#htb-site .htb-motion-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:center;gap:50px 42px;padding:12px 0 60px}
#htb-site .htb-motion-project{display:block;min-width:0;margin:0}
#htb-site .htb-motion-media{display:block;position:relative;overflow:hidden;background:#000}
/* Clip a one-pixel overlap so fractional iframe sizing cannot expose a light seam. */
#htb-site .htb-motion-player{display:block;position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border:0;background:#000;color-scheme:dark}
#htb-site .htb-motion-project .htb-project-meta{font-size:12px;padding-top:12px;align-items:flex-start}
#htb-site .htb-preview-control button{font-size:11px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
#htb-site .htb-note-detail{max-width:640px;min-height:380px;padding:55px 15px 75px;margin:0 auto}
#htb-site .htb-note-detail h1{font-size:38px;font-weight:400;letter-spacing:-1.5px;margin:20px 0}
#htb-site .htb-note-detail p{font-size:14px;max-width:450px;color:var(--htb-secondary)}
#htb-site .htb-accessible{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@container(max-width:650px){
  #htb-site .htb-header{display:block;padding:20px 20px 10px}
  #htb-site .htb-brand{font-size:22px}
  #htb-site nav{justify-content:space-between;gap:18px;margin-top:14px}
  #htb-site nav a{font-size:12px}
  #htb-site .htb-main{padding:0 20px}
  #htb-site .htb-label{font-size:10px;letter-spacing:.4px}
  #htb-site .htb-work-grid{--htb-selected-columns:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  #htb-site #htb-photo-viewer{width:calc(100% - 12px);padding:46px 38px 24px}
  #htb-site .htb-project-meta{font-size:11px;gap:6px}
  #htb-site .htb-canvas{height:618px;margin:0 -20px}
  #htb-site .htb-footer{padding:10px 20px;gap:15px;font-size:9px;min-height:66px;letter-spacing:.3px}
  #htb-site .htb-detail-figure{display:flex;flex-direction:column;gap:23px;align-items:stretch}
  #htb-site .htb-detail-figure figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  #htb-site .htb-detail-figure h1{font-size:23px;margin:0}
  #htb-site .htb-detail-figure p{grid-column:1/-1;margin:0}
  #htb-site .htb-arrows{grid-row:1;grid-column:2;gap:0}
  #htb-site .htb-thumbnails{grid-column:1/-1;margin-top:4px}
  #htb-site .htb-info{padding:30px 0 42px;font-size:12px;line-height:1.75}
  #htb-site .htb-clients{padding:32px 0 0}
  #htb-site .htb-clients h2{font-size:12px}
  #htb-site .htb-clients ul{columns:1;padding-left:19px}
  #htb-site .htb-clients li{padding-bottom:8px}
  #htb-site .htb-info-contact{margin-top:35px}
  #htb-site .htb-info-contact a{min-height:44px}
  #htb-site .htb-motion-grid{grid-template-columns:1fr;gap:26px}
  #htb-site .htb-preview-control>span{display:none}
  #htb-site .htb-preview-control button{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){#htb-site *{transition:none!important}}

/* Standalone site layout and native navigation. */
html{color-scheme:dark}
body{margin:0;background:light-dark(#fff,#171717);color:light-dark(#171717,#eee);font-family:Arial,Helvetica,sans-serif}
button,a{touch-action:manipulation}
button{cursor:pointer}
.htb-skip{position:absolute;left:16px;top:-80px;z-index:20;background:light-dark(#fff,#171717);color:inherit;padding:12px}
.htb-skip:focus{top:8px}
.htb-viewer-open{overflow:hidden}
.htb-noscript{margin:24px 32px}
#htb-site nav a{display:flex;align-items:center;min-height:44px}
#htb-site .htb-brand:hover{text-decoration:none}
#htb-site .htb-site{min-height:100svh}
#htb-site .htb-canvas{height:max(500px,calc(100svh - 167px))}
#htb-site .htb-reading-note{max-width:600px;margin:auto;line-height:1.65;max-height:calc(100dvh - 124px);overflow:auto}
#htb-site .htb-reading-note h1{font-size:26px;font-weight:400}
#htb-site .htb-image-unavailable{min-height:120px;background:var(--htb-line);font-size:13px;color:var(--htb-secondary)}
#htb-site .htb-viewer-image img{width:auto;height:auto}
@container(max-width:650px){
  #htb-site .htb-canvas{height:max(440px,calc(100svh - 192px))}
}

/* Notes albums keep the whole sequence visible around the current photograph. */
#htb-site #htb-photo-viewer.htb-album{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;overflow:hidden;background:var(--htb-bg)}
#htb-site #htb-photo-viewer.htb-album .htb-viewer-image{height:100%;width:100%}
#htb-site .htb-album-viewport{position:absolute;inset:58px 0 76px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-x pinch-zoom;scrollbar-width:thin;scrollbar-color:var(--htb-line) transparent;scroll-behavior:auto}
#htb-site .htb-album-focused .htb-album-viewport{overflow-x:hidden;touch-action:pan-y}
#htb-site .htb-album-track{position:relative;height:100%;min-width:100%;isolation:isolate;user-select:none;-webkit-user-select:none}
#htb-site #htb-photo-viewer.htb-album .htb-album-card{position:absolute;left:0;top:50%;min-width:0;min-height:0;padding:0;display:block;background:var(--htb-line);cursor:zoom-in;transform-origin:0 0;transition:opacity .16s,filter .16s;z-index:1;overflow:hidden}
#htb-site #htb-photo-viewer.htb-album .htb-album-card img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;object-fit:contain;pointer-events:none}
#htb-site #htb-photo-viewer.htb-album .htb-album-active{z-index:3}
#htb-site #htb-photo-viewer.htb-album .htb-album-card:focus-visible{outline:2px solid var(--htb-ink);outline-offset:5px}
#htb-site .htb-album-loading{position:absolute;inset:0;display:grid;place-items:center;padding:10px;font-size:11px;color:var(--htb-secondary)}
#htb-site .htb-album-loaded .htb-album-loading{display:none}
#htb-site #htb-photo-viewer.htb-album-focused .htb-album-card:not(.htb-album-active){opacity:.2;filter:blur(7px)}
#htb-site #htb-photo-viewer.htb-album-focused .htb-album-active{cursor:default}
#htb-site .htb-album-footer{position:absolute;bottom:16px;left:32px;right:32px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px;color:var(--htb-secondary)}
#htb-site #htb-photo-viewer.htb-album .htb-album-browse{position:static;min-height:44px;text-align:left;font-size:12px;text-decoration:underline;text-underline-offset:4px}
#htb-site .htb-album-count{position:absolute;left:50%;transform:translateX(-50%);font-variant-numeric:tabular-nums}
#htb-site #htb-photo-viewer.htb-album .htb-viewer-close{top:8px;right:24px;z-index:5;padding:0 8px;background:var(--htb-bg)}
#htb-site #htb-photo-viewer.htb-album .htb-viewer-previous,#htb-site #htb-photo-viewer.htb-album .htb-viewer-next{top:auto;bottom:16px;z-index:5;background:none}
#htb-site #htb-photo-viewer.htb-album .htb-viewer-previous{left:auto;right:76px}
#htb-site #htb-photo-viewer.htb-album .htb-viewer-next{right:24px}
#htb-site #htb-photo-viewer.htb-album button:disabled{opacity:.25;cursor:default}
@media(max-width:650px){
  #htb-site .htb-album-viewport{inset:54px 0 90px}
  #htb-site #htb-photo-viewer.htb-album-focused .htb-album-card:not(.htb-album-active){filter:blur(2px)}
  #htb-site .htb-album-footer{left:20px;right:20px;bottom:42px}
  #htb-site .htb-album-hint{font-size:10px;max-width:175px}
  #htb-site .htb-album-count{left:auto;right:0;transform:none}
  #htb-site #htb-photo-viewer.htb-album .htb-viewer-previous,#htb-site #htb-photo-viewer.htb-album .htb-viewer-next{bottom:4px}
}
