/* ==== WORK SECTION (source .work-section) ==== */
#work,
#work.cm-work,
.cm-work {
  background:
    radial-gradient(circle at 10% 30%, rgba(117,34,28,.52), transparent 26%),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px),
    #000F23 !important;
  background-size: auto, 44px 44px, auto !important;
  padding: 120px max(24px, calc((100vw - 1240px) / 2)) !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

#cm-work-heading,
.cm-work-heading,
#cm-work-gallery,
.cm-work-gallery,
#cm-format-panel,
.cm-format-panel {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

#cm-work-heading,
.cm-work-heading {
  display: grid !important;
  grid-template-columns: 1.25fr 0.75fr !important;
  gap: 80px !important;
  align-items: end !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

.cm-work-heading-main,
.cm-work-intro-wrap {
  width: 100% !important;
  max-width: none !important;
}

.cm-work-number,
.cm-work-number p {
  margin: 0 !important;
  color: rgba(255,255,255,.42) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

.cm-work-eyebrow,
.cm-work-eyebrow p {
  margin: 44px 0 0 !important;
  color: #FCF392 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

.cm-work-title .elementor-heading-title,
.cm-work-title {
  max-width: 850px !important;
  margin: 0 !important;
  color: #FFFFFF !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: clamp(52px, 6vw, 82px) !important;
  font-weight: inherit !important; /* match Next .work-heading h2 — no explicit weight */
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}

.cm-work-intro-wrap {
  max-width: 430px;
  padding-bottom: 7px;
  justify-self: end;
}

.cm-work-intro,
.cm-work-intro p {
  margin: 0 !important;
  color: rgba(255,255,255,.68) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.cm-work-intro-note,
.cm-work-intro-note p {
  margin: 20px 0 0 !important;
  color: rgba(255,255,255,.36) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

/* Collage gallery — container = white frame + image + caption text-editor */
#cm-work-gallery,
.cm-work-gallery {
  display: grid !important;
  grid-template-columns: 1.22fr 0.76fr 0.8fr !important;
  gap: 14px !important;
  align-items: start !important;
  margin-top: 74px !important;
  width: 100% !important;
  position: relative !important;
  flex-wrap: nowrap !important;
}

#cm-work-gallery.e-con,
#cm-work-gallery.e-flex,
.cm-work-gallery.e-con,
.cm-work-gallery.e-flex {
  --flex-direction: unset !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  display: grid !important;
}

#cm-work-gallery > .e-con,
#cm-work-gallery > .elementor-element,
.cm-work-gallery > .e-con,
.cm-work-gallery > .elementor-element {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: unset !important;
  flex-grow: unset !important;
  flex-shrink: unset !important;
  position: relative !important;
}

.cm-work-img,
.elementor-element.cm-work-img {
  --width: 100% !important;
  margin: 0 !important;
  padding: 8px 8px 0 !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  color: #000F23 !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.28) !important;
  border: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.cm-work-img > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}

.cm-work-photo,
.cm-work-img .elementor-widget-image,
.cm-work-img .cm-work-photo {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cm-work-img .elementor-widget-container,
.cm-work-img figure,
.cm-work-img figure.wp-caption {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 100% !important;
}

.cm-work-img img,
.cm-work-photo img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
  background: #000 !important;
}

.cm-work-caption,
.cm-work-img .cm-work-caption,
.cm-work-img .widget-image-caption,
.cm-work-img figcaption {
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #FFFFFF !important;
  color: #000F23 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

.cm-work-caption .elementor-widget-container,
.cm-work-caption p {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.cm-work-caption span,
.cm-work-img figcaption span {
  color: #75221C !important;
  font-weight: 850 !important;
}

.cm-work-square-one { transform: rotate(-.7deg); }
.cm-work-story { transform: rotate(.9deg); }
.cm-work-pin-one { transform: rotate(-.5deg); }
.cm-work-pin-two {
  margin-top: -25% !important;
  transform: rotate(.6deg) !important;
  z-index: 2;
  position: relative !important;
}
.cm-work-square-two {
  grid-column: 2 / 4 !important;
  width: 68% !important;
  max-width: 68% !important;
  justify-self: end !important;
  margin-top: -4% !important;
  transform: rotate(-.4deg) !important;
  z-index: 1;
  position: relative !important;
}

/* Format panel inside work */
#cm-format-panel,
.cm-format-panel {
  margin-top: 44px !important;
  border: 1px solid rgba(255,255,255,.18);
}

/* Mobile sticky CTA via button widget */
#cm-mobile-cta,
.cm-mobile-cta-btn {
  display: none !important;
}

@media (max-width: 1050px) {
  #cm-nav, .cm-nav { display: none !important; }
  .cm-hero { flex-wrap: wrap !important; }
  #cm-work-heading,
  .cm-work-heading {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .cm-work-intro-wrap {
    max-width: none;
    justify-self: stretch;
  }
  .cm-work-eyebrow,
  .cm-work-eyebrow p {
    margin-top: 18px !important;
  }
}

@media (max-width: 767px) {
  #cm-header-cta, .cm-header-cta,
  .cm-topline-link { display: none !important; }
  body.elementor-page-303750 { padding-bottom: 66px; }
  #cm-mobile-cta,
  .cm-mobile-cta-btn {
    display: block !important;
    position: fixed !important;
    z-index: 100000 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  #cm-mobile-cta .elementor-widget-container,
  .cm-mobile-cta-btn .elementor-widget-container {
    margin: 0 !important;
  }
  #cm-mobile-cta .elementor-button,
  .cm-mobile-cta-btn .elementor-button {
    width: 100% !important;
    border-radius: 0 !important;
    height: 66px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 -10px 30px rgba(0,0,0,.18);
  }
  .cm-deliverables > .e-con,
  .cm-deliverable-card { width: 100% !important; }
  .cm-format-cell { width: 48% !important; }
  .cm-month-item { width: 100% !important; }
  .cm-process-card { width: 100% !important; }
  .cm-matrix-board { width: 100% !important; }
  .cm-wait-card { width: 100% !important; }
  .cm-table-row, .cm-table-head { flex-wrap: wrap !important; }
  .cm-col-30, .cm-col-18, .cm-col-34 { width: 100% !important; }

  #work, #work.cm-work, .cm-work {
    padding: 82px 20px !important;
  }
  .cm-work-title .elementor-heading-title,
  .cm-work-title {
    font-size: clamp(36px, 10vw, 52px) !important;
  }
  #cm-work-gallery,
  .cm-work-gallery {
    grid-template-columns: 1fr !important;
    margin-top: 40px !important;
  }
  .cm-work-square-one,
  .cm-work-story,
  .cm-work-pin-one,
  .cm-work-pin-two,
  .cm-work-square-two {
    margin-top: 0 !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: auto !important;
    justify-self: stretch !important;
    transform: none !important;
  }
}




/* work-gallery-fix 20260811 */

/* Nested Elementor image/text inside frame containers (classes may not stick on widgets) */
.cm-work-img.e-con > .elementor-widget-image,
.cm-work-img .elementor-widget-image,
.cm-work-img.elementor-widget-image {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  width: 100% !important;
}
.cm-work-img.e-con > .elementor-widget-text-editor,
.cm-work-img .elementor-widget-text-editor {
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 6px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #FFFFFF !important;
  color: #000F23 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
.cm-work-img .elementor-widget-text-editor .elementor-widget-container,
.cm-work-img .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  color: #000F23 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.cm-work-img .elementor-widget-text-editor span {
  color: #75221C !important;
  font-weight: 850 !important;
}
/* Only outer frame containers rotate / stagger — not nested image widgets */
.cm-work-img.elementor-widget-image.cm-work-square-one,
.cm-work-img.elementor-widget-image.cm-work-story,
.cm-work-img.elementor-widget-image.cm-work-pin-one,
.cm-work-img.elementor-widget-image.cm-work-pin-two,
.cm-work-img.elementor-widget-image.cm-work-square-two {
  transform: none !important;
  margin-top: 0 !important;
  grid-column: auto !important;
  width: 100% !important;
  max-width: none !important;
}


/* work-fix width gutter 20260811b */
