/* Structural asset slots. Final imagery remains a separate visual pass. */
.group-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}
.group-card{display:flex;flex-direction:column;border:1px solid var(--color-border);background:var(--color-background);text-decoration:none;min-width:0;transition:border-color .2s,background .2s}
.group-card:hover{border-color:var(--color-accent);background:var(--color-selected)}
.group-card-content{padding:22px;display:flex;flex-direction:column;flex:1;align-items:flex-start}
.group-card-identity{display:flex;gap:14px;align-items:center;width:100%}
.group-card h2{font-size:23px;line-height:1.3;color:var(--color-text);margin:8px 0;overflow-wrap:anywhere}
.group-card p{font-size:14px;line-height:1.8;color:var(--color-muted);flex:1}
.group-card .journal-arrow{margin-top:10px}
.group-asset{background:linear-gradient(145deg,var(--color-panel),var(--color-background));border:1px solid var(--color-border);color:var(--color-muted);font-size:11px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;position:relative;overflow:hidden;text-align:center}
.group-asset svg{width:25px;height:25px;stroke:currentColor;fill:none}
.group-asset img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.group-asset--preview{height:92px;border:0;border-bottom:1px solid var(--color-border)}
.group-asset--emblem{width:64px;height:64px;flex:0 0 64px;padding:6px;font-size:9px;box-sizing:border-box}
.group-asset--emblem svg{width:18px;height:18px}
.group-asset--emblem img{object-fit:contain}
.group-asset--hero{height:220px;border-bottom:0}
.group-asset--event{width:130px;min-height:130px;flex:0 0 130px}
.group-asset--seasonal{aspect-ratio:16/7;margin:20px 0}
.group-world-status{display:inline-block;border:1px solid var(--color-border);padding:5px 9px;font-size:11px;color:var(--color-muted);margin:9px 0}
.group-back{margin:24px 0;font-size:13px}
.group-identity{display:flex;gap:24px;align-items:center;padding:26px;border:1px solid var(--color-border);background:var(--color-background)}
.group-identity>.group-asset--emblem{width:90px;height:90px;flex-basis:90px}
.group-identity h2{font-size:clamp(32px,4vw,52px);line-height:1.2;margin:8px 0 12px;color:var(--color-text);overflow-wrap:anywhere}
.group-identity p{margin-bottom:0;line-height:1.8}
.group-lead{max-width:700px;color:var(--color-muted)}
.group-empty{font-size:14px;line-height:1.8;color:var(--color-muted)}
.group-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:38px;margin-top:36px;align-items:start}
.group-toc{position:sticky;top:100px;font-size:13px}
.group-toc nav{display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--color-border);padding-left:18px}
.group-content{min-width:0;max-width:850px}
.group-section{padding:8px 0 28px;margin-bottom:22px;border-bottom:1px solid var(--color-border);scroll-margin-top:110px}
.group-section h2{font-size:28px;color:var(--color-text);line-height:1.4;margin:14px 0}
.group-section h3{font-size:20px;color:var(--color-text);line-height:1.5}
.group-section-heading{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.group-authored{padding:0 0 22px;margin-bottom:24px;border-bottom:1px dashed var(--color-border)}
.group-authored p,.group-section>p:not(.group-empty){line-height:1.95;color:var(--color-muted)}
.group-authored blockquote,.group-section>blockquote{border-left:2px solid var(--color-accent);margin:24px 0;padding:8px 20px;line-height:1.8;color:var(--color-muted)}
.group-section figure{margin:20px 0}.group-section figcaption{font-size:12px;color:var(--color-muted)}
.group-event{display:flex;gap:20px;padding:20px;margin:16px 0}
.group-event>div:last-child{min-width:0}.group-event h4{font-size:21px;color:var(--color-text);margin:10px 0;line-height:1.5;overflow-wrap:anywhere}
.group-event .eyebrow{display:block}.group-event p{margin:8px 0}
.group-relation{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.group-edit{font-size:11px;margin:10px 6px 0 0}.group-card:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:3px}
.journal-bridge[data-art-slot="group-bridge"]{position:relative;isolation:isolate;padding:36px;min-height:180px;background:linear-gradient(100deg,color-mix(in srgb,var(--color-panel) 53.3%,transparent),transparent);margin:30px 0;border:1px solid var(--color-border);overflow:hidden}
.journal-bridge[data-art-slot="group-bridge"]::before{content:'';position:absolute;inset:0;z-index:-1;background-image:var(--group-bridge-art,none);background-size:cover;background-position:center;opacity:.3}
@media(max-width:1050px){.group-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.group-layout{grid-template-columns:145px minmax(0,1fr);gap:24px}}
@media(max-width:700px){.group-catalog{grid-template-columns:1fr}.group-layout{display:block}.group-toc{position:static;margin:0 0 25px}.group-toc nav{flex-direction:row;flex-wrap:wrap;padding:14px;border:1px solid var(--color-border);gap:16px}.group-identity{gap:16px;padding:20px;align-items:flex-start}.group-identity>.group-asset--emblem{width:64px;height:64px;flex-basis:64px}.group-asset--hero{height:160px}.group-event{flex-direction:column;padding:18px;gap:12px}.group-asset--event{width:100%;height:92px;min-height:92px;flex-basis:auto}.journal-bridge[data-art-slot="group-bridge"]{padding:24px}.group-section-heading{align-items:flex-start}}

.group-asset--person{width:64px;height:64px;flex:0 0 64px}
