/* Site-wide dynamic typography: cinematic hierarchy with readable body copy. */
:root{
  --font-display:"Cinzel",Georgia,"Times New Roman",serif;
  --font-label:"Oswald","Arial Narrow",Arial,sans-serif;
  --font-body:"Inter",Arial,Helvetica,sans-serif;
  --font-review:"Source Serif 4",Georgia,"Times New Roman",serif;
  --font-editorial:"Cinzel",Georgia,"Times New Roman",serif;
}

/* Global DOM text */
body,input,button{font-family:var(--font-body)}
button,input{letter-spacing:.01em}

/* Legacy/archive header + navigation */
.brand-main{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:.025em!important}
.brand-sub{font-family:var(--font-label)!important;font-weight:600!important;letter-spacing:.28em!important}
.nav a,.nav button{font-family:var(--font-label)!important;font-weight:600!important;letter-spacing:.055em!important}
.page-title{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:.025em!important}
.page-sub{font-family:var(--font-body)!important;line-height:1.6!important}
.filter{font-family:var(--font-body)!important;font-weight:500!important}
.libtitle{font-family:var(--font-display)!important;font-weight:750!important;letter-spacing:.005em!important;line-height:1.12!important}
.libmeta{font-family:var(--font-label)!important;font-weight:550!important;letter-spacing:.07em!important;text-transform:uppercase}
.card-stars,.stars,.info-stars{font-family:var(--font-body)!important;letter-spacing:.11em!important}
.footer{font-family:var(--font-label)!important;letter-spacing:.035em!important}

/* Legacy/archive/search overlays */
.searchbox input,.master-search input{font-family:var(--font-body)!important;font-weight:500!important}
.searchbox button,.master-search button,.mobile-readmore{font-family:var(--font-label)!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase}
.result h3,.master-result h3{font-family:var(--font-display)!important;font-weight:750!important;letter-spacing:.01em!important;line-height:1.2!important}
.result p,.master-result p{font-family:var(--font-body)!important;line-height:1.55!important}

/* Master-page shared typography */
.master-page{font-family:var(--font-body)!important}
.master-stars,.rating-stars{font-family:var(--font-body)!important;font-weight:700!important;letter-spacing:.10em!important}
.rating-pending{font-family:var(--font-label)!important;letter-spacing:.06em!important}

