.work-grid article{cursor:pointer}.work-detail-open{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;border-top:1px solid #ffffff35;color:#e0f4fa;margin-top:14px;padding:14px 0 5px;font:inherit;font-size:12px;cursor:pointer;text-align:left}.work-detail-open span{font-size:22px}.work-detail-open:focus-visible{outline:2px solid #b3e3f6;outline-offset:3px}.work-modal-open{overflow:hidden}.work-dialog{width:min(1000px,92vw);max-height:88svh;padding:0;border:0;background:#f1f5f7;color:#17303e;box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain}.work-dialog::backdrop{background:#061e2bd9;backdrop-filter:blur(10px)}.work-dialog-close{position:sticky;top:15px;display:block;margin:15px 15px 15px auto;z-index:2;border:1px solid #adc3cd;background:#ffffffed;color:#17303e;padding:12px 20px;border-radius:30px;cursor:pointer;font:inherit;font-size:13px}.work-dialog-image{display:block;width:100%;max-height:52svh;object-fit:cover}.work-dialog-image.is-design{object-fit:contain;background:#e3ebe7}.work-dialog-copy{padding:35px 6% 50px}.work-dialog-category{font:11px Arial,sans-serif;letter-spacing:.15em;color:#4e7b8e}.work-dialog h2{font-size:clamp(24px,4vw,42px);line-height:1.4;margin:18px 0 25px;overflow-wrap:anywhere}.work-dialog-description{line-height:2;font-size:15px;max-width:740px}.work-dialog h3{font-size:14px;margin-top:35px}.work-dialog-tasks{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none}.work-dialog-tasks li{border:1px solid #bacdd6;padding:10px 16px;font-size:13px}.work-dialog-contact{display:inline-block;margin-top:25px;padding:19px 23px;background:#234855;color:white;text-decoration:none;font-size:13px}.work-dialog[open]{animation:detail-in .3s ease-out}@keyframes detail-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(min-width:721px) and (max-height:850px){.work-detail-open{margin-top:6px;padding-top:7px}}@media(prefers-reduced-motion:reduce){.work-dialog[open]{animation:none}}
.work-gallery{margin-top:50px;padding-top:15px;border-top:1px solid #b6cbd5}.gallery-help{font-size:13px;line-height:1.9;color:#536d7b}.gallery-stage{background:#e0e8ec;margin-top:22px}.gallery-stage img{display:block;width:100%;height:440px;max-height:55svh;object-fit:contain;background:#e0e8ec}.gallery-caption{font-size:12px;overflow-wrap:anywhere;line-height:1.8}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px}.gallery-controls button{border:1px solid #a6bcc7;color:#234855;background:transparent;border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-original{display:inline-block;font-size:13px;color:#234855;text-underline-offset:5px;margin-bottom:25px}.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-thumbs button{background:#fff;border:2px solid transparent;padding:5px;text-align:left;cursor:pointer;color:#234855}.gallery-thumbs button[aria-pressed=true]{border-color:#387d98;background:#e7f2f7}.gallery-thumbs img{width:100%;height:90px;object-fit:contain;background:#e0e8ec;display:block}.gallery-thumbs span{display:block;font-size:10px;line-height:1.6;margin:8px 3px;overflow-wrap:anywhere}.gallery-thumbs button:focus-visible{outline:3px solid #387d98;outline-offset:2px}@media(max-width:600px){.gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-stage img{height:320px}.work-gallery{margin-top:35px}}

.works .work-web{background:#fff}.works .work-web img{object-fit:cover;object-position:center top}.work-dialog-image.is-web{height:440px;max-height:52svh;object-fit:cover;object-position:center top;background:white}
.gallery-stage video{display:block;width:100%;max-height:60svh;background:#091b24}.gallery-stage video[hidden],.gallery-stage img[hidden]{display:none}.work-photo.work-movie:after{content:'▶ PLAY MOVIES';position:absolute;bottom:20px;right:20px;padding:12px 18px;background:#102e42d9;color:white;font-size:11px;letter-spacing:.1em;border:1px solid #ffffff75}

/* Preserve complete artwork for the three tall website previews. */
.works .work-photo.work-full-preview{background:#fff;}
.works .work-photo.work-full-preview img,
.works .work-grid article:hover .work-photo.work-full-preview img{object-fit:contain;object-position:center;transform:none;filter:none;background:#fff;padding:12px;box-sizing:border-box;}
.work-dialog-image.is-full-preview{height:auto;max-height:none;object-fit:contain;object-position:center;background:#fff;}
@media(max-width:720px){.works .work-photo.work-full-preview img{padding:8px;}}

/* Long homepage artwork keeps readable width within a keyboard-scrollable preview. */
.gallery-stage.is-webpage{max-height:62svh;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #d9e1e4}.gallery-stage.is-webpage img{height:auto;max-height:none;object-fit:contain;background:#fff}.gallery-stage.is-webpage:focus-visible{outline:3px solid #23968f;outline-offset:3px}

/* Overlap decoded media in a stable frame; new images dissolve over the old one. */
.gallery-stage-smooth{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);position:relative;height:min(440px,55svh);overflow:hidden;isolation:isolate}
.gallery-stage-smooth>img,.gallery-stage-smooth>video{grid-area:1/1;width:100%;height:100%;max-height:none;min-width:0;object-fit:contain;align-self:start}
.gallery-stage-smooth.is-webpage{height:min(600px,62svh);max-height:none;overflow:auto}
.gallery-stage-smooth.is-webpage>img{height:auto;max-height:none}
.gallery-status{min-height:1.5em;font-size:13px;line-height:1.5;color:#536d7b;margin:8px 0}
@media(max-width:600px){.gallery-stage-smooth{height:min(360px,55svh)}}
