/* Full agency profile, using the ranking's existing visual system. */
.agency-profile .site-footer { padding-bottom:32px }
.profile-hero { background:var(--dark);color:var(--dark-text);padding:36px 0 72px }
.profile-back { display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:14px;padding:12px 0 }
.profile-hero>.container>.profile-back { color:#c9d2c3;margin-bottom:36px }
.profile-hero-grid { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:80px;align-items:center }
.profile-hero .eyebrow { color:var(--accent) }
.profile-hero h1 { font-size:clamp(44px,6vw,80px);line-height:1.05;margin:16px 0 20px }
.profile-type { font-size:22px;color:#d7dece }
.profile-lead { max-width:720px;color:#c9d2c3;font-size:17px }
.profile-actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:28px }
.profile-identity { display:grid;gap:24px }
.profile-logo { background:var(--accent);border-radius:16px;padding:28px;display:flex;justify-content:center }
.profile-logo img { width:100%;height:104px;object-fit:contain }
.profile-score { display:grid;gap:4px;border-top:1px solid var(--border-dark);padding-top:20px;color:#c9d2c3 }
.profile-score strong { font:800 56px/1.1 var(--font-head);color:var(--dark-text) }
.profile-score strong span { font-size:26px;color:#bbc7b3 }
.profile-contents { display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--border) }
.profile-contents a { font-weight:600;font-size:14px;padding:8px 0;text-decoration:underline;text-underline-offset:5px }
.profile-section { padding-top:72px;padding-bottom:72px }
.profile-section-head { margin-bottom:32px;max-width:760px }
.profile-section h2,.profile-end h2 { font-size:clamp(28px,3.3vw,42px);line-height:1.15 }
.profile-section-head p { color:var(--text-secondary);margin:0 }
.profile-tint { background:var(--bg-alt) }
.office-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px }
.office-list li { border-top:2px solid var(--accent);padding-top:20px;font:700 26px/1.3 var(--font-head) }
.client-logos { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px }
.client-logos li { display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:28px 12px 20px;background:var(--card-bg);border-radius:12px }
.client-logos img { width:100%;max-width:180px;height:64px;object-fit:contain }
.client-logos li>span:last-child { font-size:13px;color:var(--text-secondary) }
.client-name { height:64px;display:flex;align-items:center;font:800 27px var(--font-head) }
.case-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px }
.case-study { min-width:0;display:flex;flex-direction:column }
.case-study>img { width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:var(--bg-alt) }
.case-content { padding:24px 0 0;display:flex;flex-direction:column;flex:1 }
.case-year { font-size:13px;color:var(--text-secondary);margin-bottom:8px }
.case-study h3 { font-size:28px;margin-bottom:8px }
.case-subtitle { color:var(--text-secondary);min-height:52px;margin-bottom:20px }
.case-study dl { margin:0 0 24px }
.case-study dt { font-weight:700;margin:16px 0 4px }
.case-study dt:first-child { margin-top:0 }
.case-study dd { margin:0;color:var(--text-secondary) }
.case-study .source-link { margin-top:auto;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center }
.profile-note { margin:32px 0 0;color:var(--text-secondary);font-size:13px }
.service-groups { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px }
.service-group { border-top:1px solid var(--border);padding-top:24px }
.service-group h3 { font-size:20px;line-height:1.35 }
.service-group li { padding:4px 0;color:var(--text-secondary) }
.profile-fit { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px }
.profile-fit h3 { font-size:22px }
.profile-fit p,.profile-format p { color:var(--text-secondary) }
.profile-format { border-top:1px solid var(--border);padding-top:32px;margin-top:24px;max-width:760px }
.profile-end { padding:64px 0;background:var(--dark);color:var(--dark-text) }
.profile-end h2 { max-width:750px }
.profile-end p { color:#c9d2c3;max-width:680px }
.profile-end .btn { margin:12px 24px 0 0 }
@media(max-width:900px) {
 .profile-hero-grid { gap:36px;grid-template-columns:minmax(0,1fr) 200px }
 .client-logos { grid-template-columns:repeat(3,minmax(0,1fr)) }
 .service-groups { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:600px) {
 .profile-hero { padding:20px 0 40px }
 .profile-hero>.container>.profile-back { margin-bottom:20px }
 .profile-hero-grid { grid-template-columns:1fr;gap:32px }
 .profile-type { font-size:20px }
 .profile-lead { font-size:16px }
 .profile-identity { grid-template-columns:1fr 1fr;gap:20px;align-items:center }
 .profile-logo { padding:16px }
 .profile-logo img { height:72px }
 .profile-score { border:0;padding:0;font-size:13px }
 .profile-score strong { font-size:42px }
 .profile-score strong span { font-size:20px }
 .profile-contents { gap:4px 20px }
 .profile-section { padding-top:48px;padding-bottom:48px }
 .office-list { grid-template-columns:1fr;gap:20px }
 .office-list li { font-size:22px;padding-top:12px }
 .client-logos { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px }
 .case-grid,.service-groups,.profile-fit { grid-template-columns:1fr }
 .case-grid { gap:40px }
 .case-subtitle { min-height:0 }
 .case-study h3 { font-size:25px }
 .case-content { padding-top:20px }
 .service-groups { gap:24px }
 .profile-fit { gap:20px }
 .profile-end { padding:48px 0 }
}

.profile-hero .btn-ghost { color:var(--dark-text);border-color:#83907a }
.client-logos .client-label { font-weight:600;font-size:14px;color:var(--text) }

.catalogue-directions-title { margin-top:48px }
