.jg-entry[hidden],.jg-entry [hidden]{display:none!important}
.jg-entry{position:fixed;inset:0;z-index:99999;color:#eeeae3;padding:24px;box-sizing:border-box;display:grid;place-items:center;font-family:var(--text,'Montserrat',sans-serif)}
.jg-entry-backdrop{position:absolute;inset:0;background:#050505;transition:opacity 2.2s ease;pointer-events:none}
.jg-entry-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;text-align:center;gap:26px}
.jg-entry-name{font-size:clamp(30px,5vw,58px);font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:0;transition:opacity 1s ease}
.jg-entry-options{display:flex;gap:28px;justify-content:center}
.jg-entry button{font:400 12px/1.6 var(--text,'Montserrat',sans-serif);color:#ccc9c2;background:none;border:0;padding:12px;min-height:44px;cursor:pointer}
.jg-entry button:hover{color:#fff}.jg-entry button:focus-visible{outline:1px solid #ddd;outline-offset:4px}
.jg-entry-photo{display:block;width:min(480px,76vw,58vh);height:auto;max-height:38svh;object-fit:contain;opacity:0;transform:translateY(8px);transition:opacity 1.5s ease,transform 1.8s ease;}
.jg-entry.photo-visible .jg-entry-photo{opacity:1;transform:none}
.jg-entry-welcome{margin:0;font-size:clamp(16px,2.4vw,23px);font-weight:400;line-height:1.5;opacity:0;transition:opacity 1.3s ease}
.jg-entry.welcome-visible .jg-entry-welcome{opacity:1}
.jg-entry-controls{position:absolute;z-index:3;bottom:max(18px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:space-between;gap:16px}
.jg-entry-note{position:absolute;bottom:36px;left:20px;right:20px;text-align:center;color:#797a74;font-size:10px;line-height:1.7;}
.jg-entry.flying .jg-entry-backdrop{opacity:0}.jg-entry.flying .jg-entry-name,.jg-entry.flying .jg-entry-welcome{opacity:0}
.jg-entry.flying .jg-entry-controls{opacity:0;pointer-events:none}
.jg-flying-image{position:fixed!important;z-index:100001;display:block;object-fit:contain;pointer-events:none;margin:0;}
.jg-entry:not(.playing) .jg-entry-name{animation:jg-name 1.1s ease both}
@keyframes jg-name{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.jg-entry *{animation:none!important;transition:none!important}}

/* V41 — letter assembly, a photographic stack and an upward reveal. */
.jg-entry-backdrop{clip-path:inset(0 0 0 0);transition:clip-path 2.2s cubic-bezier(.65,0,.2,1);}
.jg-entry.flying .jg-entry-backdrop{opacity:1;clip-path:inset(0 0 100% 0);}
.jg-stack{position:absolute;left:50%;top:50%;width:clamp(105px,15vw,170px);height:clamp(140px,20vw,225px);transform:translate(-50%,-50%);z-index:2;pointer-events:none;display:none;}
.jg-entry.playing .jg-stack{display:block;}
.jg-card{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;box-shadow:0 12px 28px #0007;}
.jg-card-red{background:#8f1420;--angle:-17deg;--delay:0s;}.jg-card-paper{background:#ddd7cb;--angle:11deg;--delay:.3s;}
.jg-card-one{--angle:-9deg;--delay:.65s;object-position:50% 65%;}.jg-card-two{--angle:8deg;--delay:1.65s;object-position:50% 50%;}.jg-card-three{--angle:-4deg;--delay:2.65s;object-position:55% 50%;}
.jg-entry.playing .jg-card{animation:jg-stack-in .9s var(--delay) cubic-bezier(.16,1,.3,1) both;}
.jg-entry.playing:not(.settled) .jg-entry-name{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:95vw;font-size:clamp(38px,8vw,100px);font-weight:600;letter-spacing:-.055em;white-space:nowrap;}
.jg-entry.playing .jg-entry-name span{display:inline-block;animation:jg-letter 1s calc(.12s + var(--letter)*.14s) cubic-bezier(.16,1,.3,1) both;}
.jg-entry.playing .jg-entry-name span:nth-child(even){animation-name:jg-letter-down;}
.jg-entry.stack-out:not(.settled) .jg-entry-name{opacity:0;transition:opacity .35s;}
.jg-entry.stack-out .jg-stack{opacity:0;transform:translate(-50%,-50%) scale(.78);transition:opacity .6s,transform .6s;}
.jg-entry.settled .jg-entry-name{animation:jg-name .8s ease both;}
.jg-entry.settled .jg-entry-name span{animation:none;}
.jg-entry.settled .jg-stack{display:none;}
.jg-entry.flying .jg-entry-name{animation:none;opacity:0;}
@keyframes jg-stack-in{from{opacity:0;transform:translateY(50px) rotate(calc(var(--angle) - 25deg)) scale(.65)}to{opacity:1;transform:translateY(0) rotate(var(--angle)) scale(1)}}
@keyframes jg-letter{from{opacity:0;transform:translateY(30px) rotate(5deg)}to{opacity:1;transform:none}}
@keyframes jg-letter-down{from{opacity:0;transform:translateY(-30px) rotate(-5deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.jg-entry-backdrop,.jg-stack{transition:none!important}.jg-entry .jg-stack{display:none!important}}

/* V42 — project imagery behind the complete name. */
.jg-entry-backdrop{z-index:0;}
.jg-entry-content{z-index:3;}
.jg-stack{z-index:2;width:min(80vw,clamp(290px,42vw,460px));height:min(56svh,clamp(230px,32vw,350px));}
.jg-work-card{object-fit:contain;background:#151515;border:3px solid #1b1b1b;box-sizing:border-box;}
.jg-entry.playing:not(.settled) .jg-entry-name{z-index:4;color:#fff;text-shadow:0 2px 15px #0009;}
