/* EMAIS field-work gallery. Full-size photographs keep their original framing. */
.real-work .eyebrow.red{color:#ff9c9f}
.gallery-intro{display:block;margin-top:10px;color:#fff;font-size:.875rem}
.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.project-photo{min-width:0;margin:0}
.project-photo[hidden],.gallery-more[hidden],.viewer-message[hidden],.viewer-image[hidden]{display:none}
.project-photo-link{display:block;position:relative;overflow:hidden;border-radius:14px;background:#313a3f;aspect-ratio:3/4;isolation:isolate}
.project-photo-link img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform .3s ease}
.project-photo-link:hover img{transform:scale(1.035)}
.project-photo-link:focus-visible,.gallery-more:focus-visible,.viewer-button:focus-visible{outline:3px solid #ffacae;outline-offset:5px}
.photo-expand{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#101619b8;color:#fff;pointer-events:none}
.photo-expand svg{width:18px;height:18px}
.project-photo figcaption{padding:12px 2px 0;color:#edf1f3;font-size:.9375rem;font-weight:600;line-height:1.5}
.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 32px}
.gallery-count{margin:0;color:#c3cdd2;font-size:.875rem}
.gallery-more{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 19px;border:1px solid #69767e;border-radius:9px;background:transparent;color:#fff;font-size:.875rem;font-weight:700;cursor:pointer}
.gallery-more:hover{background:#344047;border-color:#9facb4}
.gallery-more svg{width:18px;height:18px}
.gallery-is-open,.gallery-is-open body{overflow:hidden}
.work-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#12191bf5;color:#fff;overflow:auto;overscroll-behavior:contain}
.work-viewer:not([open]){display:none}
.work-viewer::backdrop{background:#101619ed}
.viewer-shell{width:min(1400px,100%);height:100%;min-height:360px;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:20px 30px 24px;gap:16px}
.viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.viewer-header h2{font-size:1rem;line-height:1.5;letter-spacing:0;margin:0}
.viewer-button{min-width:48px;min-height:48px;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #748087;border-radius:50%;background:#263037;color:#fff;cursor:pointer;flex:none}
.viewer-button:hover{background:#3d494f}
.viewer-close{border-radius:9px;font-size:.875rem;padding-inline:14px}
.viewer-stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0;margin:0;touch-action:pan-y pinch-zoom}
.viewer-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}
.viewer-stage[data-loading=true] .viewer-image{opacity:0}
.viewer-message{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;margin:0;font-size:1rem;color:#dce4e8}
.viewer-message p{margin:0}
.viewer-message a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.viewer-footer{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center;width:min(740px,100%);margin:auto}
.viewer-caption{text-align:center;min-width:0}
.viewer-caption strong{display:block;font-size:1rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.viewer-caption p{margin:4px 0 0;font-size:.875rem;line-height:1.5;color:#c1cdd3}
@media(max-width:1000px){.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .project-photo-link{border-radius:11px}
  .project-photo figcaption{padding-top:10px;font-size:.875rem}
  .photo-expand{right:8px;bottom:8px;width:32px;height:32px}
  .gallery-footer{flex-wrap:wrap;gap:14px;margin-top:24px}
  .viewer-shell{padding:14px 14px max(18px,env(safe-area-inset-bottom));gap:14px}
  .viewer-header h2{font-size:.9375rem}
  .viewer-close{padding:10px;min-width:46px;min-height:46px}
  .viewer-close span{display:none}
  .viewer-footer{gap:12px}
  .viewer-caption strong{font-size:.875rem}
}
@media(max-width:340px){.project-gallery{grid-template-columns:1fr}}
@media(max-height:480px) and (orientation:landscape){.viewer-shell{min-height:260px;gap:8px;padding:8px 20px}.viewer-button{min-height:40px;min-width:40px;padding:7px}.viewer-header h2,.viewer-caption strong{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.project-photo-link img{transition:none}}

/* Real service videos, loaded only when the visitor chooses to play. */
.work-videos{margin-bottom:48px;padding-bottom:40px;border-bottom:1px solid #465157}
.work-media-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.work-media-heading h3{margin:0;font-size:1.4rem;line-height:1.4;letter-spacing:-.025em;color:#fff}
.work-instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:13px 20px;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 55%,#fcb045 100%);color:#fff;font-size:1rem;font-weight:800;line-height:1.4;box-shadow:0 10px 28px rgba(253,29,29,.28);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.work-instagram-link svg{width:22px;height:22px}
.work-instagram-link:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:0 14px 34px rgba(253,29,29,.38)}
.work-instagram-link:focus-visible,.work-video:focus-visible{outline:3px solid #ffacae;outline-offset:4px}
.work-video-grid{display:flex;align-items:stretch;justify-content:center;gap:22px;max-width:none;margin-inline:0}
.work-video-card{flex:0 1 calc((100% - 44px)/3);min-width:0;overflow:hidden;border:1px solid #465157;border-radius:16px;background:#293238}
.work-video{display:block;width:100%;height:auto;max-height:520px;aspect-ratio:9/16;object-fit:contain;background:#101619}
.work-video-copy{padding:22px 24px 25px}
.work-video-duration{display:block;color:#ffb3b6;font-size:.875rem;font-weight:700;line-height:1.5;margin-bottom:8px}
.work-video-copy h4{margin:0 0 9px;font-size:1.125rem;line-height:1.4;letter-spacing:-.02em;color:#fff}
.work-video-copy p{margin:0;color:#c3cdd2;font-size:1rem;line-height:1.65}
.work-video-error[hidden]{display:none}
.work-video-copy .work-video-error{margin-top:14px;color:#ffd4d6}
.work-video-error a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
  .work-videos{margin-bottom:32px;padding-bottom:32px}
  .work-media-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}
  .work-media-heading h3{font-size:1.25rem}
  .work-video{max-height:480px}
  .work-video-copy{padding:20px}
}

@media(max-width:900px){
  .work-video-grid{justify-content:flex-start;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:2px 2px 14px}
  .work-video-card{flex:0 0 min(80vw,320px);scroll-snap-align:start}
}
