.project-detail[data-project="jj-games"]{--jj-gold:#d6a85d;--jj-line:rgba(255,255,255,.17);background:#08090d;color:#f4f0e9}
.project-detail[data-project="jj-games"] .project-detail-bar{background:rgba(8,9,13,.92)}
.project-detail[data-project="jj-games"] .project-detail-hero{height:auto;min-height:0;aspect-ratio:5/2;background:#08090d}
.project-detail[data-project="jj-games"] .project-detail-cover{object-fit:cover;filter:brightness(.7);transform:none}
.project-detail[data-project="jj-games"] .project-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.83));pointer-events:none}
.project-detail[data-project="jj-games"] .project-detail-title{z-index:1;left:51%;right:5%;bottom:9%}
.project-detail[data-project="jj-games"] .project-detail-title h1{max-width:620px;font-family:Manrope,Arial,sans-serif;font-size:clamp(3rem,4.6vw,5.4rem);font-weight:600;line-height:.91;letter-spacing:-.06em}
.project-detail[data-project="jj-games"] .project-detail-summary{max-width:690px;font-size:12px;line-height:1.7}
.project-detail[data-project="jj-games"] .project-detail-nav{background:rgba(8,9,13,.95)}
.project-detail[data-project="jj-games"] .project-detail-body{width:100%;margin:0;padding:0;background:radial-gradient(circle at 85% 23%,rgba(157,98,36,.12),transparent 28%),radial-gradient(circle at 5% 74%,rgba(17,65,136,.1),transparent 22%),#08090d}
.jj-profile,.jj-section{width:min(1200px,88.9%);margin:0 auto;scroll-margin-top:108px}
.jj-profile{padding:clamp(88px,9vw,142px) 0 clamp(110px,11vw,170px)}
.jj-section{padding:clamp(92px,10vw,150px) 0;border-top:1px solid var(--jj-line)}
.jj-index{display:flex;align-items:center;justify-content:space-between;gap:24px;font:600 9px/1.4 JetBrains Mono,monospace;letter-spacing:.13em;color:var(--jj-gold)}
.jj-index span{color:#fff}
.jj-profile-title,.jj-heading{display:grid;grid-template-columns:8fr 4fr;gap:36px;align-items:end;margin-top:44px}
.jj-profile-title h2,.jj-heading h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(3rem,6vw,6.3rem);font-weight:500;line-height:.89;letter-spacing:-.065em}
.jj-profile-title>p,.jj-heading>p{padding-bottom:8px;color:rgba(255,255,255,.52);font:500 9px/1.65 JetBrains Mono,monospace;letter-spacing:.11em;text-align:right}
.jj-profile-copy{width:62%;margin:82px 0 0 auto;color:rgba(255,255,255,.75);font-size:16px;line-height:1.9}
.jj-profile dl{display:grid;grid-template-columns:.8fr 1.2fr 1.35fr;margin-top:90px;border-top:1px solid var(--jj-line);border-bottom:1px solid var(--jj-line)}
.jj-profile dl>div{min-height:190px;padding:28px 26px 32px 0}.jj-profile dl>div+div{padding-left:28px;border-left:1px solid var(--jj-line)}
.jj-profile dt{font:600 9px/1.4 JetBrains Mono,monospace;letter-spacing:.13em;color:var(--jj-gold)}.jj-profile dd{margin-top:26px;font-size:14px;line-height:1.8;white-space:pre-line}
.jj-section-head{margin-bottom:clamp(48px,6vw,82px)}.jj-heading{margin-top:42px}.jj-heading h2{font-size:clamp(2.9rem,5.2vw,5.5rem)}
.jj-image{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.jj-image img{display:block;width:100%;height:auto}.jj-image:hover img{filter:brightness(1.06)}
.jj-split{display:grid;grid-template-columns:7fr 5fr;gap:5%;align-items:center}.jj-split-icon>.jj-image{max-width:455px;margin:0 auto}.jj-split-event{grid-template-columns:4fr 8fr}
.jj-note{padding:26px 0;border-top:1px solid var(--jj-line);border-bottom:1px solid var(--jj-line)}.jj-note span{font:600 9px/1.4 JetBrains Mono,monospace;letter-spacing:.13em;color:var(--jj-gold)}.jj-note h3{margin-top:28px;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;line-height:1.1}.jj-note p{margin-top:20px;color:rgba(255,255,255,.67);font-size:14px;line-height:1.85}.jj-note-inline{display:grid;grid-template-columns:4fr 8fr;gap:32px;align-items:start;margin:52px 0}.jj-note-inline p{max-width:710px;margin:0}
.jj-wide{margin-top:62px}.jj-character-grid,.jj-honor-grid,.jj-broadcast-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.jj-character-grid{grid-template-columns:5fr 8fr}.jj-character-grid .jj-image,.jj-honor-grid .jj-image{background:#fff}.jj-character-grid .jj-image img{max-height:560px;object-fit:contain}.jj-honor-grid{align-items:stretch}.jj-honor-grid .jj-image{display:grid;place-items:center}.jj-honor-grid .jj-image img{height:100%;max-height:470px;object-fit:contain}.jj-broadcast-grid{margin-top:18px;grid-template-columns:5fr 7fr}.jj-broadcast-grid .jj-image img{height:100%;object-fit:cover}.jj-source-board{margin-top:55px}
@media(min-width:761px){.project-detail[data-project="jj-games"]{--jj-detail-width:min(calc(100% - 96px),1440px);background:rgba(9,9,13,.62);backdrop-filter:blur(14px) brightness(.63);-webkit-backdrop-filter:blur(14px) brightness(.63)}.project-detail[data-project="jj-games"] .project-detail-bar,.project-detail[data-project="jj-games"] .project-detail-hero,.project-detail[data-project="jj-games"] .project-detail-nav,.project-detail[data-project="jj-games"] .project-detail-body,.project-detail[data-project="jj-games"] .project-detail-next{width:var(--jj-detail-width);max-width:1440px;margin-left:auto;margin-right:auto;box-shadow:-1px 0 rgba(255,255,255,.08),1px 0 rgba(255,255,255,.08)}}
@media(max-width:760px){.project-detail[data-project="jj-games"] .project-detail-hero{aspect-ratio:4/5}.project-detail[data-project="jj-games"] .project-detail-cover{object-position:35% center}.project-detail[data-project="jj-games"] .project-detail-title{left:16px;right:16px;bottom:5%}.project-detail[data-project="jj-games"] .project-detail-title h1{font-size:10vw}.project-detail[data-project="jj-games"] .project-detail-summary{font-size:11px}.jj-profile,.jj-section{width:calc(100% - 32px)}.jj-profile{padding:70px 0 86px}.jj-section{padding:76px 0}.jj-index{font-size:8px}.jj-profile-title,.jj-heading,.jj-split,.jj-character-grid,.jj-honor-grid,.jj-broadcast-grid,.jj-note-inline{grid-template-columns:1fr}.jj-profile-title>p,.jj-heading>p{text-align:left}.jj-profile-copy{width:100%;margin-top:45px;font-size:13px}.jj-profile dl{grid-template-columns:1fr;margin-top:58px}.jj-profile dl>div,.jj-profile dl>div+div{min-height:0;padding:22px 0;border-left:0;border-bottom:1px solid var(--jj-line)}.jj-profile dl>div:last-child{border-bottom:0}.jj-heading{gap:18px}.jj-note{margin-top:24px}.jj-note-inline{gap:16px}.jj-wide,.jj-source-board{margin-top:34px}.jj-honor-grid .jj-image img{height:auto}}
@media(max-width:760px){.jj-profile-title h2{font-size:clamp(25px,7.4vw,42px);letter-spacing:-.06em}.jj-heading h2{font-size:clamp(32px,9vw,54px)}}
.figma-capture .project-detail[data-project="jj-games"]{width:1440px;max-width:none;background:#08090d;backdrop-filter:none;-webkit-backdrop-filter:none}.figma-capture .project-detail[data-project="jj-games"] .project-detail-bar,.figma-capture .project-detail[data-project="jj-games"] .project-detail-hero,.figma-capture .project-detail[data-project="jj-games"] .project-detail-nav,.figma-capture .project-detail[data-project="jj-games"] .project-detail-body,.figma-capture .project-detail[data-project="jj-games"] .project-detail-next{width:1440px;max-width:none;margin:0;box-shadow:none}

/* JJ detail V2: use the same cover → project profile → indexed chapter rhythm as Frost Cup. */
.project-detail[data-project="jj-games"] .project-detail-hero:after,
.project-detail[data-project="jj-games"] .project-detail-title{display:none}
.project-detail[data-project="jj-games"] .project-detail-cover{filter:none}
.jj-profile{padding:100px 0 100px}
.jj-profile-title{display:block;margin-top:42px}
.jj-profile-title h2{font-family:Staatliches,Impact,sans-serif;font-size:clamp(3rem,6.5vw,78px);font-weight:400;line-height:1;letter-spacing:.005em;white-space:nowrap}
.jj-profile-title>p{margin-top:22px;padding:0;text-align:left;font-size:11px}
.jj-profile-copy{width:100%;margin:28px 0 0;font-size:17px;line-height:1.8}
.jj-profile dl{margin-top:80px}
.jj-profile dl>div{min-height:210px;padding-top:30px}
.jj-profile dt{font-size:11px}
.jj-profile dd{font-size:15px}
.jj-section{padding:110px 0}
.jj-section-head{margin-bottom:48px}
.jj-heading{margin-top:48px;grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:center}
.jj-heading h2{position:relative;padding-left:33px;font-family:"Noto Sans SC",Manrope,Arial,sans-serif;font-size:clamp(40px,5vw,60px);font-weight:500;line-height:1.05;letter-spacing:0}
.jj-heading h2:before{content:"";position:absolute;left:0;top:50%;width:13px;height:1.06em;transform:translateY(-50%);background:var(--jj-gold)}
.jj-heading>p{padding:0;color:rgba(255,255,255,.56);font-size:11px}
.jj-split-icon{grid-template-columns:minmax(0,600px) minmax(0,598px);gap:50px}
.jj-split-icon>.jj-image{max-width:600px}
.jj-split-icon .jj-note{padding:28px;border:1px solid var(--jj-line)}
.jj-split-icon .jj-note h3{font-size:34px}
.jj-split-icon .jj-note p{font-size:16px;line-height:1.75}
@media(max-width:760px){
  .jj-profile{padding:68px 0 78px}
  .jj-profile-title h2{font-size:clamp(27px,8vw,54px);white-space:normal}
  .jj-profile-title>p{font-size:9px}
  .jj-profile-copy{font-size:13px}
  .jj-profile dl{margin-top:54px}
  .jj-profile dl>div{min-height:0;padding:22px 0}
  .jj-section{padding:76px 0}
  .jj-section-head{margin-bottom:34px}
  .jj-heading{margin-top:28px;grid-template-columns:1fr;gap:14px}
  .jj-heading h2{padding-left:21px;font-size:clamp(32px,8.8vw,52px)}
  .jj-heading h2:before{width:8px}
  .jj-heading>p{text-align:left;padding-left:21px;font-size:9px}
  .jj-split-icon{grid-template-columns:1fr;gap:24px}
  .jj-split-icon .jj-note{padding:24px}
  .jj-split-icon .jj-note h3{font-size:25px}
  .jj-split-icon .jj-note p{font-size:13px}
}
