.life-cost .cost-section + .cost-section { margin-top: 2rem; }
.cost-ticket {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .25rem .75rem;
  padding-block: .65rem;
  border-bottom: 1px solid var(--blue-mid);
}
.cost-ticket strong { color: var(--navy); font-variant-numeric: tabular-nums; }
.cost-ticket span, .life-cost .plan-figure p { font-size: .94rem; }
.life-cost .cost-group-button { margin-top: 1.15rem; }
.life-cost .cost-check { display: flex; align-items: flex-start; gap: .65rem; margin-top: .9rem; font-weight: 500; }
.cost-check input { width: 1.15rem; height: 1.15rem; flex: none; margin-top: .2rem; }
.cost-later { margin: 1rem 0; padding: .8rem 0; border-block: 1px solid var(--rule); }
.cost-later summary { color: var(--blue); font-weight: 620; }
.life-cost select + label { margin-top: .85rem; }
/* WebKit otherwise includes the longest option in the page's scroll width
   when the visitor increases text spacing on a small phone. */
@media (max-width: 32rem) {
  #vgli-cost-fields fieldset { overflow: clip; }
}
.life-cost .cost-error { color: var(--error); }
.cost-sources { border-top: 1px solid var(--rule); }
.cost-sources li + li { margin-top: .4rem; }
@media print {
  .plan.life-cost #life-cost-form { display: block !important; }
  .plan.life-cost .plan-card { display: none; }
}
