/* v4 inner pages: v2 photos and sprite icons, in the site palette from styles.css. */
.ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.industry-icon .ico{width:24px;height:24px}
.industry-icon{transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s,color .35s}
:is(.info-panel,.ap-card,.about-card,.directory-card,.engage,.ap-step):hover .industry-icon{background:var(--blue);color:#fff;transform:rotate(-6deg)}
.ai-focus .ai-card .industry-icon{margin:0 auto 12px;background:#22d3ee18;color:var(--cyan)}
:is(.info-panel,.ap-card,.about-card,.directory-card,.engage,.ap-step,.ai-card){transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
:is(.info-panel,.ap-card,.about-card,.directory-card,.engage){position:relative}
:is(.info-panel,.ap-card,.about-card,.directory-card,.engage):hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(11,23,48,.3)}

/* Hero photo under the page intro */
.sp-hero-photo{margin:40px 0 0;border-radius:22px;overflow:hidden;aspect-ratio:21/8;width:100%;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 80px -30px rgba(0,0,0,.75);background:var(--navy-800)}
.sp-hero-photo img{width:100%;height:100%;object-fit:cover;animation:sp-zoom 24s ease-in-out infinite alternate}

/* Services directory: photo bleeds to the card edges */
main .directory-card{padding:26px;overflow:hidden}
main .directory-card .sp-card-photo{margin:-26px -26px 22px;aspect-ratio:2/1;overflow:hidden;background:var(--navy-800)}
.sp-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.directory-card:hover .sp-card-photo img{transform:scale(1.05)}
main .directory-card .sp-card-photo+.industry-icon{margin-top:-50px;position:relative;border:4px solid #fff;width:56px;height:56px}
main .directory-card.featured .sp-card-photo+.industry-icon{border-color:var(--navy-900, #0a1833)}

/* Side photos (About, Approach) */
.about-split,.sp-split{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.sp-split{grid-template-columns:1.1fr 1fr;align-items:center}
.sp-photo{margin:28px 0 0;border-radius:20px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 26px 50px -24px rgba(11,23,48,.35)}
.sp-split .sp-photo{margin:0}
.sp-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.sp-photo:hover img{transform:scale(1.04)}

@keyframes sp-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (max-width:900px){.about-split,.sp-split{grid-template-columns:1fr;gap:28px}}
@media (max-width:720px){
  .sp-hero-photo{aspect-ratio:16/10;margin-top:28px;border-radius:16px}
  main .directory-card{padding:20px}
  main .directory-card .sp-card-photo{margin:-20px -20px 18px}
}
@media (prefers-reduced-motion:reduce){.sp-hero-photo img{animation:none}}
