/* Client index. Scoped to the directory; homepage marquees keep their own design. */
body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap { padding-bottom:40px!important; }
body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content {
 display:grid; grid-template-columns:1.1fr 1fr; column-gap:72px; align-items:start; padding-bottom:40px; border-bottom:1px solid #dfe4eb;
}
body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content .section-subtitle { grid-column:1 / -1; margin-bottom:20px; }
body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading {
 margin:0; max-width:640px; font-size:clamp(40px,3.7vw,56px); line-height:1.1; letter-spacing:-1.3px;
}
body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content>p { max-width:480px; margin:0 0 3px; font-size:16px; line-height:1.75; }
.client-area.client-directory-area { overflow:visible; padding:0; }
.client-directory-area .client-directory-layout { display:grid; grid-template-columns:208px minmax(0,1fr); grid-template-rows:auto 34px auto; column-gap:32px; align-items:start; }
.client-directory-area:not([data-navigation-ready]) .client-directory-layout { grid-template-rows:auto 0 auto; }
.client-directory-area [hidden] { display:none!important; }
.client-directory-area .client-directory-sr-only,
.client-directory-area[data-navigation-ready] .client-directory-heading {
 position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.client-directory-area .client-directory-toolbar { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; margin-bottom:28px; }
.client-directory-area .client-directory-intro-title { margin:0; font-family:var(--font_yantramanv); font-size:28px; font-weight:500; letter-spacing:-.5px; line-height:1.2; color:var(--dark1); }
.client-directory-area .client-directory-search {
 display:flex; align-items:center; gap:12px; width:300px; height:48px; padding:0 16px;
 border:1px solid #e0e4eb; border-radius:6px; background:#f7f8fa; color:#667084; transition:background .2s,border-color .2s;
}
.client-directory-area .client-directory-search:focus-within { background:#fff; outline:2px solid #1351d8; outline-offset:3px; }
.client-directory-area .client-directory-search svg { flex:none; }
.client-directory-area .client-directory-search input {
 display:block; min-width:0; width:100%; padding:0; border:0; border-radius:0; background:transparent;
 font:inherit; font-size:14px; color:#242a34; line-height:1.4; box-shadow:none; outline:0;
}
.client-directory-area .client-directory-search input::placeholder { color:#667084; opacity:1; }
.client-directory-area .client-directory-nav {
 grid-column:1; grid-row:2 / span 2; position:sticky; top:100px;
 display:flex; flex-direction:column; align-items:stretch; gap:4px; scroll-margin-top:100px; padding-right:16px;
}
.client-directory-area .client-directory-nav-title { display:block; padding:0 12px 14px; color:#727b89; font-size:10px; font-weight:600; letter-spacing:1.5px; line-height:1.8; text-transform:uppercase; }
.client-directory-area .client-directory-link {
 display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; min-height:46px;
 border:1px solid transparent; border-radius:5px; background:transparent; color:#515b6c; font:inherit;
 font-size:13px; line-height:1.5; font-weight:500; text-align:left; text-decoration:none; cursor:pointer;
 transition:background .2s,color .2s,border-color .2s;
}
.client-directory-area .client-directory-link:hover { background:#f3f5f9; color:#1351d8; }
.client-directory-area .client-directory-link[aria-pressed="true"] { background:#20242b; color:#fff; border-color:#20242b; }
.client-directory-area .client-directory-count { flex:none; font-size:11px; font-weight:400; font-variant-numeric:tabular-nums; opacity:.75; }
.client-directory-area a:focus-visible,.client-directory-area button:focus-visible { outline:3px solid #1351d8; outline-offset:3px; }
.client-directory-area .client-directory-status { grid-column:2; grid-row:2; margin:0 0 16px; color:#626c7c; font-size:12px; line-height:1.5; font-variant-numeric:tabular-nums; }
.client-directory-area .client-directory-group { margin-top:32px; scroll-margin-top:104px; }
.client-directory-area .client-directory-group:first-child { margin-top:0; }
.client-directory-area .client-directory-heading { display:flex; gap:12px; align-items:center; margin-bottom:20px; }
.client-directory-area .client-directory-index { font-size:12px; color:#1351d8; }
.client-directory-area .client-directory-title { margin:0; font-family:var(--font_yantramanv); font-weight:500; font-size:27px; }
.client-directory-area .client-directory-group-count { margin-left:auto; font-size:12px; color:#626c7c; }
.client-directory-area .client-directory-sectors { grid-column:2; grid-row:3; min-width:0; scroll-margin-top:104px; }
.client-area.client-directory-area .clients.client-directory-grid,
.client-directory-area[data-navigation-ready] .client-directory-sectors {
 display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:0; padding:1px; background:transparent; border-radius:6px; overflow:hidden; transform:none;
}
.client-directory-area[data-navigation-ready] .client-directory-group,
.client-area.client-directory-area[data-navigation-ready] .clients.client-directory-grid { display:contents; }
.client-area.client-directory-area .clients .client-logo {
 position:relative; min-width:0; width:100%; height:184px; margin:0; padding:0; overflow:hidden;
 background:#fff; border:0; border-radius:0; box-shadow:0 0 0 1px #e5e8ed; transition:background .24s;
}
.client-directory-area .client-directory-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; width:100%; height:100%; padding:28px 24px 18px; color:inherit; text-decoration:none; }
.client-directory-area .client-directory-card:focus-visible { outline-offset:-4px; border-radius:0; }
.client-directory-area .client-directory-mark { display:flex; align-items:center; justify-content:center; width:100%; height:76px; flex:none; }
.client-directory-area .client-directory-art { display:flex; align-items:center; justify-content:center; width:100%; height:66px; }
.client-area.client-directory-area .clients .client-logo img { display:block; width:auto; height:auto; max-width:100%; max-height:66px; object-fit:contain; filter:none; transition:filter .3s ease; }
.client-directory-area .client-directory-art.client-directory-art-normalized { position:relative; display:block; width:min(100%,calc(66px * var(--art-ratio))); height:auto; aspect-ratio:var(--art-ratio); overflow:hidden; }
.client-area.client-directory-area .clients .client-logo .client-directory-art-normalized img { position:absolute; display:block; max-width:none; max-height:none; width:var(--art-width); height:var(--art-height); left:var(--art-left); top:var(--art-top); object-fit:fill; }
.client-directory-area .client-directory-caption {
 display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:34px; padding:0; margin:0; border:0;
 background:none; color:#626b7a; font-size:12px; line-height:1.45; text-align:center; transition:color .2s;
}
.client-directory-area .client-directory-caption>span:first-child { overflow-wrap:anywhere; }
.client-directory-area .client-directory-arrow { display:flex; flex:none; color:#7b8492; transition:transform .2s,color .2s; }
.client-area.client-directory-area .clients .client-logo.client-logo-original-white { background:#20242b; }
.client-directory-area .client-logo-original-white .client-directory-caption { color:#d5dbe4; }
.client-directory-area .client-logo-original-white .client-directory-arrow { color:#aeb8c8; }
.client-directory-area .client-directory-name { font-family:var(--font_yantramanv); font-size:25px; font-weight:600; letter-spacing:-.5px; line-height:1.15; text-align:center; color:var(--dark1); }
/* Touch devices keep original colours; no first-tap trap for external links. */
@media(hover:hover) and (pointer:fine) {
 .client-area.client-directory-area .clients .client-logo img { filter:grayscale(1); }
 .client-area.client-directory-area .clients .client-logo:hover img { filter:grayscale(0); }
 .client-area.client-directory-area .clients .client-logo:hover { background:#f7f9fd; }
 .client-area.client-directory-area .clients .client-logo.client-logo-original-white:hover { background:#292f38; }
 .client-directory-area .client-logo:hover .client-directory-caption { color:#232b38; }
 .client-directory-area .client-logo-original-white:hover .client-directory-caption { color:#fff; }
 .client-directory-area a.client-directory-card:hover .client-directory-arrow { color:#1351d8; transform:translate(2px,-2px); }
 .client-directory-area .client-logo-original-white a.client-directory-card:hover .client-directory-arrow { color:#b9ceff; }
}
.client-area.client-directory-area .clients .client-logo:focus-within img { filter:grayscale(0); }
.client-directory-area a.client-directory-card:focus-visible .client-directory-arrow { color:#1351d8; }
.client-directory-area .client-logo-original-white a.client-directory-card:focus-visible .client-directory-arrow { color:#b9ceff; }
.client-directory-area .client-directory-empty { grid-column:2; grid-row:3; padding:64px 20px; background:#f6f8fc; border:1px solid #e5e8ed; border-radius:6px; text-align:center; }
.client-directory-area .client-directory-empty p { margin-bottom:20px; font-size:18px; color:#515b6c; }
.client-directory-area .client-directory-reset { border:0; border-radius:30px; padding:13px 24px; min-height:44px; background:#1351d8; color:#fff; font:inherit; font-size:14px; cursor:pointer; }
@media(min-width:1600px) {
 .client-directory-area .client-directory-layout { grid-template-columns:224px minmax(0,1fr); column-gap:40px; }
 .client-area.client-directory-area .clients .client-logo { height:196px; }
 .client-directory-area .client-directory-card { padding-inline:32px; }
}
@media(max-width:1199px) {
 .client-directory-area .client-directory-layout { grid-template-columns:190px minmax(0,1fr); column-gap:24px; }
 .client-area.client-directory-area .clients.client-directory-grid,
 .client-directory-area[data-navigation-ready] .client-directory-sectors { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content { column-gap:40px; }
}
@media(max-width:1023px) {
 .client-directory-area .client-directory-layout { display:block; }
 .client-directory-area .client-directory-toolbar { margin-bottom:20px; }
 .client-directory-area .client-directory-nav {
  position:static; flex-direction:row; align-items:center; flex-wrap:nowrap; gap:6px; overflow-x:auto; padding:4px 3px 12px;
  margin-inline:-3px; scrollbar-width:thin; scrollbar-color:#b6c5df transparent; overscroll-behavior-x:contain;
 }
 .client-directory-area .client-directory-nav-title { display:none; }
 .client-directory-area .client-directory-nav .client-directory-link { flex:none; white-space:nowrap; }
 .client-directory-area .client-directory-link { border-color:#e4e7ed; min-height:44px; padding:10px 13px; }
 .client-directory-area .client-directory-status { margin:16px 0; }
}
@media(max-width:767px) {
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap { padding-bottom:28px!important; }
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content { display:block; padding-bottom:28px; }
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content .section-subtitle { margin-bottom:16px; }
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading { margin-bottom:20px; font-size:36px; letter-spacing:-.7px; }
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content>p { margin:0; font-size:15px; line-height:1.7; }
 .client-directory-area .client-directory-toolbar { align-items:stretch; flex-direction:column; gap:16px; margin-bottom:12px; }
 .client-directory-area .client-directory-intro-title { font-size:25px; }
 .client-directory-area .client-directory-search { width:100%; }
 .client-directory-area .client-directory-link { font-size:12px; }
 .client-directory-area .client-directory-count { font-size:10px; }
 .client-directory-area .client-directory-card { padding-inline:18px; gap:14px; }
}
@media(max-width:540px) {
 .client-area.client-directory-area .clients.client-directory-grid,
 .client-directory-area[data-navigation-ready] .client-directory-sectors { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .client-area.client-directory-area .clients .client-logo { height:166px; }
 .client-directory-area .client-directory-card { padding:22px 18px 14px; gap:12px; }
 .client-directory-area .client-directory-mark { height:70px; }
 .client-directory-area .client-directory-art { height:60px; }
 .client-directory-area .client-directory-art.client-directory-art-normalized { width:min(100%,calc(60px * var(--art-ratio))); height:auto; }
 .client-area.client-directory-area .clients .client-logo img { max-height:60px; }
 .client-area.client-directory-area .clients .client-logo .client-directory-art-normalized img { max-height:none; }
 .client-directory-area .client-directory-caption { font-size:11px; min-height:32px; }
 .client-directory-area .client-directory-name { font-size:23px; }
}
@media(max-width:360px) {
 body.d4y-page-clients.d4y-shared-intro .hero-section-wrap .hero-section-content-wrap .hero-section-content h1.synck-original-hero-heading { font-size:32px; }
 .client-directory-area .client-directory-card { padding-inline:12px; }
 .client-directory-area .client-directory-link { padding-inline:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .client-directory-area .client-logo,.client-directory-area .client-directory-link,.client-directory-area .client-directory-search,
 .client-area.client-directory-area .clients .client-logo img,.client-directory-area .client-directory-caption,.client-directory-area .client-directory-arrow { transition:none; }
 .client-directory-area a.client-directory-card:hover .client-directory-arrow { transform:none; }
}
