/* Hub pages (services, seo, advertisement, industries, locations): image cards */
.hc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.hc-grid.hc-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hc-card{--c:#2563eb;position:relative;display:flex;flex-direction:column;min-width:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e6ebf2;box-shadow:0 1px 2px rgba(15,23,42,.04),0 14px 32px -28px rgba(15,23,42,.55);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hc-grid>.hc-card:nth-child(6n+2){--c:#7c3aed}
.hc-grid>.hc-card:nth-child(6n+3){--c:#0891b2}
.hc-grid>.hc-card:nth-child(6n+4){--c:#d97706}
.hc-grid>.hc-card:nth-child(6n+5){--c:#e11d48}
.hc-grid>.hc-card:nth-child(6n){--c:#059669}
.hc-card:hover,.hc-card:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--c) 35%,#e6ebf2);box-shadow:0 24px 44px -30px color-mix(in srgb,var(--c) 70%,transparent)}
.hc-media{position:relative;display:block;aspect-ratio:16/8.5;overflow:hidden;background:#0b1d3e;border-bottom:3px solid var(--c)}
.hc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 50%;transition:transform .6s ease}
.hc-card:hover .hc-media img{transform:scale(1.06)}
.hc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,34,.35) 0%,rgba(6,14,34,0) 34%,rgba(6,14,34,.88) 100%)}
.hc-name{position:absolute;left:16px;right:16px;bottom:13px;z-index:1;font:800 17px/1.25 'Segoe UI',system-ui,sans-serif;letter-spacing:-.2px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hc-badge{position:absolute;top:12px;right:12px;z-index:1;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(6px);font:800 10.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.8px;text-transform:uppercase;color:#fff}
.hc-body{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:1;padding:14px 16px 16px}
.hc-desc{display:block;font:400 13.4px/1.6 'Segoe UI',system-ui,sans-serif;color:#475569}
.hc-sub{display:block;margin-top:6px;font:500 12.3px/1.5 'Segoe UI',system-ui,sans-serif;color:#94a3b8}
.hc-go{flex:none;display:grid;place-items:center;width:28px;height:28px;margin-top:-2px;border-radius:50%;background:color-mix(in srgb,var(--c) 11%,#fff);color:var(--c);font:700 14px/1 'Segoe UI',system-ui,sans-serif;transition:background .2s,color .2s,transform .2s}
.hc-card:hover .hc-go{background:var(--c);color:#fff;transform:translateX(2px)}
/* case-study proof cards */
.hp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hp-card{position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #e6ebf2;box-shadow:0 1px 2px rgba(15,23,42,.04),0 16px 36px -30px rgba(15,23,42,.5);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hp-card:hover,.hp-card:focus-visible{transform:translateY(-5px);border-color:color-mix(in srgb,var(--c) 35%,#e6ebf2);box-shadow:0 26px 50px -32px color-mix(in srgb,var(--c) 70%,transparent)}
.hp-media{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:200px;padding:16px 20px 18px;overflow:hidden;background:#0b1d3e;border-bottom:3px solid var(--c)}
.hp-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.hp-card:hover .hp-media img{transform:scale(1.05)}
.hp-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,14,34,.5) 0%,rgba(6,14,34,.08) 38%,rgba(6,14,34,.88) 100%)}
.hp-media>:not(img){position:relative;z-index:2}
.hp-tag{align-self:flex-start;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px);font:800 10.5px/1 ui-monospace,Menlo,monospace;letter-spacing:1px;text-transform:uppercase;color:#fff}
.hp-num b{display:block;font:900 clamp(40px,3.8vw,50px)/1 'Segoe UI',system-ui,sans-serif;letter-spacing:-2px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.hp-num small{display:block;margin-top:6px;font:600 13.5px/1.4 'Segoe UI',system-ui,sans-serif;color:rgba(255,255,255,.78)}
.hp-num small strong{color:#fff}
.hp-body{display:flex;flex-direction:column;flex:1;gap:12px;padding:16px 20px 18px}
.hp-body p{font:400 14px/1.6 'Segoe UI',system-ui,sans-serif;color:#475569;margin:0}
.hp-go{margin-top:auto;font:800 13px/1 'Segoe UI',system-ui,sans-serif;color:var(--c);transition:transform .2s}
.hp-card:hover .hp-go{transform:translateX(3px)}
@media(max-width:1060px){.hc-grid.hc-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.hp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hp-grid{grid-template-columns:1fr}}
@media(max-width:560px){
  .hc-grid,.hc-grid.hc-4{grid-template-columns:1fr 1fr;gap:12px}
  .hc-media{aspect-ratio:16/11}
  .hc-name{left:11px;right:11px;bottom:9px;font-size:14px}
  .hc-badge{top:8px;right:8px;padding:4px 7px;font-size:9.5px}
  .hc-body{padding:10px 11px 12px}
  .hc-desc{font-size:12.4px;line-height:1.5}
  .hc-sub,.hc-go{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hc-card,.hp-card,.hc-media img,.hp-media img,.hc-go,.hp-go{transition:none}
  .hc-card:hover,.hp-card:hover,.hc-card:hover .hc-media img,.hp-card:hover .hp-media img,.hc-card:hover .hc-go,.hp-card:hover .hp-go{transform:none}
}
