/* A three-photograph weight-care story, with image framing kept explicit. */
.weight-showcase {
  --showcase-green: #2c9273;
  --showcase-text: #242824;
  --showcase-muted: #627169;
  padding: 64px 0 76px;
  background: radial-gradient(ellipse at 65% 22%, #edf8f0 0, #f7fcf8 30%, #fff 65%);
  border-bottom: 1px solid #edf2ed;
}
.weight-showcase--landing { padding-top: 43px; }
.weight-showcase .weight-showcase-grid {
  display: grid;
  grid-template-columns: 1.12fr .9fr .9fr;
  grid-template-rows: minmax(170px, auto) minmax(330px, auto) auto auto;
  grid-template-areas:
    'products heading heading'
    'products person injection'
    'benefits person injection'
    'benefits description description';
  gap: 26px 28px;
  width: min(1160px, calc(100% - 72px));
  align-items: start;
}
.weight-showcase-grid > * { min-width: 0; }
.weight-showcase-heading { grid-area: heading; padding-top: 3px; }
.weight-showcase .weight-showcase-heading .eyebrow {
  color: #405c4d;
  font-size: 10px;
  letter-spacing: .16em;
  line-height: 1.6;
  margin: 0 0 18px;
}
.weight-showcase .weight-showcase-heading h1,
.weight-showcase .weight-showcase-heading h2 {
  color: var(--showcase-text);
  margin: 0;
  max-width: 800px;
  font-size: clamp(40px, 4.55vw, 57px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.055em;
}
.weight-showcase-heading em {
  color: var(--showcase-green);
  font-style: normal;
}
.weight-showcase-products { grid-area: products; padding-top: 18px; }
.weight-showcase-product-scene {
  position: relative;
  isolation: isolate;
  margin: 0;
  min-height: 0;
  border-radius: 30px;
  background: #e0efe2;
}
.weight-showcase-product-scene > .weight-showcase-device-scene {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: 50% 50%;
  border-radius: inherit;
}
.weight-showcase figcaption {
  color: #647469;
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: 0;
}
.weight-showcase-product-scene > figcaption {
  padding: 12px 3px 0;
  background: #fff;
}
.weight-showcase-person { grid-area: person; padding-top: 38px; }
.weight-showcase-injection { grid-area: injection; }
.weight-showcase-person,
.weight-showcase-injection { margin: 0; }
.weight-showcase-person figure,
.weight-showcase-injection figure { margin: 0; }
.weight-showcase-person img,
.weight-showcase-injection img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  border-radius: 27px;
  object-fit: cover;
}
.weight-showcase-person img {
  object-position: 50% 0%;
  background: #d5e5d8;
}
.weight-showcase-injection img {
  object-position: 50% 50%;
  background: #e4c595;
}
.weight-showcase-person figcaption,
.weight-showcase-injection figcaption { margin-top: 8px; }
.weight-showcase-benefits { grid-area: benefits; padding: 20px 16px 0; }
.weight-showcase .weight-showcase-benefits h3 {
  color: var(--showcase-text);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -.035em;
  margin: 0 0 23px;
}
.weight-showcase-benefits ul { list-style: none; display: grid; gap: 15px; padding: 0; margin: 0; }
.weight-showcase-benefits li {
  position: relative;
  padding-left: 32px;
  color: #414c44;
  font-size: 15px;
  line-height: 1.6;
}
.weight-showcase-benefits li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--showcase-green);
}
.weight-showcase-benefits li::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 7px;
  width: 10px;
  height: 6px;
  border: solid #fff;
  border-width: 0 0 2px 2px;
  transform: rotate(-45deg);
}
.weight-showcase-description { grid-area: description; padding-top: 4px; max-width: 660px; }
.weight-showcase .weight-showcase-description h3 {
  color: var(--showcase-text);
  font-size: clamp(27px, 2.7vw, 34px);
  line-height: 1.25;
  font-weight: 750;
  letter-spacing: -.04em;
  margin: 0;
}
.weight-showcase .weight-showcase-description > p {
  max-width: 520px;
  color: var(--showcase-muted);
  font-size: 17px;
  line-height: 1.75;
  margin: 23px 0 27px;
}
.weight-showcase .weight-showcase-description .button {
  min-height: 54px;
  min-width: 226px;
  border-color: var(--showcase-green);
  background: var(--showcase-green);
  font-size: 14px;
  color: #fff;
}
.weight-showcase .weight-showcase-description .button:hover {
  background: #236e57;
  border-color: #236e57;
}
.weight-showcase .weight-showcase-description .weight-showcase-note {
  max-width: 610px;
  margin: 17px 0 0;
  font-size: 11px;
  line-height: 1.7;
}
@media (max-width: 1050px) {
  .weight-showcase .weight-showcase-grid {
    grid-template-rows: minmax(165px, auto) minmax(200px, auto) auto auto;
    gap: 23px;
    width: calc(100% - 56px);
  }
  .weight-showcase .weight-showcase-heading h1,
  .weight-showcase .weight-showcase-heading h2 { font-size: 43px; }
  .weight-showcase-benefits { padding: 23px 3px 0; }
  .weight-showcase .weight-showcase-benefits h3 { font-size: 19px; margin-bottom: 17px; }
  .weight-showcase-benefits li { font-size: 13px; }
  .weight-showcase-benefits ul { gap: 13px; }
  .weight-showcase-person { padding-top: 22px; }
  .weight-showcase-person img,
  .weight-showcase-injection img { border-radius: 23px; }
}
@media (max-width: 760px) {
  .weight-showcase { padding: 40px 0 50px; }
  .weight-showcase--landing { padding-top: 30px; }
  .weight-showcase .weight-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-template-areas:
      'heading heading'
      'products products'
      'person injection'
      'benefits benefits'
      'description description';
    gap: 26px 16px;
    width: min(560px, calc(100% - 40px));
  }
  .weight-showcase-heading { padding-top: 0; }
  .weight-showcase .weight-showcase-heading .eyebrow { font-size: 9px; margin-bottom: 14px; }
  .weight-showcase .weight-showcase-heading h1,
  .weight-showcase .weight-showcase-heading h2 { font-size: clamp(34px, 7.1vw, 46px); line-height: 1.13; }
  .weight-showcase-products { padding-top: 0; max-width: 430px; width: 100%; margin-inline: auto; }
  .weight-showcase-product-scene { min-height: 0; border-radius: 25px; }
  .weight-showcase-product-scene > .weight-showcase-device-scene { height: auto; aspect-ratio: auto; }
  .weight-showcase figcaption { font-size: 9px; line-height: 1.5; }
  .weight-showcase-product-scene > figcaption { padding-top: 9px; }
  .weight-showcase-person { padding-top: 20px; }
  .weight-showcase-person img,
  .weight-showcase-injection img { aspect-ratio: 2 / 3; border-radius: 20px; }
  .weight-showcase-benefits { padding: 5px 0 0; }
  .weight-showcase .weight-showcase-benefits h3 { font-size: 22px; margin-bottom: 20px; }
  .weight-showcase-benefits li { font-size: 15px; }
  .weight-showcase-benefits ul { gap: 14px; }
  .weight-showcase-description { border-top: 1px solid #dfeae2; padding-top: 28px; }
  .weight-showcase .weight-showcase-description h3 { font-size: 28px; line-height: 1.3; }
  .weight-showcase .weight-showcase-description > p { font-size: 16px; line-height: 1.75; margin: 19px 0 23px; }
  .weight-showcase .weight-showcase-description .button { width: 100%; }
  .weight-showcase .weight-showcase-description .weight-showcase-note { font-size: 10px; margin-top: 15px; }
}
@media (prefers-reduced-motion: no-preference) {
  .weight-showcase-heading,
  .weight-showcase-products,
  .weight-showcase-person,
  .weight-showcase-injection { animation: weight-showcase-arrive .65s both; }
  .weight-showcase-products { animation-delay: .06s; }
  .weight-showcase-person { animation-delay: .12s; }
  .weight-showcase-injection { animation-delay: .18s; }
  @keyframes weight-showcase-arrive {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* Website product-name sticker; authentic device photography remains intact. */
.mounjaro-display { position:relative; }
.mounjaro-display > img.mounjaro-name-sticker { position:absolute; right:3%; bottom:8%; display:block; width:55%; height:auto; padding:0; object-fit:contain; background:transparent; pointer-events:none; }
@media(max-width:760px) { .mounjaro-display > img.mounjaro-name-sticker { width:58%; right:2%; bottom:10%; } }
