/* Preserve Builder grid items when a card wrapper is flattened at wide sizes. */
.project-card, .project-caption { display: contents; }
/* Saved HTML must remain visible without the missing Hostinger animation runtime. */
.transition, [data-animation-role] { opacity: 1 !important; }

/* Portfolio artwork can be opened full size; keep hover motion restrained. */
:is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) { overflow: hidden; }
:is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-card, .project-image, .gallery-image) { border-radius: 0 !important; }
:is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) :is(.image-wrapper, .image) { border-radius: 0 !important; }
:is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) [data-selector="data-image"] { cursor: zoom-in; }
:is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) .image__image {
  transition: transform 260ms ease;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  :is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) [data-selector="data-image"]:hover .image__image { transform: scale(1.045); }
}
:is(#zPqV36, #zutBh-, #zpiN6Q) [data-selector="data-image"]:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
#zPqV36 .project-caption {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center;
}
#zPqV36 .project-caption > :is(.project-title, .project-description) { width: 100%; flex: 0 0 auto; }
.portfolio-lightbox {
  position: fixed; inset: 0; z-index: 1000; box-sizing: border-box;
  width: 100vw; max-width: none; height: 100vh; max-height: none;
  margin: 0; padding: 56px 24px 24px; border: 0;
  background: #080808f2; color: #fff; overflow: hidden;
}
.portfolio-lightbox::backdrop { background: #000d; }
.portfolio-lightbox img { display: block; width: 100%; height: 100%; object-fit: contain; }
.portfolio-lightbox button {
  position: absolute; top: 14px; right: 18px; z-index: 1;
  width: 44px; height: 44px; border: 1px solid #777; border-radius: 50%;
  background: #171717; color: #fff; font: inherit; font-size: 27px; line-height: 1; cursor: pointer;
}
.portfolio-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  :is(#zPqV36, #zutBh-, #zpiN6Q) :is(.project-image, .gallery-image) .image__image { transition: none; }
}

/* Keep every Branding & Marketing image and caption in its own regular card. */
@media screen and (min-width: 921px) {
  #zPqV36 .block-layout--layout {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important; grid-auto-rows: auto !important;
    gap: 24px; width: min(1224px, calc(100% - 64px)) !important; max-width: 1224px !important;
    min-height: 0 !important; height: auto !important; margin: 0 auto !important; padding: 56px 0 72px !important;
  }
  #zPqV36 .section-title { order: 0; grid-row: auto !important; grid-column: 1 / -1 !important; margin: 0 !important; }
  #zPqV36 .section-description { order: 1; grid-row: auto !important; grid-column: 1 / -1 !important; padding: 0 0 4px; }
  #zPqV36 .layout-element--layout:not(.section-title):not(.section-description) { width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; grid-row: auto !important; grid-column: auto !important; }
  #zPqV36 .project-card { display: flex; flex-direction: column; order: var(--project-order); min-width: 0; overflow: hidden; border-radius: 0; background: #1a1a1a; }
  #zPqV36 .project-card .transition { transform: none !important; }
  #zPqV36 .project-shape { display: none !important; }
  #zPqV36 .project-image { align-self: stretch !important; width: 100%; aspect-ratio: 158 / 168; overflow: hidden; }
  #zPqV36 .project-image :is(.image-wrapper, .image-wrapper--desktop) { width: 100% !important; height: 100% !important; }
  #zPqV36 .project-image .image__image { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; }
  #zPqV36 .project-caption { box-sizing: border-box; flex: 1; min-height: 92px; padding: 16px 14px 18px; }
  #zPqV36 .project-title :is(h5, h4, h3) { margin: 0; font-size: 19px !important; line-height: 1.25 !important; text-align: center !important; overflow-wrap: anywhere; }
  #zPqV36 .project-description { padding-top: 7px; }
  #zPqV36 .project-description p { font-size: 13px !important; font-weight: 400 !important; line-height: 1.5 !important; color: #c4c4c4 !important; text-align: center !important; }
  #zPqV36 .project-caption .text-box { text-align: center !important; }
}

