/* FILAMENT visual gallery — self-contained without changes to legacy layout */
.fg-main{background:#080d0e;color:#f0e8d8;overflow-x:clip}.fg-hero{min-height:79svh;display:flex;align-items:end;position:relative;isolation:isolate;padding:130px max(5vw,24px) 95px;box-sizing:border-box;overflow:hidden}.fg-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.46) saturate(.78);z-index:-2}.fg-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050909ef,transparent 88%),linear-gradient(0deg,#070b0bf2,transparent 80%);z-index:-1}.fg-hero-content{max-width:1360px;width:100%;margin:0 auto}.fg-code,.gallery-id{font:10px/1.7 'DM Mono',monospace;letter-spacing:.14em;color:#cbb18a}.fg-hero h1,.fg-end h2{font:500 clamp(68px,10vw,164px)/.78 'Cormorant Garamond',Georgia,serif;letter-spacing:-.05em;margin:30px 0}.fg-hero h1 em,.fg-end h2 em,.fg-section-head h2 em{color:#d5b788;font-weight:400}.fg-hero p{max-width:580px;font:16px/1.85 Manrope,sans-serif;color:#d4d1c6}.fg-jumplinks{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.fg-jumplinks a,.fg-cta{display:inline-flex;align-items:center;padding:15px 20px;border:1px solid #d7b47b8c;font:10px 'DM Mono',monospace;letter-spacing:.08em;color:#e0c69a}.fg-jumplinks a:hover,.fg-cta:hover{background:#d5bb8a;color:#090d0e}.fg-body{width:min(1430px,92%);margin:0 auto;padding-bottom:110px}.fg-section{padding:clamp(75px,9vw,145px) 0 0}.fg-section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end;margin-bottom:32px}.fg-section-head h2{font:500 clamp(55px,6.8vw,105px)/.88 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;margin:14px 0 0}.fg-section-head p{font:15px/1.9 Manrope,sans-serif;color:#aeb5ae;margin:0 0 4px;max-width:430px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery-card{min-width:0;background:#101718;border:1px solid #d5b98833;overflow:hidden}.gallery-photo{padding:0;border:0;background:#090f0d;position:relative;width:100%;display:block;cursor:zoom-in;overflow:hidden}.gallery-photo img{display:block;width:100%;height:clamp(390px,43vw,650px);object-fit:cover;object-position:50% 20%;transition:transform .55s ease,filter .5s;filter:saturate(.83)}.gallery-photo:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-zoom{position:absolute;bottom:18px;right:18px;background:#08100dd9;border:1px solid #d9bd8e77;padding:11px 13px;color:#e6d0a1;font:9px 'DM Mono',monospace;letter-spacing:.08em}.gallery-caption{display:flex;justify-content:space-between;gap:12px;padding:26px 29px 32px}.gallery-caption h3{font:500 clamp(29px,2.7vw,48px)/1.03 'Cormorant Garamond',serif;margin:10px 0}.gallery-caption p{font:13px/1.85 Manrope,sans-serif;color:#aeb4a8;max-width:54ch;margin:0}.fg-end{margin:130px auto 30px;padding:100px 0 0;border-top:1px solid #d5b9882d;text-align:center}.fg-end h2{font-size:clamp(65px,8vw,120px)}.fg-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#050809f5;color:#e5d4b0;padding:55px 5vw;box-sizing:border-box;overflow:auto}.fg-lightbox::backdrop{background:#000e}.fg-lightbox[open]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.fg-lightbox img{max-width:100%;max-height:78vh;object-fit:contain}.fg-lightbox p{font:11px 'DM Mono',monospace;letter-spacing:.12em}.fg-close{position:absolute;right:24px;top:18px;padding:11px 16px;color:#e9d5b1;background:#101718;border:1px solid #d2bd9580;cursor:pointer}
@media(max-width:750px){.fg-section-head{grid-template-columns:1fr;gap:12px}.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-photo img{height:auto;max-height:75vh;object-fit:contain}.fg-hero{min-height:70svh;padding:120px 6vw 65px}.fg-hero h1{font-size:clamp(66px,13vw,100px)}.fg-section-head h2{font-size:clamp(52px,11vw,78px)}.fg-section{padding-top:75px}.fg-body{width:90%}.gallery-caption{padding:22px}.fg-end{margin-top:65px;padding-top:70px}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none!important}}
/* Portrait framing correction: preserve complete character renders and heads. */
#characters .gallery-photo,
#studies .gallery-photo{display:flex;align-items:center;justify-content:center;background:#0b0f10}
#characters .gallery-photo img,
#studies .gallery-photo img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top;transform:none}
#characters .gallery-photo:hover img,
#studies .gallery-photo:hover img{transform:none;filter:saturate(1)}
@media(max-width:750px){
 #characters .gallery-photo img,#studies .gallery-photo img{max-height:none;height:auto;object-fit:contain}
}

