/* Guadalajara Cosplay Alley. Scoped to its participant directory. */
:is(.cosplay-alley-page,.artist-alley-page) .reader-heading{padding-bottom:38px}.alley-intro{max-width:none;margin:22px 0 0;color:#ded5e8;font-size:15px;line-height:1.8}.alley-edition{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;color:#bdb5c9;font-size:11px;letter-spacing:.7px}.alley-edition span+span{color:var(--yellow)}.cosplay-alley-directory{padding-top:46px;padding-bottom:80px}.alley-directory-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:30px}.alley-directory-heading h2{font-size:42px;margin:9px 0 0;line-height:1}.alley-directory-heading>p{max-width:370px;color:#bdb5c9;font-size:13px;line-height:1.8;margin:0}.alley-participant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px}.alley-participant{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #ffffff20;background:#231b31;border-radius:12px;scroll-margin-top:120px}.alley-participant-photo{overflow:hidden;background:#17131f;aspect-ratio:40/43}.alley-participant-photo img{display:block;width:100%;height:auto;aspect-ratio:40/43;object-fit:contain}.alley-participant-copy{display:flex;flex-direction:column;flex:1;padding:25px}.alley-participant-copy h2{font-size:35px;line-height:1.05;margin:0 0 15px;overflow-wrap:anywhere}.alley-participant-copy p{color:#ded5e8;font-size:13px;line-height:1.85;margin:0 0 24px}.alley-work-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:15px;border-top:1px solid #ffffff25;font-size:12px;font-weight:800;color:var(--yellow);min-height:44px}.alley-work-link span{font-size:22px;line-height:1}.alley-work-link:hover{color:#fff}.alley-work-link:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.alley-return{margin-top:42px}.alley-return .text-link{color:var(--yellow)}
@media(max-width:1000px){.alley-participant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alley-directory-heading{gap:24px}.alley-directory-heading h2{font-size:38px}.alley-directory-heading>p{max-width:300px}.alley-participant-copy{padding:23px}}
@media(max-width:640px){:is(.cosplay-alley-page,.artist-alley-page) .reader-heading{padding-bottom:30px}.alley-intro{font-size:13px;margin-top:18px}.alley-edition{font-size:10px;gap:9px 18px;margin-top:19px}.cosplay-alley-directory{padding-top:32px;padding-bottom:55px}.alley-directory-heading{display:block;margin-bottom:25px}.alley-directory-heading h2{font-size:38px}.alley-directory-heading>p{max-width:none;margin-top:16px;font-size:12px}.alley-participant-grid{grid-template-columns:1fr;gap:25px}.alley-participant-copy{padding:24px}.alley-participant-copy h2{font-size:36px}.alley-participant-copy p{font-size:13px}.alley-work-link{font-size:12px}.alley-return{margin-top:32px}}

/* Gentle interaction without cropping the participant photos. */
.alley-participant{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.alley-work-link span{transition:transform .25s ease}
.alley-participant:focus-within{border-color:#ffe25199;box-shadow:0 10px 28px #0003}
@media(hover:hover) and (pointer:fine){
 .alley-participant:hover{transform:translateY(-4px);border-color:#ffe25199;box-shadow:0 12px 30px #0004}
 .alley-participant:hover .alley-work-link span{transform:translate(3px,-2px)}
}
@media(min-width:1001px){.alley-participant-copy{padding:21px}.alley-participant-copy h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){
 .alley-participant,.alley-work-link span{transition:none}
 .alley-participant:hover,.alley-participant:hover .alley-work-link span{transform:none}
}

/* The original PNG is unchanged; hide only its transparent outer canvas. */
:is(.cosplay-alley-page,.artist-alley-page) .reader-heading .alley-logo-title{position:relative;width:min(100%,480px);max-width:none;aspect-ratio:2337/1099;margin:22px 0 0;overflow:hidden;line-height:0}
.alley-logo-title img{position:absolute;display:block;width:172.100984%;max-width:none;height:auto;left:-37.483954%;top:-61.692448%}
@media(max-width:640px){:is(.cosplay-alley-page,.artist-alley-page) .reader-heading .alley-logo-title{width:min(100%,360px);margin-top:20px}}

/* Title banner: participant collage beneath the untouched original logo. */
.alley-title-banner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:300px;padding:28px;margin-top:24px;overflow:hidden;border-radius:16px;border:1px solid #ffffff20;background:linear-gradient(120deg,#17121f 0%,#532080 48%,#25113f 100%)}
.alley-title-collage{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;opacity:.27;pointer-events:none}
.alley-title-collage img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:50% 30%}

.alley-title-banner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#17121f88,#63259366 50%,#17121fa6),radial-gradient(ellipse at center,#27113f22,#17121f88)}
:is(.cosplay-alley-page,.artist-alley-page) .reader-heading .alley-title-banner .alley-logo-title{margin:0;filter:drop-shadow(0 4px 12px #12091dc9)}
@media(max-width:640px){.alley-title-banner{min-height:210px;padding:22px 14px;margin-top:20px;border-radius:12px}.alley-title-collage{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:3px;opacity:.25}.alley-title-collage img:last-child{grid-column:auto}:is(.cosplay-alley-page,.artist-alley-page) .reader-heading .alley-title-banner .alley-logo-title{width:min(100%,310px)}}

/* Match the platform/account labels used in Artist Alley. */
.cosplay-alley-page .alley-work-link{overflow-wrap:anywhere;font-size:11px}
