.fare-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,340px);
  align-items:center;
  gap:var(--space-6);
}
.fare-heading,
.fare-entry,
.fare-payment-copy,
.fare-refund-copy{
  min-width:0;
}
.fare-heading h1{
  margin-bottom:var(--space-3);
}
.fare-lead{
  max-width:36em;
  font-size:var(--size-sub);
  color:var(--muted);
  margin-bottom:0;
}
.fare-entry{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-2);
  border-top:1px dashed var(--dash);
}
.fare-entry p{
  margin:0;
}
.fare-entry-note{
  font-size:var(--size-small);
}
.fare-overview{
  padding-top:var(--space-2);
  padding-bottom:var(--space-3);
}
.fare-page caption{
  text-align:left;
  padding:var(--space-2) var(--space-3);
  color:var(--muted);
  background:var(--panel);
  font-size:var(--size-small);
}
.fare-page tbody th{
  background:var(--panel);
  color:var(--accent-dark);
  white-space:normal;
}
.fare-section-head{
  max-width:var(--reading-width);
}
.fare-card-grid{
  margin-top:var(--space-4);
  margin-bottom:var(--space-4);
}
.fare-card-grid .badge{
  align-self:flex-start;
}
.fare-plan-copy{
  color:var(--muted);
  font-size:var(--size-label);
  line-height:1.85;
  margin:0;
}
.fare-inclusions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-4);
}
.fare-inclusions article{
  min-width:0;
  padding:var(--space-2);
}
.fare-inclusions article:nth-child(n+3){
  border-top:1px dashed var(--dash);
  padding-top:var(--space-4);
}
.fare-inclusions .feature-kicker{
  display:block;
}
.fare-inclusions p{
  margin:0;
  color:var(--muted);
}
.fare-context{
  max-width:var(--reading-width);
  margin-top:var(--space-4);
  margin-bottom:0;
  line-height:1.85;
}
.fare-payment-layout{
  display:grid;
  grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:var(--space-5);
  margin-top:var(--space-4);
}
.fare-payment-stub{
  min-width:0;
  align-self:start;
  padding:var(--space-4);
  background:var(--candy-sky);
  border:1px solid var(--border);
  border-radius:var(--r-panel);
  box-shadow:var(--panel-shadow);
}
.fare-payment-stub .feature-kicker{
  display:block;
}
.fare-pay-methods{
  margin-block:var(--space-3);
  border-top:1px dashed var(--accent-dark);
  border-bottom:1px dashed var(--accent-dark);
}
.fare-pay-methods li{
  padding-block:var(--space-2);
  color:var(--accent-dark);
  font-weight:700;
}
.fare-pay-methods li+li{
  border-top:1px dashed var(--edge);
}
.fare-payment-copy{
  max-width:var(--reading-width);
}
.fare-payment-copy p{
  line-height:1.85;
}
.fare-payment-copy h3:not(:first-child){
  margin-top:var(--space-4);
}
.fare-refund-ticket{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  gap:var(--space-4);
}
.fare-refund-stub{
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--r-tile);
  background:var(--candy-pink);
}
.fare-refund-stub .feature-kicker{
  display:block;
}
.fare-refund-copy{
  padding-left:var(--space-4);
  border-left:1px dashed var(--dash);
}
.fare-refund-copy p{
  line-height:1.85;
}
@media(max-width:980px){
  .fare-intro{
    gap:var(--space-4);
    grid-template-columns:minmax(0,1fr) minmax(0,290px);
  }
  .fare-payment-layout{
    grid-template-columns:minmax(0,250px) minmax(0,1fr);
    gap:var(--space-4);
  }
}
@media(max-width:768px){
  .fare-intro{
    grid-template-columns:1fr;
  }
  .fare-lead{
    font-size:var(--size-body);
  }
  .fare-entry{
    width:100%;
  }
  .fare-payment-layout,
  .fare-refund-ticket{
    grid-template-columns:1fr;
  }
  .fare-refund-copy{
    padding-left:0;
    padding-top:var(--space-3);
    border-left:0;
    border-top:1px dashed var(--dash);
  }
}
@media(max-width:640px){
  .fare-inclusions{
    grid-template-columns:1fr;
    gap:var(--space-3);
  }
  .fare-inclusions article{
    padding:0;
  }
  .fare-inclusions article+article{
    border-top:1px dashed var(--dash);
    padding-top:var(--space-3);
  }
  .fare-payment-stub,
  .fare-refund-stub{
    padding:var(--space-3);
  }
}