/*
 * Zheng Gems inner-page reference contract.
 * Scoped to non-home page classes so the accepted homepage remains unchanged.
 */

:root {
  --zg-inner-paper: #f5f2ec;
  --zg-inner-paper-soft: #eee9e0;
  --zg-inner-ink: #151612;
  --zg-inner-muted: #656660;
  --zg-inner-green: #1f3523;
  --zg-inner-gold: #b18a4d;
  --zg-inner-line: #d8d0c5;
  --zg-inner-wide: min(calc(100% - clamp(2.5rem, 8vw, 6rem)), 100rem);
}

:where(
  body.zhengems-page-about,
  body.zhengems-page-contact,
  body.zhengems-page-sri-lanka,
  body.zhengems-page-east-africa,
  body.zhengems-page-sourcing,
  body.zhengems-page-products,
  body.tax-zhengems_product_category,
  body.single-mmu_product
) .zhengems-main {
  overflow: clip;
  color: var(--zg-inner-ink);
  background: var(--zg-inner-paper);
}

:where(
  body.zhengems-page-about,
  body.zhengems-page-contact,
  body.zhengems-page-sri-lanka,
  body.zhengems-page-east-africa,
  body.zhengems-page-sourcing,
  body.zhengems-page-products
) .zhengems-main > .wp-block-post-content {
  margin: 0;
}

.zg-inner-hero {
  isolation: isolate;
  margin: 0 !important;
  padding: 0;
  color: #fff;
  background: #152219;
}

.zg-inner-hero .wp-block-cover__image-background {
  object-fit: cover;
  object-position: center;
}

.zg-inner-hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(8, 12, 8, .5) 0%, rgba(8, 12, 8, .18) 48%, transparent 76%);
  pointer-events: none;
}

.zg-inner-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.zg-inner-hero__copy {
  box-sizing: border-box;
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: clamp(2rem, 5vw, 3.6rem) 0 clamp(2.5rem, 5vw, 4.1rem);
}

.zg-inner-hero__copy > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.zg-inner-hero__copy h1 {
  width: min(100%, 40rem);
  margin: .85rem 0 1.25rem;
  color: #fff;
  font-family: var(--wp--preset--font-family--display, "Bodoni Moda", Georgia, serif);
  font-size: clamp(2.75rem, 5vw, 4.45rem);
  font-weight: 430;
  letter-spacing: .015em;
  line-height: 1.08;
  text-wrap: balance;
}

.zg-inner-kicker {
  margin: 0;
  color: var(--zg-inner-gold);
  font-size: clamp(.8rem, 1vw, 1rem);
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.zg-inner-breadcrumb {
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  color: rgba(255, 255, 255, .88);
  font-size: .8rem;
  line-height: 1.5;
}

.zg-inner-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.zg-inner-breadcrumb span {
  margin-inline: .7rem;
  opacity: .7;
}

.zg-ornament {
  position: relative;
  width: 10.5rem !important;
  height: 1px !important;
  margin: 1.6rem 0 0 !important;
  overflow: visible;
  background: linear-gradient(90deg, var(--zg-inner-gold) 0 42%, transparent 42% 58%, var(--zg-inner-gold) 58% 100%) !important;
  border: 0 !important;
  opacity: 1 !important;
}

.zg-ornament::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .46rem;
  height: .46rem;
  content: "";
  background: var(--zg-inner-gold);
  transform: translate(-50%, -50%) rotate(45deg);
}

.zg-ornament--small {
  width: 8rem !important;
  margin-inline: auto !important;
}

.zg-inner-heading {
  width: min(100%, 54rem) !important;
  margin-inline: auto !important;
  text-align: center;
}

.zg-inner-heading h2 {
  margin: .5rem 0 0;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 430;
  letter-spacing: .015em;
  line-height: 1.18;
}

.zg-about-promise {
  padding: clamp(2.75rem, 5vw, 4.5rem) 0 1.35rem;
  background: var(--zg-inner-paper);
}

.zg-promise-grid {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: clamp(2.2rem, 4vw, 3.6rem) auto 0 !important;
  gap: 0 !important;
}

.zg-promise-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  padding: 0 clamp(1.25rem, 3vw, 3.25rem);
  text-align: center;
}

.zg-promise-card:nth-child(1) { padding-inline: clamp(.8rem, 2.3vw, 1.5rem); }
.zg-promise-card:nth-child(2) { padding-inline: clamp(.65rem, 1.65vw, 1.1rem); }
.zg-promise-card:nth-child(3) { padding-inline: clamp(.3rem, .55vw, .55rem); }

