.elementor-kit-28{--e-global-color-primary:#1A1A1C;--e-global-color-secondary:#4A4A4E;--e-global-color-text:#8B8B90;--e-global-color-accent:#2A3E6B;--e-global-color-1fb1bfa:#FAFAF8;--e-global-color-9e88070:#F4F3EF;--e-global-color-07b9b29:#E6E5E0;--e-global-color-b714dd8:#A64438;--e-global-typography-primary-font-family:"Inter Tight";--e-global-typography-primary-font-size:108px;--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:1.02em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Inter Tight";--e-global-typography-secondary-font-size:56px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-line-height:1.02em;--e-global-typography-secondary-letter-spacing:-0.025em;--e-global-typography-text-font-family:"Inter Tight";--e-global-typography-text-font-size:34px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.08em;--e-global-typography-text-letter-spacing:-0.015em;--e-global-typography-accent-font-family:"Inter Tight";--e-global-typography-accent-font-size:22px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:-0.01em;--e-global-typography-8fc2d1f-font-family:"Inter Tight";--e-global-typography-8fc2d1f-font-size:22px;--e-global-typography-9e75dfb-font-family:"Inter";--e-global-typography-9e75dfb-font-size:17px;--e-global-typography-9e75dfb-font-weight:300;--e-global-typography-9e75dfb-line-height:1.6em;--e-global-typography-953e191-font-family:"Inter";--e-global-typography-953e191-font-size:15px;--e-global-typography-953e191-font-weight:300;--e-global-typography-b79e81f-font-family:"JetBrains Mono";--e-global-typography-b79e81f-font-size:11px;--e-global-typography-b79e81f-font-weight:400;--e-global-typography-b79e81f-text-transform:uppercase;--e-global-typography-b79e81f-letter-spacing:0.14em;--e-global-typography-b4e261d-font-family:"JetBrains Mono";--e-global-typography-b4e261d-font-size:11px;--e-global-typography-b4e261d-font-weight:400;--e-global-typography-b4e261d-text-transform:uppercase;--e-global-typography-b4e261d-letter-spacing:0.08em;--e-global-typography-24e027b-font-family:"JetBrains Mono";--e-global-typography-24e027b-font-size:20px;--e-global-typography-24e027b-font-weight:400;--e-global-typography-24e027b-text-transform:uppercase;--e-global-typography-24e027b-letter-spacing:0.14em;background-color:var( --e-global-color-1fb1bfa );color:var( --e-global-color-secondary );font-family:var( --e-global-typography-953e191-font-family ), Sans-serif;font-size:var( --e-global-typography-953e191-font-size );font-weight:var( --e-global-typography-953e191-font-weight );line-height:var( --e-global-typography-953e191-line-height );}.elementor-kit-28 button:hover,.elementor-kit-28 button:focus,.elementor-kit-28 input[type="button"]:hover,.elementor-kit-28 input[type="button"]:focus,.elementor-kit-28 input[type="submit"]:hover,.elementor-kit-28 input[type="submit"]:focus,.elementor-kit-28 .elementor-button:hover,.elementor-kit-28 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-1fb1bfa );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-kit-28 e-page-transition{background-color:#FFBC7D;}.elementor-kit-28 a{color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:15px;font-weight:300;}.elementor-kit-28 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-28 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-28 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-28 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-28 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-8fc2d1f-font-family ), Sans-serif;font-size:var( --e-global-typography-8fc2d1f-font-size );line-height:var( --e-global-typography-8fc2d1f-line-height );}.elementor-kit-28 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-9e75dfb-font-family ), Sans-serif;font-size:var( --e-global-typography-9e75dfb-font-size );font-weight:var( --e-global-typography-9e75dfb-font-weight );line-height:var( --e-global-typography-9e75dfb-line-height );}.elementor-kit-28 button,.elementor-kit-28 input[type="button"],.elementor-kit-28 input[type="submit"],.elementor-kit-28 .elementor-button{font-family:"JetBrains Mono", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:0.14em;color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1360px;}.e-con{--container-max-width:1360px;--container-default-padding-top:40px;--container-default-padding-right:0px;--container-default-padding-bottom:40px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-primary );--lightbox-ui-color:var( --e-global-color-primary );--lightbox-ui-color-hover:var( --e-global-color-accent );--lightbox-text-color:var( --e-global-color-primary );--lightbox-header-icons-size:30px;--lightbox-navigation-icons-size:50px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1440px){.elementor-kit-28{font-size:var( --e-global-typography-953e191-font-size );line-height:var( --e-global-typography-953e191-line-height );}.elementor-kit-28 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-28 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-28 h3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-28 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-28 h5{font-size:var( --e-global-typography-8fc2d1f-font-size );line-height:var( --e-global-typography-8fc2d1f-line-height );}.elementor-kit-28 h6{font-size:var( --e-global-typography-9e75dfb-font-size );line-height:var( --e-global-typography-9e75dfb-line-height );}.e-con{--container-default-padding-top:40px;--container-default-padding-right:0px;--container-default-padding-bottom:40px;--container-default-padding-left:0px;}}@media(max-width:1024px){.elementor-kit-28{font-size:var( --e-global-typography-953e191-font-size );line-height:var( --e-global-typography-953e191-line-height );}.elementor-kit-28 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-28 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-28 h3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-28 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-28 h5{font-size:var( --e-global-typography-8fc2d1f-font-size );line-height:var( --e-global-typography-8fc2d1f-line-height );}.elementor-kit-28 h6{font-size:var( --e-global-typography-9e75dfb-font-size );line-height:var( --e-global-typography-9e75dfb-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:32px;--container-default-padding-right:0px;--container-default-padding-bottom:32px;--container-default-padding-left:0px;}}@media(max-width:768px){.elementor-kit-28{--e-global-typography-primary-font-size:72px;--e-global-typography-secondary-font-size:40px;--e-global-typography-text-font-size:40px;--e-global-typography-accent-font-size:28px;--e-global-typography-8fc2d1f-font-size:19px;--e-global-typography-9e75dfb-font-size:17px;--e-global-typography-953e191-font-size:15px;--e-global-typography-b79e81f-font-size:11px;--e-global-typography-b4e261d-font-size:11px;--e-global-typography-24e027b-font-size:11px;font-size:var( --e-global-typography-953e191-font-size );line-height:var( --e-global-typography-953e191-line-height );}.elementor-kit-28 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-28 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-28 h3{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-28 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-28 h5{font-size:var( --e-global-typography-8fc2d1f-font-size );line-height:var( --e-global-typography-8fc2d1f-line-height );}.elementor-kit-28 h6{font-size:var( --e-global-typography-9e75dfb-font-size );line-height:var( --e-global-typography-9e75dfb-line-height );}.elementor-kit-28 button,.elementor-kit-28 input[type="button"],.elementor-kit-28 input[type="submit"],.elementor-kit-28 .elementor-button{font-size:11px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:24px;--container-default-padding-right:0px;--container-default-padding-bottom:24px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ============================================================================
   Daniel Zeldes — Macro Photography
   Sitewide Custom CSS for Elementor
   v1.0 · 19 Apr 2026
   ----------------------------------------------------------------------------
   WHERE TO PASTE
   Elementor → Site Settings → Custom CSS
   (Or child theme style.css — recommended for easier versioning)

   DEPENDENCIES
   - Elementor Pro (Theme Builder, Form, Loop Grid)
   - Google Fonts: Inter Tight, Inter, JetBrains Mono
     Load via Elementor → Site Settings → Global Fonts

   GLOBAL COLORS (set these in Elementor → Site Settings → Global Colors
   and they'll match the custom properties below)
     Primary   #1A1A1C   Ink
     Secondary #4A4A4E   Ink-2
     Text      #8B8B90   Ink-3
     Accent    #2A3E6B   Navy
   ============================================================================ */


/* ----------------------------------------------------------------------------
   1. DESIGN TOKENS
   ---------------------------------------------------------------------------- */
:root {
  /* color */
  --dz-bg:          #FAFAF8;
  --dz-bg-panel:    #F4F3EF;
  --dz-ink:         #1A1A1C;
  --dz-ink-2:       #4A4A4E;
  --dz-ink-3:       #8B8B90;
  --dz-rule:        #E6E5E0;
  --dz-rule-strong: #D6D5CF;
  --dz-accent:      #2A3E6B;
  --dz-error:       #A64438;
  --dz-ph-a:        #EDECE6;
  --dz-ph-b:        #E3E2DB;

  /* type */
  --dz-font-display: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --dz-font-body:    "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --dz-font-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* scale */
  --dz-space-xs:  4px;
  --dz-space-s:   8px;
  --dz-space-m:   16px;
  --dz-space-l:   24px;
  --dz-space-xl:  40px;
  --dz-space-2xl: 64px;
  --dz-space-3xl: 96px;
  --dz-space-4xl: 160px;

  /* motion */
  --dz-t:       420ms cubic-bezier(.2,.7,.2,1);
  --dz-t-slow:  700ms ease;
  --dz-t-enter: 600ms cubic-bezier(.2,.7,.2,1);

  /* layout */
  --dz-container: 1360px;
  --dz-gutter:    40px;
}


/* ----------------------------------------------------------------------------
   2. RESETS & BASE
   ---------------------------------------------------------------------------- */
body {
  background: var(--dz-bg) !important;
  color: var(--dz-ink);
  font-family: var(--dz-font-body);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* kill rounded corners everywhere — part of the brand */
.elementor-widget img,
.elementor-button,
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select,
.elementor-image-gallery img,
.e-loop-item img,
.elementor-widget-container img { border-radius: 0 !important; }

.elementor a,
.elementor a:visited { color: inherit; text-decoration: none; transition: color var(--dz-t), border-color var(--dz-t); }
.elementor a:hover   { color: var(--dz-accent); }

/* accessible focus ring */
.elementor a:focus-visible,
.elementor button:focus-visible,
.elementor input:focus-visible,
.elementor textarea:focus-visible,
.elementor select:focus-visible {
  outline: 2px solid var(--dz-accent);
  outline-offset: 2px;
}


/* ----------------------------------------------------------------------------
   3. TYPOGRAPHY
   Apply via Elementor widget "CSS Classes" field:
     .dz-display-xl  .dz-display-l  .dz-display-m  .dz-display-s
     .dz-lead  .dz-body-l  .dz-body
     .dz-eyebrow  .dz-label  .dz-num
   ---------------------------------------------------------------------------- */
.dz-display-xl,
.dz-display-l,
.dz-display-m,
.dz-display-s {
  font-family: var(--dz-font-display);
  color: var(--dz-ink);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
}
.dz-display-xl {
  font-weight: 300;
  font-size: clamp(48px, 7vw, 108px);
  letter-spacing: -0.03em;
  line-height: 1.02;
}
.dz-display-l {
  font-weight: 300;
  font-size: clamp(34px, 4vw, 56px);
  letter-spacing: -0.025em;
  line-height: 1.04;
}
.dz-display-m {
  font-weight: 400;
  font-size: clamp(24px, 2.3vw, 34px);
  letter-spacing: -0.015em;
  line-height: 1.08;
}
.dz-display-s {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.dz-lead {
  font-family: var(--dz-font-display);
  font-weight: 300;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--dz-ink);
  max-width: 46ch;
}
.dz-body-l {
  font-size: 17px;
  line-height: 1.6;
  color: var(--dz-ink-2);
  font-weight: 300;
  max-width: 58ch;
}
.dz-body {
  font-size: 15px;
  line-height: 1.65;
  color: var(--dz-ink-2);
  font-weight: 300;
  max-width: 62ch;
}

.dz-eyebrow,
.dz-label,
.dz-num {
  font-family: var(--dz-font-mono);
  text-transform: uppercase;
}
.dz-eyebrow {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--dz-ink-3);
  font-weight: 400;
}
.dz-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--dz-ink-2);
  font-weight: 400;
}
.dz-num {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--dz-ink-3);
  font-weight: 400;
  text-transform: none;
}

