    /* Portfolio Archive */

/* 1. VARIABLES AND PAGE BACKGROUND */
body.post-type-archive-cpt_portfolio {
  --dm-primary: #38bdf8;
  --dm-secondary: #0f172a;
  --dm-bg: #faf9f6;
  background: var(--dm-bg) !important;
}

/* 2. PAGE CONTENT WRAPPER */
body.post-type-archive-cpt_portfolio .page_content_wrap {
  background: var(--dm-bg) !important;
  padding: 0 0 96px !important;
  overflow-x: clip;
  container-type: inline-size;
}
body.post-type-archive-cpt_portfolio .page_content_wrap .content_wrap {
  width: min(1290px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3. HERO: BOX (same as Blog) */
body.post-type-archive-cpt_portfolio .dm-hero {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 104px calc(50% - 50vw) !important;
  padding: 80px 24px 104px;
  background: var(--dm-secondary);
  border-radius: 0 0 64px 64px;
  text-align: center;
  box-sizing: border-box;
}
/* Modern browsers: visible width + 30px, shifted 15px left, so both curves clip equally */
@supports (width: 1cqw) {
  body.post-type-archive-cpt_portfolio .dm-hero {
    width: calc(100cqw + 30px) !important;
    margin-left: calc(50% - 50cqw - 15px) !important;
  }
}

/* 4. HERO: EYEBROW */
body.post-type-archive-cpt_portfolio .dm-eyebrow {
  margin: 0 0 16px;
  font: 700 12px/1 "Space Grotesk", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dm-primary);
}

/* 5. HERO: TITLE */
body.post-type-archive-cpt_portfolio .dm-hero__title {
  margin: 0 auto;
  max-width: 820px;
  font: 800 clamp(32px, 5vw, 56px)/1.1 "Plus Jakarta Sans", sans-serif;
  letter-spacing: -.02em;
  color: #fff;
  text-decoration: none;
}

/* 6. CARDS: ROUNDED IMAGE AND TITLE BELOW */
body.post-type-archive-cpt_portfolio .sc_portfolio_item {
  display: block;
}
body.post-type-archive-cpt_portfolio .sc_portfolio_item .post_featured {
  border-radius: 24px !important;
  overflow: hidden;
}
body.post-type-archive-cpt_portfolio .sc_portfolio_item::after {
  display: block;
  position: static;
  height: auto;
  padding: 22px 0 0;
  font: 800 24px/1.2 "Plus Jakarta Sans", sans-serif;
  letter-spacing: -.01em;
  color: var(--dm-secondary);
}

/* 7. MOBILE (<= 700px) */
@media (max-width: 700px) {
  body.post-type-archive-cpt_portfolio .dm-hero {
    border-radius: 0 0 40px 40px;
    padding: 56px 20px 72px;
    margin-bottom: 56px !important;
  }
  body.post-type-archive-cpt_portfolio .sc_portfolio_item::after {
    font-size: 20px;
    padding-top: 16px;
  }
}