@media screen and (max-width: 920px) {
  .transition { transform: none !important; }
  html { scroll-behavior: smooth; }
  .block-header { position: relative !important; height: auto !important; --m-padding: 16px 20px !important; }
  .block-header-layout-mobile { min-height: 52px; }
  .block-header-layout-mobile__dropdown { display: none !important; }
  .block-header-layout-mobile__dropdown.preview-menu-open { display: block !important; position: static !important; grid-column: 1 / -1; padding: 20px 0 4px; visibility: visible !important; max-height: none !important; height: auto !important; transition: none; }
  .burger { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 44px; height: 44px; border: 0 !important; background: transparent; padding: 10px; }
  .burger > span { display: block !important; position: static !important; flex-shrink: 0; width: 22px !important; height: 2px !important; margin: 0 !important; background: #0d141a !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .burger:focus-visible { outline: 2px solid #738dff !important; outline-offset: 4px; }
  :is(#zPqV36, #zutBh-, #zpiN6Q) { scroll-margin-top: 20px; }
  :is(#zPqV36, #zutBh-, #zpiN6Q) .block-layout--layout {
    display: flex !important; flex-direction: column; gap: 0;
    width: calc(100% - 40px) !important; max-width: 560px !important;
    margin: 0 auto !important; padding: 40px 0 48px !important;
    min-height: 0 !important; height: auto !important;
    grid-template-rows: none !important; grid-template-columns: none !important;
  }
  :is(#zPqV36, #zutBh-, #zpiN6Q) .layout-element--layout {
    width: 100%; min-width: 0; height: auto !important; min-height: 0 !important;
    margin: 0 !important; grid-row: auto !important; grid-column: auto !important;
    align-self: stretch !important; --m-element-margin: 0;
  }
  .section-title { order: 0; margin-bottom: 12px !important; }
  .section-title :is(h1, h2, h3) { font-size: clamp(28px, 7.5vw, 36px) !important; line-height: 1.25 !important; text-align: center; }
  .section-description { order: 1; padding: 0 8px 12px; }
  .section-description p { font-size: 14px !important; font-weight: 400 !important; line-height: 1.7 !important; color: #c4c4c4 !important; }
  #zPqV36 .block-layout--layout {
    display: grid !important; max-width: 328px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important; gap: 12px;
  }
  #zPqV36 :is(.section-title, .section-description) { grid-column: 1 / -1 !important; }
  #zPqV36 .section-description { padding: 0 0 12px; }
  #zPqV36 .project-card {
    display: flex; flex-direction: column; order: var(--project-order);
    width: 100%; min-width: 0; height: 100%; min-height: 0; margin: 0;
    overflow: hidden; border: 0; border-radius: 0;
    background: #1a1a1a; align-self: start;
  }
  #zPqV36 .project-shape { display: none !important; }
  #zPqV36 .project-image { width: 100%; aspect-ratio: 158 / 168; flex: 0 0 auto; }
  #zPqV36 .project-image :is(.image-wrapper, .image-wrapper--mobile) { width: 100% !important; height: 100% !important; }
  #zPqV36 .project-image .image__image { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  #zPqV36 .project-caption { box-sizing: border-box; flex: 1 0 auto; min-height: 78px; padding: 10px 8px 12px; }
  #zPqV36 .project-title :is(h5, h4, h3) { margin: 0; font-size: 14px !important; line-height: 1.25 !important; text-align: center !important; overflow-wrap: anywhere; }
  #zPqV36 .project-description { padding-top: 5px; }
  #zPqV36 .project-description p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 11px !important; font-weight: 400 !important; line-height: 1.4 !important; color: #c4c4c4 !important; text-align: center !important; }
  #zPqV36 .project-caption .text-box { text-align: center !important; }
  :is(#zPqV36, #zutBh-, #zpiN6Q) :is(.image-wrapper, .image-wrapper--mobile) {
    width: 100% !important; height: auto !important; max-height: none !important;
    min-height: 0 !important; aspect-ratio: auto !important;
  }
  :is(#zPqV36, #zutBh-, #zpiN6Q) .image-wrapper--mobile { display: block !important; border-radius: 0 !important; }
  :is(#zPqV36, #zutBh-, #zpiN6Q) .image-wrapper--desktop { display: none !important; }
  :is(#zPqV36, #zutBh-, #zpiN6Q) .image__image {
    display: block; position: static !important; width: 100% !important;
    height: auto !important; max-height: none !important; object-fit: contain !important;
  }
  :is(#zutBh-, #zpiN6Q) .block-layout--layout {
    display: grid !important; max-width: 328px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important; gap: 12px;
  }
  :is(#zutBh-, #zpiN6Q) :is(.section-title, .section-description) { grid-column: 1 / -1 !important; }
  :is(#zutBh-, #zpiN6Q) .section-description { padding: 0 0 12px; }
  :is(#zutBh-, #zpiN6Q) .section-description p { font-size: 16px !important; line-height: 1.5 !important; color: #fff !important; }
  :is(#zutBh-, #zpiN6Q) .gallery-image { order: var(--gallery-order); aspect-ratio: 158 / 168; overflow: hidden; border-radius: 0; }
  :is(#zutBh-, #zpiN6Q) .gallery-image :is(.image-wrapper, .image-wrapper--mobile, .image__image) { height: 100% !important; }
  :is(#zutBh-, #zpiN6Q) .gallery-image .image__image { object-fit: cover !important; }
  a:focus-visible, button:focus-visible { outline: 2px solid #738dff; outline-offset: 4px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
