/* Direct bookings and the per-venue plan comparison on the homepage. */
.directHero, .directPlans {
  padding: clamp(36px, 6vw, 76px) clamp(18px, 5vw, 64px);
  font-family: Inter, system-ui, sans-serif;
}
.directHero {
  text-align: center;
  background: radial-gradient(ellipse at 50% 0, #50334a, #30202f 76%);
  color: #fff4e4;
}
.directHero .directKicker, .directPlans .directKicker {
  margin: 0 0 14px;
  font: 700 0.73rem/1.5 Inter, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-wrap: balance;
}
.directHero .directKicker { color: #ffd095; }
.directHero h1 {
  margin: 0 auto 20px;
  font: 540 clamp(2.7rem, 6vw, 4.9rem)/1.02 Fraunces, Georgia, serif;
  color: inherit;
  letter-spacing: -0.045em;
}
.directHero h1 span { display: block; color: #fac095; }
.directHero .directLead { max-width: 53ch; margin: auto; color: inherit; font-size: clamp(1rem, 1.65vw, 1.125rem); }
.directFee { display: block; margin-top: 0.65em; }
.directActions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 22px 0 11px; }
.directButton {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 17px; border-radius: 8px;
  background: #a9422b; color: white; font-weight: 650; font-size: 0.9rem; text-decoration: none;
}
.directButton.secondary { background: #fbf2df; color: #422a3c; }
.directButton:hover { text-decoration: underline; }
.directButton:focus-visible, .directPlans summary:focus-visible { outline: 3px solid #cf913c; outline-offset: 3px; }
.directHero small { color: #eadacb; }
.directPlans { background: #fbf6ec; color: #382536; scroll-margin-top: 85px; }
.directPlansInner { max-width: 1080px; margin: auto; }
.directPlans h2 { font: 550 clamp(2rem, 4vw, 3.2rem)/1.08 Fraunces, Georgia, serif; letter-spacing: -0.04em; margin: 0 0 10px; }
.directPlans .directKicker { color: #89452f; }
.directPlanGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0; }
.directPlan { padding: clamp(18px, 2.5vw, 28px); background: #fffaf3; border: 1px solid #d6c7b4; border-radius: 12px; }
.directPlan.paid { background: #432b3e; color: #fff3e5; border-color: #4c3046; }
.directPlan h3 { margin: 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: inherit; font: 700 1.1rem/1.4 Inter, sans-serif; }
.directPlan h3 small { background: #e7ddce; color: #584739; border-radius: 99px; padding: 4px 9px; font-size: 0.75rem; }
.directPlan .amount { margin: 16px 0 0; font: 550 3rem/1.08 Fraunces, Georgia, serif; }
.directPlan .amount small { font: 500 0.9rem Inter, sans-serif; }
.directPlan p, .directPlansInner > p { margin: 0 0 12px; color: inherit; }
.directPlan ul { padding-left: 1.2em; margin: 14px 0; list-style: disc; }
.directPlan li { margin-bottom: 5px; }
.directPlan .planNote { font-size: 0.85rem; }
.directPlans details { padding: 14px 0; border-top: 1px solid #d7c8b9; }
.directPlans summary { cursor: pointer; font-weight: 650; }
.directPlans details p { max-width: 85ch; margin: 10px 0 0; }
@media (max-width: 640px) {
  .directPlanGrid { grid-template-columns: 1fr; gap: 12px; }
  .directHero .directKicker { font-size: 0.66rem; }
}