/* default Elementor heading tones */
.elementor-heading-title { font-family: var(--dz-font-display); font-weight: 300; letter-spacing: -0.02em; color: var(--dz-ink); }

/* inline link underline */
.dz-link,
.elementor-widget-text-editor a:not(.elementor-button) {
  border-bottom: 1px solid var(--dz-rule-strong);
  padding-bottom: 1px;
}
.dz-link:hover,
.elementor-widget-text-editor a:not(.elementor-button):hover {
  color: var(--dz-accent);
  border-color: var(--dz-accent);
}


/* ----------------------------------------------------------------------------
   4. LAYOUT HELPERS
   ---------------------------------------------------------------------------- */
.dz-container > .elementor-container,
.elementor-section.dz-container > .e-con-inner {
  max-width: var(--dz-container);
  padding-left: var(--dz-gutter);
  padding-right: var(--dz-gutter);
}

.dz-rule-top    { border-top: 1px solid var(--dz-rule); }
.dz-rule-bottom { border-bottom: 1px solid var(--dz-rule); }
.dz-rule-strong { border-color: var(--dz-rule-strong) !important; }

/* section rhythm — add as CSS Class to a section */
.dz-pad-page    { padding-top: var(--dz-space-2xl); padding-bottom: var(--dz-space-xl); }
.dz-pad-section { padding-top: var(--dz-space-3xl); padding-bottom: var(--dz-space-3xl); }
.dz-pad-tight   { padding-top: var(--dz-space-xl); padding-bottom: var(--dz-space-xl); }


