/* Local editorial pass: retain campaign artwork and all transactional behavior. */
.holiday-shell main {
  --reading-ink: #4b5c4e;
}
.holiday-shell main ::selection { background: #ead1c3; color: #173d33; }
.holiday-shell main :is(h2, h3) { letter-spacing: -.03em; text-wrap: balance; }
.holiday-shell main p { overflow-wrap: break-word; }

/* Quiet the repeated furniture; the hero, coupon and letter keep their character. */
.coupon-copy > .eyebrow, .story figcaption > span, .ending-copy > .eyebrow { display: none; }
.coupon-copy h2, .section-heading h2 { margin-top: 0; }
.coupon-copy > p { font-size: 16px; color: #f4e6d4; }
.ticket-detail { color: #53604d; font-size: 14px; }
.ticket-limit, .coupon-status, .terms-open { font-size: 13px; }
.ticket-action { font-size: 16px; }
.discovery { padding-block: 72px; }
.discovery h2 { font-size: 27px; line-height: 1.65; margin-top: 0; }
.discovery h2 > span { font-size: 36px; }
.discovery-copy > p, .approach-copy > p, .letter-copy > p,
.care-copy > p, .holiday-faq details > p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--reading-ink);
}
.discovery-caption > small { font-size: 13px; }
.discovery .little-cards { gap: 0 20px; margin-top: 18px; }
.discovery .little-card {
  min-height: 0;
  border: 0;
  border-bottom: 1px solid #d8d1c3;
  background: none;
  padding: 10px 0;
  font: 13px/1.5 var(--body);
  color: var(--reading-ink);
}
.section-heading > p { font-size: 15px; color: var(--reading-ink); }
.story { padding: 0; border: 0; background: transparent; box-shadow: none; }
.story-photo { aspect-ratio: 4 / 3; }
.story figcaption { padding: 16px 0 4px; }
.story blockquote { margin-top: 0; }
.story-bottom > a, .story-controls > span { font-size: 13px; }
.story-controls button { width: 44px; height: 44px; }

/* A short introduction, a browsable index, then a distinct verification note. */
.approach { padding: 64px 0 0; background: #e8ecdf; }
.approach-layout {
  grid-template-columns: 1.05fr .95fr;
  grid-template-areas: "scene title" "scene copy";
  align-items: start;
  gap: 20px 64px;
}
.approach h2 { grid-area: title; align-self: end; margin: 0; font-size: 32px; }
.approach-copy { grid-area: copy; }
.approach-scene, .care-scene { grid-area: scene; margin: 0; overflow: hidden; }
.approach-scene { aspect-ratio: 6 / 5; }
.approach-scene img, .care-scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.approach-scene img { object-position: 50% 58%; }
.curated { font-size: 14px; margin-top: 18px; line-height: 1.7; }
.criteria-band {
  margin-top: 40px;
  padding: 36px 0 40px;
  background: #fbf7ee;
  border-top: 1px solid #d5d7c6;
  border-bottom: 1px solid #d5d7c6;
}
.criteria-band .criteria-layout {
  grid-template-columns: .65fr 1.35fr;
  gap: 64px;
  margin: 0 auto;
  padding-top: 0;
  border-top: 0;
  align-items: start;
}
.criteria-intro { padding: 0; min-height: 0; }
.criteria-intro h3 { display: flex; align-items: center; gap: 18px; margin: 0 0 16px; font: 600 18px/1.6 var(--body); }
.criteria-number { position: static; font-size: 72px; line-height: 1; letter-spacing: -.03em; flex: none; }
.criteria-number sup { font-size: 28px; margin-left: 3px; }
.criteria-intro p { font-size: 15px; line-height: 1.8; color: var(--reading-ink); }
.criteria-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-items: start; }
.criteria-item, .criteria-item:first-child { border: 0; border-top: 1px solid #c8caba; }
.criteria-item summary { min-height: 52px; padding: 14px 0 10px; gap: 12px; }
.criteria-item summary strong { font-size: 17px; line-height: 1.5; }
.criteria-body { display: flex; gap: 5px 0; padding: 0 0 22px; }
.criteria-body span { border: 0; border-radius: 0; padding: 0; background: none; color: var(--reading-ink); font-size: 14px; line-height: 1.8; }
.criteria-body span:not(:last-child)::after { content: '·'; display: inline-block; padding-inline: 7px; color: #74816e; }
.care-layout {
  grid-template-columns: .95fr 1.05fr;
  grid-template-areas: "title scene" "copy scene";
  align-items: start;
  gap: 18px 64px;
  margin-top: 0;
  padding: 40px 0;
  background: transparent;
  border: 0;
}
.care-layout h3 { grid-area: title; align-self: end; margin: 0; font: 26px/1.65 var(--serif); }
.care-layout h3 > span { display: block; }
.care-copy { grid-area: copy; }
.care-scene { aspect-ratio: 3 / 2; align-self: center; }
.care-scene img { object-position: center; }
.care-docs { margin-top: 18px; }
.care-docs summary { min-height: 52px; font-size: 15px; }
.care-docs ul { font-size: 14px; line-height: 1.8; }
.care-copy > .care-privacy { font-size: 13px; line-height: 1.7; color: var(--reading-ink); align-items: start; }
.care-privacy svg { margin-top: 3px; }

/* Let the actual letter interrupt the explanation on mobile, not follow all of it. */
.letter { padding-block: 64px; }
.letter-layout { grid-template-columns: 1fr 1.1fr; gap: 32px 64px; align-items: start; }
.letter-copy { grid-column: 1; grid-row: 1; }
.letter-art { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.letter-steps { grid-column: 1; grid-row: 2; margin: 0; }
.letter-steps li { padding-block: 16px; }
.letter-steps strong { font-size: 16px; }
.letter-steps p { font-size: 15px; color: var(--reading-ink); line-height: 1.8; }
.letter-paper > span { font-size: 14px; min-height: 48px; }
.letter-paper { transform: rotate(-1deg); }
.holiday-faq h2 { margin-top: 0; }
.holiday-faq summary { font-size: 16px; }
.ending-copy > p:not(.eyebrow) { font-size: 16px; }
.ending .button { font-size: 16px; }

@media (max-width: 1000px) {
  .approach-layout, .care-layout, .letter-layout { column-gap: 36px; }
  .criteria-band .criteria-layout { gap: 30px; grid-template-columns: .8fr 1.2fr; }
  .criteria-list { column-gap: 22px; }
}
@media (max-width: 680px) {
  .coupon-copy h2 { margin-top: 0; }
  .coupon-copy > p { font-size: 15px; }
  .ticket-detail { font-size: 13px; }
  .discovery { padding-block: 40px; }
  .discovery-layout { gap: 24px; }
  .discovery-image { margin-right: 0; }
  .discovery h2 { font-size: 21px; margin-bottom: 16px; }
  .discovery h2 > span { font-size: 28px; }
  .discovery-caption > small { font-size: 12px; }
  .discovery-copy { padding: 0; }
  .discovery-copy > p br { display: none; }
  .discovery .quiz-invitation { margin-top: 22px; }
  .discovery .little-cards { gap: 0 18px; margin-top: 14px; }
  .stories { padding-block: 40px; }
  .section-heading { display: block; }
  .section-heading h2 { font-size: 27px; }
  .section-heading > p { max-width: none; margin-top: 14px; text-align: left; font-size: 15px; }
  .section-heading > p br { display: none; }
  .story-photo { aspect-ratio: 4 / 5; }
  .story figcaption { padding: 14px 0 4px; }
  .story blockquote { font-size: 18px; }
  .story-bottom > a { font-size: 13px; }
  .story-controls > span { font-size: 12px; }
  .approach { padding-top: 40px; }
  .approach-layout { display: grid; grid-template-columns: 1fr; grid-template-areas: "title" "scene" "copy"; gap: 20px; }
  .approach h2 { font-size: 27px; margin: 0; }
  .approach-scene { aspect-ratio: 1.45; }
  .approach-copy > p br { display: none; }
  .curated { font-size: 13px; margin-top: 14px; }
  .criteria-band { margin-top: 28px; padding-block: 28px 8px; }
  .criteria-band .criteria-layout { display: block; }
  .criteria-intro { margin-bottom: 22px; }
  .criteria-intro h3 { margin-bottom: 12px; gap: 18px; font-size: 17px; }
  .criteria-number { position: static; font-size: 64px; }
  .criteria-number sup { font-size: 24px; }
  .criteria-intro p { font-size: 15px; }
  .criteria-intro p br { display: none; }
  .criteria-list { display: block; }
  .criteria-item summary { min-height: 52px; padding-block: 14px 10px; }
  .criteria-item summary strong { font-size: 17px; }
  .criteria-body { gap: 4px 0; padding-bottom: 18px; }
  .criteria-body span { font-size: 15px; line-height: 1.8; }
  .care-layout { display: grid; grid-template-columns: 1fr; grid-template-areas: "scene" "title" "copy"; gap: 18px; padding-block: 32px; }
  .care-layout h3 { font-size: 24px; margin: 0; }
  .care-layout h3 > span { display: inline; }
  .care-scene { aspect-ratio: 1.8; }
  .care-copy > p { font-size: 16px; }
  .care-copy > p br { display: none; }
  .care-copy > .care-privacy { font-size: 13px; }
  .letter { padding-block: 40px; }
  .letter-layout { display: flex; flex-direction: column; gap: 28px; }
  .letter-copy > p br { display: none; }
  .letter-script { font-size: 32px; }
  .letter h2 { font-size: 27px; margin-block: 14px; }
  .letter-art { width: calc(100% - 20px); margin: 0 10px; padding-bottom: 38px; }
  .envelope-front { height: 66px; padding-bottom: 10px; }
  .envelope-front > span { font-size: 20px; }
  .letter-steps { width: 100%; }
  .letter-steps li { padding-block: 14px; }
  .letter-steps p { font-size: 15px; }
  .holiday-faq { padding-block: 36px 40px; }
  .holiday-faq h2 { font-size: 25px; margin: 0 0 14px; }
  .holiday-faq details > p { font-size: 16px; }
  .ending-copy > p:not(.eyebrow) { font-size: 15px; max-width: 270px; }
  .ending .button { font-size: 16px; }
}
