.zu-hero { padding: 56px 24px 24px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.zu-hero-copy { flex: 1 1 480px; }
.zu-hero h1 { font-size: 92px; line-height: 0.86; }
.zu-hero p.lead { font-size: 22px; line-height: 1.4; font-weight: 600; margin: 18px 0 0; max-width: 560px; }
.zu-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

.zu-steps { background: var(--white); border-top: var(--border-thin); border-bottom: var(--border-thin); padding: 64px 0; }
.zu-steps h2 { font-size: 56px; line-height: 0.88; margin: 0 0 28px; }
.zu-step-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 2px; background: var(--line); }
.zu-step { background: var(--white); padding: 24px; }
.zu-step .n { font-family: var(--font-display); font-size: 64px; color: var(--signal); line-height: 0.8; }
.zu-step h3 { font-size: 26px; font-family: var(--font-body); font-weight: 800; text-transform: none; margin: 10px 0 8px; }
.zu-step p { font-size: 17px; line-height: 1.5; margin: 0; }

.zu-resources { padding: 64px 24px; }
.zu-resources h2 { font-size: 56px; line-height: 0.88; margin: 0 0 24px; }
.zu-resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.zu-resource-card { border: var(--border-thin); background: var(--white); padding: 20px; text-decoration: none; color: var(--ink); display: block; }
.zu-resource-card b { font-size: 20px; display: block; margin-bottom: 6px; }
.zu-resource-card span { font-size: 16px; color: var(--muted); }


@media (max-width: 860px) {
  .zu-hero h1 { font-size: 48px; }
  .zu-steps h2, .zu-resources h2 { font-size: 36px; }
}
