.process-timeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; gap: 24px; }
.process-timeline::before { content: ''; position: absolute; top: 19px; left: 20px; right: 20px; height: 2px; background: var(--accent); transform-origin: left; }
.process-step { position: relative; }
.process-number { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--accent); border-radius: 50%; background: var(--ground); color: var(--accent-bright); font-size: .8rem; margin-bottom: 24px; }
.process-step h3 { font-size: 1.05rem; }
.process-step p { color: var(--muted); font-size: .9rem; margin-top: 16px; }
.band-about { background: var(--accent-soft); border-block: 1px solid var(--hairline); padding-block: clamp(56px, 7vw, 88px); }
.about-body { margin-top: 18px; color: var(--muted); line-height: 1.85; max-width: 760px; }
.about-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--hairline); }
.about-item-head { display: flex; align-items: center; gap: 10px; font-size: 1rem; margin-bottom: 12px; }
.about-item-head img { flex: none; }
.about-list li p { color: var(--muted); font-size: .9rem; }
.requirements-list { margin: 0; }
.requirements-list > div { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(0, 2fr); gap: 24px; padding-block: 24px; border-top: 1px solid var(--hairline); }
.requirements-list > div:first-child { padding-top: 0; border: 0; }
.requirements-list dt { font-weight: 650; }
.requirements-list dd { margin: 0; color: var(--muted); }
#contact { background: var(--surface); border-block: 1px solid var(--hairline); }
.contact-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }
.contact-email { margin-block: 26px; font-size: clamp(1rem, 2vw, 1.35rem); overflow-wrap: anywhere; }
.contact-details dl { margin: 0; color: var(--muted); }
.contact-details dd { margin: 8px 0 0; }
.contact-enter p { color: var(--muted); text-align: center; margin-top: 20px; }
@media (prefers-reduced-motion: no-preference) {
  html[data-reveal] .process-timeline::before { transform: scaleX(0); transition: transform 900ms; }
  html[data-reveal] .process-timeline.is-visible::before { transform: scaleX(1); }
  html[data-reveal] .process-timeline.is-visible .process-step { animation: process-step-in 600ms both; animation-delay: calc(var(--step) * 120ms); }
}
@keyframes process-step-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 899.98px) {
  .process-timeline { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .process-timeline::before { top: 20px; bottom: 20px; left: 19px; right: auto; height: auto; width: 2px; transform-origin: top; }
  .process-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 24px; }
  .process-number { margin-bottom: 0; }
  .process-step h3 { margin-top: 8px; }
  .about-list, .contact-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 899.98px) and (prefers-reduced-motion: no-preference) {
  html[data-reveal] .process-timeline::before { transform: scaleY(0); }
  html[data-reveal] .process-timeline.is-visible::before { transform: scaleY(1); }
}
@media (max-width: 599.98px) {
  .requirements-list > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
