/* One continuous subscription-gift opening. No separate second hero. */
body.review-polished .hero.subscription-opening {
  min-height: 0;
  padding-block: 126px 72px;
  overflow: hidden;
  background: #f5efe2;
  color: #102f38;
}
body.review-polished .hero.subscription-opening .hero-bg {
  background: radial-gradient(ellipse at 79% 20%, #e9dec6 0%, #f5efe2 53%);
}
body.review-polished .hero.subscription-opening .one-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  grid-template-areas: "intro lineup" "details lineup" "story story";
  grid-template-rows: min-content min-content auto;
  gap: 0 clamp(38px, 5vw, 76px);
  align-items: start;
  padding-block: 0;
}
.subscription-opening .hero-intro { grid-area: intro; min-width: 0; padding-top: 6px; }
.subscription-opening .hero-details { grid-area: details; min-width: 0; }
body.review-polished .hero.subscription-opening .hero-copy .eyebrow { font-size: .82rem; margin-bottom: 16px; letter-spacing: .1em; }
body.review-polished .hero.subscription-opening .hero-copy #hero-title {
  font-size: clamp(3.1rem, 4.65vw, 4.4rem);
  line-height: 1.05;
  letter-spacing: -.05em;
  margin: 0 0 22px;
}
.subscription-opening #hero-title > span { display: block; }
body.review-polished .hero.subscription-opening .hero-standfirst {
  margin: 0 0 24px;
  max-width: none;
  font-size: clamp(1.65rem, 2.4vw, 2.1rem);
  font-weight: 700;
  line-height: 1.2;
  color: #102f38;
}
body.review-polished .hero.subscription-opening .hero-lede {
  margin: 0;
  max-width: none;
  color: #435b5f;
  font-family: var(--serif);
  font-size: 1.25rem;
  line-height: 1.6;
}
.subscription-opening .hero-lede strong { color: #102f38; }
.hero-game-promise { margin: 18px 0 0; font-size: 1.0625rem; line-height: 1.6; font-weight: 600; color: #254a4e; }
body.review-polished .hero.subscription-opening .hero-actions { margin-top: 25px; gap: 18px; flex-wrap: wrap; }
body.review-polished .hero.subscription-opening .hero-adventure-link { color: #102f38; font-size: .94rem; font-weight: 700; line-height: 1.5; text-underline-offset: 5px; }
body.review-polished .hero.subscription-opening .hero-purchase-note { margin: 17px 0 0; color: #435b5f; font-size: .91rem; line-height: 1.6; }
body.review-polished .hero.subscription-opening .hero-company-lineup {
  grid-area: lineup;
  position: relative;
  top: auto;
  align-self: center;
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.subscription-opening .carton-lineup-kicker { margin-bottom: 22px; font-size: .77rem; }
.subscription-opening .carton-example--second img { height: 93%; top: 4%; }
.subscription-opening .hero-company-lineup figcaption { margin-top: 25px; padding-inline: 8px; }
.subscription-opening .hero-company-lineup figcaption p { margin: 0 auto; max-width: 430px; font-size: .94rem; line-height: 1.55; }
.hero-story-grid {
  grid-area: story;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(40px, 5vw, 76px);
  align-items: stretch;
  margin-top: 46px;
  padding-top: 46px;
  border-top: 1px solid #ac926d55;
  scroll-margin-top: 115px;
}
.hero-coffee-portrait { position: relative; margin: 0; min-width: 0; min-height: 570px; overflow: hidden; background: #d4bf9c; }
.hero-coffee-portrait img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.hero-story-copy { min-width: 0; padding-block: 3px; }
.subscription-opening .hero-explanation { display: grid; gap: 22px; margin-bottom: 23px; }
body.review-polished .hero.subscription-opening .hero-explanation .hero-lede { max-width: none; margin: 0; font-size: 1.25rem; line-height: 1.6; }
.subscription-opening .hero-included { margin: 0; max-width: none; font-size: 1.0625rem; line-height: 1.65; font-weight: 600; color: #254a4e; }
.hero-story-copy > .hero-adventure-link { display: inline-block; padding-block: 8px; }
body.review-polished .hero.subscription-opening .arrival-preview-hero { margin-top: 20px; }
@media (min-width: 1401px) {
  body.review-polished .hero.subscription-opening { padding-top: 188px; }
}
@media (max-width: 980px) {
  body.review-polished .hero.subscription-opening { padding-top: 120px; }
  body.review-polished .hero.subscription-opening .one-hero-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro" "lineup" "details" "story";
    grid-template-rows: auto;
    gap: 26px;
  }
  .subscription-opening .hero-intro,.subscription-opening .hero-details { justify-self: center; width: 100%; max-width: 700px; }
  .subscription-opening .hero-intro { padding-top: 0; text-align: center; }
  body.review-polished .hero.subscription-opening .hero-standfirst { margin-bottom: 0; }
  body.review-polished .hero.subscription-opening .hero-company-lineup { max-width: 600px; justify-self: center; }
  .hero-story-grid { grid-template-columns: minmax(0, 1fr); margin-top: 10px; padding-top: 36px; gap: 36px; }
  .hero-coffee-portrait { min-height: 0; height: 420px; }
}
@media (max-width: 760px) {
  .hero-story-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-coffee-portrait { min-height: 0; height: 400px; }
  .hero-story-copy { padding: 0; }
}
@media (max-width: 600px) {
  body.review-polished .hero.subscription-opening { padding-block: 110px 46px; }
  body.review-polished .hero.subscription-opening .one-hero-layout { gap: 24px; }
  body.review-polished .hero.subscription-opening .hero-copy .eyebrow { font-size: .7rem; line-height: 1.5; letter-spacing: .08em; margin-bottom: 15px; }
  body.review-polished .hero.subscription-opening .hero-copy #hero-title { font-size: clamp(2.55rem, 8.7vw, 3.3rem); line-height: 1.05; margin-bottom: 20px; }
  body.review-polished .hero.subscription-opening .hero-standfirst { font-size: 1.65rem; line-height: 1.2; }
  .subscription-opening .carton-lineup-kicker { margin-bottom: 16px; font-size: .67rem; }
  .subscription-opening .hero-company-lineup figcaption { margin-top: 20px; padding-inline: 0; }
  .subscription-opening .hero-company-lineup figcaption p { font-size: .89rem; line-height: 1.55; }
  body.review-polished .hero.subscription-opening .hero-lede,
  body.review-polished .hero.subscription-opening .hero-explanation .hero-lede { font-size: 1.125rem; line-height: 1.65; }
  .hero-game-promise { font-size: 1rem; line-height: 1.6; }
  body.review-polished .hero.subscription-opening .hero-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
  body.review-polished .hero.subscription-opening .hero-purchase-note { font-size: .84rem; }
  .hero-story-grid { padding-top: 28px; margin-top: 2px; gap: 26px; }
  .hero-coffee-portrait { height: 350px; }
  .subscription-opening .hero-included { font-size: 1rem; }
}
@media (max-width: 359px) {
  body.review-polished .hero.subscription-opening { padding-top: 100px; }
  body.review-polished .hero.subscription-opening .hero-copy #hero-title { font-size: 2.45rem; }
  body.review-polished .hero.subscription-opening .hero-standfirst { font-size: 1.5rem; }
  .hero-coffee-portrait { height: 310px; }
}