/* ----------------------------------------------------------------------------
   5. HEADER / NAVIGATION
   (assumes Elementor Pro Nav Menu + a text-brand Heading widget in a header template)
   ---------------------------------------------------------------------------- */
.dz-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(250, 250, 248, 0.86);
  -webkit-backdrop-filter: saturate(1.2) blur(12px);
          backdrop-filter: saturate(1.2) blur(12px);
  border-bottom: 1px solid var(--dz-rule);
}
.dz-header .elementor-container,
.dz-header .e-con-inner { min-height: 76px; }

.dz-brand .elementor-heading-title {
  font-family: var(--dz-font-display);
  font-weight: 400;
  font-size: 17px;
  letter-spacing: -0.01em;
  color: var(--dz-ink);
}
.dz-brand .elementor-heading-title small {
  color: var(--dz-ink-3);
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-left: 10px;
  font-weight: 400;
}

.dz-header .elementor-nav-menu > li > a {
  font-family: var(--dz-font-body);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--dz-ink-2);
  padding: 6px 0;
  margin: 0 16px;
  position: relative;
  transition: color var(--dz-t);
}
.dz-header .elementor-nav-menu > li > a:hover { color: var(--dz-accent); }

.dz-header .elementor-nav-menu > li.current-menu-item > a,
.dz-header .elementor-nav-menu > li.current_page_item > a {
  color: var(--dz-ink);
}
.dz-header .elementor-nav-menu > li.current-menu-item > a::after,
.dz-header .elementor-nav-menu > li.current_page_item > a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 1px;
  background: var(--dz-ink);
}


