.jg-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--v-r);background:var(--c-plum)}
.jg-hero__bg{position:absolute;inset:0;z-index:0}
.jg-hero__bg picture{display:block;height:100%}
.jg-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.jg-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(158deg,rgba(9,17,14,.88) 0%,rgba(9,17,14,.44) 46%,rgba(9,17,14,.86) 100%)}
.jg-hero__in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(1.8rem,4vw,2.8rem);min-height:clamp(16rem,30vh,20rem);padding-block:clamp(1.3rem,2.6vw,1.9rem)}
.jg-hero__row{display:flex;flex-direction:column;gap:1.5rem}
.jg-hero__lead{display:flex;flex-direction:column;gap:.85rem}
.jg-hero__t{max-width:15ch}
.jg-hero__meta{max-width:38ch;font-family:var(--f-d);font-weight:600;font-size:var(--f-lead);line-height:1.4;letter-spacing:.015em;color:var(--c-bone)}
.jg-hero__cta{align-self:flex-start}
.jg-hero__s{max-width:44ch;font-size:var(--f-sm);font-weight:700;line-height:1.5;color:var(--c-bone)}

.jg-feats{display:flex;flex-direction:column;gap:.8rem}
.jg-feat{display:flex;align-items:center;gap:.85rem;max-width:34ch}
.jg-feat__ic{display:grid;place-items:center;width:2.9rem;height:2.9rem;flex:none;border-radius:var(--v-rc);background:rgba(9,17,14,.66);color:var(--c-acct)}
.jg-feat__ic .jg-ic{width:1.35rem;height:1.35rem}
.jg-feat__t{font-size:var(--f-lead);line-height:1.35;color:var(--c-bone)}

.jg-karki{border-radius:var(--v-r);background:linear-gradient(180deg,var(--c-ground) 0%,var(--c-abyss) 100%)}

.jg-art{position:relative;display:block;overflow:hidden;aspect-ratio:1;background:var(--c-plum)}
.jg-art img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.8,.3,1)}
.jg-art::after{content:"";position:absolute;inset:auto 0 0;height:52%;background:linear-gradient(0deg,rgba(9,17,14,.94) 10%,rgba(9,17,14,0));transition:opacity .45s}
.jg-art:hover img{transform:scale(1.06)}
.jg-art:hover::after{opacity:.74}
.jg-score{position:absolute;z-index:2;left:1.3rem;bottom:1rem;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-d);font-weight:700;font-size:2.9rem;line-height:1;letter-spacing:-.015em;color:var(--c-acct);font-variant-numeric:tabular-nums}
.jg-score .jg-ic{width:2.2rem;height:2.2rem}

.jg-list{display:grid;gap:clamp(1.2rem,2.4vw,1.9rem)}
.jg-game{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:var(--v-r);background:linear-gradient(122deg,var(--c-plate) 0%,var(--c-ground) 100%)}
.jg-game--top{background:linear-gradient(122deg,var(--c-acc) 0%,var(--c-plum) 100%);color:var(--c-bone)}
.jg-game:nth-child(even){background:linear-gradient(122deg,var(--c-ground) 0%,var(--c-plate) 100%)}
.jg-game__in{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:clamp(1.5rem,3vw,2.4rem)}
.jg-game__t{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}
.jg-game__note{max-width:62ch;padding:1.1rem 1.3rem;border-radius:var(--v-rs);background:var(--c-abyss);font-size:var(--f-lead);line-height:1.55;color:var(--c-soft)}
.jg-game__cta{display:block;border-radius:0;padding:1.25rem 1.3rem;font-weight:700;font-size:1.15rem;letter-spacing:.045em}
.jg-game__genre{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:1.25rem 1.3rem;background:var(--c-base);color:var(--c-bone);font-family:var(--f-d);font-weight:600;font-size:var(--f-sm);letter-spacing:.03em;line-height:1.25;text-align:center}
.jg-game__genre .jg-ic{flex:none;width:1.3rem;height:1.3rem;color:var(--c-acct)}
.jg-game--top .jg-game__note{background:var(--c-plum);color:var(--c-lite)}
.jg-game--top .jg-game__genre{background:var(--c-plum);color:var(--c-lite)}

