
.fan-intro{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);gap:35px;align-items:end;padding:70px 0 28px}
.fan-intro h2{font-size:clamp(30px,5vw,56px);letter-spacing:-.055em;line-height:1.04;margin:10px 0 24px}
.fan-intro p{line-height:1.75;max-width:720px;color:#57565d}.fan-intro .fan-gallery-note{font-size:.88rem;border-left:3px solid #d33880;padding-left:14px;color:#5b5261}
.fan-link{display:inline-flex;align-items:center;justify-content:center;background:#191421;color:white;padding:16px 22px;letter-spacing:.045em;text-decoration:none;font-weight:800;font-size:12px;min-height:52px}
.fan-collection{padding:35px 0 100px}.fan-controls{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:13px;align-items:end;margin:32px 0 14px}
.fan-controls label{display:grid;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.065em;font-weight:700}
.fan-controls input,.fan-controls select{width:100%;padding:14px 12px;border:1px solid #c8c5c8;border-radius:4px;background:#fff;color:#24212c;min-height:49px;font:inherit}
.fan-controls button{padding:15px 18px;background:#eeeaf1;border:0;min-height:49px;font-size:12px;font-weight:900;cursor:pointer}
.fan-count{color:#716976;font-size:14px;margin:20px 0}.fan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;justify-items:stretch}
.fan-item{margin:0;min-width:0}.fan-item button{display:block;width:100%;padding:0;text-align:left;background:white;border:1px solid #ebe7ea;cursor:zoom-in;overflow:hidden;box-shadow:0 8px 32px #15102012}
.fan-item img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .35s ease}.fan-item button:hover img{transform:scale(1.035)}.fan-item-caption{display:grid;gap:6px;padding:16px 19px 19px}
.fan-item-caption strong{font-size:17px}.fan-item-caption small{font-size:12px;color:#706978}.fan-empty{padding:28px;background:#f3f0f3}
.fan-viewer{position:fixed;max-width:min(98vw,1100px);max-height:95vh;padding:16px;background:#110f17;color:#fff;border:0;border-radius:8px}
.fan-viewer::backdrop{background:#07030ce8}.fan-viewer[open]{display:flex;gap:8px;align-items:center}.fan-viewer figure{margin:0;max-height:88vh;min-width:0;display:grid;gap:12px}.fan-viewer figure img{display:block;width:auto;max-width:min(78vw,960px);height:auto;max-height:72vh;object-fit:contain;margin:auto}
.fan-viewer figcaption{display:grid;gap:5px;line-height:1.4}.fan-viewer figcaption span{font-size:13px;color:#c9c0cc}.fan-viewer button{cursor:pointer;border:0;background:#ffffff22;color:white;font-size:35px;padding:12px;min-width:40px}
#fanViewerClose{position:absolute;right:12px;top:4px;z-index:2}.fan-placeholder{max-width:430px}.fan-placeholder img{width:100%}
@media(max-width:900px){.fan-controls{grid-template-columns:1fr 1fr}.fan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fan-intro{grid-template-columns:1fr}}
@media(max-width:560px){.fan-controls{grid-template-columns:1fr}.fan-grid{grid-template-columns:1fr}.fan-item img{height:260px}.fan-viewer[open]{gap:0}.fan-viewer figure img{max-width:76vw}.fan-viewer button{font-size:24px;padding:6px}}
@media(prefers-reduced-motion:reduce){.fan-item img{transition:none}}
/* Shared site canvas is dark; keep all copy readable until the white photo cards. */
.fan-intro p{color:#ddd7e0}.fan-intro .fan-gallery-note{color:#c4b9c9}.fan-intro h2,.fan-collection h2{color:#f9f7fb}
.fan-controls label,.fan-count{color:#e7e0ea}.fan-controls input,.fan-controls select{color:#231c28}
.fan-item-caption,.fan-item-caption strong{color:#211923}.fan-empty{color:#241b29}

.fan-load-more{display:block;margin:38px auto 12px;padding:17px 36px;border:1px solid #dbcdde;background:#f0e9f2;color:#261b2b;font-size:13px;letter-spacing:.07em;font-weight:850;cursor:pointer}.fan-load-more[hidden]{display:none}.fan-load-more:hover{background:#fff}.fan-item img{background:#211927}.fan-item-caption strong{font-size:14px;overflow-wrap:anywhere}