/* ----------------------------------------------------------------------------
   6. FOOTER
   ---------------------------------------------------------------------------- */
.dz-footer {
  margin-top: var(--dz-space-4xl);
  padding: var(--dz-space-2xl) 0 var(--dz-space-xl);
  border-top: 1px solid var(--dz-rule);
}
.dz-footer h4,
.dz-footer .elementor-heading-title {
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dz-ink-3);
  font-weight: 500;
  margin-bottom: 20px;
}
.dz-footer a { font-size: 13px; color: var(--dz-ink-2); }
.dz-footer a:hover { color: var(--dz-accent); }


/* ----------------------------------------------------------------------------
   7. SERIES CARD (Loop Grid template)
   Add .dz-card to the loop item wrapper
   ---------------------------------------------------------------------------- */
.dz-card {
  display: block;
  cursor: pointer;
  transition: transform var(--dz-t);
}
.dz-card__img {
  aspect-ratio: 4 / 5;
  margin-bottom: var(--dz-space-l);
  position: relative;
  overflow: hidden;
}
.dz-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity var(--dz-t);
}
.dz-card__img::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--dz-accent);
  mix-blend-mode: multiply;
  opacity: 0;
  transition: opacity var(--dz-t);
  z-index: 1;
  pointer-events: none;
}
.dz-card:hover .dz-card__img::before { opacity: 0.08; }
.dz-card:hover .dz-card__title { color: var(--dz-accent); }

