
:root{
  --bg:#07080b;
  --panel:#10131a;
  --panel-2:#151923;
  --text:#eef1f5;
  --muted:#9ea7b3;
  --accent:#a61222;
  --accent-2:#2d6f8f;
  --line:#262b35;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top,#111520 0,#07080b 45%,#050507 100%);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,8,11,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px}
.brand{font-family:Georgia,'Times New Roman',serif;letter-spacing:.13em;text-transform:uppercase;font-size:1.05rem}
.brand span{color:#d32a3d}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{font-size:.9rem;color:var(--muted)}
nav a:hover,nav a.active{color:#fff}
.hero{min-height:72vh;display:grid;place-items:center;padding:80px 0;border-bottom:1px solid var(--line)}
.hero-inner{max-width:900px;text-align:center}
.kicker{letter-spacing:.32em;text-transform:uppercase;color:#d66a74;font-size:.76rem}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.1}
h1{font-size:clamp(3rem,8vw,7rem);margin:.15em 0 .25em;text-transform:uppercase;letter-spacing:.04em}
h2{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 20px}
h3{font-size:1.35rem}
.lead{font-size:1.15rem;color:#c7ced8;max-width:760px;margin:0 auto 30px}
.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 20px;border:1px solid #3a414d;background:#121722;border-radius:6px}
.btn.primary{background:linear-gradient(135deg,#7e101d,#b9162a);border-color:#c62b3b}
.section{padding:78px 0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:10px;padding:24px;min-height:190px}
.card p{color:var(--muted)}
.page-hero{padding:70px 0 42px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.6rem,6vw,5rem);text-align:left}
.page-hero .lead{margin:0;max-width:760px}
.listing{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.meta{font-size:.85rem;color:#d66a74;text-transform:uppercase;letter-spacing:.12em}
.quote{border-left:3px solid var(--accent);padding:20px 24px;background:#0d1016;color:#c9d0da}
.site-footer{border-top:1px solid var(--line);padding:34px 0 50px;color:var(--muted);font-size:.9rem}
.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.placeholder{border:1px dashed #39414e;padding:50px 20px;text-align:center;color:#87919d;background:#0b0d12}
@media(max-width:850px){
  .nav{align-items:flex-start;flex-direction:column;padding:18px 0}
  nav{gap:12px}
  .grid,.listing{grid-template-columns:1fr}
  .hero{min-height:62vh}
}


/* Home page cinematic redesign */
.home-page{background:#000}
.saga-banner{position:relative;background:#000;border-bottom:1px solid #1c1c1f;padding:70px 0 62px;overflow:hidden}
.banner-copy{text-align:center}
.saga-banner h1{font-size:clamp(3rem,8vw,7.2rem);margin:.12em 0 .08em;letter-spacing:.075em}
.banner-subtitle{margin:0;color:#b7bbc3;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.12em}
.demon-mark{position:absolute;right:clamp(18px,5vw,72px);top:50%;width:clamp(74px,9vw,132px);transform:translateY(-50%);opacity:.55}
.demon-mark svg{width:100%;height:auto;fill:none;stroke:#8d0d19;stroke-width:3}
.demon-mark svg circle:last-child{fill:#8d0d19;stroke:none}
.home-video{position:relative;background:#000;width:100%;height:min(72vh,760px);overflow:hidden;border-bottom:1px solid #1d2026}
.home-video video{width:100%;height:100%;object-fit:cover;display:block}
.video-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.02) 60%,rgba(0,0,0,.48))}
.books-feature{background:#050505}
.section-heading{text-align:center;margin-bottom:36px}
.section-heading h2{margin-top:8px}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.book-card{position:relative;background:linear-gradient(180deg,#101114,#090a0d);border:1px solid #24262d;min-height:350px;padding:30px 26px;display:flex;flex-direction:column}
.book-card h3{font-size:1.55rem;margin:.55em 0}
.book-card p{color:#9ea7b3;flex:1}
.book-number{position:absolute;right:20px;top:12px;font-family:Georgia,'Times New Roman',serif;font-size:4.5rem;line-height:1;color:rgba(255,255,255,.045)}
.coming-soon{border-color:#4a2027}
.disabled{opacity:.45;cursor:default}
.lore-strike{background:#000;border-top:1px solid #18191d;border-bottom:1px solid #18191d;padding:74px 0}
.lore-strike p{max-width:940px;margin:0 auto;text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.55rem,3vw,2.7rem);line-height:1.35;color:#f0f0f0}
@media(max-width:850px){
  .demon-mark{right:12px;top:24px;transform:none;width:68px;opacity:.4}
  .book-grid{grid-template-columns:1fr}
  .home-video{height:56vh}
}

.image-banner{padding:0;background:#000}
.image-banner img{width:100%;height:auto;display:block}
.banner-tagline{background:#000;border-bottom:1px solid #1c1c1f;padding:18px 0 22px}
.banner-tagline p{margin:0;text-align:center;color:#b7bbc3;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.12em}

.home-content-bg{
  position:relative;
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.46)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_47_25%20AM.png");
  background-repeat:repeat;
  background-size:720px 720px;
  background-position:center top;
}
.home-content-bg .books-feature{background:transparent}
.home-content-bg .lore-strike{background:rgba(0,0,0,.48)}
.home-content-bg .home-video{max-width:1500px;margin:0 auto;border-left:1px solid #17191e;border-right:1px solid #17191e}
.home-art-footer{position:relative;background:#000;border-top:1px solid #18191d;overflow:hidden}
.home-art-footer>img{width:100%;height:auto;display:block}
.home-footer-copy{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:20px;padding:18px clamp(20px,4vw,64px);background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));color:#aeb4bd;font-size:.86rem}
@media(max-width:850px){
  .home-content-bg{background-size:520px 520px}
  .home-footer-copy{position:relative;background:#000;flex-direction:column;gap:4px}
}

.product-grid{align-items:stretch}
.product-card{padding:0;overflow:hidden}
.product-art{height:300px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.42);padding:18px;border-bottom:1px solid #24262d}
.product-art img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.55))}
.product-copy{padding:26px;display:flex;flex-direction:column;flex:1}
.product-copy h3{margin:.45em 0 .25em}
.book-series-label{margin:0 0 10px;color:#c6ccd4!important;font-size:.92rem;font-style:italic}
.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.coming-art{height:300px;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(139,15,27,.26),rgba(0,0,0,.62) 64%);border-bottom:1px solid #4a2027}
.coming-art span{font-family:Georgia,'Times New Roman',serif;font-size:7rem;color:rgba(255,255,255,.08);text-shadow:0 0 35px rgba(162,18,34,.35)}
@media(max-width:850px){
  .product-art,.coming-art{height:260px}
}


/* Books page */
.books-page{background:#030303}
.books-background{
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.36),rgba(0,0,0,.52)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_14_04%20AM.png");
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
}
.books-intro{padding:72px 0 56px;background:rgba(0,0,0,.72);border-bottom:1px solid #252932}
.books-intro h1{font-size:clamp(2.8rem,7vw,6rem);margin:.12em 0 .18em}
.books-intro .lead{margin:0;max-width:820px}
.novel-section{padding:0 0 72px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(2,3,5,.46)}
.novel-banner{width:100%;height:clamp(190px,25vw,390px);object-fit:cover;display:block;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.10)}
.novel-content{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding-top:48px}
.novel-content.reverse{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}
.novel-content.reverse .novel-art{order:2}
.novel-content.reverse .novel-copy{order:1}
.novel-art{min-height:440px;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(180deg,rgba(5,7,10,.82),rgba(6,7,9,.56));border:1px solid rgba(255,255,255,.10);box-shadow:0 22px 60px rgba(0,0,0,.45)}
.novel-art img{max-height:430px;width:100%;object-fit:contain;filter:drop-shadow(0 20px 34px rgba(0,0,0,.55))}
.novel-copy{padding:20px 0}
.novel-copy h2{font-size:clamp(2rem,4vw,3.65rem);margin:.18em 0 .25em}
.novel-copy>p{max-width:680px;color:#c4cbd3;font-size:1.05rem}
.novel-sub{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#fff!important;font-size:1.25rem!important}
.format-row{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 8px}
.format-row span{padding:7px 11px;border:1px solid rgba(255,255,255,.17);background:rgba(0,0,0,.38);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#d5dae1}
.muted-formats{opacity:.7}
.future-cover{background:radial-gradient(circle at center,rgba(194,144,18,.20),rgba(0,0,0,.78) 65%);border-color:rgba(212,169,45,.28)}
.future-mark{font-family:Georgia,'Times New Roman',serif;font-size:9rem;color:rgba(235,197,87,.14);text-shadow:0 0 40px rgba(230,183,55,.16)}
.novel-red .meta{color:#e26262}
.novel-purple .meta{color:#b884e8}
.novel-green .meta{color:#68d3b1}
.novel-gold .meta{color:#e4bf55}
@media(max-width:900px){
  .books-background{background-attachment:scroll}
  .novel-content,.novel-content.reverse{grid-template-columns:1fr;gap:24px}
  .novel-content.reverse .novel-art,.novel-content.reverse .novel-copy{order:initial}
  .novel-art{min-height:320px}
  .novel-art img{max-height:330px}
  .novel-section{padding-bottom:52px}
}

/* Four-title homepage catalogue */
@media(min-width:1100px){
  .product-grid{grid-template-columns:repeat(4,1fr)}
  .product-card .product-art{height:255px}
  .product-card .product-copy{padding:22px}
  .product-card h3{font-size:1.35rem}
}
@media(min-width:851px) and (max-width:1099px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
}

/* Graphic novel spotlight */
.graphic-novel-section{padding:78px 0;background:rgba(0,0,0,.58);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.graphic-novel-wrap{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(0,.85fr);gap:50px;align-items:center}
.graphic-novel-art{background:rgba(0,0,0,.48);border:1px solid #2a2d34;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.graphic-novel-art img{width:100%;height:auto;display:block}
.graphic-novel-copy h2{font-size:clamp(2rem,4vw,3.6rem);margin:.25em 0 .2em}
.graphic-novel-copy>p{color:#c3cad3;max-width:620px}
.graphic-novel-title{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem!important;color:#fff!important}
@media(max-width:900px){
  .graphic-novel-wrap{grid-template-columns:1fr}
}


/* Universe gateway */
.universe-page{background:#000}
.universe-content-bg{
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.56)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_47_25%20AM.png");
  background-repeat:repeat;
  background-size:720px 720px;
  background-position:center top;
}
.universe-intro{padding:74px 0 36px;text-align:center;background:rgba(0,0,0,.38)}
.universe-intro h1{margin:.12em 0 .18em}
.universe-intro .lead{max-width:860px}
.universe-gateway{padding-top:40px}
.universe-symbol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.universe-symbol-card{
  display:block;
  text-align:center;
  padding:26px 24px 30px;
  background:linear-gradient(180deg,rgba(13,15,20,.88),rgba(4,5,8,.92));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 22px 55px rgba(0,0,0,.40);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.universe-symbol-card:hover{
  transform:translateY(-5px);
  border-color:rgba(210,42,61,.62);
  box-shadow:0 26px 70px rgba(0,0,0,.58),0 0 34px rgba(150,18,35,.16);
}
.universe-symbol-card h2{font-size:1.65rem;margin:18px 0 8px}
.universe-symbol-card p{margin:0;color:#aeb6c1}
.symbol-frame{width:180px;height:180px;margin:0 auto;background-color:#f1efe9}
.sprite{
  background-image:url("ChatGPT%20Image%20Sep%2020,%202026,%2003_43_36%20PM.png");
  background-size:500% 400%;
  background-repeat:no-repeat;
  filter:invert(1) contrast(1.15);
}
.symbol-factions{background-position:50% 0%}
.symbol-worlds{background-position:75% 66.666%}
.symbol-ships{background-position:100% 100%}
.symbol-technology{background-position:100% 0%}
.symbol-timeline{background-position:25% 66.666%}
.timeline-symbol{background-size:cover;background-position:center;background-repeat:no-repeat;filter:none}
.ag-symbol{
  background-image:url("ChatGPT%20Image%20Sep%2020,%202026,%2003_29_27%20PM%20(5).png");
  background-size:cover;
  background-position:center;
  filter:invert(1) contrast(1.12);
}
.ag-card{border-color:rgba(162,18,34,.35)}
.ag-card:hover{border-color:rgba(216,38,58,.78);box-shadow:0 26px 70px rgba(0,0,0,.58),0 0 42px rgba(180,20,40,.25)}
.universe-category-preview{scroll-margin-top:90px;padding:50px 0;border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.46)}
.universe-category-preview h2{margin:.15em 0 .25em}
.universe-category-preview p{max-width:780px;color:#b6bec9;font-size:1.04rem}
.ag-preview{background:linear-gradient(90deg,rgba(55,0,8,.28),rgba(0,0,0,.52),rgba(55,0,8,.28))}
@media(max-width:980px){
  .universe-symbol-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .universe-symbol-grid{grid-template-columns:1fr}
  .symbol-frame{width:150px;height:150px}
  .universe-content-bg{background-size:520px 520px}
}


/* Factions / Zeus */
.factions-page{background:#000}
.factions-content-bg{
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.36),rgba(0,0,0,.60)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_47_25%20AM.png");
  background-repeat:repeat;
  background-size:720px 720px;
  background-position:center top;
}
.factions-intro{padding:58px 0 34px;text-align:center;background:rgba(0,0,0,.48);border-bottom:1px solid rgba(255,255,255,.08)}
.factions-intro h1{font-size:clamp(2.8rem,7vw,6rem);margin:.1em 0 0}
.archive-back{display:inline-block;margin-bottom:20px;color:#aeb5bf;font-size:.9rem}
.archive-back:hover{color:#fff}
.zeus-feature{padding:56px 0 84px}
.zeus-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:54px;align-items:start}
.zeus-symbol-panel{position:sticky;top:100px;text-align:center;background:rgba(7,8,12,.86);border:1px solid rgba(255,255,255,.10);padding:28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.48)}
.zeus-symbol-wrap{background:#f3f1ec;padding:16px;border:1px solid rgba(255,255,255,.12)}
.zeus-symbol-wrap img{width:100%;height:auto;display:block;filter:contrast(1.05)}
.zeus-designation{font-family:Georgia,'Times New Roman',serif;font-size:2.1rem;letter-spacing:.22em;margin:22px 0 5px}
.zeus-symbol-panel p{margin:0;color:#aeb6c1;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem}
.zeus-lore{background:linear-gradient(180deg,rgba(11,13,18,.90),rgba(4,5,7,.90));border:1px solid rgba(255,255,255,.10);padding:clamp(28px,4vw,52px);box-shadow:0 25px 70px rgba(0,0,0,.45)}
.zeus-lore p{color:#c6cdd6;font-size:1.04rem;max-width:840px}
.zeus-opening{font-family:Georgia,'Times New Roman',serif;font-size:1.42rem!important;color:#fff!important}
.zeus-punch{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem!important;color:#fff!important}
.house-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}
.house-grid div{padding:16px 18px;border-left:3px solid #a61222;background:rgba(0,0,0,.38)}
.house-grid strong{display:block;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.12rem}
.house-grid span{display:block;color:#aeb6c1;font-size:.92rem;margin-top:3px}
.house-grid div:last-child{grid-column:1/-1;border-color:#620d18}
.zeus-sequence,.black-ops{display:grid;gap:7px;margin:26px 0;padding:18px 20px;background:rgba(0,0,0,.42);border:1px solid rgba(166,18,34,.28)}
.zeus-sequence span,.black-ops span{font-family:Georgia,'Times New Roman',serif;color:#f0f0f0;font-size:1.14rem}
.black-ops{border-color:rgba(255,255,255,.10)}
.zeus-lore blockquote{margin:38px 0 0;padding:28px 28px;border-left:3px solid #a61222;background:rgba(0,0,0,.48);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.45rem,3vw,2.4rem);line-height:1.35;color:#fff}
@media(max-width:900px){
  .zeus-layout{grid-template-columns:1fr}
  .zeus-symbol-panel{position:relative;top:auto;max-width:420px;margin:0 auto}
  .house-grid{grid-template-columns:1fr}
  .house-grid div:last-child{grid-column:auto}
  .factions-content-bg{background-size:520px 520px}
}


/* Faction gateway */
.faction-gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.faction-gateway-card{display:block;background:linear-gradient(180deg,rgba(11,13,18,.92),rgba(4,5,7,.94));border:1px solid rgba(255,255,255,.10);padding:28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.44);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
a.faction-gateway-card:hover{transform:translateY(-5px);border-color:rgba(190,26,45,.72);box-shadow:0 28px 70px rgba(0,0,0,.58),0 0 36px rgba(160,20,38,.16)}
.faction-gateway-symbol{width:min(260px,72%);aspect-ratio:1/1;margin:0 auto 22px;background:#f3f1ec;border:1px solid rgba(255,255,255,.10);display:grid;place-items:center;padding:14px}
.faction-gateway-symbol img{width:100%;height:100%;object-fit:contain}
.faction-gateway-card h2{font-size:2rem;margin:.2em 0 .35em}
.faction-gateway-card p{color:#aeb6c1;max-width:480px;margin:0 auto}
.future-faction{opacity:.58}
.symbol-placeholder{background:rgba(0,0,0,.35);color:rgba(255,255,255,.12);font-size:5rem}
@media(max-width:760px){.faction-gateway-grid{grid-template-columns:1fr}}


/* Grouped faction archive */
.faction-bloc{padding:62px 0;border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.32)}
.faction-bloc-alt{background:rgba(5,7,11,.56)}
.faction-bloc-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:34px;align-items:end;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.09)}
.faction-bloc-heading h2{margin:.08em 0 0;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:.04em}
.faction-bloc-heading p{margin:0;color:#aeb6c1;max-width:680px}
.faction-gateway-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.faction-gateway-card h3{font-size:1.55rem;margin:.25em 0 .38em}
.faction-gateway-symbol{width:min(210px,72%)}
.faction-sigil-placeholder{background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.06),rgba(0,0,0,.72));color:rgba(255,255,255,.28);font-family:Georgia,'Times New Roman',serif;font-size:4.2rem;border-color:rgba(255,255,255,.08)}
.faction-grid-zeus .faction-gateway-card:nth-child(-n+2){border-color:rgba(166,18,34,.32)}
@media(max-width:980px){
  .faction-gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .faction-bloc-heading{grid-template-columns:1fr}
  .faction-gateway-grid{grid-template-columns:1fr}
}


/* Long world names */
.zeus-symbol-panel{min-width:0;overflow:hidden}
.zeus-designation.long-world-name{
  font-size:1.18rem;
  letter-spacing:.09em;
  line-height:1.2;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}

/* Characters archive */
.characters-page{background:#000}
.characters-content-bg{
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.36),rgba(0,0,0,.60)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_47_25%20AM.png");
  background-repeat:repeat;
  background-size:720px 720px;
  background-position:center top;
}
.characters-intro{padding:72px 0 46px;text-align:center;background:rgba(0,0,0,.48);border-bottom:1px solid rgba(255,255,255,.08)}
.characters-intro h1{margin:.12em 0 .18em}
.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:stretch}
.character-panel{background:linear-gradient(180deg,rgba(11,13,18,.92),rgba(4,5,7,.94));border:1px solid rgba(255,255,255,.10);padding:32px;box-shadow:0 22px 60px rgba(0,0,0,.42)}
.character-panel h2{font-size:2rem;margin:.3em 0 .6em}
.character-panel p{color:#c6cdd6;font-size:1rem}
.character-stats{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);color:#d8dde4;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:900px){
  .character-grid{grid-template-columns:1fr}
  .characters-content-bg{background-size:520px 520px}
}

.character-portrait{margin:18px 0 22px;background:#050609;border:1px solid rgba(255,255,255,.10);overflow:hidden}
.character-portrait img{width:100%;height:520px;object-fit:cover;object-position:center top;display:block}
.character-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin:18px 0 8px}
.character-gallery img{width:100%;height:420px;object-fit:cover;object-position:center top;display:block;border:1px solid rgba(255,255,255,.10)}
.character-visual-panel{display:flex;flex-direction:column}
.character-visual-panel .character-portrait,.character-visual-panel .character-gallery{margin-bottom:0}
@media(max-width:640px){
  .character-portrait img{height:440px}
  .character-gallery{grid-template-columns:1fr}
  .character-gallery img{height:440px}
}

/* Gallery archive */
.gallery-page{background:#000}
.gallery-content-bg{
  background-color:#030303;
  background-image:
    linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.68)),
    url("ChatGPT%20Image%20Sep%2019,%202026,%2010_47_25%20AM.png");
  background-repeat:repeat;
  background-size:720px 720px;
  background-position:center top;
}
.gallery-intro{padding:72px 0 46px;text-align:center;background:rgba(0,0,0,.48);border-bottom:1px solid rgba(255,255,255,.08)}
.gallery-category-card{display:block;text-decoration:none;color:inherit;padding:30px;background:linear-gradient(180deg,rgba(11,13,18,.94),rgba(4,5,7,.96));border:1px solid rgba(255,255,255,.10);transition:transform .2s ease,border-color .2s ease}
.gallery-category-card:hover{transform:translateY(-3px);border-color:rgba(255,70,80,.45)}
.gallery-category-card h2{margin:.1em 0 .45em}
.gallery-category-card p{color:#aeb6c1;margin:0}
.cover-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.cover-gallery-card{margin:0;background:#050609;border:1px solid rgba(255,255,255,.10);padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.38)}
.cover-gallery-card img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#000}
@media(max-width:1000px){.cover-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.cover-gallery-grid{grid-template-columns:1fr}}

.character-art-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}
.character-art-card{margin:0;background:#050609;border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 44px rgba(0,0,0,.35);overflow:hidden}
.character-art-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#000}
.character-art-card figcaption{padding:14px 12px 16px;text-align:center;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#f1f3f5;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:1100px){.character-art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.character-art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.character-art-grid{grid-template-columns:1fr}}

.comic-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.comic-page-card{margin:0;background:#050609;border:1px solid rgba(255,255,255,.10);padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.38)}
.comic-page-card img{display:block;width:100%;height:auto;background:#000}
.comic-page-card figcaption{padding:12px 8px 4px;text-align:center;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#e5e8ec}
@media(max-width:760px){.comic-gallery-grid{grid-template-columns:1fr}}

/* About the Saga */
.about-saga-card{grid-column:1/-1;padding:42px 46px;background:linear-gradient(180deg,rgba(14,17,23,.96),rgba(6,7,10,.98));border:1px solid rgba(255,255,255,.10)}
.about-saga-card h2{font-size:2.4rem;margin:.25em 0 .65em}
.about-saga-card p{max-width:980px;color:#c6cdd6;line-height:1.82;font-size:1.04rem}
.about-saga-card p strong{color:#f3f4f6}
.about-saga-closing{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10);font-size:1.18rem!important;letter-spacing:.02em;color:#fff!important}
@media(max-width:700px){.about-saga-card{padding:28px 24px}.about-saga-card h2{font-size:2rem}}