.jg-fit{display:flex;align-items:flex-start;gap:.7rem;max-width:52ch;font-size:var(--f-sm);line-height:1.45;color:var(--c-mut)}
.jg-fit .jg-ic{flex:none;margin-top:.18rem;width:1.15rem;height:1.15rem;color:var(--c-acct)}
.jg-game--top .jg-fit{color:var(--c-lite)}
.jg-game--top .jg-game__cta{background:var(--c-ink);color:var(--c-ink)}
.jg-game--top .jg-game__cta::before{background:var(--c-bone)}
.jg-game--top .jg-game__cta:hover>span{color:var(--c-bone)}

.jg-tag{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.05rem;border-radius:var(--v-rs);background:var(--c-ground);color:var(--c-soft);font-family:var(--f-d);font-weight:600;font-size:var(--f-sm);letter-spacing:.02em;line-height:1.25}
.jg-tag .jg-ic{flex:none;width:1.25rem;height:1.25rem;color:var(--c-acct)}
.jg-game--top .jg-tag{background:var(--c-plum);color:var(--c-lite)}

.jg-vali{display:grid;gap:clamp(1.8rem,3.6vw,2.6rem)}
.jg-vali__head{display:flex;flex-direction:column;align-items:flex-start;gap:1.3rem}
.jg-vali__art{width:100%;max-width:22rem;background:var(--c-plum)}
.jg-vali__txt{max-width:44ch}
.jg-vali__txt p:first-child{font-family:var(--f-d);font-weight:600;font-size:clamp(1.25rem,2.2vw,1.5rem);line-height:1.35;color:var(--c-bone)}
.jg-vali__txt p+p{margin-top:.8rem;font-size:var(--f-sm);line-height:1.5;color:var(--c-mut)}

.jg-hark{border-radius:var(--v-r);background:linear-gradient(180deg,var(--c-abyss) 0%,var(--c-plum) 100%)}
.jg-hark__head{display:grid;gap:1.3rem;margin-bottom:clamp(1.9rem,3.6vw,2.8rem)}
.jg-hark__lead{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.jg-hark__say{align-self:end}
.jg-hark__say1{max-width:34ch;font-family:var(--f-d);font-weight:600;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.35;color:var(--c-bone)}
.jg-hark__say2{margin-top:.7rem;max-width:40ch;font-size:var(--f-sm);line-height:1.5;color:var(--c-mut)}

.jg-bento{display:grid;grid-template-columns:1fr;gap:var(--v-gap)}
.jg-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;min-height:11rem;padding:clamp(1.1rem,2vw,1.35rem);border-radius:var(--v-r);background:linear-gradient(150deg,var(--c-plate) 0%,var(--c-ground) 100%)}
.jg-tile__ic{position:absolute;top:clamp(1.1rem,2vw,1.35rem);right:clamp(1.1rem,2vw,1.35rem);display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:var(--v-rc);background:var(--c-abyss);color:var(--c-acct);transition:background .3s,color .3s}
.jg-tile:hover .jg-tile__ic{background:var(--c-acc);color:var(--c-bone)}
.jg-tile__ic .jg-ic{width:1.4rem;height:1.4rem}
.jg-tile__lab{font-family:var(--f-d);font-weight:600;font-size:1.2rem;letter-spacing:.02em;color:var(--c-bone)}
.jg-tile__txt{font-size:var(--f-sm);line-height:1.5;color:var(--c-soft)}
.jg-shot{overflow:hidden;aspect-ratio:2/1;border-radius:var(--v-r);background:var(--c-plum)}
.jg-shot img{width:100%;height:100%;object-fit:cover}