.dz-card__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--dz-space-m);
}
.dz-card__title {
  font-family: var(--dz-font-display);
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--dz-ink);
  transition: color var(--dz-t);
}
.dz-card__meta {
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--dz-ink-3);
  text-transform: uppercase;
  white-space: nowrap;
}
.dz-card__desc {
  font-size: 13px;
  color: var(--dz-ink-3);
  margin-top: var(--dz-space-s);
  max-width: 36ch;
}


/* ----------------------------------------------------------------------------
   8. FILTER CHIPS (JetSmartFilters + fallback)
   ---------------------------------------------------------------------------- */
.dz-chip,
.jet-filter-row .jet-checkboxes-list__item label {
  font-family: var(--dz-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 8px 14px;
  border: 1px solid var(--dz-rule-strong);
  color: var(--dz-ink-2);
  background: transparent;
  transition: all var(--dz-t);
  cursor: pointer;
  display: inline-block;
  margin-right: var(--dz-space-s);
  margin-bottom: var(--dz-space-s);
}
.dz-chip:hover,
.jet-filter-row .jet-checkboxes-list__item label:hover {
  border-color: var(--dz-ink);
  color: var(--dz-ink);
}
.dz-chip.is-active,
.jet-filter-row .jet-checkboxes-list__item.jet-filter-row--active label,
.jet-filter-row .jet-checkboxes-list__item input:checked + label {
  background: var(--dz-ink);
  color: var(--dz-bg);
  border-color: var(--dz-ink);
}

/* hide the native checkbox in JetSmartFilters */
.jet-filter-row .jet-checkboxes-list__item input[type="checkbox"] { display: none; }


/* ----------------------------------------------------------------------------
   9. BUTTONS
   ---------------------------------------------------------------------------- */
.elementor-button,
.dz-btn {
  font-family: var(--dz-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding: 16px 28px !important;
  border: 1px solid var(--dz-ink) !important;
  background: transparent !important;
  color: var(--dz-ink) !important;
  border-radius: 0 !important;
  transition: all var(--dz-t) !important;
  box-shadow: none !important;
}
.elementor-button:hover,
.dz-btn:hover {
  background: var(--dz-ink) !important;
  color: var(--dz-bg) !important;
  border-color: var(--dz-ink) !important;
}

/* secondary — inline arrow link */
.dz-btn-ghost {
  font-family: var(--dz-font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dz-ink-2);
  padding-bottom: 4px;
  border-bottom: 1px solid var(--dz-rule-strong);
  transition: all var(--dz-t);
  display: inline-block;
}
.dz-btn-ghost:hover {
  color: var(--dz-accent);
  border-color: var(--dz-accent);
}


/* ----------------------------------------------------------------------------
   10. FORMS (Elementor Pro Form widget)
   ---------------------------------------------------------------------------- */
.dz-form .elementor-field-group > label {
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dz-ink-3);
  font-weight: 400;
  margin-bottom: var(--dz-space-s);
}

.dz-form .elementor-field-textual {
  font: inherit;
  font-family: var(--dz-font-body);
  font-size: 15px;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dz-rule-strong) !important;
  padding: 8px 0 !important;
  color: var(--dz-ink);
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color var(--dz-t);
}
.dz-form .elementor-field-textual:focus {
  outline: none;
  border-bottom-color: var(--dz-ink) !important;
}
.dz-form textarea.elementor-field-textual { min-height: 120px; resize: vertical; }

.dz-form .elementor-message.elementor-message-danger,
.dz-form .elementor-field-group.elementor-field-required .elementor-field-textual:invalid {
  color: var(--dz-error);
  border-bottom-color: var(--dz-error) !important;
}
.dz-form .elementor-message.elementor-message-success {
  font-family: var(--dz-font-display);
  font-size: 20px;
  color: var(--dz-ink);
  padding: var(--dz-space-l);
  border: 1px solid var(--dz-rule-strong);
  background: transparent;
}


