.page-4 {
  background: var(--color-black);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  height: 100vh;
}

.page-4__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  z-index: 0;
  opacity: 0.4;
}

.page-4__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.65) 100%);
  z-index: 1;
}

.page-4__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(24px, 4vh, 48px) clamp(30px, 6.5vw, 100px) clamp(28px, 4vh, 44px);
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

/* ---------- Expertise 2-Column Grid ---------- */
.expertise-grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  column-gap: clamp(28px, 4vw, 55px);
  row-gap: clamp(14px, 2.2vh, 26px);
  margin-top: auto;
  margin-bottom: auto;
  align-items: baseline;
  justify-content: flex-start;
  padding-bottom: clamp(12px, 1.8vh, 22px);
}

.expertise-item {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: clamp(1.8rem, 3.2vw, 2.85rem);
  font-weight: 350;
  font-style: normal;
  color: var(--color-white);
  cursor: pointer;
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
  letter-spacing: -0.3px;
  opacity: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
  -webkit-mask-size: 100% 300%;
  mask-size: 100% 300%;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  pointer-events: none;
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              -webkit-mask-position 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              mask-position 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              color 0.25s ease 0s,
              transform 0.25s ease 0s;
  will-change: opacity, -webkit-mask-position;
}

.page-4.in-view.anim-done .expertise-item,
.page-4.in-view.anim-done .brand-logos__item {
  pointer-events: auto;
}

.page-4.in-view .expertise-item,
.page-4.in-view .brand-logos__item {
  animation: enablePage4Hover 0.01s forwards;
  animation-delay: 2.2s;
}

@keyframes enablePage4Hover {
  to {
    pointer-events: auto;
  }
}

.expertise-item:hover {
  color: var(--color-cyan) !important;
  transform: translateX(6px) !important;
  transition: color 0.25s ease 0s, transform 0.25s ease 0s !important;
}

.expertise-item--col2 {
  display: inline-flex;
  align-items: baseline;
}

.expertise-item__number {
  font-size: 0.38em;
  font-weight: 400;
  font-style: normal;
  opacity: 0.55;
  position: relative;
  top: -0.65em;
  line-height: 1;
  margin-left: 6px;
  font-family: inherit;
}

.expertise-item__slash {
  font-weight: 200;
  opacity: 0.6;
  font-size: 0.95em;
  margin-right: 14px;
  color: var(--color-white);
}

/* ---------- Bottom Wrapper: Label + Line + Brand Logos ---------- */
.page-4__bottom-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.page-4__label-row {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: 12px;
}

.page-4__creative-label {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(0.6rem, 0.7vw, 0.72rem);
  font-weight: 500;
  letter-spacing: 1.5px;
  line-height: 1.4;
  color: var(--color-white);
  text-align: left;
  text-transform: uppercase;
  opacity: 0;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 50%, transparent 100%);
  -webkit-mask-size: 100% 300%;
  mask-size: 100% 300%;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  transition: opacity 1.3s cubic-bezier(0.16, 1, 0.3, 1),
              -webkit-mask-position 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              mask-position 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, -webkit-mask-position;
}

.page-4.in-view .page-4__creative-label {
  opacity: 0.7;
  -webkit-mask-position: 0 0%;
  mask-position: 0 0%;
  transition-delay: 1.30s;
}

.page-4__label-line {
  display: block;
}

/* ---------- Active In-View State for Expertise Items ---------- */
.page-4.in-view .expertise-item {
  opacity: 1;
  -webkit-mask-position: 0 0%;
  mask-position: 0 0%;
}

/* Staggered Delays: Cascading From Top to Bottom ONLY for entrance mask & opacity */
/* Row 1 */
.page-4.in-view .expertise-grid .expertise-item:nth-child(1),
.page-4.in-view .expertise-grid .expertise-item:nth-child(2) {
  transition-delay: 0.15s, 0.15s, 0.15s, 0s, 0s;
}

/* Row 2 */
.page-4.in-view .expertise-grid .expertise-item:nth-child(3),
.page-4.in-view .expertise-grid .expertise-item:nth-child(4) {
  transition-delay: 0.45s, 0.45s, 0.45s, 0s, 0s;
}

/* Row 3 */
.page-4.in-view .expertise-grid .expertise-item:nth-child(5),
.page-4.in-view .expertise-grid .expertise-item:nth-child(6) {
  transition-delay: 0.75s, 0.75s, 0.75s, 0s, 0s;
}

/* Row 4 */
.page-4.in-view .expertise-grid .expertise-item:nth-child(7) {
  transition-delay: 1.05s, 1.05s, 1.05s, 0s, 0s;
}

