/* v2.10.60 — release hardening, accessibility, stable media rendering */
html{scroll-padding-top:92px}
img{max-width:100%}
img.seo-cover-image{background:#030303}
:focus-visible{outline:3px solid #e6bd69!important;outline-offset:4px!important}
.site-footer .template-credit,.template-credit{font-size:12px!important;line-height:1.55!important;color:#a49d91!important}
.site-footer a:not(.social-facebook):not(.social-tiktok):not(.social-pinterest):not(.social-youtube){padding-block:3px}
.cookie-detail-card{display:block!important;margin-top:18px}
.cookie-detail-card span{display:block;margin-bottom:8px;color:#d6ad5b;font-weight:700;overflow-wrap:anywhere}
.cookie-detail-card p{margin:4px 0!important}
@media (pointer:coarse){
  .site-footer a:not(.social-facebook):not(.social-tiktok):not(.social-pinterest):not(.social-youtube){display:flex;align-items:center;min-height:40px}
}

.site-footer .copyright,.copyright{font-size:11px!important;line-height:1.55!important;color:#a49d91!important}

/* v2.10.63 — full-site media and collection layout repair */
/* Preserve each page's own object-fit rules. The previous global !important
   caused cover letterboxing, giant empty bands and unreadable previews. */
img.seo-cover-image{background:#030303}

/* Collection hero covers: keep the blending veil behind the actual book. */
.pale-sequence-page .hero-visual::after,
.blackmere-files-page .hero-visual::after{z-index:2;opacity:.38}
.pale-sequence-page .hero-cover,
.blackmere-files-page .hero-cover{overflow:visible}
.pale-sequence-page .hero-cover img,
.blackmere-files-page .hero-cover img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Collection book covers: use the natural cover ratio and never create
   oversized empty rectangles around the artwork. */
.pale-sequence-page .cover-frame img,
.blackmere-files-page .cover-frame img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.heart-of-steam-page .cover-frame{aspect-ratio:5/8}
.heart-of-steam-page .cover-frame img{object-fit:cover;object-position:center}
.orbital-command-academy-page .book-cover img{object-fit:cover;object-position:center top}
.orbital-command-academy-page .book-card:nth-child(2) .book-cover img,
.orbital-command-academy-page .book-card:nth-child(3) .book-cover img{object-fit:contain}

/* Heart of Steam centerpiece: show the whole mechanical heart rather than a
   narrow bright slice disappearing into the black background. */
.heart-of-steam-page .mechanical-heart{overflow:visible}
.heart-of-steam-page .mechanical-heart img{width:88%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:50%;background:radial-gradient(circle,rgba(8,17,22,.22),rgba(2,5,7,.92));box-shadow:0 0 0 1px rgba(229,185,94,.24),0 24px 65px rgba(0,0,0,.52);}

/* Thirteenth Seal collection: contain large editorial art within readable
   columns and keep covers/maps at their natural ratio. */
.thirteenth-seal-academy-page .map-frame{width:min(100%,620px);justify-self:center}
.thirteenth-seal-academy-page .map-frame img,
.thirteenth-seal-academy-page .book-stage img{height:auto;object-fit:contain}
.thirteenth-seal-academy-page .fox-panel img{object-position:center top}

/* Bonus archives — document previews must be readable in full. Portrait PDFs
   get a taller stage; landscape material gets a lower wide stage. */
.hos-bonus-page .hos-material-card,
.oca-bonus-page .oca-material-card,
.blackmere-bonus-page .bm-material-card,
.pale-bonus-page .pale-material-card,
.tsa-bonus-page .tsa-material-card,
.tbc-vault-page .tbc-material-card{grid-template-rows:auto minmax(0,1fr)}

.hos-bonus-page .hos-material-visual,
.oca-bonus-page .oca-material-visual,
.blackmere-bonus-page .bm-material-visual,
.pale-bonus-page .pale-material-visual,
.tsa-bonus-page .tsa-material-visual,
.tbc-vault-page .tbc-material-visual{height:320px;display:grid;place-items:center;padding:12px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.035),transparent 62%),#030506}

.hos-bonus-page .hos-material-visual--portrait,
.oca-bonus-page .oca-material-visual--portrait,
.blackmere-bonus-page .bm-material-visual--portrait,
.pale-bonus-page .pale-material-visual--portrait,
.tsa-bonus-page .tsa-material-visual--portrait,
.tbc-vault-page .tbc-material-card:not(.tbc-material-card--wide) .tbc-material-visual{height:460px}

.tsa-bonus-page .tsa-material-visual--wide{height:300px}

.hos-bonus-page .hos-material-visual img,
.oca-bonus-page .oca-material-visual img,
.blackmere-bonus-page .bm-material-visual img,
.pale-bonus-page .pale-material-visual img,
.tsa-bonus-page .tsa-material-visual img,
.tbc-vault-page .tbc-material-visual img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none}

.hos-bonus-page .hos-material-visual::after,
.oca-bonus-page .oca-material-visual::after,
.blackmere-bonus-page .bm-material-visual::after,
.pale-bonus-page .pale-material-visual::after,
.tsa-bonus-page .tsa-material-visual::after,
.tbc-vault-page .tbc-material-visual::after{background:linear-gradient(180deg,transparent 72%,rgba(3,5,6,.48));pointer-events:none}

.hos-bonus-page .hos-material-card--wide,
.oca-bonus-page .oca-material-card--wide,
.pale-bonus-page .pale-material-card--wide,
.tbc-vault-page .tbc-material-card--wide{grid-template-rows:none}
.hos-bonus-page .hos-material-card--wide .hos-material-visual,
.oca-bonus-page .oca-material-card--wide .oca-material-visual,
.pale-bonus-page .pale-material-card--wide .pale-material-visual,
.tbc-vault-page .tbc-material-card--wide .tbc-material-visual{height:auto;min-height:360px}

/* Avoid headings or buttons forcing horizontal overflow on smaller screens. */
.primary-nav a,.hero-copy,.book-copy,.material-content{min-width:0}
h1,h2,h3,p,a{overflow-wrap:break-word}

@media(max-width:900px){
  .pale-sequence-page .hero-cover,
  .blackmere-files-page .hero-cover{width:min(350px,82vw)}
  .heart-of-steam-page .mechanical-heart img{width:92%}
  .thirteenth-seal-academy-page .map-frame{width:min(100%,560px)}
  .hos-bonus-page .hos-material-visual--portrait,
  .oca-bonus-page .oca-material-visual--portrait,
  .blackmere-bonus-page .bm-material-visual--portrait,
  .pale-bonus-page .pale-material-visual--portrait,
  .tsa-bonus-page .tsa-material-visual--portrait,
  .tbc-vault-page .tbc-material-card:not(.tbc-material-card--wide) .tbc-material-visual{height:430px}
}

@media(max-width:620px){
  .pale-sequence-page .cover-frame,
  .blackmere-files-page .cover-frame{max-width:360px;margin-inline:auto}
  .heart-of-steam-page .mechanical-heart img{width:96%}
  .hos-bonus-page .hos-material-visual,
  .oca-bonus-page .oca-material-visual,
  .blackmere-bonus-page .bm-material-visual,
  .pale-bonus-page .pale-material-visual,
  .tsa-bonus-page .tsa-material-visual,
  .tbc-vault-page .tbc-material-visual{height:250px;padding:9px}
  .hos-bonus-page .hos-material-visual--portrait,
  .oca-bonus-page .oca-material-visual--portrait,
  .blackmere-bonus-page .bm-material-visual--portrait,
  .pale-bonus-page .pale-material-visual--portrait,
  .tsa-bonus-page .tsa-material-visual--portrait,
  .tbc-vault-page .tbc-material-card:not(.tbc-material-card--wide) .tbc-material-visual{height:390px}
  .tsa-bonus-page .tsa-material-visual--wide{height:230px}
  .hos-bonus-page .hos-material-card--wide,
  .oca-bonus-page .oca-material-card--wide,
  .pale-bonus-page .pale-material-card--wide,
  .tbc-vault-page .tbc-material-card--wide{grid-template-rows:auto minmax(0,1fr)}
  .hos-bonus-page .hos-material-card--wide .hos-material-visual,
  .oca-bonus-page .oca-material-card--wide .oca-material-visual,
  .pale-bonus-page .pale-material-card--wide .pale-material-visual,
  .tbc-vault-page .tbc-material-card--wide .tbc-material-visual{height:250px;min-height:0}
}

/* v2.10.64 — Thirteenth Seal Fox section proportion repair */
@media (min-width:981px){
  .thirteenth-seal-academy-page .fox-grid{
    grid-template-columns:minmax(320px,440px) minmax(0,1fr);
    align-items:center;
  }
  .thirteenth-seal-academy-page .fox-panel{
    width:100%;
    aspect-ratio:4/5;
    max-height:620px;
    align-self:center;
  }
  .thirteenth-seal-academy-page .fox-panel img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center center;
  }
  .thirteenth-seal-academy-page .fox-copy{
    align-self:center;
  }
}
@media (max-width:980px){
  .thirteenth-seal-academy-page .fox-panel{
    width:min(100%,620px);
    aspect-ratio:4/5;
  }
  .thirteenth-seal-academy-page .fox-panel img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center center;
  }
}

/* v2.10.65 — News page editorial image alignment */
/* Keep the Saintless Bride artwork at its existing scale, give the portrait
   enough vertical room, and lift it slightly so the complete title remains
   readable without clipping the bride's head. */
@media (min-width:761px){
  .news-page .news-card-media--portrait{
    height:520px;
    align-items:start;
  }
  .news-page .news-card-media--portrait img{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:initial;
    object-position:center top;
    transform:translateY(-30px);
  }
}
@media (min-width:471px) and (max-width:760px){
  .news-page .news-card-media--portrait{
    height:500px;
    align-items:start;
  }
  .news-page .news-card-media--portrait img{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:initial;
    object-position:center top;
    transform:translateY(-22px);
  }
}
@media (max-width:470px){
  .news-page .news-card-media--portrait{
    height:430px;
    align-items:start;
  }
  .news-page .news-card-media--portrait img{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:initial;
    object-position:center top;
    transform:translateY(-18px);
  }
}

/* Use the first archive card's 12:7 landscape canvas as the common visual
   standard. Portrait and extra-wide sources stay undistorted and receive
   controlled black letterboxing inside an identical image area. */
.news-page .news-archive-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:12/7;
  object-fit:contain;
  object-position:center;
  background:#000;
  transform:none;
}
