.faces{padding-block:clamp(64px,8vw,120px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(28px,5vw,80px);align-items:start}
.faces__copy{display:grid;gap:18px;justify-items:start}
.faces__text{color:var(--muted);max-width:40ch}
.faces__stamp{width:120px;margin-top:20px;animation:stamp-spin 28s linear infinite}
@keyframes stamp-spin{to{transform:rotate(360deg)}}
.faces__photos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}
.faces__photo{aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--placeholder);transform:translateY(0);transition:transform var(--base) var(--ease)}
.faces__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform var(--slow) var(--ease),filter var(--base) linear}
.faces__photo--2{margin-top:44px}.faces__photo--3{margin-top:12px}
.faces__photos:hover .faces__photo{transform:translateY(-6px)}
.faces__photo:hover img{transform:scale(1.05);filter:grayscale(0)}
.faces.is-played .faces__photo{animation:face-bob 900ms var(--ease) 1}
@keyframes face-bob{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:none}}
.faces__names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:22px}
.faces__names li{display:grid;font-size:14px}.faces__names span{color:var(--muted)}
.faces__more a{text-decoration:underline;text-underline-offset:.25em}
.faces__note{width:min(240px,60%);margin:26px 0 0 auto;transform:rotate(-4deg)}
@media (max-width:900px){.faces{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.faces__stamp{animation:none}.faces.is-played .faces__photo{animation:none}}
