/* /about: a text column and a contact column. */
.ab-hero { padding-bottom: 40px; background:
  radial-gradient(900px 420px at 85% 30%, rgba(245,197,24,.10), transparent 70%); }
.ab-hero h1 { font-size: clamp(36px, 5vw, 64px); font-weight: 900; color: #fff; margin-bottom: 18px; }
.ab-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: start; padding-bottom: 90px; }
.ab-text h2 { font: 800 28px/1.2 var(--head); color: #fff; margin: 34px 0 14px; }
.ab-text h2:first-child { margin-top: 0; }
.ab-text p, .ab-text li { font-size: 17.5px; line-height: 1.7; color: var(--text); }
.ab-text ul:not(.ticks) { padding-left: 22px; margin: 0 0 16px; }
.ab-text a { color: var(--yellow); }
.ab-contact { position: sticky; top: 96px; display: grid; gap: 16px; }
.ab-contact h2 { font: 800 24px/1.2 var(--head); color: #fff; margin: 0; }
.ab-card { background: var(--bg-2); border: 1px solid var(--line); border-radius: 14px; padding: 20px; }
.ab-card h3 { font: 700 18px/1.2 var(--head); color: #fff; margin: 0 0 8px; }
.ab-card p { margin: 0 0 14px; color: var(--text-2); font-size: 15px; }
.ab-card .btn { text-transform: none; }
.ab-mail { color: var(--yellow); font-weight: 700; font-size: 16px; }
.ab-legal { color: var(--muted); font-size: 14px; margin: 4px 0 0; }
.ab-legal a { color: var(--text-2); }
@media (max-width: 960px) {
  .ab-body { grid-template-columns: 1fr; }
  .ab-contact { position: static; }
}
