/* Photo styling for Quickworks — plain CSS, no build step needed. */
.qw-photo{display:block;width:100%;height:100%;object-fit:cover}

/* Hero with full-bleed photo */
.qw-hero-photo{position:absolute;inset:0;overflow:hidden}
.qw-hero-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:qw-kenburns 28s ease-in-out infinite alternate}
.qw-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.78) 0%,rgba(10,10,11,.62) 45%,rgba(10,10,11,.96) 100%)}
@keyframes qw-kenburns{from{transform:scale(1.05) translate(0,0)}to{transform:scale(1.15) translate(-1.5%,-1%)}}

/* Page header banner (services, about) */
.qw-banner{position:relative;overflow:hidden;isolation:isolate}
.qw-banner>.qw-banner-bg{position:absolute;inset:0;z-index:-1}
.qw-banner>.qw-banner-bg img{width:100%;height:100%;object-fit:cover}
.qw-banner>.qw-banner-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.7),rgba(10,10,11,.92))}

/* Service / work card photos */
.qw-card-photo{position:relative;height:13rem;margin:-2rem -2rem 0;overflow:hidden;background:#131316}
.qw-card-photo img{transition:transform .7s ease}
.qw-card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,10,11,.55))}
.group:hover .qw-card-photo img{transform:scale(1.08)}
.qw-card-photo .qw-num{position:absolute;right:1.25rem;top:1rem;z-index:2;font-weight:700;font-size:2rem;color:rgba(255,255,255,.85);text-shadow:0 2px 12px rgba(0,0,0,.5)}
.qw-badge-float{position:relative;z-index:3;margin-top:-1.75rem}

/* Photo band: mosaic gallery */
.qw-mosaic{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);grid-auto-rows:11rem}
.qw-mosaic figure{position:relative;overflow:hidden;border-radius:1.25rem;margin:0;background:#131316}
.qw-mosaic figure:nth-child(1){grid-row:span 2}
.qw-mosaic figure:nth-child(4){grid-column:span 2}
.qw-mosaic img{transition:transform .8s ease}
.qw-mosaic figure:hover img{transform:scale(1.07)}
.qw-mosaic figure::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(212,160,23,.25)}
@media(min-width:768px){.qw-mosaic{grid-auto-rows:13rem}}

/* Split image with floating stat chip */
.qw-split-photo{position:relative;border-radius:1.5rem;overflow:hidden;min-height:22rem;box-shadow:0 30px 60px -20px rgba(212,160,23,.35)}
.qw-split-photo img{position:absolute;inset:0}
.qw-chip{position:absolute;left:1.25rem;bottom:1.25rem;background:rgba(10,10,11,.85);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(212,160,23,.4);border-radius:1rem;padding:.9rem 1.25rem}
.qw-chip strong{display:block;color:#e6ac25;font-size:1.6rem;line-height:1.1}
.qw-chip span{font-size:.75rem;color:#c7c7cc}

/* CTA with photo */
.qw-cta-photo{position:relative;overflow:hidden;isolation:isolate}
.qw-cta-photo>.qw-cta-bg{position:absolute;inset:0;z-index:-1}
.qw-cta-photo>.qw-cta-bg img{width:100%;height:100%;object-fit:cover}
.qw-cta-photo>.qw-cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(212,160,23,.94),rgba(212,160,23,.82))}

/* Photo strip inside dark "impact" section */
.qw-impact-photo{position:absolute;inset:0;z-index:0}
.qw-impact-photo img{width:100%;height:100%;object-fit:cover}
.qw-impact-photo::after{content:"";position:absolute;inset:0;background:rgba(10,10,11,.9)}

@media (prefers-reduced-motion:reduce){.qw-hero-photo img{animation:none}}
