.dp-logo{display:block;width:var(--dp-logo-width,180px);max-width:100%;height:auto;object-fit:contain}.site-sidebar{justify-content:flex-start}.site-sidebar nav{flex:none}.dp-hover-title{flex-direction:column;gap:10px;color:var(--dp-hover-color,#fff);background:var(--dp-hover-background,#0000ff)}.dp-hover-title small{font-size:.6em;line-height:1.4;font-weight:400}.dp-hover-title small:empty{display:none}.dp-page-footer{display:none}.dp-series figcaption a,.carousel-legend a,.lightbox-media~figcaption a,.dz-lightbox figcaption a{pointer-events:auto;text-decoration:underline;text-underline-offset:3px;color:inherit}.project-description>.entry-title{margin-bottom:20px}.project-description{margin-top:44px}
.dp-contact{max-width:680px}.dp-contact .entry-title{margin-bottom:28px}.dp-contact-form{margin-top:30px;display:grid;gap:20px}.dp-contact-form label{display:grid;gap:8px}.dp-contact-form input,.dp-contact-form textarea{font:inherit;width:100%;padding:12px;border:1px solid #bbb;border-radius:0;background:white;color:#111}.dp-contact-form button{justify-self:start;padding:12px 22px;background:var(--dp-active,#0000ff);color:#fff;border:0;cursor:pointer}.dp-contact-form :focus-visible{outline:2px solid var(--dp-active,#0000ff);outline-offset:3px}.dp-form-note{font-size:12px;line-height:1.6;margin:0}.dp-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.dp-form-status{padding:15px;border:1px solid currentColor}.dp-language-nav{display:flex;gap:16px;flex-wrap:wrap;margin:32px 0}.dp-language-page{max-width:800px}.dp-language-page .entry-title{margin-bottom:24px}
@media(min-width:761px){.dp-menu-top .site-sidebar{position:relative;inset:auto;width:100%;padding:32px 4vw 22px;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:20px 36px;overflow:visible}.dp-menu-top .site-title{margin:0 auto 0 0;max-width:400px}.dp-menu-top .portfolio-menu{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px}.dp-menu-top .portfolio-menu>li{position:relative;margin:0;padding:0;border:0}.dp-menu-top .portfolio-menu .sub-menu{display:none;position:absolute;z-index:30;top:100%;left:0;background:white;padding:12px;min-width:170px;box-shadow:0 2px 8px #0001}.dp-menu-top .portfolio-menu li:hover>.sub-menu,.dp-menu-top .portfolio-menu li:focus-within>.sub-menu{display:block}.dp-menu-top .instagram-link{margin:0}.dp-menu-top .sidebar-footer{display:none}.dp-menu-top .site-main{margin:0;max-width:none;padding:32px 4vw 80px}.dp-menu-top.home .site-main{padding-top:32px}.dp-menu-top .project-close{position:relative;float:right;top:auto;right:auto;margin:0 0 12px 20px}.dp-menu-top .dp-page-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:24px;padding:0 4vw 24px;color:#888;font-size:10px;line-height:1.6}.dp-menu-top .project-layout{clear:both}}
@media(max-width:760px){.dp-logo{max-width:min(var(--dp-logo-width,180px),60vw);max-height:64px;object-fit:contain}.dp-hover-title,.dp-project-card:hover .dp-hover-title{padding:12px 14px;background:var(--dp-hover-background,#0000ff);color:var(--dp-hover-color,#fff);align-items:flex-start;gap:5px}.dp-hover-title small{font-size:11px}.site-sidebar .sidebar-footer{margin-top:30px}.dp-contact-form input,.dp-contact-form textarea{font-size:16px}.project-description{margin-top:30px}}
@media(hover:none){.dp-hover-title,.dp-project-card:hover .dp-hover-title{background:var(--dp-hover-background,#0000ff);color:var(--dp-hover-color,#fff);padding:12px;align-items:flex-start}}

.dz-gallery[data-mode=masonry] figcaption a{cursor:pointer}
.dp-floating-brand{position:fixed;top:24px;left:4vw;z-index:50;display:block;max-width:min(400px,65vw);background:transparent;box-shadow:none;text-decoration:none;line-height:1.15}.dp-floating-brand[hidden]{display:none}.dp-floating-brand:focus-visible{outline:2px solid var(--dp-active);outline-offset:5px}.dp-is-scrolled.dp-menu-left .site-sidebar{background:transparent}.dp-floating-brand .dp-logo{background:transparent}
@media(max-width:760px){.dp-floating-brand{display:none}.dp-is-scrolled .mobile-header{background:transparent;box-shadow:none;border-color:transparent}.dp-is-scrolled .site-sidebar.is-open{background:#fff}}

/* Logo and editable adjacent text, with optional navigation spacing. */
.dp-brand{display:flex;align-items:center;gap:14px;min-width:0;max-width:100%;text-decoration:none}
.dp-brand-below{align-items:flex-start;flex-direction:column;gap:9px}
.dp-brand .dp-logo{flex:0 1 auto;min-width:0}
.dp-brand-text{font-size:var(--dp-brand-text-size,18px);font-weight:400;line-height:1.25;color:var(--dp-brand-text-color,#111);overflow-wrap:anywhere;min-width:0}
.site-sidebar,.mobile-header{background:var(--dp-header-background,#fff)}
.dp-floating-brand.dp-brand{max-width:min(640px,88vw);background:transparent}
@media(min-width:761px){
.dp-menu-top .site-sidebar .site-title{max-width:min(640px,100%);margin-right:0}
.dp-menu-top .site-sidebar{column-gap:calc(16px + var(--dp-brand-menu-gap,0px))}
.dp-menu-top .site-sidebar nav{margin-left:auto;max-width:100%}
.dp-menu-left .site-sidebar nav{margin-top:var(--dp-brand-menu-gap,0px)}
.dp-menu-left .dp-brand .dp-logo{max-width:40%}
}

html{scroll-behavior:smooth}
body:not(.home):not(.lightbox-open) [data-gallery-layout=masonry] .dz-gallery[data-mode=masonry] img{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 44 44'%3E%3Cpath d='M7 38 C14 29 23 16 36 6 M20 7 C26 7 31 6 36 6 C36 12 37 18 37 23' fill='none' stroke='%230000ff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 18 3,pointer}
.project-close,.dz-lightbox .lightbox-close{width:64px;height:64px;font-size:56px;line-height:1;color:var(--dp-active,#0000ff)}
.project-close:hover,.project-close:focus,.dz-lightbox .lightbox-close:hover,.dz-lightbox .lightbox-close:focus{color:var(--dp-active,#0000ff);transform:scale(1.08)}
.project-close,.project-close:hover,.project-close:active,.project-close:focus,.project-close:focus-visible,
.dz-lightbox .lightbox-close,.dz-lightbox .lightbox-close:hover,.dz-lightbox .lightbox-close:active,.dz-lightbox .lightbox-close:focus,.dz-lightbox .lightbox-close:focus-visible,
.menu-toggle[aria-expanded="true"]{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;-webkit-tap-highlight-color:transparent}
.dz-gallery[data-mode=masonry] figure img{cursor:inherit}
.dz-gallery:not([data-mode=masonry]) figure,.dz-gallery:not([data-mode=masonry]) figure img,.dz-gallery:not([data-mode=masonry]) figure a,.dz-lightbox figure,.dz-lightbox figure img{cursor:default}
:root{--dp-arrow-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M13 35 C18 27 22 20 28 12 M28 12 C33 19 38 24 43 29 M28 12 C29 23 28 34 27 45' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--dp-close-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M12 11 C22 22 31 33 43 44 M42 10 C34 20 21 34 11 43' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.carousel-button,.dz-lightbox .lightbox-prev,.dz-lightbox .lightbox-next{font-size:0;background:transparent;color:var(--dp-active,#0000ff);display:grid;place-items:center;cursor:pointer}
.carousel-button::before,.dz-lightbox .lightbox-prev::before,.dz-lightbox .lightbox-next::before{content:"";display:block;width:50px;height:50px;background:currentColor;-webkit-mask:var(--dp-arrow-icon) center/contain no-repeat;mask:var(--dp-arrow-icon) center/contain no-repeat;transform:rotate(90deg)}
.carousel-button.prev::before,.dz-lightbox .lightbox-prev::before{transform:rotate(-90deg)}
.project-close,.dz-lightbox .lightbox-close{font-size:0;display:grid;place-items:center}
.project-close::before,.dz-lightbox .lightbox-close::before{content:"";display:block;width:50px;height:50px;background:currentColor;-webkit-mask:var(--dp-close-icon) center/contain no-repeat;mask:var(--dp-close-icon) center/contain no-repeat}
@media(max-width:760px){.project-close{display:none}.carousel-button::before,.dz-lightbox .lightbox-prev::before,.dz-lightbox .lightbox-next::before{width:36px;height:36px}}
.dp-footer-contact a:hover,.site-main a:hover,.portfolio-menu a:hover,.instagram-link:hover,.dp-footer-languages a:hover,.portfolio-menu .current-menu-ancestor>a{color:var(--dp-active,#0000ff);opacity:1}
.site-main a:visited,.dp-footer-contact a:visited,.dp-footer-languages a:visited{color:var(--dp-active,#0000ff)}
.dp-back-to-top{position:relative;z-index:18;display:flex;width:58px;height:58px;margin:0 22px 18px auto;align-items:center;justify-content:center;color:var(--dp-active,#0000ff);background:transparent;text-decoration:none;opacity:.72;transition:opacity .18s,transform .18s}
.dp-back-to-top:hover,.dp-back-to-top:focus-visible{opacity:1;transform:translateY(-4px)}
.dp-back-to-top svg{width:50px;height:50px;overflow:visible}
.dp-back-to-top path{fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.dp-back-to-top:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.dp-about-contact{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr);gap:clamp(30px,6vw,90px);align-items:start;margin-top:30px}
.dp-footer-contact{text-align:center}.dp-footer-contact a{color:inherit;text-decoration:none}.dp-footer-contact a:hover{text-decoration:underline}.dp-footer-languages{text-align:right}.dp-footer-languages .dp-language-nav{justify-content:flex-end;margin:0}
.dp-contact-image{margin:0}.dp-contact-image img{display:block;width:100%;height:auto}.dp-contact-copy{min-width:0}.dp-contact-copy .entry-content>:first-child{margin-top:0}
@media(max-width:900px){.dp-about-contact{grid-template-columns:1fr;max-width:680px}.dp-contact-image{max-width:680px}}
@media(max-width:760px){
.mobile-header .dp-brand{flex:1;max-width:calc(100% - 48px);gap:10px}
.mobile-header .dp-brand .dp-logo{width:auto;max-width:30%;max-height:48px}
.mobile-header .dp-brand-text{font-size:clamp(10px,3.5vw,var(--dp-brand-text-size,18px))}
.site-sidebar nav{margin-top:min(var(--dp-brand-menu-gap,0px),60px)}
.dp-is-scrolled .site-sidebar.is-open{background:var(--dp-header-background,#fff)}
.dp-back-to-top{width:46px;height:46px;margin:0 10px 10px auto}.dp-back-to-top svg{width:42px;height:42px}
.dp-menu-top .dp-page-footer{grid-template-columns:1fr;text-align:center;gap:12px}.dp-footer-languages{text-align:center}.dp-footer-languages .dp-language-nav{justify-content:center;margin:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dp-back-to-top{transition:none}}
/* Masonry projects: Kalium-inspired text column to the left of the images. */
@media(min-width:1051px){
[data-gallery-layout="masonry"] .project-layout-left{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:clamp(28px,4vw,70px);align-items:start}
[data-gallery-layout="masonry"] .project-layout-left .project-description{grid-column:1;grid-row:1;margin-top:0;min-width:0}
[data-gallery-layout="masonry"] .project-layout-left .entry-content{grid-column:2;grid-row:1;min-width:0}
[data-gallery-layout="masonry"] .project-layout-left .dz-gallery[data-mode="masonry"]{max-width:none}
}
@media(max-width:1050px){
[data-gallery-layout="masonry"] .project-layout-left{display:flex;flex-direction:column}
[data-gallery-layout="masonry"] .project-layout-left .project-description{order:0;margin:0 0 28px;max-width:680px}
[data-gallery-layout="masonry"] .project-layout-left .entry-content{order:1;width:100%;min-width:0}
}
/* Highlight images that open the masonry lightbox. */
@media(hover:hover){
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure img{transition:filter .22s ease}
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure:hover img{filter:none}
}
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure img,
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure a:has(img){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ccircle cx='15' cy='15' r='9' fill='none' stroke='%230000ff' stroke-width='2.5'/%3E%3Cpath d='M21.5 21.5 30 30M11 15h8M15 11v8' fill='none' stroke='%230000ff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 15 15,zoom-in!important}
/* Give masonry descriptions room and switch to a single column when space is tight. */
@media(min-width:1201px){
[data-gallery-layout="masonry"] .project-layout-left{grid-template-columns:minmax(290px,35%) minmax(0,1fr)}
[data-gallery-layout="masonry"] .project-layout-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,35%);gap:clamp(24px,3vw,54px);align-items:start}
[data-gallery-layout="masonry"] .project-layout-side .entry-content{min-width:0}
[data-gallery-layout="masonry"] .project-layout-side .project-description{position:static;margin:0;min-width:0}
[data-gallery-layout="masonry"] .project-layout-side .dz-gallery[data-mode="masonry"]{max-width:none}
}
@media(min-width:1051px) and (max-width:1200px){
[data-gallery-layout="masonry"] .project-layout-left{display:flex;flex-direction:column}
[data-gallery-layout="masonry"] .project-layout-left .project-description{order:0;margin:0 0 28px;width:100%;max-width:760px}
[data-gallery-layout="masonry"] .project-layout-left .entry-content{order:1;width:100%}
}
@media(max-width:1200px){
[data-gallery-layout="masonry"] .project-layout-side{display:flex;flex-direction:column}
[data-gallery-layout="masonry"] .project-layout-side .project-description{order:0;position:static;margin:0 0 28px;width:100%;max-width:760px}
[data-gallery-layout="masonry"] .project-layout-side .entry-content{order:1;width:100%;min-width:0}
}
[data-gallery-layout="masonry"] .project-layout-above{display:flex;flex-direction:column}
[data-gallery-layout="masonry"] .project-layout-above .project-description{order:0;width:100%;max-width:760px;margin:0 0 clamp(22px,3vw,42px)}
[data-gallery-layout="masonry"] .project-layout-above .entry-content{order:1;width:100%;min-width:0}
.dp-menu-left .dp-page-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-left:290px;padding:0 4vw 24px;font-size:10px;line-height:1.6;color:#888}
.dp-menu-left .dp-footer-copyright{visibility:hidden}
@media(max-width:760px){.dp-menu-top .dp-page-footer,.dp-menu-left .dp-page-footer{display:grid;grid-template-columns:1fr;gap:12px;margin:0;padding:0 20px 24px;text-align:center;font-size:10px;line-height:1.6;color:#888}.dp-menu-left .dp-footer-copyright{visibility:visible}}

/* Customizer-controlled translucent color over masonry photos. */
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure,
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure a:has(img){background-color:var(--dz-masonry-hover-color,#000)}
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure figcaption{background-color:var(--paper,#fff)}
[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure img{opacity:1;transition:opacity .22s ease}
@media(hover:hover){[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure:hover img{opacity:calc(1 - var(--dz-masonry-hover-opacity,.24))}}
@media(prefers-reduced-motion:reduce){[data-gallery-layout="masonry"] .dz-gallery[data-mode="masonry"] figure img{transition:none}}

/* Contact page: wide form similar to the supplied reference, responsive on small screens. */
.dp-contact{width:100%;max-width:1200px}
.dp-contact .dp-about-contact{max-width:1200px}
.dp-contact .dp-about-contact-no-image{display:block}
.dp-contact .dp-contact-form{width:100%;max-width:1050px;margin-top:clamp(34px,5vw,72px)}
.dp-contact .dp-contact-form label{width:100%}
.dp-contact .dp-contact-form input,.dp-contact .dp-contact-form textarea{width:100%}
@media(max-width:760px){.dp-contact .dp-contact-form{margin-top:32px}}

.dp-contact-form-image{width:100%;max-width:1050px;margin:clamp(24px,4vw,48px) 0}.dp-contact-form-image img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;object-position:left center}
.dp-contact-form-image+.dp-contact-form{margin-top:24px}
.dp-contact-form .dp-form-note{font-size:inherit}
