/* Seasonal artwork and live, accessible promotion copy. */
.fall-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 12px 0 30px;
  padding: 30px 36px 25px;
  border: 1px solid #b8794260;
  border-radius: 24px;
  background: #faf0df;
  box-shadow: 0 16px 44px -32px #70472080;
  color: #3b3827;
  text-align: left;
  scroll-margin-top: 100px;
}
.fall-card[hidden] { display: none !important; }
.fall-card-art { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 47%; }
.fall-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #faf2e8e8 0%, #faf2e8c9 38%, #faf2e844 65%, transparent 100%); }
.fall-card-copy { max-width: 640px; }
.fall-card .fall-eyebrow { margin: 0 0 12px; font: 600 11px/1.4 var(--sans, 'Montserrat', sans-serif); letter-spacing: .16em; text-transform: uppercase; color: #82492c; }
.fall-card h2 { margin: 0 0 10px; color: #704022; font: 500 clamp(38px, 4.3vw, 58px)/1.04 var(--serif, 'Cormorant Garamond', serif); letter-spacing: -.015em; }
.fall-card h2 em { color: #944e2d; font-weight: 500; }
.fall-card .fall-description { margin: 0 0 11px; font: 500 15px/1.55 var(--sans, 'Montserrat', sans-serif); color: #3f4937; }
.fall-card .fall-therapies { max-width: 610px; margin: 0 0 14px; font: 400 13px/1.65 var(--sans, 'Montserrat', sans-serif); color: #514d3c; text-wrap: balance; }
.fall-card .fall-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 13px 23px; }
.fall-card .fall-price { display: flex; align-items: baseline; gap: 7px; margin: 0; font: 500 40px/1 var(--serif, 'Cormorant Garamond', serif); font-variant-numeric: lining-nums; color: #344a32; }
.fall-card .fall-price span { font: 500 12px/1.4 var(--sans, 'Montserrat', sans-serif); color: #575341; }
.fall-card .fall-book { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 13px 22px; border: 1px solid #334c37; border-radius: 999px; background: #334c37; color: #fffaf0; font: 600 13px/1.35 var(--sans, 'Montserrat', sans-serif); text-decoration: none; transition: background .18s, transform .18s; }
.fall-card .fall-book:hover { background: #456548; transform: translateY(-1px); }
.fall-card .fall-book:focus-visible, .fall-card summary:focus-visible { outline: 3px solid #a85b31; outline-offset: 4px; }
.fall-card .fall-key-terms { margin: 13px 0 0; font: 500 11px/1.6 var(--sans, 'Montserrat', sans-serif); color: #57503d; }
.fall-card details { max-width: 625px; margin-top: 7px; font: 400 12px/1.65 var(--sans, 'Montserrat', sans-serif); color: #4f4838; }
.fall-card summary { width: fit-content; cursor: pointer; color: #75472a; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.fall-card details p { margin: 9px 0 0; padding: 10px 14px; border-radius: 10px; background: #fffaf1ee; }
.fall-card .fall-purchase { color: #334c37; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.fall-booking-card { margin-bottom: 34px; }
@media (max-width: 760px) {
  .fall-card { padding: 26px 24px 22px; border-radius: 20px; margin-top: 10px; }
  .fall-card-art { object-position: 62% center; }
  .fall-card::before { background: linear-gradient(90deg, #faf2e8f2, #faf2e8de 56%, #faf2e880); }
  .fall-card-copy { max-width: 480px; }
  .fall-card h2 { font-size: clamp(38px, 7vw, 49px); }
  .fall-card .fall-therapies { max-width: 430px; }
}
@media (max-width: 440px) {
  .fall-card { padding: 24px 20px 20px; }
  .fall-card-art { object-position: 61% center; }
  .fall-card .fall-eyebrow { font-size: 9px; letter-spacing: .12em; margin-bottom: 11px; }
  .fall-card h2 { font-size: 39px; max-width: 270px; }
  .fall-card .fall-description { font-size: 13px; }
  .fall-card .fall-therapies { font-size: 12px; max-width: 280px; text-wrap: wrap; }
  .fall-card .fall-bottom { gap: 12px 16px; }
  .fall-card .fall-price { font-size: 36px; }
  .fall-card .fall-price span { font-size: 10px; }
  .fall-card .fall-book { padding: 12px 17px; font-size: 12px; }
  .fall-card .fall-key-terms { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .fall-card .fall-book { transition: none; } }