/* ----------------------------------------------------------------------------
   11. GALLERY GRID (Elementor Basic Gallery)
   Disable Elementor lightbox on the widget; use GLightbox.
   ---------------------------------------------------------------------------- */
.dz-gallery .elementor-gallery,
.dz-gallery .elementor-image-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}
.dz-gallery .gallery-item,
.dz-gallery .elementor-gallery-item {
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}
.dz-gallery .gallery-item img,
.dz-gallery .elementor-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity var(--dz-t);
}
.dz-gallery .gallery-item::before,
.dz-gallery .elementor-gallery-item::before {
  content: "";
  position: absolute; inset: 0;
  background: #fff;
  opacity: 0;
  transition: opacity var(--dz-t);
  z-index: 2;
  pointer-events: none;
}
.dz-gallery .gallery-item:hover::before,
.dz-gallery .elementor-gallery-item:hover::before { opacity: 0.04; }


/* ----------------------------------------------------------------------------
   12. PRINT CARD (for /prints archive)
   ---------------------------------------------------------------------------- */
.dz-print-card__img { aspect-ratio: 1 / 1; margin-bottom: var(--dz-space-l); }
.dz-print-card__row {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: var(--dz-space-xs);
}
.dz-print-card__title {
  font-family: var(--dz-font-display);
  font-weight: 400;
  font-size: 18px;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--dz-ink);
}
.dz-print-card__price {
  font-family: var(--dz-font-mono);
  font-size: 12px;
  color: var(--dz-ink);
}
.dz-print-card__meta {
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dz-ink-3);
}


/* ----------------------------------------------------------------------------
   13. BREADCRUMB (Elementor Pro Breadcrumbs widget)
   ---------------------------------------------------------------------------- */
.dz-breadcrumb,
.dz-breadcrumb .elementor-breadcrumb {
  font-family: var(--dz-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dz-ink-3);
}
.dz-breadcrumb a { color: var(--dz-ink-2); }
.dz-breadcrumb a:hover { color: var(--dz-accent); }


/* ----------------------------------------------------------------------------
   14. POST NAVIGATION (prev / next series)
   ---------------------------------------------------------------------------- */
.dz-post-nav {
  margin-top: var(--dz-space-3xl);
  padding-top: var(--dz-space-xl);
  border-top: 1px solid var(--dz-rule);
}
.dz-post-nav a .elementor-post-navigation__link__prev,
.dz-post-nav a .elementor-post-navigation__link__next {
  font-family: var(--dz-font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dz-ink-3);
  margin-bottom: var(--dz-space-s);
  display: block;
}
.dz-post-nav a .elementor-post-navigation__link__title {
  font-family: var(--dz-font-display);
  font-weight: 400;
  font-size: 32px;
  letter-spacing: -0.02em;
  color: var(--dz-ink);
  transition: color var(--dz-t);
}
.dz-post-nav a:hover .elementor-post-navigation__link__title { color: var(--dz-accent); }


/* ----------------------------------------------------------------------------
   15. LIGHTBOX (GLightbox — enqueued in child theme)
   Override defaults to match brand.
   ---------------------------------------------------------------------------- */
.glightbox-clean .gslide-description,
.glightbox-clean .gclose,
.glightbox-clean .gprev,
.glightbox-clean .gnext {
  font-family: var(--dz-font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dz-ink-2);
}
.glightbox-container .gslide-media { box-shadow: none; }
.ginner-container { background: rgba(250, 250, 248, 0.97); }
.goverlay { background: var(--dz-bg) !important; opacity: 0.97 !important; }
.gclose, .gprev, .gnext {
  width: 56px !important; height: 56px !important;
  border: 1px solid var(--dz-rule-strong) !important;
  background: var(--dz-bg) !important;
  border-radius: 0 !important;
  transition: all var(--dz-t) !important;
}
.gclose:hover, .gprev:hover, .gnext:hover {
  border-color: var(--dz-ink) !important;
  color: var(--dz-ink) !important;
}


/* ----------------------------------------------------------------------------
   16. UTILITIES
   ---------------------------------------------------------------------------- */
