/* steps-term-card
   Generated from the approved mockup CSS by wp-build/css.py, plus css-fixes/steps-term-card.css. */
.start-steps { background: var(--stone); padding: var(--section) 0; }
.start-steps .start-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--s7); align-items: start; }
.start-steps .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); margin-top: var(--s6); }
.start-steps .step-num { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font: 600 20px/1 var(--sans); margin-bottom: var(--s3); }
.start-steps .steps h3 { font-size: 24px; margin-bottom: 8px; }
.start-steps .steps p { color: var(--muted); font-size: 17px; margin-bottom: var(--s2); max-width: 30ch; }
.start-steps .term { background: var(--deep); color: var(--on-deep); border-radius: var(--r-panel); padding: 40px; }
.start-steps .term h3 { font-size: 26px; font-weight: 500; margin-bottom: var(--s3); }
.start-steps .term dl { margin: 0 0 var(--s4); }
.start-steps .term dl div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s2); padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }
.start-steps .term dt { color: var(--on-deep-muted); font-size: 16px; }
.start-steps .term dd { margin: 0; font-family: var(--head); font-size: 24px; font-weight: 500; }
.start-steps .term-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.start-steps .term-visit { display: inline-flex; gap: 8px; margin-top: var(--s3); color: #fff; font-weight: 600; text-decoration: none; }
.start-steps .term-visit .textlink-label { text-decoration: underline; text-underline-offset: 4px; }
.start-steps .term-visit:hover { color: #fff; }
.start-steps .term :focus-visible { outline-color: #fff; }
@media (max-width: 1100px) {
  .start-steps .start-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  .start-steps .term { max-width: 560px; }
}
@media (max-width: 700px) {
  .start-steps .steps { grid-template-columns: minmax(0, 1fr); gap: var(--s4); margin-top: var(--s5); }
  .start-steps .steps li { display: grid; grid-template-columns: 48px 1fr; column-gap: var(--s2); }
  .start-steps .step-num { grid-row: span 3; width: 40px; height: 40px; font-size: 18px; margin: 0; }
  .start-steps .term { padding: var(--s4) var(--s3); }
}

/* Block markup adjustments */
.start-steps .steps { counter-reset: step; }
.start-steps .steps > li { counter-increment: step; }
.start-steps .steps > li::before { content: counter(step); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font: 600 20px/1 var(--sans); margin-bottom: var(--s3); }
.start-steps .steps p { margin-bottom: var(--s2); }
.start-steps .term .term-visit { margin-top: var(--s3); }
.start-steps .term .term-visit a { color: #fff; }
.start-steps .term dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s2); padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }
@media (max-width: 700px) {
  .start-steps .steps > li { display: grid; grid-template-columns: 48px 1fr; column-gap: var(--s2); }
  .start-steps .steps > li::before { grid-row: span 3; width: 40px; height: 40px; font-size: 18px; margin: 0; }
}
