:root{
    --bg:#f4f1ea;
    --paper:#fbfaf7;
    --ink:#20201e;
    --muted:#6f6c65;
    --line:#ddd8cd;
    --gold:#b38b3d;
    --gold-dark:#806223;
    --night:#121416;
    --night-soft:#1a1d20;
    --white:#fff;
    --shell:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit}
.shell{width:min(calc(100% - 48px),var(--shell));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:20px;top:20px;background:#fff;padding:10px 14px;z-index:1000}

.site-header{position:sticky;top:0;z-index:50;background:rgba(18,20,22,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.brand-mark{font-size:30px;color:var(--gold);line-height:1}
.brand-name{font-family:Georgia,'Times New Roman',serif;letter-spacing:.16em;font-size:15px;color:#f5f2eb}
.site-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.site-nav a{font-size:14px;color:#ddd9d0;text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:#fff}

.hero{background:linear-gradient(120deg,#111416 0%,#191c1f 58%,#0e1012 100%);color:#f5f2eb;border-bottom:1px solid #292c2f}
.hero-grid{min-height:620px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:60px}
.hero-copy{padding:86px 0}.eyebrow{margin:0 0 13px;font-size:12px;letter-spacing:.22em;font-weight:700;color:var(--gold-dark)}
.hero .eyebrow{color:#c5a458}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,5.5vw,70px);line-height:1.06;max-width:760px;margin:0 0 22px;letter-spacing:-.02em}
.hero-lead{font-family:Georgia,'Times New Roman',serif;font-size:22px;max-width:700px;margin:0 0 16px;color:#e4dfd4}.hero-text{max-width:680px;color:#bcb9b1;font-size:16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid transparent}.button-primary{background:var(--gold);color:#111}.button-primary:hover,.button-primary:focus-visible{background:#c5a04e}.button-secondary{border-color:#a8a39a;color:inherit;background:transparent}.button-secondary:hover,.button-secondary:focus-visible{border-color:#fff}
.hero-symbol{display:flex;align-items:center;justify-content:center;min-height:360px}.hero-symbol span{font-size:clamp(150px,20vw,280px);line-height:1;color:rgba(196,158,75,.15);text-shadow:0 0 60px rgba(196,158,75,.08)}

.section{padding:96px 0}.section-soft{background:#ece8df}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading.centered{display:block;text-align:center;max-width:760px;margin:0 auto 44px}.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:400;line-height:1.15;margin:0}.section-heading.centered h2{margin-bottom:12px}.section-heading.centered>p:last-child{color:var(--muted);margin:0}
.text-link{font-size:14px;font-weight:700;text-decoration:none;color:var(--gold-dark)}.text-link:hover,.text-link:focus-visible{text-decoration:underline}

.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.book-card{min-width:0}.book-cover{display:block;background:#e8e4dc;aspect-ratio:2/3;overflow:hidden;border:1px solid #d7d1c6}.book-cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.book-card:hover .book-cover img{transform:scale(1.018)}
.cover-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;color:var(--gold)}.book-info{padding-top:17px}.book-category{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 7px}.book-info h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:23px;line-height:1.2;margin:0 0 6px}.book-subtitle{margin:0;color:var(--muted);font-size:14px}.book-author{margin:7px 0 0;font-size:13px;color:#4d4a44}
.empty-state{padding:50px;text-align:center;border:1px solid var(--line);background:var(--paper);color:var(--muted)}

.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.collection-card{background:var(--paper);border:1px solid var(--line);padding:27px;min-height:190px}.collection-number{display:block;color:var(--gold);font-size:20px;margin-bottom:14px}.collection-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:24px;margin:0 0 9px}.collection-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.collection-count{font-size:12px;color:#55514a}

.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.topic-card{min-height:250px;padding:28px;text-decoration:none;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.topic-card:hover,.topic-card:focus-visible{transform:translateY(-3px);border-color:#b8ad98}.topic-sf{background:#171b20;color:#eee}.topic-fantasy{background:#111;color:#eee;border-color:#5b4924}.topic-investigation{background:#e6e0d4}.topic-science{background:#f8f6f0}.topic-emblem{position:absolute;top:22px;right:25px;font-family:Georgia,serif;font-size:54px;color:var(--gold);line-height:1}.fantasy-emblem{font-size:50px;color:#d0a44b}.topic-title{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.15;max-width:220px}.topic-text{font-size:13px;line-height:1.5;margin-top:9px;opacity:.76;max-width:250px}.topic-note{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#b99a56;margin-top:12px}

.section-press{padding-top:72px;padding-bottom:72px}.press-panel{background:var(--night);color:#eee;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:35px}.press-panel h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:32px;margin:0 0 10px}.press-panel p:last-child{margin:0;color:#bbb8b1;max-width:720px}
.section-editorial{background:#e8e3d8}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.editorial-grid h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:42px;line-height:1.15;margin:0}.editorial-copy{color:#514e47}.editorial-copy p{margin:0 0 18px}

.site-footer{background:#101214;color:#a9a7a1;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-inner>div{display:flex;align-items:center;gap:9px;color:#e2dfd7}.footer-mark{color:var(--gold);font-size:20px}.footer-inner p{margin:0}

:focus-visible{outline:2px solid #d4aa50;outline-offset:3px}

@media (max-width:1000px){
    .hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:80px 0 40px}.hero-symbol{min-height:160px;justify-content:flex-start;padding-bottom:55px}.hero-symbol span{font-size:150px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
    .shell{width:min(calc(100% - 32px),var(--shell))}.header-inner{padding:14px 0;align-items:flex-start}.site-nav{gap:8px 15px}.brand-name{font-size:13px}.brand-mark{font-size:25px}.section{padding:72px 0}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:14px}.book-grid,.collection-grid,.topic-grid,.editorial-grid{grid-template-columns:1fr}.book-grid{gap:40px}.press-panel{padding:32px 25px;display:block}.press-panel .button{margin-top:22px}.editorial-grid h2{font-size:34px}.footer-inner{display:block}.footer-inner p{margin-top:10px}
}
@media (max-width:500px){.site-nav a{font-size:13px}.hero h1{font-size:40px}.hero-lead{font-size:19px}.topic-card{min-height:220px}}