.dz-mono         { font-family: var(--dz-font-mono); }
.dz-max-58       { max-width: 58ch; }
.dz-max-62       { max-width: 62ch; }
.dz-text-ink     { color: var(--dz-ink) !important; }
.dz-text-ink-2   { color: var(--dz-ink-2) !important; }
.dz-text-ink-3   { color: var(--dz-ink-3) !important; }
.dz-bg-panel     { background: var(--dz-bg-panel) !important; }
.dz-square img   { border-radius: 0 !important; }

.dz-fade-in {
  animation: dz-up var(--dz-t-enter) both;
}
@keyframes dz-up {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ----------------------------------------------------------------------------
   17. RESPONSIVE
   ---------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  :root { --dz-gutter: 32px; }
  .dz-post-nav a .elementor-post-navigation__link__title { font-size: 24px; }
}

@media (max-width: 767px) {
  :root { --dz-gutter: 24px; }
  body { font-size: 14px; }

  .dz-pad-page    { padding-top: var(--dz-space-xl); padding-bottom: var(--dz-space-l); }
  .dz-pad-section { padding-top: var(--dz-space-2xl); padding-bottom: var(--dz-space-2xl); }

  .dz-footer { margin-top: var(--dz-space-2xl); padding-top: var(--dz-space-xl); }

  .dz-gallery .elementor-gallery,
  .dz-gallery .elementor-image-gallery { grid-template-columns: repeat(2, 1fr) !important; }

  .dz-header .elementor-nav-menu > li > a { margin: 0 10px; font-size: 12px; }
}


/* ----------------------------------------------------------------------------
   18. MOTION PREFERENCES
   ---------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .dz-fade-in { animation: none !important; }
}


/* ----------------------------------------------------------------------------
   19. PRINT
   ---------------------------------------------------------------------------- */
@media print {
  @page { margin: 16mm; }
  .dz-header, .dz-footer, .elementor-widget-nav-menu, .dz-post-nav { display: none !important; }
  body { background: #fff !important; color: #000 !important; font-size: 11pt; }
  .dz-card, .page-spec, .comp, .sec { break-inside: avoid; }
}


/* ============================================================================
   USAGE QUICK REFERENCE
   ----------------------------------------------------------------------------
   HEADER TEMPLATE        → add CSS Class "dz-header" to the outer section
   FOOTER TEMPLATE        → add CSS Class "dz-footer" to the outer section
   CONTAINER              → "dz-container" on any section to enforce max-width
   SECTION PADDING        → "dz-pad-section" / "dz-pad-page" / "dz-pad-tight"

   TYPOGRAPHY (on any widget's CSS Classes):
     dz-display-xl   page title ("Series.")
     dz-display-l    section/series title
     dz-display-m    sub-section
     dz-display-s    card title
     dz-lead         hero paragraph
     dz-body-l       lead body
     dz-body         body paragraphs
     dz-eyebrow      category label above headings
     dz-label        form/meta label
     dz-num          numerics / counters

   SERIES CARD (Loop Grid template):
     wrapper       → dz-card
     image widget  → dz-card__img
     title heading → dz-card__title
     meta text     → dz-card__meta
     excerpt       → dz-card__desc

   LOOP GRID parent:
     grid-template-columns: repeat(3, 1fr)
     row-gap: 56px, column-gap: 40px

   PRINT CARD (Loop Grid for /prints):
     image → dz-print-card__img
     title → dz-print-card__title
     price → dz-print-card__price
     meta  → dz-print-card__meta

   FORM (Elementor Pro Form widget):
     add "dz-form" to the widget's CSS Classes

   GALLERY (Basic Gallery widget):
     add "dz-gallery" to the widget
     DISABLE the built-in Elementor lightbox
     enqueue GLightbox + init on .dz-gallery img

   BUTTONS:
     default .elementor-button is already styled
     for ghost arrow-link use class "dz-btn-ghost" on a Text widget link

   BREADCRUMB (Pro):
     wrap in CSS Class "dz-breadcrumb"

   POST NAVIGATION (Pro):
     wrap in CSS Class "dz-post-nav"

   FILTER CHIPS:
     JetSmartFilters checkboxes list — styles apply automatically
     OR manual HTML with class "dz-chip" / "dz-chip is-active"
   ============================================================================ *//* End custom CSS */