.tasting-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  gap: 8%;
  align-items: center;
  padding: clamp(76px, 10vw, 140px) 11.6%;
  background: radial-gradient(ellipse at 80% 12%, #eadcc9 0, #f3ece1 35%, var(--cream) 72%);
}
.tasting-hero-copy { max-width: 790px; }
.tasting-hero h1 {
  margin: 0;
  color: var(--black);
  font: 500 clamp(52px, 6.6vw, 88px)/.98 "Playfair Display", serif;
  letter-spacing: -.06em;
}
.tasting-hero h1 em, .tasting-section-heading h2 em, .tasting-cta h2 em { color: var(--gold); }
.tasting-lede, .tasting-cta > p:not(.eyebrow) {
  max-width: 650px;
  color: #62584f;
  font-size: 16px;
  line-height: 1.75;
}
.tasting-lede { margin: 28px 0 14px; }
.tasting-lede-secondary { margin: 0 0 31px; }
.tasting-summary {
  padding: 34px 32px;
  background: rgba(255, 253, 248, .74);
  border: 1px solid rgba(67, 53, 42, .13);
}
.tasting-summary .eyebrow { margin-bottom: 16px; }
.tasting-summary h2 {
  margin: 0 0 22px;
  font: 500 29px/1.12 "Playfair Display", serif;
  letter-spacing: -.035em;
}
.tasting-summary ul { list-style: none; margin: 0; padding: 0; }
.tasting-summary li {
  padding: 13px 0;
  border-top: 1px solid rgba(67, 53, 42, .14);
  color: #62584f;
  font-size: 13px;
  line-height: 1.55;
}
.tasting-details, .how-it-works, .tasting-faq { padding: 104px 11.6%; }
.tasting-details { background: #fffdf8; }
.tasting-section-heading { max-width: 760px; margin-bottom: 45px; }
.tasting-section-heading h2, .tasting-cta h2 {
  margin: 0;
  color: var(--black);
  font: 500 clamp(44px, 5vw, 68px)/1 "Playfair Display", serif;
  letter-spacing: -.055em;
}
.details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.detail-card {
  min-height: 205px;
  padding: 26px 28px;
  background: #f7f2e9;
  border: 1px solid rgba(67, 53, 42, .13);
}
.detail-number, .steps-list > li > span { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.detail-card h3, .steps-list h3 {
  margin: 25px 0 11px;
  color: var(--black);
  font: 500 25px/1.15 "Playfair Display", serif;
}
.detail-card p, .date-note, .menu-course p, .shared-portions > p:last-child, .steps-list p, .faq-list p {
  margin: 0;
  color: #62584f;
  font-size: 14px;
  line-height: 1.7;
}
.date-note { margin-top: 27px; padding: 19px 22px; background: var(--sage); }
.date-note strong { color: var(--black); }
.tasting-menu { padding: 110px 11.6%; background: var(--paper); }
.menu-intro { max-width: 630px; margin: 22px 0 0; color: #62584f; font-size: 15px; line-height: 1.7; }
.menu-course {
  display: grid;
  grid-template-columns: minmax(155px, .34fr) 1fr;
  gap: 35px;
  padding: 32px;
  background: #f8f4ec;
  border: 1px solid rgba(67, 53, 42, .13);
}
.menu-course-wide { margin-bottom: 14px; }
.course-label { color: var(--gold) !important; font-size: 10px !important; font-weight: 700; letter-spacing: .17em; }
.menu-course h3 {
  margin: -7px 0 13px;
  color: var(--black);
  font: 500 31px/1.1 "Playfair Display", serif;
  letter-spacing: -.04em;
}
.menu-course p + p { margin-top: 16px; }
.menu-course p strong { color: var(--black); }
.course-note { color: #74695e !important; font-size: 12px !important; font-style: italic; }
.menu-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.menu-pair .menu-course { height: 100%; }
.sides-pair { align-items: stretch; }
.shared-portions {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px;
  background: #e4e5d9;
}
.shared-portions .eyebrow { margin-bottom: 15px; }
.shared-portions > p:last-child { max-width: 430px; color: #59584d; }
.dessert-pair { margin-bottom: 0; }
.optional-course { background: #eee6d9; }
.how-it-works { background: #e4e5d9; }
.steps-list { max-width: 850px; margin: 0; padding: 0; list-style: none; }
.steps-list li { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 23px 0; border-top: 1px solid rgba(67, 53, 42, .2); }
.steps-list h3 { margin: 0 0 8px; }
.steps-list p { max-width: 680px; }
.tasting-faq { background: #fffdf8; }
.faq-list { max-width: 850px; border-top: 1px solid rgba(67, 53, 42, .2); }
.faq-list details { border-bottom: 1px solid rgba(67, 53, 42, .2); }
.faq-list summary {
  position: relative;
  padding: 22px 42px 22px 0;
  color: var(--black);
  font: 500 21px/1.25 "Playfair Display", serif;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 18px; color: var(--gold); font: 400 25px "DM Sans", sans-serif; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 740px; padding: 0 40px 21px 0; }
.tasting-cta { padding: 110px 11.6%; background: #e9dfd1; }
.tasting-cta h2 { max-width: 750px; }
.tasting-cta > p:not(.eyebrow) { margin: 24px 0 27px; }
.site-header nav a[aria-current="page"] { color: var(--gold); }

@media (max-width: 900px) {
  .tasting-hero { grid-template-columns: 1fr; gap: 42px; }
  .tasting-summary { max-width: 620px; }
  .tasting-details, .how-it-works, .tasting-faq, .tasting-menu, .tasting-cta { padding-left: 8%; padding-right: 8%; }
}
@media (max-width: 760px) {
  .tasting-hero { padding: 72px 7% 78px; gap: 35px; }
  .tasting-hero h1 { font-size: clamp(46px, 12vw, 64px); }
  .tasting-lede, .tasting-cta > p:not(.eyebrow) { font-size: 14px; }
  .tasting-summary { padding: 27px 23px; }
  .tasting-summary h2 { font-size: 26px; }
  .tasting-details, .how-it-works, .tasting-faq, .tasting-menu, .tasting-cta { padding: 78px 7%; }
  .tasting-section-heading h2, .tasting-cta h2 { font-size: 46px; }
  .tasting-section-heading { margin-bottom: 32px; }
  .details-grid, .menu-pair { grid-template-columns: 1fr; gap: 12px; }
  .detail-card { min-height: unset; padding: 23px; }
  .menu-course { grid-template-columns: 1fr; gap: 18px; padding: 24px; }
  .menu-course h3 { font-size: 28px; }
  .shared-portions { padding: 26px 24px; }
  .steps-list li { grid-template-columns: 38px 1fr; gap: 10px; }
  .steps-list h3 { font-size: 22px; }
  .faq-list summary { font-size: 19px; }
}
