/* New overview, alongside the original project and gallery styles. */
[hidden]{display:none!important}
.work-card{display:block;text-decoration:none;min-width:0}
.work-card figure{margin:0;position:relative}
.work-image{position:relative;overflow:hidden}
.work-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.work-caption{display:flex;align-items:flex-start;margin:0;gap:12px}
.work-caption h2{margin:0;font-family:var(--dz-card-font,"Albert Sans",Arial,sans-serif);line-height:1.45;letter-spacing:.01em;overflow-wrap:anywhere}
.image-fallback{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:14px}
.work-card:focus-visible{outline:0}.work-card:focus-visible .work-caption{outline:2px solid var(--ink);outline-offset:-2px}
@supports(width:1cqw){.dz-preview-home{container-type:inline-size}.work-grid{--dz-column-width:calc((100cqw - var(--dz-gap-x)*(var(--dz-active-columns) - 1))/var(--dz-active-columns))}}
@media(max-width:980px){.work-grid[data-layout="three"],.work-grid[data-layout="compact"]{--dz-active-columns:2}}
@media(max-width:640px){.work-grid[data-layout="three"],.work-grid[data-layout="two"],.work-grid[data-layout="compact"]{--dz-active-columns:1}}

/* Stable columns; original image proportions with a shared responsive height. */
:root{--dz-height:347px;--dz-gap-x:12px;--dz-gap-y:16px;--dz-margin:24px;--dz-max-width:1560px;--dz-title-size:13px;--dz-title-padding:12px;--dz-sidebar-width:320px}
.work-grid{--dz-active-columns:3;--dz-column-width:calc((min(calc(100vw - var(--dz-margin)*2),var(--dz-max-width)) - var(--dz-gap-x)*(var(--dz-active-columns) - 1))/var(--dz-active-columns));--preview-size:min(var(--dz-height),calc(var(--dz-column-width)/1.8));display:grid;grid-template-columns:repeat(var(--dz-active-columns),minmax(0,1fr));gap:var(--dz-gap-y) var(--dz-gap-x);align-items:start;max-width:none;margin-inline:0}
.work-grid[data-layout="two"]{--dz-active-columns:2}
.work-grid[data-layout="one"]{--dz-active-columns:1}
.work-grid[data-layout="flow"]{--dz-active-columns:1;display:flex;flex-wrap:wrap;justify-content:flex-start}
.work-grid[data-layout="compact"][data-compact-ready="true"]{--preview-size:var(--dz-compact-height);display:block}
.dz-preview-row{display:flex;gap:var(--dz-gap-x);align-items:flex-start}
.dz-preview-row+.dz-preview-row{margin-top:var(--dz-gap-y)}
.work-grid .work-card{flex:0 0 auto;width:calc(var(--preview-size)*var(--preview-display-ratio,var(--preview-ratio)));max-width:100%}
.work-grid .work-card figure{border:0}
.work-grid .work-caption{border:1px solid #000}
.work-grid .work-caption{padding:var(--dz-title-padding);min-height:48px;align-items:flex-start;background:var(--dz-title-fill,#fff);color:var(--dz-title-ink,#000)}
.work-grid .work-caption h2{font-size:var(--dz-title-size);font-weight:var(--dz-title-weight,650)}
.work-grid[data-title-frame="hide"] .work-caption{border-color:transparent}
.work-grid[data-titles="hide"] .work-caption{display:none}
.work-grid .work-image{width:100%;height:var(--preview-size);aspect-ratio:auto;background:transparent}
.work-grid #work-10 .work-image{height:calc(var(--preview-size)*var(--preview-display-ratio,var(--preview-ratio))/var(--preview-ratio))}
.project-tools{height:64px}
.project-tools:has(.project-close[hidden]){display:none}
.project-close{position:absolute;top:auto;right:22px;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:8px;background:var(--paper);color:var(--ink)}
.project-close svg{width:40px;height:40px}

.back-to-top{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:0;background:transparent;color:var(--ink);padding:8px}
.back-to-top svg{width:40px;height:40px}
:root{--dz-home-sidebar-width:280px}
/* Equal cards with filled image areas and white title strips. */
:root{--dz-preview-fill:#000000}
.work-grid[data-equal-boxes="show"]{--preview-size:min(var(--dz-height),calc(var(--dz-column-width)/1.5));display:grid;grid-template-columns:repeat(var(--dz-active-columns),minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}
.work-grid[data-equal-boxes="show"] .work-card{width:100%;height:100%}
.work-grid[data-equal-boxes="show"] .work-card figure{height:100%;display:flex;flex-direction:column;background:#fff;border:0}
.work-grid[data-equal-boxes="show"] .work-image,.work-grid[data-equal-boxes="show"] #work-10 .work-image{height:var(--preview-size);flex:none;background:var(--dz-image-fill,var(--dz-preview-fill))}
.work-grid[data-equal-boxes="show"] .work-image img{object-fit:contain}
.work-grid[data-equal-boxes="show"] .work-caption{flex:1;border:1px solid #000;background:var(--dz-title-fill,#fff);color:var(--dz-title-ink,#000)}
.work-grid[data-equal-boxes="show"][data-title-frame="hide"] .work-card figure,.work-grid[data-equal-boxes="show"][data-title-frame="hide"] .work-caption{border-color:transparent}

:root{--dz-capitalistic-zoom:1.25}
.work-grid[data-equal-boxes="show"] #work-01[data-image-fit="cover"] .work-image img{transform:scale(var(--dz-capitalistic-zoom));transform-origin:center;width:calc(100% + 1mm / var(--dz-capitalistic-zoom));height:calc(100% + 1mm / var(--dz-capitalistic-zoom));left:calc(-.5mm / var(--dz-capitalistic-zoom));top:calc(-.5mm / var(--dz-capitalistic-zoom))}


.work-grid[data-equal-boxes="show"] .work-card[data-image-fit="cover"] .work-image img{object-fit:cover;object-position:center}
.work-grid[data-equal-boxes="show"] .work-card[data-image-fit="contain"] .work-image img{object-fit:contain;object-position:center}

.work-grid .work-card:hover .work-caption h2{color:inherit}

/* Shared decorative line styles for title frames and the menu divider. */
:root{--dz-line-width:1px;--dz-title-line-width:1.5px;--dz-title-border-width:var(--dz-title-line-width);--dz-border-width:var(--dz-line-width);--dz-line-color:#000000;--dz-line-style:dashed;--dz-title-line-style:solid;--dz-title-dash-span:6px;--dz-title-horizontal:linear-gradient(to right,var(--dz-line-color) 0 50%,transparent 50% 100%);--dz-title-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 50%,transparent 50% 100%);--dz-dash-span:6px;--dz-line-horizontal:linear-gradient(to right,var(--dz-line-color) 0 50%,transparent 50% 100%);--dz-line-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 50%,transparent 50% 100%)}
.work-grid .work-caption,.work-grid[data-equal-boxes="show"] .work-caption{border-style:var(--dz-title-line-style);border-width:var(--dz-title-border-width);border-color:var(--dz-line-color);position:relative}
.portfolio-menu .menu-contact-item{border-top:var(--dz-border-width) var(--dz-line-style) var(--dz-line-color);position:relative}
body[data-dz-line-style="double"]{--dz-border-width:max(3px,var(--dz-line-width))}
body[data-dz-title-line-style="double"]{--dz-title-border-width:max(3px,var(--dz-title-line-width))}
body[data-dz-title-line-style="long-dashes"]{--dz-title-dash-span:20px}
body[data-dz-line-style="long-dashes"]{--dz-dash-span:20px}
body[data-dz-title-line-style="dash-dot"]{--dz-title-dash-span:18px;--dz-title-horizontal:linear-gradient(to right,var(--dz-line-color) 0 50%,transparent 50% 66.667%,var(--dz-line-color) 66.667% 77.778%,transparent 77.778% 100%);--dz-title-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 50%,transparent 50% 66.667%,var(--dz-line-color) 66.667% 77.778%,transparent 77.778% 100%)}
body[data-dz-line-style="dash-dot"]{--dz-dash-span:18px;--dz-line-horizontal:linear-gradient(to right,var(--dz-line-color) 0 50%,transparent 50% 66.667%,var(--dz-line-color) 66.667% 77.778%,transparent 77.778% 100%);--dz-line-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 50%,transparent 50% 66.667%,var(--dz-line-color) 66.667% 77.778%,transparent 77.778% 100%)}
body[data-dz-title-line-style="dash-dot-dot"]{--dz-title-dash-span:28px;--dz-title-horizontal:linear-gradient(to right,var(--dz-line-color) 0 42.857%,transparent 42.857% 57.143%,var(--dz-line-color) 57.143% 64.286%,transparent 64.286% 78.571%,var(--dz-line-color) 78.571% 85.714%,transparent 85.714% 100%);--dz-title-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 42.857%,transparent 42.857% 57.143%,var(--dz-line-color) 57.143% 64.286%,transparent 64.286% 78.571%,var(--dz-line-color) 78.571% 85.714%,transparent 85.714% 100%)}
body[data-dz-line-style="dash-dot-dot"]{--dz-dash-span:28px;--dz-line-horizontal:linear-gradient(to right,var(--dz-line-color) 0 42.857%,transparent 42.857% 57.143%,var(--dz-line-color) 57.143% 64.286%,transparent 64.286% 78.571%,var(--dz-line-color) 78.571% 85.714%,transparent 85.714% 100%);--dz-line-vertical:linear-gradient(to bottom,var(--dz-line-color) 0 42.857%,transparent 42.857% 57.143%,var(--dz-line-color) 57.143% 64.286%,transparent 64.286% 78.571%,var(--dz-line-color) 78.571% 85.714%,transparent 85.714% 100%)}
:is(body[data-dz-title-line-style="short-dashes"],body[data-dz-title-line-style="long-dashes"],body[data-dz-title-line-style="dash-dot"],body[data-dz-title-line-style="dash-dot-dot"]) .work-grid .work-caption{border-color:transparent}
:is(body[data-dz-title-line-style="short-dashes"],body[data-dz-title-line-style="long-dashes"],body[data-dz-title-line-style="dash-dot"],body[data-dz-title-line-style="dash-dot-dot"]) .work-caption::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--dz-title-horizontal) left bottom / var(--dz-title-dash-span) var(--dz-title-line-width) repeat-x,var(--dz-title-vertical) left top / var(--dz-title-line-width) var(--dz-title-dash-span) repeat-y,var(--dz-title-vertical) right top / var(--dz-title-line-width) var(--dz-title-dash-span) repeat-y}
:is(body[data-dz-line-style="short-dashes"],body[data-dz-line-style="long-dashes"],body[data-dz-line-style="dash-dot"],body[data-dz-line-style="dash-dot-dot"]) .portfolio-menu .menu-contact-item{border-top-color:transparent}
:is(body[data-dz-line-style="short-dashes"],body[data-dz-line-style="long-dashes"],body[data-dz-line-style="dash-dot"],body[data-dz-line-style="dash-dot-dot"]) .menu-contact-item::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--dz-line-width));height:var(--dz-line-width);pointer-events:none;background:var(--dz-line-horizontal) left top / var(--dz-dash-span) var(--dz-line-width) repeat-x}
.work-grid[data-title-frame="hide"] .work-caption,.work-grid[data-equal-boxes="show"][data-title-frame="hide"] .work-caption{border-color:transparent}
.work-grid[data-title-frame="hide"] .work-caption::after{display:none}