/* v3 — compact portrait presentation; full artwork stays visible */
#characters .gallery-grid,#studies .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
#characters .gallery-card,#studies .gallery-card{max-width:100%;align-self:start}
#characters .gallery-photo,#studies .gallery-photo{height:410px;overflow:hidden}
#characters .gallery-photo img,#studies .gallery-photo img{height:100%;width:100%;max-height:100%;object-fit:contain;object-position:center center}
#characters .gallery-caption,#studies .gallery-caption{padding:20px 22px 25px}
#characters .gallery-caption h3,#studies .gallery-caption h3{font-size:clamp(26px,2.1vw,36px)}
@media(max-width:960px){#characters .gallery-grid,#studies .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#characters .gallery-photo,#studies .gallery-photo{height:380px}}
@media(max-width:560px){#characters .gallery-grid,#studies .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#characters .gallery-photo,#studies .gallery-photo{height:245px}#characters .gallery-caption,#studies .gallery-caption{padding:13px}#characters .gallery-caption h3,#studies .gallery-caption h3{font-size:24px}#characters .gallery-caption p,#studies .gallery-caption p{font-size:11px}#characters .gallery-id,#studies .gallery-id{font-size:8px}}

/* v4: two portrait cards per row; retain modest image height and uncropped subjects */
#characters .gallery-grid,#studies .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
#characters .gallery-photo,#studies .gallery-photo{height:390px!important}
#characters .gallery-photo img,#studies .gallery-photo img{height:100%!important;max-height:100%!important;object-fit:contain!important}
@media(max-width:700px){#characters .gallery-grid,#studies .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#characters .gallery-photo,#studies .gallery-photo{height:245px!important}}
@media(max-width:410px){#characters .gallery-photo,#studies .gallery-photo{height:210px!important}}

/* v5 / cinematic stills and antagonist artwork */
.fg-cinematic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fg-cinematic-grid .gallery-photo{height:auto;min-height:250px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#111b1d}
.fg-cinematic-grid .gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;max-height:none;position:absolute;inset:0}
.fg-cinematic-grid .gallery-caption{min-height:150px}
.fg-cinematic-grid .fg-image-unavailable{pointer-events:none;background:linear-gradient(140deg,#121c1a,#090d10);border-bottom:1px solid #c7aa7433}
.fg-cinematic-grid .fg-image-unavailable:before{content:"ARTWORK FILE AWAITING UPLOAD";font:10px/1.7 'DM Mono',monospace;letter-spacing:.12em;color:#c6aa79;padding:20px;text-align:center}
.fg-cinematic-grid .fg-image-unavailable .gallery-zoom{display:none}
@media(max-width:700px){.fg-cinematic-grid{grid-template-columns:1fr;gap:16px}.fg-cinematic-grid .gallery-photo{min-height:200px}}

/* v6: mobile gallery is always a single, readable card per row */
@media(max-width:700px){
 .fg-main .gallery-grid,
 .fg-main #characters .gallery-grid,
 .fg-main #studies .gallery-grid,
 .fg-main .fg-cinematic-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .fg-main .gallery-card{width:100%!important;min-width:0!important}
 .fg-main #characters .gallery-photo,
 .fg-main #studies .gallery-photo{height:clamp(360px,105vw,560px)!important}
 .fg-main #characters .gallery-photo img,
 .fg-main #studies .gallery-photo img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
 .fg-main .gallery-caption{padding:21px!important}
 .fg-main .gallery-caption h3{font-size:clamp(28px,7vw,38px)!important}
 .fg-main .gallery-caption p{font-size:13px!important}
 .fg-main .gallery-id{font-size:10px!important}
}
