@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Libre+Caslon+Display&display=swap');

:root {
  --bg-color:#f1ede3;
  --surface-color:#ebe4d7;
  --surface-color-light:#e1d8c8;
  --text-primary:#12110f;
  --text-secondary:#756d62;
  --accent-primary:#9b2f28;
  --accent-primary-glow:rgba(155,47,40,.18);
  --accent-secondary:#b47a47;
  --accent-secondary-glow:rgba(180,122,71,.16);
  --accent-gold:#a86535;
  --font-serif:'Libre Caslon Display',Georgia,serif;
  --font-sans:'Inter',Arial,sans-serif;
  --glass-border:1px solid rgba(18,17,15,.16);
}

body { background:var(--bg-color); color:var(--text-primary); font-family:var(--font-sans); }
.house-header { min-height:92px; padding:14px clamp(24px,5vw,72px); display:grid; grid-template-columns:260px 1fr; align-items:center; gap:36px; background:#12110f; border-bottom:1px solid rgba(241,237,227,.14); position:relative; top:auto; backdrop-filter:none; }
.house-brand img { display:block; width:230px; height:60px; object-fit:contain; object-position:left center; }
.house-header nav { display:flex; justify-content:flex-end; align-items:center; gap:clamp(14px,2.1vw,34px); }
.house-header nav a { color:#f1ede3; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:9px; border-bottom:1px solid transparent; padding-bottom:4px; white-space:nowrap; }
.house-header nav a:hover,.house-header nav a[aria-current="page"] { border-color:#b47a47; }

.hero { min-height:520px; margin:0; padding:92px clamp(24px,8vw,120px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left; color:#f1ede3; border-bottom:0; }
.hero-overlay { inset:0; background:linear-gradient(90deg,rgba(9,9,8,.1),rgba(9,9,8,.78) 68%),url('../darkling-house-background.png') center/cover; opacity:1; }
.hero::after { background:linear-gradient(90deg,rgba(9,9,8,.08),rgba(9,9,8,.6)); }
.hero-content { max-width:900px; margin:0; }
.library-eyebrow,.submission-eyebrow,.cta-kicker { margin:0 0 26px!important; color:inherit!important; text-transform:uppercase; letter-spacing:.18em; font:600 10px/1.2 var(--font-sans)!important; }
.hero h1,.hero h2 { margin:0; color:#f1ede3; font:400 clamp(66px,9vw,126px)/.84 var(--font-serif); letter-spacing:-.055em; text-shadow:none; }
.hero p:not(.library-eyebrow) { max-width:660px; margin:34px 0 0; color:rgba(241,237,227,.8); font:400 clamp(18px,1.5vw,23px)/1.55 var(--font-serif); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.hero .btn { margin:0; }
.btn { border-radius:0; font:600 10px/1 var(--font-sans); letter-spacing:.14em; }
.btn-primary { background:#f1ede3; color:#12110f; border:1px solid #f1ede3; box-shadow:none; }
.btn-primary:hover { transform:none; background:#b47a47; border-color:#b47a47; color:#12110f; box-shadow:none; filter:none; }
.btn-ghost { background:rgba(18,17,15,.25); color:#f1ede3; border:1px solid rgba(241,237,227,.34); }
.btn-ghost:hover { background:#12110f; border-color:#f1ede3; }
.btn-outline { background:transparent; color:#12110f; border:1px solid rgba(18,17,15,.58); }
.btn-outline:hover { background:#12110f; color:#f1ede3; border-color:#12110f; box-shadow:none; }

#quiz-section { max-width:1240px; margin:70px auto 0; padding:clamp(30px,5vw,64px); border:1px solid rgba(18,17,15,.18); border-radius:0; background:#ebe4d7; box-shadow:16px 16px 0 #ded4c3; }
.quiz-question h3,#quiz-results h3 { color:#12110f; font:400 clamp(32px,4vw,54px)/1 var(--font-serif); letter-spacing:-.035em; }
.quiz-options { gap:8px!important; }
.quiz-btn { border:1px solid rgba(18,17,15,.25); border-radius:0; background:rgba(241,237,227,.7); color:#12110f; font:500 11px/1.2 var(--font-sans); text-transform:uppercase; letter-spacing:.08em; }
.quiz-btn:hover { background:#9b2f28; border-color:#9b2f28; color:#f1ede3; box-shadow:none; }
#quiz-results { border-color:rgba(18,17,15,.15); }

main { padding:70px 0 110px; }
.catalogue-intro { padding:0 5% 70px; display:grid; grid-template-columns:.45fr 1fr .8fr; gap:clamp(24px,5vw,80px); align-items:end; }
.catalogue-intro .library-eyebrow { color:#9b2f28!important; align-self:start; }
.catalogue-intro h2 { margin:0; color:#12110f; font:400 clamp(42px,5vw,72px)/.95 var(--font-serif); letter-spacing:-.045em; }
.catalogue-intro>p:last-child { margin:0; color:#756d62; font:400 18px/1.55 var(--font-serif); }
.category-section { margin-bottom:78px; }
.category-title { color:#12110f; font:400 clamp(34px,4vw,58px)/1 var(--font-serif); letter-spacing:-.035em; }
.category-title::after { background:linear-gradient(90deg,rgba(18,17,15,.28),transparent); }
.horizontal-scroll { gap:0; scrollbar-color:#9b2f28 #ded4c3; }
.book-card { flex-basis:310px; border:0; border-right:1px solid rgba(18,17,15,.16); border-bottom:1px solid rgba(18,17,15,.16); border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.book-card::before { display:none; }
.book-card:hover { transform:none; border-color:rgba(18,17,15,.16); box-shadow:none; background:#e8e0d2; }
.book-cover-container { margin:20px; width:calc(100% - 40px); background:#12110f; }
.book-cover { opacity:1; }
.book-card:hover .book-cover { transform:scale(1.025); }
.book-info { padding:5px 22px 26px; }
.book-title { color:#12110f; font:400 27px/1.08 var(--font-serif); letter-spacing:-.02em; }
.book-author { color:#8f4a2f; font:600 9px/1 var(--font-sans); letter-spacing:.14em; }
.author-avatar { border-radius:0; border-color:#b47a47; }
.meta-tag { border-radius:0; background:transparent; border-color:rgba(18,17,15,.22); color:#493f35; }
.spice-tag { color:#8f211f; border-color:rgba(143,33,31,.28); }
.tropes-list,.book-blurb { color:#756d62; }
.book-blurb { font:400 16px/1.5 var(--font-serif); }
.tropes-list strong { color:#8f4a2f; }
.curators-pick-badge { border-radius:0; background:#9b2f28; box-shadow:none; animation:none; }
.cta-author-card .book-cover-container { margin:0; width:100%; background:#12110f!important; }
.cta-kicker { color:#b47a47!important; }
.empty-state { color:#756d62; font:400 22px/1.5 var(--font-serif); }

.seo-footer { background:#12110f; color:#f1ede3; border:0; }
.seo-caption h3 { color:#f1ede3; }
.seo-caption p { color:rgba(241,237,227,.58); }
.footer-copy { color:rgba(241,237,227,.42); border-color:rgba(241,237,227,.12); }

.form-container { width:min(920px,calc(100% - 48px)); max-width:none; margin:80px auto 120px; padding:clamp(30px,6vw,76px); border:1px solid rgba(18,17,15,.18); border-radius:0; background:#ebe4d7; box-shadow:20px 20px 0 #ded4c3; }
.form-container::before { background:linear-gradient(90deg,#9b2f28,#b47a47); }
.submission-eyebrow { color:#9b2f28!important; }
.submission-title { max-width:720px; margin:0; color:#12110f; font:400 clamp(48px,7vw,84px)/.92 var(--font-serif); letter-spacing:-.045em; }
.submission-intro { max-width:620px; margin:28px 0 50px; color:#756d62; font:400 19px/1.55 var(--font-serif); }
.form-group label { color:#12110f; text-transform:uppercase; letter-spacing:.13em; font:600 10px/1.3 var(--font-sans); }
.form-group input,.form-group textarea,.form-group select { border:0; border-bottom:1px solid rgba(18,17,15,.34); border-radius:0; background:rgba(241,237,227,.62); color:#12110f; font-family:var(--font-serif); }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:#9b2f28; box-shadow:none; outline:1px solid rgba(155,47,40,.16); }
.tropes-checkbox-grid { background:rgba(241,237,227,.6)!important; border-color:rgba(18,17,15,.15)!important; border-radius:0!important; }
.tropes-checkbox-grid label { color:#12110f!important; }
.nav-link { color:#756d62; }
.nav-link:hover { color:#9b2f28; }
#success-message { border-radius:0; background:#dfe6d8; color:#22351f; border:1px solid #97a990; }

.book-detail { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:58px 0 110px; }
.breadcrumbs { display:flex; gap:10px; margin-bottom:48px; color:#756d62; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.breadcrumbs a { border-bottom:1px solid rgba(18,17,15,.35); }
.book-detail-grid { display:grid; grid-template-columns:minmax(240px,390px) minmax(0,1fr); gap:clamp(42px,7vw,100px); align-items:start; }
.book-detail-cover { display:block; width:100%; box-shadow:18px 18px 0 #ded4c3; }
.book-detail-copy { padding-top:20px; }
.book-detail-copy h1 { margin:0; color:#12110f; font:400 clamp(48px,7vw,92px)/.9 var(--font-serif); letter-spacing:-.05em; }
.book-detail-author { margin:24px 0 30px; color:#8f4a2f; font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.book-detail-tropes { margin:24px 0 0; color:#756d62; font-size:14px; line-height:1.6; }
.book-detail-blurb { max-width:720px; margin:34px 0; color:#493f35; font:400 clamp(18px,2vw,23px)/1.65 var(--font-serif); }
.book-detail-cta { display:inline-block; }

@media (max-width:960px) {
  .house-header { grid-template-columns:1fr; }
  .house-header nav { justify-content:flex-start; overflow-x:auto; padding-bottom:8px; }
  .catalogue-intro { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .house-brand img { width:190px; }
  .hero { min-height:480px; padding-block:72px; }
  #quiz-section { width:calc(100% - 36px); box-shadow:9px 9px 0 #ded4c3; }
  .category-section { padding-left:18px; }
  .form-container { width:calc(100% - 36px); box-shadow:9px 9px 0 #ded4c3; }
  .book-detail { width:calc(100% - 36px); }
  .book-detail-grid { grid-template-columns:1fr; }
  .book-detail-cover { max-width:330px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