:root{--dz-shadow-alpha:.14}
.work-grid[data-image-shadow="show"] .work-image{box-shadow:0 4px 12px rgb(0 0 0 / var(--dz-shadow-alpha))}

/* The title frame can be closed on all four sides. */
.work-grid[data-title-top-line="hide"] .work-caption{border-top-width:0}
.work-grid[data-title-top-line="show"] .work-caption::after{background:var(--dz-title-horizontal) left top / var(--dz-title-dash-span) var(--dz-title-line-width) repeat-x,var(--dz-title-horizontal) left bottom / var(--dz-title-dash-span) var(--dz-title-line-width) repeat-x,var(--dz-title-vertical) left top / var(--dz-title-line-width) var(--dz-title-dash-span) repeat-y,var(--dz-title-vertical) right top / var(--dz-title-line-width) var(--dz-title-dash-span) repeat-y}

/* Reveal captions on hover without moving the rows. */
@media(hover:hover) and (pointer:fine){
  .work-grid[data-title-reveal="hover"] .work-caption{opacity:0;transition:opacity .18s ease;pointer-events:none}
  .work-grid[data-title-reveal="hover"] .work-card:hover .work-caption,.work-grid[data-title-reveal="hover"] .work-card:focus-visible .work-caption{opacity:1;pointer-events:auto}
}
@media(any-pointer:coarse){.work-grid[data-title-reveal="hover"] .work-caption{opacity:1;transition:none;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.work-grid[data-title-reveal="hover"] .work-caption{transition:none}}

/* Title bars sit inside the preview, leaving no caption gap between rows. */
.work-grid .work-card figure{position:relative}
.work-grid[data-title-position="overlay"] .work-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;flex:none}
.work-grid[data-title-position="overlay"][data-equal-boxes="show"] .work-card figure{display:block}
.work-grid[data-image-shadow="hide"] .work-image{box-shadow:none}
.work-card:focus-visible .work-image::after{content:none}