@media (min-width:761px){
  /* Home: Now Reviewed */
  .home-now-copy .kicker{font-family:var(--font-label)!important;font-size:.70cqw!important;font-weight:600!important;letter-spacing:.105em!important;text-transform:uppercase}
  .home-now-copy h1{font-family:var(--font-display)!important;font-size:2.58cqw!important;font-weight:800!important;line-height:.96!important;letter-spacing:.015em!important}
  .home-verdict>span{font-family:var(--font-label)!important;font-size:.68cqw!important;font-weight:650!important;letter-spacing:.09em!important;text-transform:uppercase}
  .home-verdict p{font-family:var(--font-body)!important;font-size:.79cqw!important;font-weight:600!important;line-height:1.42!important;letter-spacing:.002em!important}
  .home-now-copy .read-review{font-family:var(--font-label)!important;font-size:.74cqw!important;font-weight:650!important;letter-spacing:.07em!important;text-transform:uppercase}
  .home-now-stub .label{font-family:var(--font-label)!important;font-size:.63cqw!important;font-weight:600!important;letter-spacing:.10em!important;text-transform:uppercase}
  .home-now-stub .value{font-family:var(--font-label)!important;font-size:.86cqw!important;font-weight:600!important;letter-spacing:.035em!important}
  .home-now-stub .master-stars{font-size:.88cqw!important}

  /* Home: Recent Reviews */
  .home-recent-card .title{font-family:var(--font-display)!important;font-size:.92cqw!important;font-weight:750!important;line-height:1.14!important;letter-spacing:.005em!important}
  .home-recent-card .master-stars{font-size:.68cqw!important;letter-spacing:.09em!important}

  /* Home: Previously Reviewed */
  .home-prev-card .title{font-family:var(--font-display)!important;font-size:.70cqw!important;font-weight:750!important;line-height:1.13!important;letter-spacing:.005em!important}
  .home-prev-card .master-stars{font-size:.50cqw!important;letter-spacing:.08em!important}
  .home-prev-card .meta{font-family:var(--font-label)!important;font-size:.41cqw!important;font-weight:600!important;letter-spacing:.075em!important;text-transform:uppercase}
  .home-prev-card .serial{font-family:var(--font-label)!important;font-size:.40cqw!important;font-weight:600!important;letter-spacing:.06em!important}

  /* Content: information panel */
  .content-info h1{font-family:var(--font-display)!important;font-size:2.30cqw!important;font-weight:800!important;line-height:1.03!important;letter-spacing:.015em!important}
  .content-info .label{font-family:var(--font-label)!important;font-size:1.14cqw!important;font-weight:600!important;letter-spacing:.055em!important}
  .content-info .value{font-family:var(--font-body)!important;font-size:1.16cqw!important;font-weight:500!important;line-height:1.42!important}
  .content-info .master-stars{font-size:1.22cqw!important}
  .content-info .verdict-row .label{font-size:1.18cqw!important;font-weight:650!important}
  .content-info .verdict-value{font-family:var(--font-body)!important;font-size:1.08cqw!important;font-weight:550!important;line-height:1.42!important;letter-spacing:.002em!important}

  /* Content: long-form review body */
  .content-review-body{font-family:var(--font-review)!important;font-size:1.20cqw!important;font-weight:450!important;line-height:1.66!important;letter-spacing:.003em!important;color:#f4f0e8!important;text-rendering:optimizeLegibility}
  .content-review-body p{margin:0 0 1.24em!important}
  .content-review-body p:first-child{font-size:1.035em!important;font-weight:500!important;color:#fff7e8!important}
  .content-review-body strong,.content-review-body b{font-weight:700!important;color:#fff6df!important}
  .content-review-body em,.content-review-body i{font-style:italic!important;color:#ead6ad!important}
  .content-review-body h1,.content-review-body h2,.content-review-body h3{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:.02em!important;line-height:1.24!important;color:#e6ad45!important;margin:1.45em 0 .6em!important}
  .content-review-body h2{font-size:1.38em!important}.content-review-body h3{font-size:1.18em!important}
  .content-review-body a{color:#e8b64e!important;text-decoration-color:#8d651d!important;text-underline-offset:.16em!important}
  .content-review-body blockquote{font-family:var(--font-review)!important;font-style:italic!important;font-size:1.03em!important;line-height:1.68!important;margin:1.3em 0!important;padding:.25em 0 .25em 1.25em!important;border-left:3px solid #b6812e!important;color:#e8d8b9!important}
  .content-review-body ul,.content-review-body ol{padding-left:1.45em!important;margin:0 0 1.2em!important}.content-review-body li{margin:.35em 0!important}

  /* Content: Related Reviews */
  .content-related-card .title{font-family:var(--font-display)!important;font-size:.77cqw!important;font-weight:750!important;line-height:1.14!important;letter-spacing:.004em!important}
  .content-related-card .master-stars{font-size:.56cqw!important;letter-spacing:.085em!important}

  /* Archive page */
  .archive .page-title{font-size:clamp(34px,3vw,50px)!important;line-height:1.08!important}
  .archive .page-sub{font-size:15px!important}
  .library .libtitle{font-size:clamp(18px,1.5vw,25px)!important}
  .library .libmeta{font-size:11px!important}
}

@media (max-width:760px){
  /* Keep mobile cinematic but more compact/readable. */
  .home-now-copy .kicker{font-family:var(--font-label)!important;font-weight:600!important;letter-spacing:.095em!important;text-transform:uppercase}
  .home-now-copy h1{font-family:var(--font-display)!important;font-weight:800!important;line-height:1!important;letter-spacing:.01em!important}
  .home-now-copy p{font-family:var(--font-body)!important;font-weight:550!important;line-height:1.48!important}
  .home-now-copy .read-review{font-family:var(--font-label)!important;font-weight:650!important;letter-spacing:.06em!important}
  .home-now-stub .label,.home-now-stub .value{font-family:var(--font-label)!important}
  .home-recent-card .title,.home-prev-card .title,.content-related-card .title{font-family:var(--font-display)!important;font-weight:750!important;line-height:1.12!important}
  .home-prev-card .meta,.home-prev-card .serial{font-family:var(--font-label)!important;font-weight:600!important;letter-spacing:.055em!important;text-transform:uppercase}
  .content-info h1{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:.01em!important}
  .content-info .label{font-family:var(--font-label)!important;font-size:2.45cqw!important;font-weight:600!important;letter-spacing:.045em!important}
  .content-info .value{font-family:var(--font-body)!important;font-size:2.38cqw!important;line-height:1.4!important}
  .content-info .master-stars{font-size:2.95cqw!important}
  .content-info .verdict-row .label{font-size:2.5cqw!important;font-weight:650!important}
  .content-info .verdict-value{font-family:var(--font-body)!important;font-size:2.28cqw!important;font-weight:550!important;line-height:1.4!important}
  .content-review-body{font-family:var(--font-review)!important;font-size:2.82cqw!important;font-weight:450!important;line-height:1.64!important;letter-spacing:.002em!important;color:#f4f0e8!important;text-rendering:optimizeLegibility}
  .content-review-body p{margin:0 0 1.20em!important}
  .content-review-body p:first-child{font-weight:500!important;color:#fff7e8!important}
  .content-review-body strong,.content-review-body b{font-weight:700!important;color:#fff6df!important}
  .content-review-body h1,.content-review-body h2,.content-review-body h3{font-family:var(--font-display)!important;color:#e6ad45!important;line-height:1.22!important}
  .content-review-body blockquote{font-style:italic!important;padding-left:1em!important;border-left:2px solid #b6812e!important;color:#e8d8b9!important}
  .archive .page-title{font-size:clamp(30px,8vw,44px)!important}
  .libtitle{font-size:clamp(18px,5.2vw,24px)!important}
}
