.elementor-kit-10{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === Global background === */
html,
body {
  background-color: #000;
  color: #fff;
}

/* === Highlighted Works Grid === */

.bj-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 32px;
  margin: 60px 0;
}

/* Card base */

.bj-h-card {
  position: relative;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
  /* SAFARI FIX: Force hardware acceleration */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.bj-h-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Media wrapper */

.bj-h-card .bj-h-media {
  position: relative !important;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 fallback for Safari */
  height: 0;
  overflow: hidden;
  border-radius: 6px;
  background: #000;
  /* SAFARI FIX: Force layer creation */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* For browsers that support aspect-ratio */
@supports (aspect-ratio: 16 / 9) {
  .bj-h-card .bj-h-media {
    aspect-ratio: 16 / 9;
    padding-bottom: 0;
    height: auto;
  }
}

/* Image + hover video */

.bj-h-img,
.bj-h-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
  /* SAFARI FIX: Force compositing layer */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Still on top by default */

.bj-h-img {
  z-index: 2;
  opacity: 1;
}

.bj-h-video {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  /* SAFARI FIX: Ensure video is ready to display */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* On hover: fade to video */

.bj-h-card.has-video:hover .bj-h-video {
  opacity: 1;
}

.bj-h-card.has-video:hover .bj-h-img {
  opacity: 0;
}

/* Old meta under cards — hide */

.bj-h-meta {
  display: none;
}

/* Width spans */

.bj-h-card.span-1 {
  grid-column: span 1;
}

.bj-h-card.span-2 {
  grid-column: span 2;
}

.bj-h-card.span-3 {
  grid-column: span 3;
}

/* Mobile */

@media (max-width: 767px) {
  .bj-highlight-grid {
    grid-template-columns: 1fr;
  }
  .bj-h-card.span-1,
  .bj-h-card.span-2,
  .bj-h-card.span-3 {
    grid-column: span 1;
  }
}

/* ============================================
   PROJECT HIGHLIGHT OVERLAY
   SAFARI MEGA-FIX VERSION
   ============================================ */

.bj-h-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  
  /* Flexbox with all prefixes */
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: flex !important;
  
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -webkit-flex-direction: column !important;
  flex-direction: column !important;
  
  -webkit-box-pack: justify !important;
  -webkit-justify-content: space-between !important;
  justify-content: space-between !important;
  
  padding: 16px !important;
  pointer-events: none;
  z-index: 10 !important;
  
  -webkit-box-sizing: border-box !important;
  box-sizing: border-box !important;
  
  /* SAFARI FIX: Force the overlay to render */
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
  -webkit-backface-visibility: hidden !important;
  backface-visibility: hidden !important;
  
  /* Gradient - both syntaxes */
  background: -webkit-linear-gradient(
    bottom,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0.15) 70%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.75) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0.15) 70%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
}

/* === TOP SECTION === */

.bj-h-overlay-top {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
}

/* === BOTTOM SECTION === */

.bj-h-overlay-bottom {
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
  opacity: 0;
  -webkit-transition: -webkit-transform 0.35s ease, opacity 0.35s ease;
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.bj-h-card:hover .bj-h-overlay-bottom {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* === TEXT STYLING === */

.bj-h-line {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff !important;
  line-height: 1.4;
  margin: 0;
  padding: 0;
  display: block !important;
  visibility: visible !important;
  /* SAFARI FIX */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.bj-h-overlay-top .bj-h-line + .bj-h-line {
  margin-top: 4px;
}

.bj-h-client {
  opacity: 0.85;
  font-size: 10px !important;
}

.bj-h-project {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.bj-h-overlay-bottom .bj-h-line + .bj-h-line {
  margin-top: 3px;
}

.bj-h-agency {
  font-size: 10px !important;
  opacity: 0.8;
}

.bj-h-director,
.bj-h-dop,
.bj-h-role {
  font-size: 10px !important;
  opacity: 0.75;
}/* End custom CSS */