/* Compact case contact dialog, using the site's type and theme. */
.case-contact-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:32px;border:1px solid var(--border);border-radius:16px;background:var(--background);color:var(--text);box-shadow:0 24px 80px #00000026;overflow:auto}
.case-contact-dialog::backdrop{background:#17191466;backdrop-filter:blur(6px)}
.case-contact-portrait{display:block;width:104px;height:104px;border-radius:50%;overflow:hidden;margin-bottom:24px;background:#969493}
.case-contact-portrait>img{display:block;width:100%;height:100%;object-fit:cover;transform:translateY(10px);mask-image:linear-gradient(to bottom,transparent,#000 14px)}
.case-contact-dialog>h2{font-size:32px;line-height:40px;letter-spacing:-.96px;font-weight:400}
.case-contact-dialog>p{margin-top:16px;font-size:18px;line-height:28px;color:var(--secondary)}
.case-contact-close{position:absolute;right:12px;top:12px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--secondary);cursor:pointer}
.case-contact-close:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}
.case-contact-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;font-size:16px;line-height:24px}
.case-contact-links a{padding:0;border:0;border-radius:0;background:transparent}
@media(max-width:480px){.case-contact-dialog{padding:28px 24px}.case-contact-dialog>h2{font-size:28px;line-height:36px}.case-contact-dialog>p{font-size:16px;line-height:25px}.case-contact-links{gap:12px 20px}}


/* One consistent entry interaction across all thirteen cases. */
.case-summary h2 a{display:block;transition:color .18s ease;text-decoration:none}
.case-summary h2 a:hover,.case-summary h2 a:focus-visible{color:#307bff;text-decoration:none}
.case-cover-link{position:absolute;inset:0;z-index:1;cursor:pointer;border-radius:inherit}
.case-cover-link:focus-visible{outline:3px solid #307bff;outline-offset:-6px}
.case-media .ecom-motion-toggle{z-index:2}
.case-hover-window{position:absolute;inset:0;pointer-events:none}
.case-hover-scene{position:absolute;inset:0;isolation:isolate;transform-origin:center;transition:transform .35s ease}
/* Match the former direct-child slots after grouping the artwork. */
.case-hover-scene>img{max-width:100%;max-height:100%;object-fit:contain;display:block}
#app-boost .media-app-boost .case-hover-scene>img{position:absolute;max-width:none;max-height:none;pointer-events:none}
.media-leeto .case-hover-scene>.leeto-scene{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.media-leeto .case-hover-scene>.leeto-logo{position:absolute;width:23%;height:auto;right:12%;top:32%;object-fit:contain}
.case-media .case-hover-scene>.routeq-video{max-width:none;max-height:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  /* Background stays full bleed; zoomed artwork has a 24px safe perimeter. */
  .case-media:hover .case-hover-window{clip-path:inset(24px round 8px)}
  .case-media:hover .case-hover-scene{transform:scale(1.025)}
}
@media(max-width:760px){
  .media-leeto .case-hover-scene>.leeto-scene{object-position:75% center}
  .media-leeto .case-hover-scene>.leeto-logo{width:29%;right:4%;top:36%}
}
@media(prefers-reduced-motion:reduce){.case-summary h2 a,.case-hover-scene{transition:none}}

.no-wrap{white-space:nowrap}
