/* ==========================================================================
   Footer. Figma: category pills (Roboto 500 16 #49454f, 1px #cac4d0, radius 100), portrait 152x114,
   blurb Quicksand 300 20 (5% tracking), inquiry Quicksand 500 15, info line Quicksand 500 15 (31% tracking).
   ========================================================================== */
.ps-footer {
	box-sizing: border-box;
	padding: 56px 0 24px;
	text-align: center;
	font-family: var(--ps-font-brand);
	color: var(--ps-text);
}
.ps-footer a { color: inherit; }
/* footer content lives in the same Astra-derived container as the page content */
.ps-footer__categories, .ps-footer__intro, .ps-footer__info { box-sizing: border-box; width: 100%; max-width: var(--ps-container); margin-inline: auto; padding-inline: var(--ps-gutter); }

.ps-footer__categories { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 26px; margin-bottom: 42px; }
.ps-pill {
	position: relative; display: inline-flex; align-items: center; gap: 8px;
	min-height: 56px; padding: 0 24px; box-sizing: border-box;
	border: 1px solid var(--ps-line); border-radius: 100px;
	font-family: 'Roboto', var(--ps-font-body); font-weight: 500; font-size: 16px; line-height: 24px; letter-spacing: 0.15px;
	color: var(--ps-pill-text); text-decoration: none; text-transform: uppercase;
	overflow: hidden;
}
.ps-pill::before { content: ""; position: absolute; inset: 0; background: var(--ps-pill-text); opacity: 0; transition: opacity 0.2s cubic-bezier(0, 0, 0.58, 1); }
.ps-pill:hover::before, .ps-pill:focus-visible::before { opacity: 0.08; }
.ps-pill > * { position: relative; }
.ps-pill .ps-icon { width: 24px; height: 24px; }

.ps-footer__intro { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.ps-footer__portrait img { display: block; width: 152px; max-width: 100%; height: auto; margin-inline: auto; }
.ps-footer__blurb { max-width: 610px; margin: 0; font-weight: 300; font-size: clamp(17px, 4.6vw, 20px); letter-spacing: 0.05em; line-height: 1.4; }
.ps-footer__inquiry { margin: 0; font-weight: 500; font-size: 15px; letter-spacing: 0.02em; line-height: 1.3; }
.ps-footer__icons { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; }
.ps-footer__icons a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 20px; color: #1e1e1e; }
.ps-footer__icons .ps-icon--linkedin { font-size: 23px; color: #383838; }

.ps-footer__info { margin-top: 56px; margin-bottom: 0; font-weight: 500; font-size: 15px; letter-spacing: 0.31em; line-height: 1.4; }
.ps-footer--info { padding-top: 96px; }
@media (max-width: 480px) { .ps-footer__info { letter-spacing: 0.12em; } }
