/* "The ARC platform": what is inside, on the home page and What We Do. Self-contained (tokens set on .pf) so it looks the same on every page that carries it. */
.pf {
  --pf-ink: #FAFAFB; --pf-ink-2: #F4F2FB; --pf-rule: rgb(255 255 255 / 0.14); --pf-surface: rgb(19 19 22 / 0.88);
  --pf-accent: #6F00FF; --pf-glow: #9A5CFF; --pf-mint: #3EE6B0; --pf-mint-text: #BFFBE6;
  --pf-display: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif; --pf-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  position: relative; padding-block: clamp(56px, 8vw, 112px);
}
.pf-wrap { max-width: min(1680px, 100%); margin: 0 auto; padding-inline: clamp(24px, 4vw, 64px); }
.pf-eyebrow { display: block; margin-bottom: 12px; font: 600 0.8125rem var(--pf-display); letter-spacing: .14em; text-transform: uppercase; color: var(--pf-mint-text); }
.pf h2 { margin: 0; max-width: 24ch; font: 600 clamp(2rem, 2.5vw + 1rem, 3.25rem)/1.1 var(--pf-display); letter-spacing: -0.02em; color: var(--pf-ink); text-wrap: balance; }
.pf-lead { margin: 16px 0 0; max-width: 62ch; font: 400 clamp(1.0625rem, .35vw + 1rem, 1.25rem)/1.5 var(--pf-body); color: var(--pf-ink-2); }
.pf-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: clamp(28px, 4vw, 48px); }
.pf-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 20px; background: var(--pf-surface); border: 1px solid var(--pf-rule); border-radius: 20px; transition: border-color .25s ease, transform .25s cubic-bezier(0.16, 1, 0.3, 1); }
.pf-card:hover { border-color: var(--pf-glow); transform: translate3d(0, -3px, 0); }
.pf-ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, rgb(111 0 255 / 0.28), rgb(62 230 176 / 0.2)); }
.pf-ic svg { width: 22px; height: 22px; fill: none; stroke: var(--pf-ink); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pf-card h3 { margin: 4px 0 0; font: 600 1.25rem/1.2 var(--pf-display); letter-spacing: -0.01em; color: var(--pf-ink); }
.pf-card p { margin: 0; font: 400 0.9375rem/1.55 var(--pf-body); color: var(--pf-ink-2); }
.pf-tag { margin-top: auto; padding-top: 8px; font: 500 0.8125rem var(--pf-body); color: var(--pf-mint-text); }
.pf-foot { margin: clamp(24px, 3vw, 36px) 0 0; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; font: 400 0.9375rem var(--pf-body); color: var(--pf-ink-2); }
.pf-foot a { color: var(--pf-ink); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; text-decoration-color: var(--pf-glow); }
@media (max-width: 1100px) { .pf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pf-grid { grid-template-columns: minmax(0, 1fr); } .pf-card { padding: 20px; } }
@media (prefers-reduced-motion: reduce) { .pf-card { transition: none; } .pf-card:hover { transform: none; } }