/* ---------- Divider Line (HR) ---------- */
.page-4__hr {
  width: 100%;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  margin: 0;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity 0.2s ease 0s, transform 0.2s ease 0s;
  will-change: opacity, transform;
}

.page-4.in-view .page-4__hr {
  opacity: 1;
  transform: scaleX(1);
  transition: opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1) 1.50s,
              transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 1.50s;
}

/* ---------- Brand Logos Row ---------- */
.brand-logos {
  width: 100%;
  margin-top: clamp(14px, 2vh, 22px);
  margin-bottom: 0;
  border: none;
  padding: 0;
}

.brand-logos__track {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  width: 100%;
}

.brand-logos__item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  opacity: 0;
  transform: scale(1);
  pointer-events: none;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.25s ease 0s;
  will-change: opacity, transform;
}

.page-4.in-view .brand-logos__item {
  opacity: 0.85;
  transition-delay: 1.40s, 0s;
}

.brand-logos__item:hover {
  opacity: 1 !important;
  transform: scale(1.08) !important;
  transition: opacity 0.2s ease 0s, transform 0.2s ease 0s !important;
}

.brand-logos__item img {
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* ---------- Desktop Individual Brand Logo Sizing ---------- */
.brand-logos__item--erigo img {
  max-width: 130px;
  max-height: 22px;
}

.brand-logos__item--cotton-goods img {
  max-height: 36px;
  max-width: 90px;
}

.brand-logos__item--brodis img {
  max-width: 110px;
  max-height: 28px;
}

.brand-logos__item--resteasy img {
  max-width: 105px;
  max-height: 28px;
}

.brand-logos__item--benji img {
  max-width: 80px;
  max-height: 45px;
}

.brand-logos__item--lilie img {
  max-width: 80px;
  max-height: 35px;
}

@media (max-width: 1024px) {
  .page-4__content {
    padding: clamp(20px, 3vh, 36px) clamp(20px, 4vw, 36px) clamp(24px, 3.5vh, 36px);
  }

  .expertise-grid {
    grid-template-columns: repeat(2, auto);
    column-gap: clamp(18px, 3.5vw, 40px);
    row-gap: clamp(14px, 2.2vh, 22px);
    justify-content: flex-start;
  }

  .expertise-item {
    font-size: clamp(1.3rem, 2.8vw, 2rem);
    white-space: nowrap;
  }

  .expertise-item--col2 {
    display: inline-flex;
  }
}

@media (max-width: 768px) {
  .page-4__content {
    padding: clamp(18px, 3vh, 28px) clamp(14px, 3.5vw, 24px) clamp(20px, 3.5vh, 32px);
  }

  .expertise-grid {
    grid-template-columns: auto auto;
    column-gap: clamp(10px, 2.6vw, 20px);
    row-gap: clamp(14px, 2.4vh, 22px);
    justify-content: flex-start;
    padding-bottom: 16px;
  }

  .expertise-item {
    font-size: clamp(1.05rem, 4.4vw, 1.45rem);
    letter-spacing: -0.2px;
    white-space: nowrap;
  }

  .expertise-item--col2 {
    display: inline-flex;
  }

  .expertise-item__slash {
    margin-right: clamp(4px, 1.2vw, 8px);
    font-size: 0.95em;
  }

  .expertise-item__number {
    margin-left: 4px;
    font-size: 0.4em;
    top: -0.6em;
  }

  .page-4__creative-label {
    font-size: clamp(0.55rem, 1.6vw, 0.65rem);
    letter-spacing: 0.8px;
    line-height: 1.35;
  }

  .brand-logos {
    margin-top: 14px;
  }

  .brand-logos__track {
    gap: 8px;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .brand-logos__item {
    height: 24px;
    flex: 1;
  }

  .brand-logos__item--erigo img { max-width: 58px; max-height: 16px; }
  .brand-logos__item--cotton-goods img { max-height: 22px; max-width: 50px; }
  .brand-logos__item--brodis img { max-width: 52px; max-height: 16px; }
  .brand-logos__item--resteasy img { max-width: 54px; max-height: 16px; }
  .brand-logos__item--benji img { max-width: 44px; max-height: 20px; }
  .brand-logos__item--lilie img { max-width: 44px; max-height: 18px; }
}

@media (max-width: 380px) {
  .page-4__content {
    padding: 16px 12px 20px 12px;
  }

  .expertise-item {
    font-size: clamp(0.95rem, 4.3vw, 1.05rem);
  }

  .expertise-grid {
    column-gap: 8px;
    row-gap: 12px;
  }

  .expertise-item__slash {
    margin-right: 4px;
  }

  .expertise-item__number {
    margin-left: 2px;
  }
}
