/* Biblioteca na home — linguagem editorial coerente com os demais arquivos. */
.home-novels{padding:clamp(35px,5vw,65px) 0;background:transparent;border:0}
.home-novels .hn-heading{margin-bottom:22px}
.home-novels .hn-heading>div{min-width:0}
.home-novels .hn-heading>div>span{display:block;font:600 clamp(11px,1.15vw,13px)/1.5 'DM Mono',monospace;letter-spacing:.16em;color:#a95c59;text-transform:uppercase;margin-bottom:10px}
.home-novels .hn-heading h2{margin:0;font:500 clamp(29px,4vw,48px)/1.13 Cinzel,Georgia,serif;text-transform:uppercase;color:#e5dfd6;letter-spacing:-.025em}
.home-novels .hn-heading>a{white-space:nowrap;text-decoration:none;color:#c5bcb0;font:400 clamp(11px,1.15vw,14px)/1.5 'DM Mono',monospace;letter-spacing:.07em}
.home-novels .hn-heading>a i{margin-left:8px}
.home-novels .hn-heading>a:hover,.home-novels .hn-heading>a:focus-visible{color:#e6d2b7}
.hn-entry{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:140px;padding:22px clamp(18px,3vw,32px);box-sizing:border-box;text-decoration:none!important;border:1px solid rgba(255,255,255,.12);border-left:2px solid #7f1d1d;background:linear-gradient(105deg,rgba(14,13,12,.96),rgba(8,8,8,.96));transition:border-color .2s,background .2s}
.hn-entry:hover,.hn-entry:focus-visible{border-color:rgba(255,255,255,.24);border-left-color:#a82a2a;background:linear-gradient(105deg,rgba(20,18,17,.98),rgba(10,10,10,.98))}
.hn-register{font:11px/1.5 'DM Mono',monospace;letter-spacing:.16em;color:#ab8580}
.hn-register span{color:#78635f}
.hn-entry-title{font:500 clamp(20px,2.7vw,30px)/1.3 Cinzel,Georgia,serif;color:#e5dfd6;text-transform:uppercase}
.hn-entry-foot{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font:clamp(12px,1.25vw,14px)/1.6 'Libre Baskerville',Georgia,serif;color:#bdb1a4}
.hn-entry-foot i{flex:none;font-size:16px;color:#cfbcaa}
@media(max-width:650px){
 .home-novels{padding:30px 0}
 .home-novels .hn-heading{display:flex;align-items:flex-end;gap:12px;margin-bottom:20px}
 .home-novels .hn-heading>div>span{font-size:11px;letter-spacing:.13em;margin-bottom:9px}
 .home-novels .hn-heading h2{font-size:clamp(25px,6.5vw,34px)}
 .home-novels .hn-heading>a{font-size:11px;letter-spacing:0}
 .hn-entry{padding:20px 17px;min-height:128px}
 .hn-register{font-size:10px}
 .hn-entry-title{font-size:21px}
 .hn-entry-foot{font-size:12px}
}
@media(max-width:390px){.home-novels .hn-heading{align-items:flex-start;flex-direction:column;gap:10px}}


/* Visual entry point for the Novels library. */
.hn-entry{
 display:grid;grid-template-columns:clamp(150px,22%,230px) minmax(0,1fr);
 grid-template-rows:1fr;align-items:center;gap:clamp(16px,2.5vw,32px);
 min-height:0;padding:16px;
 background:linear-gradient(100deg,rgba(14,12,10,.98) 0%,rgba(9,8,7,.97) 100%);
 border-color:rgba(190,162,122,.24);border-left:3px solid #7f1d1d;
}
.hn-entry-art{
 display:block;grid-column:1;align-self:stretch;min-width:0;min-height:0;
 aspect-ratio:1/1;overflow:hidden;border:1px solid rgba(190,162,122,.26);
 background:#080706;
}
.hn-entry-art img{
 display:block;width:100%;height:100%;object-fit:cover;object-position:center;
 filter:saturate(.82) contrast(1.04);transition:transform .35s ease,filter .35s ease;
}
.hn-entry-copy{
 grid-column:2;display:flex;flex-direction:column;align-items:flex-start;
 gap:clamp(8px,1.2vw,14px);min-width:0;padding:10px 4px;
}
.hn-register{display:inline-flex;align-items:center;gap:8px;margin:0;color:#bc8c7f}
.hn-register>i{font-size:.9em;color:#c49a73}
.hn-entry-title{font-size:clamp(21px,2.7vw,32px);line-height:1.22}
.hn-entry-foot{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px}
.hn-entry-summary{max-width:52ch}
.hn-entry-cta{
 display:inline-flex;align-items:center;gap:10px;padding:10px 14px;
 border:1px solid rgba(156,44,38,.72);background:rgba(91,19,19,.25);
 color:#ead9c3;font:600 11px/1.2 'DM Mono',monospace;letter-spacing:.075em;
 text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;
}
.hn-entry-cta i{color:#d7b894;transition:transform .2s}
.hn-entry:hover .hn-entry-art img,.hn-entry:focus-visible .hn-entry-art img{transform:scale(1.035);filter:saturate(.96) contrast(1.05)}
.hn-entry:hover .hn-entry-cta,.hn-entry:focus-visible .hn-entry-cta{background:rgba(123,25,25,.52);border-color:#a82a2a;color:#fff0dc}
.hn-entry:hover .hn-entry-cta i,.hn-entry:focus-visible .hn-entry-cta i{transform:translateX(3px)}
.hn-entry:focus-visible{outline:2px solid #c49a73;outline-offset:4px}
@media(max-width:650px){
 .hn-entry{grid-template-columns:clamp(88px,27vw,112px) minmax(0,1fr);gap:12px;padding:13px}
 .hn-entry-copy{gap:8px;padding:4px 0}
 .hn-register{font-size:9px;line-height:1.35;letter-spacing:.08em}
 .hn-register>i{display:none}
 .hn-entry-title{font-size:clamp(17px,5vw,21px);line-height:1.2}
 .hn-entry-foot{gap:9px;font-size:11px;line-height:1.45}
 .hn-entry-cta{padding:8px 10px;font-size:9px}
}
@media(max-width:390px){
 .hn-entry{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:11px}
 .hn-entry-title{font-size:17px}
 .hn-entry-cta{padding:7px 8px;font-size:8.5px}
}


/* Full-bleed illustrated entry card for the Novels library. */
.hn-entry{
 position:relative;isolation:isolate;display:block;min-height:250px;
 padding:0;overflow:hidden;box-sizing:border-box;
 border:1px solid rgba(190,162,122,.34);border-left:3px solid #7f1d1d;
 background:#090807;box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.hn-entry::before{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:
  linear-gradient(90deg,rgba(7,6,5,.94) 0%,rgba(7,6,5,.78) 39%,rgba(7,6,5,.3) 72%,rgba(7,6,5,.12) 100%),
  linear-gradient(0deg,rgba(7,6,5,.82) 0%,transparent 74%);
}
.hn-entry-art{
 position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;
 aspect-ratio:auto;overflow:hidden;border:0;background:#090807;
}
.hn-entry-art img{
 display:block;width:100%;height:100%;object-fit:cover;object-position:center;
 filter:saturate(.88) contrast(1.04);transition:transform .5s ease,filter .5s ease;
}
.hn-entry-copy{
 position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
 align-items:flex-start;justify-content:center;gap:12px;min-width:0;
 padding:clamp(22px,4vw,46px);box-sizing:border-box;
}
.hn-register{display:inline-flex;align-items:center;gap:8px;margin:0;color:#d1a69b}
.hn-register>i{color:#d4b27f}
.hn-entry-title{font-size:clamp(22px,3vw,36px);line-height:1.18;text-shadow:0 2px 12px #090807}
.hn-entry-foot{
 display:flex;flex-direction:row;align-items:center;justify-content:space-between;
 gap:18px;width:min(100%,760px);font-size:clamp(12px,1.35vw,15px);
}
.hn-entry-summary{max-width:50ch;text-shadow:0 1px 8px #090807}
.hn-entry-cta{
 display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;
 padding:11px 15px;border:1px solid rgba(183,69,58,.82);
 background:rgba(83,20,20,.76);color:#f1e6d7;
 font:500 11px/1.2 'DM Mono',monospace;letter-spacing:.08em;
 text-transform:uppercase;white-space:nowrap;backdrop-filter:blur(3px);
 transition:background .2s,border-color .2s,color .2s;
}
.hn-entry-cta i{color:#e3c190;transition:transform .2s}
.hn-entry:hover .hn-entry-art img,.hn-entry:focus-visible .hn-entry-art img{
 transform:scale(1.025);filter:saturate(1) contrast(1.06)
}
.hn-entry:hover .hn-entry-cta,.hn-entry:focus-visible .hn-entry-cta{
 background:rgba(126,28,28,.92);border-color:#c35a4e;color:#fff5e8
}
.hn-entry:hover .hn-entry-cta i,.hn-entry:focus-visible .hn-entry-cta i{transform:translateX(3px)}
.hn-entry:focus-visible{outline:2px solid #d4b27f;outline-offset:4px}
@media(max-width:650px){
 .home-novels{padding:26px 0}
 .hn-entry{min-height:218px}
 .hn-entry::before{
  background:
   linear-gradient(90deg,rgba(7,6,5,.92) 0%,rgba(7,6,5,.68) 60%,rgba(7,6,5,.25) 100%),
   linear-gradient(0deg,rgba(7,6,5,.86) 0%,rgba(7,6,5,.08) 100%)
 }
 .hn-entry-art img{object-position:58% center}
 .hn-entry-copy{justify-content:flex-end;gap:9px;padding:18px 16px}
 .hn-register{font-size:10px;line-height:1.35;letter-spacing:.1em}
 .hn-entry-title{max-width:22ch;font-size:clamp(20px,6vw,26px);line-height:1.16}
 .hn-entry-foot{gap:10px;width:100%;font-size:11px;line-height:1.5}
 .hn-entry-summary{max-width:38ch}
 .hn-entry-cta{gap:7px;padding:9px 10px;font-size:9px;letter-spacing:.04em}
}
@media(max-width:390px){
 .hn-entry{min-height:224px}
 .hn-entry-copy{padding:16px 13px}
 .hn-register{font-size:9px;letter-spacing:.07em}
 .hn-entry-title{font-size:19px}
 .hn-entry-foot{font-size:10px;gap:7px}
 .hn-entry-cta{padding:8px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){.hn-entry-art img,.hn-entry-cta,.hn-entry-cta i{transition:none}}