/* Native sidebar, including existing font, spacing and social controls. */
.dz-preview-theme:not(.home) .site-sidebar{width:var(--dz-sidebar-width);background:var(--paper)}
.dz-preview-theme .sidebar-footer{display:none}
.dz-preview-theme:not(.home) .site-main{margin-left:var(--dz-sidebar-width)}
.dz-preview-theme .portfolio-menu a{max-width:none}
.dz-preview-theme .portfolio-menu .menu-contact-item{padding-top:14px;margin-top:18px}
.dz-preview-theme .project-tools{height:64px}
.dz-preview-theme .project-close{display:flex;position:absolute;right:22px;top:auto;z-index:15;align-items:center;justify-content:center;width:56px;height:56px;padding:8px;text-decoration:none;color:var(--ink)}
.dz-preview-theme .project-close svg{width:36px;height:36px}
html{scrollbar-gutter:stable}
.dz-preview-theme .project-close:hover,.dz-preview-theme .project-close:focus-visible{opacity:.65;transform:none}
.dz-preview-theme .back-to-top{position:fixed;right:22px;bottom:22px;width:56px;height:56px;z-index:40;display:flex;align-items:center;justify-content:center;padding:8px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.dz-preview-theme .back-to-top svg{width:40px;height:40px}
.dz-preview-theme .dz-contact-back-top{display:none!important}
.dz-preview-theme[data-dz-sidebar="hide"]:not(.home) .site-sidebar{display:none}
.dz-preview-theme[data-dz-sidebar="hide"]:not(.home) .site-main{margin-left:0}
@media(min-width:761px){
 .dz-preview-overview .mobile-header{display:none}
 .dz-preview-overview .site-sidebar{inset:0 auto 0 0;width:var(--dz-home-sidebar-width);padding:26px 24px 40px;transform:none!important;visibility:visible;transition:none;z-index:20}
 .dz-preview-overview .site-sidebar>.site-title{display:block;position:sticky;top:-26px;z-index:2;background:var(--paper);padding-top:26px;margin-top:-26px;margin-bottom:28px;flex-shrink:0;line-height:1.05}
 .dz-preview-overview .site-main{width:min(calc(100% - var(--dz-home-sidebar-width) - var(--dz-margin)*2 - 24px),var(--dz-max-width));margin-left:calc(var(--dz-home-sidebar-width) + var(--dz-margin) + 24px);margin-right:var(--dz-margin);padding:26px 0 48px!important;max-width:none;min-width:0}
 .dz-preview-overview[data-dz-alignment="center"] .dz-preview-home{margin-inline:auto}
 .dz-preview-overview[data-dz-home-side="right"] .site-sidebar{inset:0 0 0 auto}
 .dz-preview-overview[data-dz-home-side="right"] .site-main{margin-left:var(--dz-margin);margin-right:calc(var(--dz-home-sidebar-width) + var(--dz-margin) + 24px)}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .site-sidebar{display:none}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .site-main{width:min(calc(100% - var(--dz-margin)*2),var(--dz-max-width));margin-left:var(--dz-margin)}
}
@media(max-width:760px){
 .dz-preview-theme .site-main{margin-left:0}
 .dz-preview-theme .site-sidebar{width:100%;background:var(--paper)}
 .dz-preview-overview .site-main{width:auto;padding:86px 16px 48px!important;margin:0}
 .dz-preview-overview .mobile-header{background:var(--paper)}
 .dz-preview-overview .site-sidebar{inset:64px auto 0 0;visibility:hidden;transform:translateX(-105%)!important}
 .dz-preview-overview .site-sidebar.is-open{visibility:visible;transform:translateX(0)!important}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .menu-toggle,.dz-preview-theme[data-dz-sidebar="hide"]:not(.home) .menu-toggle{display:none}
}

@supports(width:1cqw){.dz-preview-home{container-type:inline-size}.work-grid{--dz-column-width:calc((100cqw - var(--dz-gap-x)*(var(--dz-active-columns) - 1))/var(--dz-active-columns))}}
.dz-preview-theme .project-tools:has(.project-close[hidden]){display:none}

.work-grid .work-card[data-image-fit="cover"] .work-image img{object-fit:cover}
.work-grid .work-card[data-image-fit="contain"] .work-image img{object-fit:contain}
.work-grid .work-image{background:var(--dz-image-fill,var(--dz-preview-fill))}
.dz-preview-theme .dz-header-works{display:block;margin:0 0 16px;font-size:14px;text-decoration:none}
.home:not(.dz-preview-overview) .sidebar-footer{display:block}
@media(min-width:761px){
 .dz-preview-overview{--dz-overview-width:min(calc(100vw - var(--dz-home-sidebar-width) - var(--dz-margin)*2 - 24px),var(--dz-max-width))}
 .dz-preview-overview[data-dz-alignment="center"] .site-main{margin-left:calc(var(--dz-home-sidebar-width) + 24px + (100vw - var(--dz-home-sidebar-width) - 24px - var(--dz-overview-width))/2)}
 .dz-preview-overview[data-dz-alignment="center"][data-dz-home-side="right"] .site-main{margin-left:calc((100vw - var(--dz-home-sidebar-width) - 24px - var(--dz-overview-width))/2)}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .mobile-header{display:flex}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .mobile-header .menu-toggle{display:none}
 .dz-preview-overview[data-dz-home-sidebar="hide"] .site-main{padding-top:86px!important}
 .dz-preview-overview[data-dz-home-sidebar="hide"][data-dz-alignment="center"] .site-main{margin-inline:auto}
}