.jg-vink{position:fixed;z-index:55;margin:0;left:.55rem;right:.55rem;bottom:.55rem;display:grid;grid-template-columns:auto minmax(0,1fr);overflow:hidden;border-radius:var(--v-r);background:linear-gradient(122deg,var(--c-acc) 0%,var(--c-peak) 100%);box-shadow:0 18px 48px rgba(6,12,9,.75);opacity:0;transform:translate3d(0,120%,0);transition:opacity .3s ease,transform .34s cubic-bezier(.22,.8,.3,1)}
.jg-vink.is-on{opacity:1;transform:none}
.jg-vink__art{align-self:start;width:5.6rem;margin:1.1rem 0 0 1.1rem;display:grid;align-content:center;overflow:hidden;border-radius:var(--v-rs);background:var(--c-plum)}
.jg-vink__art img{grid-area:1/1;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.jg-vink__art::after{content:"";grid-area:1/1;align-self:end;z-index:1;height:56%;background:linear-gradient(0deg,rgba(9,17,14,.94) 10%,rgba(9,17,14,0))}
.jg-vink__score{grid-area:1/1;align-self:end;justify-self:start;z-index:2;margin:0 0 .4rem .5rem;display:inline-flex;align-items:center;gap:.3rem;font-family:var(--f-d);font-weight:700;font-size:1.05rem;line-height:1;color:var(--c-acct)}
.jg-vink__score .jg-ic{width:.95rem;height:.95rem}
.jg-vink__in{display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1.1rem 1.2rem}
.jg-vink__mark{font-family:var(--f-d);font-weight:600;font-size:var(--f-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--c-lite);opacity:.9}
.jg-vink__t{font-family:var(--f-d);font-weight:600;font-size:1.15rem;line-height:1.2;color:var(--c-bone)}
.jg-vink__genre{align-self:flex-start;padding:.4rem .8rem;border-radius:var(--v-rs);background:var(--c-plum);font-family:var(--f-d);font-weight:600;font-size:var(--f-sm);line-height:1.3;color:var(--c-lite)}
.jg-vink__act{margin-top:.35rem;display:flex;align-items:center;gap:.7rem}
.jg-vink__cta{flex:1;display:block;padding:.6rem 1.1rem}
.jg-vink__no{flex:none;text-align:center;padding:.4rem .3rem;border:0;background:none;font-family:var(--f-d);font-weight:600;font-size:var(--f-sm);color:var(--c-lite);cursor:pointer;opacity:.92;transition:opacity .25s}
.jg-vink__no:hover{opacity:1}
.jg-vink__cta{background:var(--c-ink);color:var(--c-ink)}
.jg-vink__cta::before{background:var(--c-bone)}
.jg-vink__cta:hover>span{color:var(--c-bone)}

@media (min-width:34rem){
.jg-hero__s{align-self:flex-end;text-align:right}
.jg-bento{grid-template-columns:repeat(2,1fr)}
.jg-shot{grid-column:1/-1}
.jg-game{grid-template-columns:minmax(0,16rem) 1fr}
.jg-art{grid-column:1;grid-row:1;aspect-ratio:auto}
.jg-game__in{grid-column:2;grid-row:1}
.jg-game__genre{grid-column:1;grid-row:2}
.jg-game__cta{grid-column:2;grid-row:2}
}

@media (min-width:52rem){
.jg-vink{left:auto;width:34rem;grid-template-columns:16rem minmax(0,1fr)}
.jg-vink__art{align-self:stretch;width:auto;margin:0;border-radius:0}
.jg-vink__score{margin:0 0 .7rem .85rem;gap:.4rem;font-size:1.5rem}
.jg-vink__score .jg-ic{width:1.2rem;height:1.2rem}
.jg-vink__in{gap:.55rem;padding:1.2rem 1.3rem}
.jg-vink__act{flex-direction:column;align-items:stretch;gap:.15rem;margin-top:.4rem}
.jg-vink__no{padding:.4rem}
.jg-hero__row{flex-direction:row;align-items:center;justify-content:space-between;gap:2.5rem}
.jg-hero__cta{align-self:center}
.jg-feats{flex-direction:row;gap:1.8rem}
.jg-feat{max-width:23ch}
.jg-game{grid-template-columns:minmax(0,20rem) 1fr}
.jg-vali{grid-template-columns:minmax(0,24rem) 1fr;gap:clamp(2.4rem,4.4vw,3.4rem)}
.jg-vali__art{max-width:none}
.jg-vali .jg-rows{justify-content:space-between;gap:1rem}
.jg-hark__head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:2.6rem}
.jg-bento{grid-template-columns:repeat(4,1fr)}
.jg-shot{grid-column:auto}
.jg-shot--a{grid-column:1/span 2}
.jg-shot--b{grid-column:3/span 2}
}

@media (min-width:66rem){
.jg-game{grid-template-columns:minmax(0,24rem) 1fr}
}
