/* Shared editorial offer component. Loaded only by the pilot and its review boards. */
.product-offer {
  --offer-columns: minmax(0, .83fr) minmax(0, 1.17fr);
  --offer-inline: clamp(25px, 3.4vw, 49px);
  --offer-gap: clamp(22px, 4vw, 62px);
  border-bottom: 1px solid var(--line);
  margin-top: 24px;
}
.offer-row {
  display: grid;
  grid-template-columns: var(--offer-columns);
  column-gap: var(--offer-gap);
  align-items: start;
  padding-inline: var(--offer-inline);
}
.offer-heading h3 { margin: 0; font-family: var(--serif); font-weight: 400; text-wrap: balance; }
.offer-term { white-space: nowrap; }
.offer-kicker { display: block; margin: 0 0 10px; font: 800 14px/1.35 var(--sans); letter-spacing: 0; }
.offer-recommended {
  background: var(--navy);
  color: var(--warm);
  border-top: 3px solid var(--sage);
  padding-block: 30px 31px;
}
.offer-recommended .offer-kicker { color: var(--warm); }
.offer-recommended h3 { color: var(--warm); font-size: clamp(39px, 3.48vw, 50px); line-height: 1.04; }
.offer-recommended .offer-copy { padding-top: 2px; }
.offer-recommended .offer-copy ul {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px 18px;
  list-style: none;
  margin: 17px 0 0;
  padding: 0;
}
.offer-recommended .offer-copy li { border-top: 1px solid var(--sage); padding-top: 7px; }
.offer-recommended .button.primary { color: var(--navy); background: var(--warm); border-color: var(--warm); }
.offer-recommended .button.primary:hover { background: white; border-color: white; }
.offer-recommended .button:focus-visible { outline-color: var(--slate); }
.offer-copy p { max-width: 62ch; }
.offer-copy .actions { margin-top: 17px; }
.offer-standalone { padding-block: 23px 25px; border-top: 1px solid var(--line); }
.offer-standalone .offer-kicker { color: var(--stone); }
.offer-standalone h3 { font-size: clamp(30px,2.65vw,38px); line-height: 1.07; }
.offer-contact { display: grid; grid-template-columns: var(--offer-columns); column-gap: var(--offer-gap); padding: 0 var(--offer-inline) 22px; }
.offer-contact .actions { grid-column: 2; margin: 0; }
.page-product-review .product-sample { margin-top: 36px; }
.review-caption { color: var(--stone); font-size: 15px; font-weight: 800; margin-bottom: 10px; }
.pilot-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 20px; margin-top: 22px; }
.pilot-review-grid h2 { font-size: 22px; margin: 0 0 8px; }
.pilot-review-grid img { display: block; width: 100%; border: 1px solid var(--line); }
