/* Profiles & listings: clients, credentials, team members, locations,
   founder (/tajul), reviews and career. Built on the main.css card vocabulary. */

.pf-hero { padding-block: clamp(56px, 7vw, 104px); }
.pf-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 5vw, 72px); align-items: center; }
.pf-hero__copy { display: flex; flex-direction: column; gap: 24px; }
.pf-hero .lead { color: var(--ink-2); }
.bg-navy.pf-hero .lead { color: var(--on-navy-2); }
.pf-hero__media { position: relative; aspect-ratio: 4 / 5; max-width: 460px; width: 100%; justify-self: end; }
.pf-hero__media::before { content: ''; position: absolute; inset: 6% 0 0 6%; background: var(--orange); border-radius: 32px; }
.pf-hero__media img { position: absolute; inset: 0 6% 6% 0; width: 94%; height: 94%; object-fit: cover; border-radius: 32px; background: var(--pink); }
.pf-logo { width: clamp(140px, 18vw, 220px); aspect-ratio: 1; background: var(--paper); border: 2px solid var(--navy); border-radius: 28px; display: flex; align-items: center; justify-content: center; padding: 24px; justify-self: end; }
.pf-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
@media (max-width: 900px) { .pf-hero__media, .pf-logo { justify-self: start; } }

.pf-facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; }
.pf-facts > div { background: var(--paper); border: 2px solid var(--navy); border-radius: 20px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.pf-facts dt { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); }
.pf-facts dd { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.3; }
.bg-navy .pf-facts > div { background: transparent; border-color: var(--ink-3); }
.bg-navy .pf-facts dt { color: var(--on-navy-muted); }

.pf-prose { max-width: 820px; }
.pf-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(32px, 5vw, 72px); align-items: start; }
.pf-split > .section-head__title { position: sticky; top: calc(var(--header-h) + 24px); }

.pf-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.pf-grid > li { display: flex; }
.pf-card { flex: 1; background: var(--paper); color: var(--navy); border: 2px solid var(--navy); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 12px; min-height: 200px; }
.pf-card--cream { background: var(--cream); }
a.pf-card:hover { background: var(--yellow); color: var(--navy); }
.pf-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--orange); }
.pf-card__top span[aria-hidden] { color: var(--navy); font-size: 16px; letter-spacing: 0; }
.pf-card h2, .pf-card h3 { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: clamp(20px, 1.76vw, 25px); letter-spacing: -0.02em; line-height: 1.08; }
.pf-card p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.pf-card__foot { margin-top: auto; font-weight: 700; font-size: 15px; }
.pf-card__logo { height: 72px; display: flex; align-items: center; }
.pf-card__logo img { max-height: 64px; max-width: 160px; object-fit: contain; }

.pf-numbers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; counter-reset: pf; }
.pf-numbers > li { border: 2px solid var(--navy); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 10px; background: var(--paper); }
.bg-navy .pf-numbers > li { background: transparent; border-color: var(--ink-3); }
.pf-numbers .card__index { font-size: 13px; }
.pf-numbers h3 { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: 19px; letter-spacing: -0.015em; line-height: 1.15; }
.pf-numbers p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.bg-navy .pf-numbers p { color: var(--on-navy); }

.pf-ticks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pf-ticks li { background: var(--paper); border: 2px solid var(--navy); border-radius: 999px; padding: 8px 14px; font-weight: 600; font-size: 15px; }
.pf-ticks li::before { content: '✓ '; color: var(--orange); font-weight: 700; }

.pf-office { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 16px; align-items: stretch; }
.pf-office__card { background: var(--navy); color: var(--white); border-radius: 28px; padding: clamp(28px, 3vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.pf-office__card a { color: var(--white); }
.pf-office__card a:hover { color: var(--yellow); }
.pf-office__card address { font-style: normal; font-size: 16px; line-height: 1.5; }
.pf-office__card .mono { color: var(--yellow); }
.pf-office__map { border: 2px solid var(--navy); border-radius: 28px; overflow: hidden; min-height: 300px; background: var(--lilac); }
.pf-office__map iframe { width: 100%; height: 100%; min-height: 300px; border: 0; display: block; }

.pf-quote-feature { margin: 0; background: var(--navy); color: var(--white); border-radius: 28px; padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; gap: 28px; }
.pf-quote-feature blockquote { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: clamp(19px, 1.9vw, 26px); line-height: 1.2; letter-spacing: -0.02em; }
.pf-quote-feature figcaption { display: flex; align-items: center; gap: 14px; }
.pf-quote-feature figcaption b { font-size: 16px; display: block; }
.pf-quote-feature figcaption span { color: var(--on-navy-muted); }
.pf-stars { color: var(--yellow); letter-spacing: 2px; }

.pf-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); border-top: 2px solid var(--navy); }
.pf-steps li { padding: 24px 24px 0 0; display: flex; flex-direction: column; gap: 10px; }
.pf-steps .process__num { font-size: 34px; }
.pf-steps h3 { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: 19px; }
.pf-steps p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-2); }

.pf-note { background: var(--yellow); border-radius: 24px; padding: 24px 28px; display: flex; flex-direction: column; gap: 10px; }
.pf-note h3 { margin: 0; font-family: var(--font-head); font-weight: 700; font-size: 19px; }
.pf-note ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; }

.pf-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-filter a { border: 2px solid var(--navy); border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 14px; background: var(--paper); }
.pf-filter a[aria-current] { background: var(--navy); color: var(--white); }
.pf-stack-sm { gap: 14px; }
.pf-logo--wide { width: clamp(220px, 28vw, 380px); aspect-ratio: 4 / 3; }
.card__title a { color: inherit; }
.card__title a:hover { color: var(--yellow); }
