/* bonus-thirteenth-seal-academy.css */
:root{
  --tsa-bg:#050a08;
  --tsa-panel:#0a1210;
  --tsa-panel-2:#0e1714;
  --tsa-gold:#c49a43;
  --tsa-gold-bright:#e0bd6e;
  --tsa-red:#7d201d;
  --tsa-red-bright:#a5362e;
  --tsa-ivory:#f1eadb;
  --tsa-muted:#bdb5a5;
  --tsa-line:rgba(196,154,67,.34);
}
body.tsa-bonus-page{
  --shell:1180px;
  background:var(--tsa-bg);
  color:var(--tsa-ivory);
}
.tsa-bonus-page .site-header{
  background:linear-gradient(180deg,rgba(3,7,5,.98),rgba(3,7,5,.78) 72%,transparent);
}
.tsa-bonus-page .primary-nav>a.current{color:var(--tsa-gold-bright)}
.tsa-bonus-page .primary-nav>a.current::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:1px;
  background:var(--tsa-gold-bright);
  box-shadow:0 0 8px rgba(224,189,110,.35);
}
.tsa-archive-hero{
  position:relative;
  min-height:520px;
  display:grid;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--tsa-line);
  background:#020504;
}
.tsa-archive-hero-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% center;
  filter:brightness(.47) saturate(.86) contrast(1.08);
  transform:scale(1.02);
}
.tsa-archive-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 76% 46%,rgba(196,154,67,.14),transparent 25%),
    linear-gradient(90deg,rgba(3,7,5,.98) 0%,rgba(3,7,5,.91) 34%,rgba(3,7,5,.62) 54%,rgba(3,7,5,.18) 76%,rgba(3,7,5,.28) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.18) 66%,rgba(0,0,0,.88));
}
.tsa-archive-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(180deg,transparent,#000 16%,#000 84%,transparent);
}
.tsa-archive-hero-inner{
  position:relative;
  z-index:2;
  padding-top:118px;
  padding-bottom:58px;
}
.tsa-breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:26px;
  color:#a69c8b;
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.tsa-breadcrumb a{color:var(--tsa-gold-bright)}
.tsa-breadcrumb a:hover,.tsa-breadcrumb a:focus{text-decoration:underline}
.tsa-kicker,.tsa-section-kicker{
  margin:0 0 13px;
  color:var(--tsa-gold-bright);
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.tsa-archive-hero h1{
  max-width:940px;
  margin:0;
  color:#f3eee6;
  line-height:.98;
  font-weight:400;
  text-transform:none;
  letter-spacing:-.026em;
  text-shadow:0 12px 36px rgba(0,0,0,.9);
}
.tsa-title-line{display:block}
.tsa-title-line--main{
  white-space:nowrap;
  font-size:clamp(38px,4.1vw,58px);
}
.tsa-title-line--archive{
  margin-top:4px;
  white-space:nowrap;
  color:var(--tsa-gold-bright);
  font-size:clamp(56px,6.3vw,88px);
  letter-spacing:-.035em;
}
.tsa-hero-lead{
  max-width:670px;
  margin:24px 0 0;
  color:#d5cbbb;
  font-size:clamp(18px,2vw,25px);
  line-height:1.55;
  font-style:italic;
  text-shadow:0 4px 20px rgba(0,0,0,.85);
}
.tsa-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.tsa-primary-button,.tsa-secondary-button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:50px;
  padding:15px 18px;
  border:1px solid var(--tsa-gold-bright);
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.tsa-primary-button{min-width:220px;background:var(--tsa-gold-bright);color:#080604}
.tsa-secondary-button{min-width:310px;background:rgba(3,6,5,.72);color:var(--tsa-gold-bright)}
.tsa-secondary-button span{color:#a99c86;font-size:9px;letter-spacing:.04em}
.tsa-primary-button:hover,.tsa-primary-button:focus,.tsa-secondary-button:hover,.tsa-secondary-button:focus{transform:translateY(-2px)}
.tsa-secondary-button:hover,.tsa-secondary-button:focus{background:var(--tsa-gold-bright);color:#080604}
.tsa-secondary-button:hover span,.tsa-secondary-button:focus span{color:#352a19}
.tsa-archive-overview{
  padding:92px 0;
  background:
    radial-gradient(circle at 15% 10%,rgba(196,154,67,.08),transparent 28%),
    #07100d;
  border-bottom:1px solid rgba(196,154,67,.18);
}
.tsa-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:78px;
  align-items:start;
}
.tsa-overview-grid h2,.tsa-downloads-heading h2,.tsa-complete-pack h2{
  margin:0;
  color:#f1ebdf;
  font-size:clamp(40px,5vw,66px);
  line-height:1.04;
  font-weight:400;
}
.tsa-overview-copy{
  padding-left:36px;
  border-left:1px solid var(--tsa-line);
}
.tsa-overview-copy>p{
  margin:0;
  color:#c7bdad;
  font-size:17px;
  line-height:1.75;
}
.tsa-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:30px 0 0;
}
.tsa-stats div{
  padding-top:18px;
  border-top:1px solid rgba(196,154,67,.32);
}
.tsa-stats dt{
  color:var(--tsa-gold-bright);
  font-size:29px;
  line-height:1;
}
.tsa-stats dd{
  margin:8px 0 0;
  color:#9e9587;
  font:700 9px/1.35 Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tsa-downloads{
  position:relative;
  padding:96px 0 112px;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 20%,rgba(125,32,29,.12),transparent 28%),
    radial-gradient(circle at 8% 74%,rgba(196,154,67,.06),transparent 25%),
    #030706;
}
.tsa-downloads::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.1;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);
}
.tsa-downloads>.shell{position:relative;z-index:1}
.tsa-downloads-heading{
  max-width:780px;
  margin:0 auto 48px;
  text-align:center;
}
.tsa-downloads-heading>p:last-child{
  max-width:680px;
  margin:18px auto 0;
  color:#aaa194;
  font-size:16px;
  line-height:1.65;
}
.tsa-material-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.tsa-material-card{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  min-height:390px;
  overflow:hidden;
  border:1px solid var(--tsa-line);
  background:linear-gradient(145deg,rgba(14,23,20,.98),rgba(5,9,7,.99));
  box-shadow:0 22px 55px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.015);
}
.tsa-material-card--restricted{border-color:rgba(165,54,46,.55)}
.tsa-material-card--wide{
  grid-column:1/-1;
  grid-template-columns:minmax(380px,.95fr) minmax(0,1.05fr);
  min-height:350px;
}
.tsa-material-visual{
  position:relative;
  overflow:hidden;
  background:#050806;
}
.tsa-material-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 58%,rgba(6,10,8,.9)),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5));
}
.tsa-material-card--wide .tsa-material-visual::after{background:linear-gradient(90deg,transparent 54%,rgba(6,10,8,.92)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.4))}
.tsa-material-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease,filter .4s ease;
}
.tsa-material-visual--portrait img{object-position:center top}
.tsa-material-visual--wide img{object-position:center}
.tsa-material-card:hover .tsa-material-visual img{transform:scale(1.025);filter:brightness(1.05)}
.tsa-material-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:35px 34px;
}
.tsa-material-type{
  color:var(--tsa-gold-bright);
  font:700 9px/1.35 Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.tsa-material-card--restricted .tsa-material-type{color:#d16357}
.tsa-material-content h3{
  margin:13px 0 14px;
  color:#f1eadd;
  font-size:clamp(31px,3vw,44px);
  line-height:1.02;
  font-weight:400;
}
.tsa-material-content>p{
  margin:0;
  color:#b9b0a2;
  font-size:15px;
  line-height:1.65;
}
.tsa-file-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:25px;
  padding-top:22px;
  border-top:1px solid rgba(196,154,67,.22);
}
.tsa-file-actions a{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:12px 13px;
  border:1px solid rgba(196,154,67,.46);
  color:var(--tsa-gold-bright);
  background:rgba(0,0,0,.2);
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.tsa-file-actions a span{
  color:#8f877b;
  font-size:9px;
  letter-spacing:.03em;
}
.tsa-file-actions a:hover,.tsa-file-actions a:focus{background:var(--tsa-gold-bright);color:#070504;border-color:var(--tsa-gold-bright)}
.tsa-file-actions a:hover span,.tsa-file-actions a:focus span{color:#3d321f}
.tsa-complete-pack{
  padding:88px 0;
  border-top:1px solid rgba(196,154,67,.16);
  border-bottom:1px solid rgba(196,154,67,.22);
  background:
    linear-gradient(90deg,rgba(3,7,5,.94),rgba(3,7,5,.78)),
    url('../images/bonus/tsa-initiate-archive-hero.webp') center/cover no-repeat;
}
.tsa-complete-pack-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:62px;
  align-items:center;
}
.tsa-complete-pack p:not(.tsa-section-kicker){
  max-width:680px;
  margin:16px 0 0;
  color:#c3b9aa;
  font-size:17px;
  line-height:1.65;
}
.tsa-complete-button{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:20px 22px;
  border:1px solid var(--tsa-gold-bright);
  background:var(--tsa-gold-bright);
  color:#070504;
  text-transform:uppercase;
  transition:transform .2s ease,background .2s ease;
}
.tsa-complete-button span{font:700 12px/1.2 Arial,sans-serif;letter-spacing:.07em}
.tsa-complete-button small{font:700 9px/1.3 Arial,sans-serif;letter-spacing:.04em;color:#4d3b1c}
.tsa-complete-button:hover,.tsa-complete-button:focus{transform:translateY(-2px);background:#edcf85}
.tsa-use-note{
  padding:48px 0 58px;
  background:#070c0a;
}
.tsa-use-note-inner{
  display:grid;
  grid-template-columns:220px minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
}
.tsa-use-note h2{
  margin:0;
  color:#eee6d8;
  font-size:26px;
  font-weight:400;
}
.tsa-use-note p{
  margin:0;
  color:#a99f92;
  font-size:14px;
  line-height:1.65;
}
.tsa-use-note a{
  color:var(--tsa-gold-bright);
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.tsa-use-note a:hover,.tsa-use-note a:focus{text-decoration:underline}
@media(max-width:1000px){
  .tsa-material-card{grid-template-columns:190px minmax(0,1fr)}
  .tsa-material-content{padding:30px 26px}
  .tsa-material-card--wide{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}
}
@media(max-width:860px){
  .tsa-bonus-page .site-header{background:#040806}
  .tsa-archive-hero{min-height:560px}
  .tsa-archive-hero-inner{padding-top:108px;padding-bottom:64px}
  .tsa-title-line--main{white-space:normal;font-size:45px}
  .tsa-title-line--archive{white-space:normal;font-size:62px}
  .tsa-overview-grid{grid-template-columns:1fr;gap:30px}
  .tsa-overview-copy{padding:26px 0 0;border-left:0;border-top:1px solid var(--tsa-line)}
  .tsa-material-grid{grid-template-columns:1fr}
  .tsa-material-card--wide{grid-column:auto;grid-template-columns:230px minmax(0,1fr)}
  .tsa-complete-pack-inner{grid-template-columns:1fr;gap:32px}
  .tsa-complete-button{max-width:430px}
  .tsa-use-note-inner{grid-template-columns:1fr;gap:14px}
}
@media(max-width:620px){
  .tsa-archive-hero{min-height:auto}
  .tsa-archive-hero-art{object-position:58% center}
  .tsa-archive-hero-inner{padding-top:92px;padding-bottom:62px}
  .tsa-breadcrumb{margin-bottom:20px}
  .tsa-archive-hero h1{line-height:.98}
  .tsa-title-line--main{font-size:36px}
  .tsa-title-line--archive{margin-top:5px;font-size:49px}
  .tsa-hero-lead{font-size:17px}
  .tsa-hero-actions{flex-direction:column;align-items:stretch}
  .tsa-primary-button,.tsa-secondary-button{width:100%;min-width:0}
  .tsa-archive-overview,.tsa-downloads,.tsa-complete-pack{padding-top:68px;padding-bottom:72px}
  .tsa-overview-grid h2,.tsa-downloads-heading h2,.tsa-complete-pack h2{font-size:38px}
  .tsa-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tsa-material-card,.tsa-material-card--wide{grid-template-columns:1fr}
  .tsa-material-visual--portrait{height:430px}
  .tsa-material-visual--wide{height:240px}
  .tsa-material-visual::after,.tsa-material-card--wide .tsa-material-visual::after{background:linear-gradient(180deg,transparent 55%,rgba(6,10,8,.94))}
  .tsa-material-content{padding:29px 23px 32px}
  .tsa-file-actions{grid-template-columns:1fr}
  .tsa-use-note{padding-top:40px;padding-bottom:44px}
}
@media(prefers-reduced-motion:reduce){
  .tsa-primary-button,.tsa-secondary-button,.tsa-material-visual img,.tsa-file-actions a,.tsa-complete-button{transition:none}
  .tsa-archive-hero-art{transform:none}
}

/* release-hardening-v2.10.69.css */
/* 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;
}


/* v2.10.67 — compact, top-aligned footer for collection and standalone-book detail pages. */
.editorial-detail-page .site-footer{
  padding:38px 0 18px!important;
  min-height:0!important;
}
.editorial-detail-page .site-footer .footer-grid{
  grid-template-columns:minmax(140px,1.15fr) repeat(4,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:start!important;
}
.editorial-detail-page .site-footer .footer-brand{
  align-self:start!important;
  justify-content:flex-start!important;
  transform:none!important;
}
.editorial-detail-page .site-footer .footer-brand img{
  width:auto!important;
  height:96px!important;
  max-width:130px!important;
  margin:0!important;
  object-fit:contain!important;
}
.editorial-detail-page .site-footer h2{
  margin:0 0 10px!important;
}
.editorial-detail-page .site-footer a:not(.social-facebook):not(.social-tiktok):not(.social-pinterest):not(.social-youtube){
  margin:5px 0!important;
  padding:0!important;
  line-height:1.35!important;
}
.editorial-detail-page .site-footer .follow{
  align-self:start!important;
}
.editorial-detail-page .site-footer .copyright{
  margin:26px 0 0!important;
}
.editorial-detail-page .site-footer .template-credit{
  display:none!important;
}
@media(max-width:980px){
  .editorial-detail-page .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 40px!important;
  }
  .editorial-detail-page .site-footer .footer-brand{
    grid-column:1/-1!important;
  }
}
@media(max-width:620px){
  .editorial-detail-page .site-footer{
    padding:34px 0 18px!important;
  }
  .editorial-detail-page .site-footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
    text-align:center!important;
  }
  .editorial-detail-page .site-footer .footer-brand{
    grid-column:auto!important;
    justify-content:center!important;
  }
  .editorial-detail-page .site-footer .footer-brand img{
    margin:0 auto!important;
  }
  .editorial-detail-page .site-footer .socials{
    justify-content:center!important;
  }
}

/* v2.10.69 — Pale Sequence cover alignment
   Keep all six cover frames identical in height while preserving the full artwork. */
.pale-sequence-page .books-grid .cover-frame{
  aspect-ratio:5/8;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pale-sequence-page .books-grid .cover-frame img.seo-cover-image{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}


/* v2.11.10 — FOOTER-ONLY REPAIR
   Scope deliberately limited to the global footer:
   - keep all five desktop columns inside the viewport;
   - keep the social controls visible and optically consistent;
   - give the copyright line enough bottom breathing room;
   - preserve responsive stacking without touching page content. */
.site-footer{
  min-height:0!important;
  padding-bottom:28px!important;
  overflow:visible!important;
}
.site-footer .footer-grid{
  grid-template-columns:150px repeat(4,minmax(0,1fr))!important;
  column-gap:clamp(18px,2.2vw,34px)!important;
  row-gap:24px!important;
  align-items:start!important;
}
.site-footer .footer-grid>*{
  min-width:0!important;
}
.site-footer .footer-brand{
  align-self:start!important;
  transform:none!important;
}
.site-footer .follow{
  min-width:0!important;
}
.site-footer .socials{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.site-footer .socials a{
  box-sizing:border-box!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.site-footer .socials svg{
  display:block!important;
  width:17px!important;
  height:17px!important;
  fill:currentColor!important;
  transform:none!important;
}
.site-footer .social-facebook svg{
  width:17px!important;
  height:17px!important;
}
.site-footer .social-tiktok svg{
  width:17px!important;
  height:17px!important;
}
.site-footer .social-pinterest svg{
  width:18px!important;
  height:18px!important;
}
.site-footer .social-youtube svg{
  width:18px!important;
  height:18px!important;
}
.site-footer .copyright{
  margin:30px 0 0!important;
  padding:0 12px 6px!important;
  line-height:1.45!important;
  overflow:visible!important;
}

/* Detail pages already had a compact footer; only inherit the safety fixes. */
.editorial-detail-page .site-footer{
  padding-bottom:28px!important;
}
.editorial-detail-page .site-footer .copyright{
  margin:30px 0 0!important;
  padding-bottom:6px!important;
}

@media(max-width:980px){
  .site-footer .footer-grid,
  .editorial-detail-page .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px 40px!important;
  }
  .site-footer .footer-brand,
  .editorial-detail-page .site-footer .footer-brand{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:620px){
  .site-footer,
  .editorial-detail-page .site-footer{
    padding-bottom:30px!important;
  }
  .site-footer .footer-grid,
  .editorial-detail-page .site-footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
    text-align:center!important;
  }
  .site-footer .footer-brand,
  .editorial-detail-page .site-footer .footer-brand{
    grid-column:auto!important;
    justify-content:center!important;
  }
  .site-footer .footer-brand img,
  .editorial-detail-page .site-footer .footer-brand img{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .site-footer .socials,
  .editorial-detail-page .site-footer .socials{
    justify-content:center!important;
  }
}
