/* The Resonant Heir — Book Guide
   One normal document scroll owner. No nested vertical scroll containers. */
:root{color-scheme:dark}
html{margin:0;min-height:100%;background:#080619;scroll-behavior:smooth}
body.trh-book-guide-page{
  margin:0;
  min-height:100vh;
  overflow-x:clip;
  color:#f3e7cc;
  font-family:"EB Garamond",Garamond,Georgia,serif;
  background:
    linear-gradient(180deg,rgba(9,6,28,.72),rgba(9,7,28,.92) 72%,#080619),
    url("/assets/trh/trh-stage-artwork-v16.130.webp") center top/cover fixed no-repeat;
}
.trh-book-guide-page a{color:inherit}
.trh-guide-topbar{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  min-height:68px;
  padding:8px 22px;
  border-bottom:1px solid rgba(225,188,102,.20);
  background:linear-gradient(180deg,rgba(9,6,27,.88),rgba(9,6,27,.44));
  backdrop-filter:blur(8px);
}
.trh-guide-brand,.trh-guide-cluster-nav{display:flex;align-items:center;gap:12px}
.trh-guide-sigil{
  display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8b45d;border-radius:50%;
  color:#eacb80;text-decoration:none;font:600 19px/1 "Cinzel",serif;
}
.trh-guide-author,.trh-guide-return,.trh-guide-cluster-nav a{
  color:#e5c982;text-decoration:none;font:600 12px/1.2 "Cinzel",serif;letter-spacing:.10em;
}
.trh-guide-brand>span,.trh-guide-cluster-nav>span{color:rgba(218,180,94,.45)}
.trh-guide-cluster-nav a[aria-current="page"]{color:#f4da99}
.trh-guide-cluster-nav a:hover,.trh-guide-cluster-nav a:focus-visible,
.trh-guide-return:hover,.trh-guide-return:focus-visible{color:#ffe5a4;outline:none}

.trh-guide-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 88px}
.trh-guide-hero{max-width:900px;margin:0 auto 48px;text-align:center}
.trh-guide-kicker{margin:0 0 12px;color:#d8b76f;font:600 12px/1.4 "Cinzel",serif;letter-spacing:.16em}
.trh-guide-hero h1{margin:0;color:#f0cf7e;font:600 clamp(42px,7vw,72px)/1 "Cinzel",serif;letter-spacing:.08em;text-shadow:0 3px 20px rgba(0,0,0,.50)}
.trh-guide-hero h1 span{display:block;margin-top:9px;font-size:.54em;letter-spacing:.17em;color:#e2c27a}
.trh-guide-deck{max-width:760px;margin:18px auto 0;color:rgba(246,232,203,.88);font-size:1.32rem;line-height:1.55}
.trh-guide-toc{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px auto 0}
.trh-guide-toc a{
  padding:9px 14px;border:1px solid rgba(225,187,100,.34);border-radius:999px;
  background:rgba(21,14,48,.34);color:#ead194;text-decoration:none;font:600 11px/1 "Cinzel",serif;letter-spacing:.09em;
}
.trh-guide-toc a:hover,.trh-guide-toc a:focus-visible{border-color:#dfbd70;color:#ffe2a2;outline:none}

.trh-guide-section{
  margin:0 auto;padding:58px 0;border-top:1px solid rgba(229,190,104,.24);
}
.trh-guide-section-heading{display:flex;align-items:flex-start;gap:18px;max-width:920px;margin:0 auto 24px}
.trh-guide-section-heading>p{margin:5px 0 0;color:rgba(221,182,96,.58);font:600 12px/1 "Cinzel",serif;letter-spacing:.12em}
.trh-guide-section-heading span{display:block;margin-bottom:7px;color:#d8b76f;font:600 11px/1.2 "Cinzel",serif;letter-spacing:.16em}
.trh-guide-section h2,.trh-guide-next h2{margin:0;color:#f0d18a;font:500 clamp(32px,4vw,48px)/1.05 "Cinzel",serif;letter-spacing:.035em}
.trh-guide-section h3{margin:0 0 14px;color:#f0d18a;font:500 1.7rem/1.2 "Cinzel",serif;letter-spacing:.025em}
.trh-guide-section h4{margin:28px 0 10px;color:#e0bf77;font:600 1rem/1.2 "Cinzel",serif;letter-spacing:.10em;text-transform:uppercase}
.trh-guide-section p,.trh-guide-next span{font-size:1.18rem;line-height:1.65;color:rgba(245,232,207,.88)}
.trh-guide-intro{max-width:860px;margin:0 auto 28px}

.trh-guide-about-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;max-width:920px;margin:0 auto}
.trh-guide-cover{margin:0;align-self:start;position:sticky;top:24px}
.trh-guide-cover img{display:block;width:100%;height:auto;border:1px solid rgba(231,195,111,.56);border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.38)}
.trh-guide-cover figcaption{margin-top:12px;color:rgba(230,204,151,.72);font:600 10px/1.45 "Cinzel",serif;letter-spacing:.08em;text-align:center}
.trh-guide-about-copy article+article{margin-top:38px;padding-top:34px;border-top:1px solid rgba(225,188,101,.18)}
.trh-guide-about-copy p,.trh-guide-lore p{margin:12px 0}
.trh-guide-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.trh-guide-tags a{padding:6px 10px;border:1px solid rgba(223,184,97,.28);border-radius:999px;color:#e7ce96;text-decoration:none;font:600 10px/1 "Cinzel",serif;letter-spacing:.05em}
.trh-guide-tags a:hover,.trh-guide-tags a:focus-visible{border-color:#e6c46e;color:#ffe0a0;outline:none}

.trh-guide-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:920px;margin:0 auto}
.trh-guide-character{
  display:grid;grid-template-columns:112px 1fr;gap:18px;min-height:170px;padding:14px;
  border:1px solid rgba(226,188,102,.22);border-radius:10px;background:linear-gradient(135deg,rgba(37,24,69,.58),rgba(13,12,38,.56));
}
.trh-guide-character img{width:112px;height:160px;object-fit:cover;object-position:50% 24%;border-radius:7px;border:1px solid rgba(230,194,108,.35)}
.trh-guide-character h3{margin:7px 0 3px;font-size:1.25rem;text-transform:uppercase}
.trh-guide-character .role{margin:0 0 8px;color:#dfc487;font-style:italic}
.trh-guide-character p{margin:0;font-size:1rem;line-height:1.42}
.trh-guide-related-line{
  display:flex;justify-content:space-between;gap:22px;max-width:920px;margin:28px auto 0;padding:18px 0;
  border-top:1px solid rgba(225,188,101,.18);border-bottom:1px solid rgba(225,188,101,.18);color:rgba(242,226,197,.76)
}
.trh-guide-related-line a{color:#f0cf84;text-decoration:none}

.trh-guide-map{max-width:920px;margin:0 auto 38px}
.trh-guide-map img{display:block;width:100%;height:auto;border:1px solid rgba(230,193,107,.42);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.30)}
.trh-guide-map figcaption{margin-top:11px;color:rgba(231,206,158,.70);font:600 11px/1.2 "Cinzel",serif;letter-spacing:.10em;text-align:center}
.trh-guide-lore{max-width:820px;margin:0 auto}
.trh-guide-lore+.trh-guide-lore{margin-top:42px;padding-top:38px;border-top:1px solid rgba(225,188,101,.18)}
.trh-guide-related-grid,.trh-guide-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:920px;margin:38px auto 0}
.trh-guide-related-grid a,.trh-guide-next-grid a{
  display:block;padding:19px;border:1px solid rgba(226,188,102,.22);border-radius:9px;
  background:linear-gradient(180deg,rgba(38,26,70,.50),rgba(13,12,39,.52));text-decoration:none;
}
.trh-guide-related-grid strong,.trh-guide-next-grid strong{display:block;margin-bottom:6px;color:#efd18a;font:600 14px/1.25 "Cinzel",serif;letter-spacing:.04em}
.trh-guide-related-grid span,.trh-guide-next-grid span{display:block;color:rgba(242,229,205,.78);font-size:1rem;line-height:1.45}
.trh-guide-related-grid a:hover,.trh-guide-related-grid a:focus-visible,.trh-guide-next-grid a:hover,.trh-guide-next-grid a:focus-visible{border-color:rgba(237,201,120,.68);outline:none}

.trh-guide-next{max-width:920px;margin:0 auto;padding:58px 0 10px;border-top:1px solid rgba(229,190,104,.24);text-align:center}
.trh-guide-next-grid{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}
.trh-guide-footer{padding:26px 20px 34px;border-top:1px solid rgba(226,188,102,.18);background:rgba(7,5,22,.78);text-align:center}
.trh-guide-footer .footer-nav{justify-content:center}
.trh-guide-footer p{color:rgba(230,214,186,.60)}

@media(max-width:820px){
  .trh-guide-topbar{align-items:flex-start;flex-direction:column;padding:12px 16px}
  .trh-guide-cluster-nav{width:100%;justify-content:center;flex-wrap:wrap}
  .trh-guide-main{width:min(100% - 28px,760px);padding-top:34px}
  .trh-guide-about-grid{grid-template-columns:1fr}
  .trh-guide-cover{position:static;width:min(230px,70vw);margin:0 auto}
  .trh-guide-character-grid{grid-template-columns:1fr}
  .trh-guide-related-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .trh-guide-author{display:none}
  .trh-guide-brand{gap:8px}
  .trh-guide-sigil{width:38px;height:38px;font-size:16px}
  .trh-guide-return{font-size:10px}
  .trh-guide-cluster-nav{justify-content:flex-start;gap:8px}
  .trh-guide-cluster-nav a{font-size:10px}
  .trh-guide-hero h1{font-size:38px}
  .trh-guide-deck{font-size:1.12rem}
  .trh-guide-section{padding:44px 0}
  .trh-guide-character{grid-template-columns:82px 1fr}
  .trh-guide-character img{width:82px;height:120px}
  .trh-guide-related-line{flex-direction:column}
  .trh-guide-next-grid{grid-template-columns:1fr}
}