.zg-promise-card + .zg-promise-card {
  border-left: 1px solid var(--zg-inner-line);
}

.zg-promise-card__icon {
  width: 3.4rem;
  height: 3.4rem;
  margin: 0 0 1.15rem !important;
}

.zg-promise-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.zg-promise-card h3 {
  min-height: 2.7em;
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 430;
  letter-spacing: .025em;
  line-height: 1.16;
  text-transform: uppercase;
}

.zg-promise-card > p {
  max-width: 22rem;
  min-height: 6.4em;
  margin: 1rem auto 1.3rem;
  color: var(--zg-inner-ink);
  font-size: clamp(.91rem, 1.15vw, 1.05rem);
  line-height: 1.55;
}

.zg-promise-card__image {
  width: 100%;
  margin: auto 0 0 !important;
  overflow: hidden;
}

.zg-promise-card:nth-child(1) .zg-promise-card__image { aspect-ratio: 267 / 211; }
.zg-promise-card:nth-child(2) .zg-promise-card__image { aspect-ratio: 281 / 211; }
.zg-promise-card:nth-child(3) .zg-promise-card__image { aspect-ratio: 304 / 211; }

.zg-promise-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zg-inner-cta,
.zg-region-cta,
.zg-reassurance {
  box-sizing: border-box;
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin-inline: auto !important;
  background: linear-gradient(100deg, #eee9df, #f6f3ed);
}

.zg-inner-cta {
  min-height: 7rem;
  margin-top: clamp(2.2rem, 4vw, 3.4rem) !important;
  padding: 1.5rem clamp(1.75rem, 4vw, 5.5rem);
  gap: 2rem;
}

.zg-inner-cta h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 430;
  line-height: 1.3;
}

.zg-inner-cta .wp-block-button__link,
.zg-region-cta .wp-block-button__link,
.zg-inquiry-panel .mmu-inquiry-form > button {
  display: inline-flex;
  min-height: 3.2rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: .9rem 1.8rem;
  color: #fff !important;
  background: var(--zg-inner-green) !important;
  border: 1px solid var(--zg-inner-green) !important;
  border-radius: 0 !important;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

/* Contact / inquiry */
.zg-contact-hero .wp-block-cover__image-background {
  object-position: center 46%;
}

.zg-contact-hero .zg-inner-hero__copy {
  padding-block: 1.9rem 2.5rem;
}

.zg-contact-hero .zg-inner-breadcrumb {
  margin-bottom: 2.3rem;
}

.zg-contact-hero h1 {
  width: min(100%, 35rem);
  margin-block: .75rem 1rem;
  font-size: clamp(2.45rem, 4.4vw, 3.8rem);
  text-transform: uppercase;
}

.zg-contact-main {
  padding: clamp(2.6rem, 5vw, 4.4rem) 0 1.25rem;
}

.zg-contact-grid {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: 0 auto !important;
  gap: clamp(2rem, 4vw, 2.5rem) !important;
  align-items: flex-start !important;
}

.zg-contact-copy {
  min-width: 0;
  flex-basis: 31% !important;
}

.zg-contact-copy > h2 {
  margin: .15rem 0 0;
  font-size: clamp(2.2rem, 3.5vw, 3.15rem);
  font-weight: 430;
  line-height: 1.2;
  text-transform: uppercase;
}

.zg-contact-copy > .zg-ornament {
  margin: 1.35rem 0 1.5rem !important;
}

.zg-contact-copy > p {
  margin: 0 0 1.3rem;
  font-size: clamp(.92rem, 1.1vw, 1rem);
  line-height: 1.65;
}

.zg-contact-methods {
  margin-top: 1.75rem;
  padding-top: .55rem;
  border-top: 1px solid var(--zg-inner-line);
}

.zg-contact-method {
  gap: 1.1rem !important;
  margin: 0 !important;
  padding: .75rem 0;
}

.zg-contact-method > .wp-block-image {
  display: grid;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  margin: 0 !important;
  place-items: center;
  background: var(--zg-inner-green);
  border-radius: 50%;
}

.zg-contact-method > .wp-block-image img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}

