/* ===================== AUTHOR GALLERY ===================== */
.author-gallery{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}
.author-gallery-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(212,175,55,0.22);
  background:rgba(15,12,10,0.92);
  box-shadow:0 20px 52px rgba(0,0,0,0.24);
}
.author-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.author-gallery-card--wide{grid-column:1 / -1;}
.author-gallery-card--wide img{aspect-ratio:16/9;}
@media (max-width: 980px){
  .fp-ref-main{width:min(50vw, 430px);} 
  .fp-ref-side{width:min(26vw, 250px);} 
  .arc-card{width:220px;} 
  .arc-card-title{font-size:22px;} 
  .author-gallery{grid-template-columns:1fr;} 
  .author-gallery-card--wide{grid-column:auto;} 
}
@media (max-width: 760px){
  #frontispiece{padding:92px 12px 24px;}
  .fp-ref-shell{padding:10px;border-radius:18px;}
  .fp-ref-topline{left:24px;top:12px;font-size:10px;}
  .fp-ref-stage{padding:48px 10px 24px;min-height:420px;}
  .fp-ref-main{width:min(72vw, 340px);} 
  .fp-ref-side{display:none;} 
  #characters{padding:84px 12px 92px;}
  .arc-characters-shell{padding:18px 10px 56px;border-radius:22px;}
  .arc-viewport{height:420px;}
  .arc-card{width:180px;top:56%;}
  .arc-card-title{font-size:18px; margin-top:12px;}
}
/* ===== OVERRIDES: FRONTISPIECE + CHARACTERS ===== */
#frontispiece{
  background:
    radial-gradient(circle at 50% 50%, rgba(255,245,220,0.08) 0%, rgba(255,245,220,0.03) 16%, rgba(255,245,220,0.00) 40%),
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 8%, rgba(0,0,0,0.00) 16%),
    linear-gradient(180deg, rgba(21,18,16,0.96) 0%, rgba(11,9,9,0.98) 52%, rgba(6,5,6,0.99) 100%) !important;
  overscroll-behavior: contain;
}
.fp-ref-shell{
  background:
    radial-gradient(circle at 50% 50%, rgba(255,245,220,0.12) 0%, rgba(255,245,220,0.04) 16%, rgba(255,245,220,0.00) 38%),
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 8%, rgba(0,0,0,0.00) 16%),
    linear-gradient(180deg, rgba(21,18,16,0.96) 0%, rgba(11,9,9,0.98) 52%, rgba(6,5,6,0.99) 100%) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.16),
    inset 0 2px 6px rgba(255,255,255,0.06),
    inset 0 -1px 0 rgba(0,0,0,0.70),
    inset 0 -8px 18px rgba(0,0,0,0.24),
    0 16px 30px rgba(0,0,0,0.22),
    0 2px 10px rgba(0,0,0,0.16) !important;
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
}
.fp-ref-stage{
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.00) 28%),
    linear-gradient(180deg, rgba(36,32,28,0.82) 0%, rgba(17,15,14,0.88) 100%) !important;
  overscroll-behavior: contain;
}
.fp-ref-side{
  filter:none;
}
.fp-ref-panel{
  border:1px solid rgba(255,255,255,0.045);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 22px 60px rgba(0,0,0,0.38);
}
.fp-ref-panel img{object-position:center center;}
.fp-ref-side img{
  filter: blur(4.1px) saturate(1.02) brightness(0.74) !important;
  transform: scale(1.08) !important;
}
.fp-ref-left{ margin-right: calc(min(24vw, 340px) * -0.36) !important; }
.fp-ref-right{ margin-left: calc(min(24vw, 340px) * -0.36) !important; }
.fp-ref-main{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 30px 100px rgba(0,0,0,0.60),
    0 0 54px rgba(255,255,255,0.04) !important;
}
#characters{
  background:
    radial-gradient(circle at 50% 50%, rgba(255,245,220,0.08) 0%, rgba(255,245,220,0.02) 18%, rgba(255,245,220,0.00) 40%),
    linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.03) 8%, rgba(0,0,0,0.00) 16%),
    linear-gradient(180deg, rgba(21,18,16,0.96) 0%, rgba(11,9,9,0.98) 52%, rgba(6,5,6,0.99) 100%) !important;
}
.arc-characters-shell{
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.00) 26%),
    linear-gradient(180deg, rgba(21,18,16,0.92) 0%, rgba(11,9,9,0.96) 100%) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 2px 6px rgba(255,255,255,0.04),
    inset 0 -1px 0 rgba(0,0,0,0.72),
    0 16px 32px rgba(0,0,0,0.26) !important;
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
}
.arc-viewport{
  height: 660px !important;
  margin-top: 10px !important;
}
.arc-card{
  top: 50% !important;
}
.arc-card-media{
  border-radius: 24px !important;
  box-shadow:0 18px 40px rgba(0,0,0,0.28) !important;
  cursor:pointer;
}
.arc-card.is-active .arc-card-media{
  box-shadow:0 24px 58px rgba(0,0,0,0.34), 0 0 0 1px rgba(255,255,255,0.08) !important;
}
.arc-card img{
  cursor:pointer;
}
.lux-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .35s ease, visibility .35s ease;
  z-index:999999;
  padding:24px;
}
.lux-lightbox.show{
  opacity:1;
  visibility:visible;
}
.lux-lightbox img{
  max-width:96vw;
  max-height:94vh;
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow:0 0 50px rgba(212,175,55,0.20), 0 40px 120px rgba(0,0,0,0.70);
}
.lux-lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  font-size:38px;
  line-height:1;
  color:#f4e6c0;
  cursor:pointer;
  user-select:none;
}
@media (max-width: 980px){
  .arc-viewport{height:560px !important;}
  .arc-card{top:52% !important;}
}
@media (max-width: 760px){
  .arc-viewport{height:460px !important;}
  .arc-card{top:54% !important;}
}