.zg-contact-method h3 {
  margin: 0;
  font-family: var(--wp--preset--font-family--sans, Manrope, sans-serif);
  font-size: .9rem;
  font-weight: 650;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.zg-contact-method p {
  margin: .25rem 0 0;
  color: var(--zg-inner-muted);
  font-size: .8rem;
  line-height: 1.5;
}

.zg-contact-method p a {
  color: var(--zg-inner-ink);
  text-decoration: none;
}

.zg-inquiry-panel {
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(1.65rem, 4vw, 2.5rem) !important;
  border: 1px solid var(--zg-inner-line);
}

.zg-inquiry-panel > .zg-inner-kicker {
  margin-bottom: 1rem;
  font-size: 1rem;
}

.zg-form-rule {
  width: 3.1rem !important;
  margin: 0 0 1.5rem !important;
  border: 0 !important;
  border-top: 1px solid var(--zg-inner-gold) !important;
  opacity: 1 !important;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-form {
  display: grid;
  gap: 1rem;
  margin: 0;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-form label,
body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-reference-image__label {
  display: grid;
  gap: .45rem;
  margin: 0;
  color: var(--zg-inner-ink);
  font-size: .71rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-form :where(input:not([type="checkbox"]):not([type="file"]), select, textarea) {
  box-sizing: border-box;
  width: 100%;
  min-height: 2.8rem;
  margin: 0;
  padding: .72rem .8rem;
  color: var(--zg-inner-ink);
  background: transparent;
  border: 1px solid var(--zg-inner-line);
  border-radius: 0;
  font-family: inherit;
  font-size: .82rem;
  line-height: 1.4;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-form textarea {
  min-height: 5.5rem;
  resize: vertical;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-contact-note {
  margin: -.55rem 0 0;
  color: var(--zg-inner-muted);
  font-size: .72rem;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-upload-zone {
  min-height: 7.6rem;
  background: transparent;
  border-color: var(--zg-inner-line);
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-upload-help,
body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-upload-status:not(:empty) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-reference-image.has-file .mmu-inquiry-upload-status {
  position: static;
  width: auto;
  height: auto;
  margin: .45rem 0 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  color: var(--zg-inner-green);
  white-space: normal;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-consent {
  grid-template-columns: auto 1fr;
  gap: .55rem;
  margin-top: -.15rem;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-consent label {
  display: block;
  font-size: .72rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}

body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-form > button {
  width: 100%;
  cursor: pointer;
}

.zg-reassurance {
  min-height: 6.15rem;
  margin-top: 1.5rem !important;
  padding: 1.25rem clamp(1.5rem, 8vw, 7rem);
  gap: 2rem !important;
}

.zg-reassurance .wp-block-image {
  width: 3.3rem;
  min-width: 3.3rem;
  margin: 0 !important;
}

.zg-reassurance h3 {
  margin: 0;
  font-size: clamp(1.15rem, 1.75vw, 1.55rem);
  font-weight: 430;
  line-height: 1.35;
}

/* Region sourcing pages */
.zg-region-hero .wp-block-cover__image-background {
  object-position: center;
}

.zg-region-hero .zg-inner-hero__copy {
  padding-block: 1.35rem 2.35rem;
}

.zg-region-hero .zg-inner-breadcrumb {
  margin-bottom: 2.5rem;
}

.zg-region-hero h1 {
  margin-block: .6rem .55rem;
  font-size: clamp(3.5rem, 6.8vw, 5.4rem);
  line-height: .98;
  text-transform: uppercase;
}

.zg-region-hero__lead {
  margin: 0;
  color: #fff;
  font-size: clamp(1.05rem, 1.8vw, 1.4rem);
  line-height: 1.55;
}

.zg-region-hero .zg-ornament {
  margin-top: 1.3rem !important;
}

.zg-region-atlas {
  padding: clamp(1.4rem, 3vw, 2rem) 0 0;
  background: var(--zg-inner-paper);
}

.zg-region-atlas__grid {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: 0 auto !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.zg-region-map {
  display: grid;
  min-width: 0;
  place-items: stretch;
  border-right: 1px solid var(--zg-inner-line);
}

.zg-region-map .wp-block-image,
.zg-region-map img {
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.zg-region-map img {
  display: block;
  object-fit: contain;
}

.zg-region-ledger {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: stretch;
  padding-left: clamp(1.6rem, 3vw, 3.5rem);
}

.zg-region-row {
  min-height: 0;
  flex: 1 1 0;
  gap: 1.2rem !important;
  margin: 0 !important;
  padding: .7rem 0;
  border-bottom: 1px solid var(--zg-inner-line);
}

.zg-region-row:last-child {
  border-bottom: 0;
}

.zg-region-row__number {
  display: grid;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  margin: 0;
  place-items: center;
  color: #fff;
  background: var(--zg-inner-green);
  border-radius: 50%;
  font-family: var(--wp--preset--font-family--display, Georgia, serif);
  font-size: .95rem;
}

.zg-region-row__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.zg-region-row__copy h3 {
  margin: 0;
  font-size: clamp(1.1rem, 1.65vw, 1.55rem);
  font-weight: 430;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase;
}

.zg-region-row__copy p {
  margin: .25rem 0 0;
  font-size: clamp(.74rem, 1vw, .88rem);
  line-height: 1.4;
}

.zg-region-row__gems {
  display: flex;
  min-width: 7.4rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
}

.zg-gem-image {
  display: block;
  width: 2.15rem;
  max-width: 100%;
  height: 1.75rem;
  flex: 0 0 auto;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.zg-gem {
  display: block;
  width: 2.15rem;
  height: 1.75rem;
  background: radial-gradient(circle at 44% 35%, #fff 0 4%, transparent 5%), radial-gradient(ellipse at center, #3c5fc2 0 34%, #18337b 48%, #09183d 70%, #7a8ed8 76%, #132b6f 86%);
  border: 1px solid rgba(20, 20, 18, .18);
  border-radius: 48%;
  box-shadow: 0 4px 7px rgba(10, 12, 8, .18);
}

.zg-gem--ruby { background: radial-gradient(circle at 40% 30%, #ffc5cc 0 3%, transparent 4%), radial-gradient(ellipse, #df1646 0 36%, #820a2b 58%, #390311 75%, #ed6583 82%); }
.zg-gem--pink { background: radial-gradient(circle at 42% 33%, #fff 0 3%, transparent 4%), radial-gradient(ellipse, #ec5c9a 0 35%, #9a1b58 58%, #541036 76%, #f1a1c2 83%); }
.zg-gem--gold { background: radial-gradient(circle at 43% 32%, #fff7a9 0 4%, transparent 5%), radial-gradient(ellipse, #e0bd37 0 35%, #917314 58%, #4f3c06 75%, #f5df77 83%); }
.zg-gem--yellow { background: radial-gradient(circle at 43% 32%, #fff 0 4%, transparent 5%), radial-gradient(ellipse, #d7d444 0 35%, #85891a 58%, #414306 75%, #eef18c 83%); }
.zg-gem--clear { background: radial-gradient(circle at 43% 32%, #fff 0 7%, transparent 8%), radial-gradient(ellipse, #f7f7f3 0 28%, #c4c7c6 49%, #858c8c 67%, #fff 82%); }
.zg-gem--teal { background: radial-gradient(circle at 43% 32%, #fff 0 4%, transparent 5%), radial-gradient(ellipse, #4db2b2 0 35%, #216b71 58%, #0c383b 75%, #8dd3d0 83%); }
.zg-gem--aqua { background: radial-gradient(circle at 43% 32%, #fff 0 4%, transparent 5%), radial-gradient(ellipse, #8fd5e7 0 35%, #3d8198 58%, #194454 75%, #c4f0f7 83%); }
.zg-gem--green { background: radial-gradient(circle at 43% 32%, #fff 0 4%, transparent 5%), radial-gradient(ellipse, #6ca143 0 35%, #315a24 58%, #142b10 75%, #a8cb86 83%); }
.zg-gem--emerald { border-radius: 18%; background: linear-gradient(135deg, #74bc77 0 8%, #0b582d 9% 35%, #16713b 36% 62%, #082f1a 63% 82%, #66a96a 83%); }
.zg-gem--orange { background: radial-gradient(circle at 43% 32%, #fff 0 4%, transparent 5%), radial-gradient(ellipse, #bd6845 0 35%, #6f301e 58%, #34150b 75%, #e19a79 83%); }

.zg-region-atlas--africa .zg-region-map,
.zg-region-atlas--africa .zg-region-ledger {
  min-height: 31rem;
}

.zg-source-section {
  padding: 1.1rem 0 1.5rem;
  background: var(--zg-inner-paper);
  border-top: 1px solid var(--zg-inner-line);
}

.zg-source-section > h2 {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: 0 auto .75rem !important;
  font-size: clamp(1.15rem, 1.9vw, 1.55rem);
  font-weight: 430;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.zg-source-grid {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: 0 auto !important;
  gap: clamp(.65rem, 1vw, 1rem) !important;
}

.zg-source-item {
  min-width: 0;
  text-align: center;
}

.zg-source-item .wp-block-image {
  margin: 0 !important;
  overflow: hidden;
  aspect-ratio: 1.4 / 1;
}

.zg-source-item .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zg-source-item h3 {
  margin: .75rem 0 .25rem;
  font-family: var(--wp--preset--font-family--sans, Manrope, sans-serif);
  font-size: .78rem;
  font-weight: 550;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.zg-source-item p {
  max-width: 14rem;
  margin: 0 auto;
  color: var(--zg-inner-ink);
  font-size: .72rem;
  line-height: 1.5;
}

.zg-region-cta {
  min-height: 5.2rem;
  margin-top: 1.45rem !important;
  padding: 1rem clamp(1.5rem, 8vw, 7.5rem);
  gap: 1.5rem !important;
}

.zg-region-cta .wp-block-image {
  width: 3.1rem;
  min-width: 3.1rem;
  margin: 0 !important;
}

.zg-region-cta > p {
  margin: 0 auto 0 0;
  font-size: .8rem;
  line-height: 1.55;
}

.zg-region-cta .wp-block-button__link {
  min-width: min(100%, 19rem);
}

/* Products and sourcing overview pages inherit the approved home rhythm. */
.zg-overview-intro {
  display: grid;
  min-height: 14rem;
  place-items: center;
  padding: 2.6rem 0 2.25rem;
  background: var(--zg-inner-paper);
  border-bottom: 1px solid var(--zg-inner-line);
}

.zg-overview-intro .zg-inner-heading h1 {
  margin: .55rem 0 0;
  font-family: var(--wp--preset--font-family--display, "Bodoni Moda", Georgia, serif);
  font-size: clamp(3.35rem, 6vw, 5.4rem);
  font-weight: 430;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
}

.zg-overview-intro .zg-ornament {
  margin: 1.25rem auto !important;
}

.zg-overview-lead {
  margin: 0;
  color: var(--zg-inner-muted);
  font-size: clamp(.94rem, 1.2vw, 1.08rem);
  line-height: 1.55;
}

.zg-sourcing-overview__grid {
  gap: 0 !important;
  margin: 0 !important;
}

.zg-sourcing-card {
  margin: 0 !important;
  color: #fff;
}

.zg-sourcing-card .wp-block-cover__image-background {
  object-fit: cover;
}

.zg-sourcing-card .wp-block-cover__inner-container {
  box-sizing: border-box;
  width: min(100%, 47rem);
  padding: clamp(2rem, 5vw, 4rem);
}

.zg-sourcing-card h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.3rem, 4vw, 3.75rem);
  font-weight: 430;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.zg-card-rule {
  width: 4.5rem !important;
  margin: 1rem 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--zg-inner-gold) !important;
  opacity: 1 !important;
}

.zg-sourcing-card p {
  max-width: 24rem;
  margin: 0 0 1.7rem;
  color: #fff;
  font-size: clamp(.92rem, 1.2vw, 1.05rem);
  line-height: 1.55;
}

.zg-sourcing-card .wp-block-button__link {
  display: flex;
  min-width: 13.5rem;
  min-height: 3.1rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: .8rem 1.15rem;
  color: #fff !important;
  background: rgba(18, 19, 16, .16) !important;
  border: 1px solid rgba(255, 255, 255, .9) !important;
  border-radius: 0 !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.zg-overview-closing {
  padding: 1.4rem 0 1.75rem;
  background: var(--zg-inner-paper);
}

.zg-overview-closing .zg-inner-cta {
  margin-top: 0 !important;
}

.zg-products-grid {
  padding: 0;
  background: var(--zg-inner-paper);
}

.zg-products-grid > .zhengems-catalog-grid {
  width: var(--zg-inner-wide) !important;
  max-width: none !important;
  margin: clamp(2rem, 4vw, 3rem) auto clamp(3rem, 6vw, 5rem) !important;
}

@media (max-width: 1024px) {
  .zg-promise-card { padding-inline: 1.35rem; }
  .zg-region-row__gems { min-width: 5rem; gap: .35rem; }
  .zg-gem,
  .zg-gem-image { width: 1.6rem; height: 1.35rem; }
}

@media (max-width: 900px) {
  .zg-inner-hero__copy { padding-block: 2.2rem 2.8rem; }
  .zg-inner-hero__copy h1 { font-size: clamp(2.45rem, 9vw, 4rem); }
  .zg-about-hero { min-height: 27rem !important; }
  .zg-about-hero .wp-block-cover__image-background { object-position: 61% center; }
  .zg-promise-grid { flex-direction: column; }
  .zg-promise-card,
  .zg-promise-card:nth-child(1),
  .zg-promise-card:nth-child(2),
  .zg-promise-card:nth-child(3) { padding: 2.2rem 0; }
  .zg-promise-card + .zg-promise-card { border-top: 1px solid var(--zg-inner-line); border-left: 0; }
  .zg-promise-card > p { min-height: 0; }
  .zg-promise-card__image { width: min(100%, 32rem); }
  .zg-inner-cta { align-items: flex-start !important; flex-direction: column; }
  .zg-inner-cta .wp-block-buttons,
  .zg-inner-cta .wp-block-button,
  .zg-inner-cta .wp-block-button__link { width: 100%; }
  .zg-contact-grid { flex-direction: column; }
  .zg-contact-copy { flex-basis: auto !important; }
  .zg-contact-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem 1.25rem; }
  .zg-contact-method { align-items: flex-start !important; }
  .zg-inquiry-panel { width: 100%; }
  .zg-region-atlas__grid { flex-direction: column; }
  .zg-region-map { min-height: auto; border-right: 0; border-bottom: 1px solid var(--zg-inner-line); }
  .zg-region-map img { max-height: 38rem; }
  .zg-region-ledger { min-height: 0 !important; padding-left: 0; }
  .zg-region-row { min-height: 6.6rem; flex: auto; }
  .zg-region-row__gems { min-width: 7.5rem; }
  .zg-gem,
  .zg-gem-image { width: 2rem; height: 1.65rem; }
  .zg-source-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zg-region-cta { align-items: flex-start !important; }
  .zg-sourcing-overview__grid { flex-direction: column; }
  .zg-sourcing-card { min-height: 24rem !important; }
}

@media (max-width: 560px) {
  .zg-inner-hero__copy h1 { letter-spacing: 0; }
  .zg-inner-breadcrumb { margin-bottom: 1.8rem; }
  .zg-contact-hero { min-height: 20rem !important; }
  .zg-contact-hero .wp-block-cover__image-background { object-position: 64% center; }
  .zg-contact-hero h1 { font-size: clamp(2.2rem, 11vw, 3.15rem); }
  .zg-contact-methods { grid-template-columns: 1fr; }
  body.zhengems-page-contact .zg-inquiry-panel .mmu-inquiry-row { grid-template-columns: 1fr; }
  .zg-reassurance { align-items: flex-start !important; padding-inline: 1.25rem; }
  .zg-region-hero { min-height: 21.5rem !important; }
  .zg-region-hero .wp-block-cover__image-background { object-position: 60% center; }
  .zg-region-hero h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .zg-region-row { align-items: flex-start !important; flex-wrap: wrap; gap: .8rem !important; padding-block: 1rem; }
  .zg-region-row__copy { width: calc(100% - 3rem); }
  .zg-region-row__gems { width: 100%; min-width: 0; justify-content: flex-start; margin-left: 2.8rem; }
  .zg-gem,
  .zg-gem-image { width: 1.75rem; height: 1.45rem; }
  .zg-source-grid { grid-template-columns: 1fr; gap: 1.7rem !important; }
  .zg-source-item .wp-block-image { aspect-ratio: 1.55 / 1; }
  .zg-region-cta { flex-direction: column; gap: .8rem !important; }
  .zg-region-cta .wp-block-buttons,
  .zg-region-cta .wp-block-button,
  .zg-region-cta .wp-block-button__link { width: 100%; }
  .zg-overview-intro { min-height: 12rem; padding-block: 2.2rem; }
  .zg-overview-intro .zg-inner-heading h1 { font-size: clamp(2.8rem, 15vw, 4.2rem); }
  .zg-sourcing-card { min-height: 22rem !important; }
  .zg-sourcing-card .wp-block-cover__inner-container { padding: 1.6rem 1.25rem; }
  .zg-sourcing-card .wp-block-button,
  .zg-sourcing-card .wp-block-button__link { width: 100%; }
}

@media (max-width: 360px) {
  :root { --zg-inner-wide: min(calc(100% - 2rem), 100rem); }
  .zg-inner-heading h2 { font-size: 1.8rem; }
  .zg-inquiry-panel { padding: 1.25rem !important; }
  .zg-contact-method > .wp-block-image { width: 2.7rem; min-width: 2.7rem; height: 2.7rem; }
}

@media (prefers-reduced-motion: reduce) {
  .zg-inner-cta a,
  .zg-region-cta a { transition: none !important; }
}
