/*
Theme Name: Repristination Press
Theme URI: https://repristinationpress.org/
Author: Repristination Press
Description: A warm, scholarly publishing theme for Repristination Press.
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: repristination-press
*/

:root{--ink:#25151b;--plum:#55233a;--plum-dark:#311320;--wine:#7a304d;--gold:#ba9450;--paper:#efe2c6;--paper-light:#fbf6ea;--muted:#6c5a52;--line:rgba(55,29,37,.2);--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper-light);font:18px/1.65 var(--serif);text-rendering:optimizeLegibility}a{color:var(--plum)}a:hover{color:var(--wine)}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-wrap{min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.75),transparent 38%),linear-gradient(90deg,rgba(91,56,31,.035) 1px,transparent 1px),var(--paper-light);background-size:auto,7px 7px,auto}.site-header{border-top:7px solid var(--plum-dark);border-bottom:1px solid var(--line);background:rgba(251,246,234,.94)}.header-inner,.site-main,.footer-inner{width:min(1180px,calc(100% - 40px));margin:0 auto}.header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:center;min-height:118px}.brand-mark{display:grid;place-items:center;width:76px;height:76px;border:1px solid var(--gold);outline:1px solid rgba(186,148,80,.38);outline-offset:-6px;background:var(--plum-dark);color:#e5c477;text-decoration:none;font:700 3.6rem/1 var(--serif)}.brand-copy{text-decoration:none;color:var(--ink)}.site-title{display:block;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.05;letter-spacing:.015em}.site-tagline{display:block;margin-top:.4rem;color:var(--muted);font-size:.83rem;letter-spacing:.08em;text-transform:uppercase}.menu-toggle{display:none}.primary-menu{display:flex;gap:1.2rem;align-items:center;list-style:none;margin:0;padding:0;font:600 .78rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase}.primary-menu a{text-decoration:none;color:var(--ink);padding:.6rem .1rem}.primary-menu a:hover{color:var(--wine)}
.site-main{padding:3.5rem 0 5rem}.rp-hero{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;min-height:560px;padding:clamp(2.5rem,7vw,6rem) 0}.rp-hero-mark{display:grid;place-items:center;aspect-ratio:1;color:#e6c77e;background:radial-gradient(circle,#6b2a45,#351420 70%);border:1px solid #b99350;outline:1px solid rgba(84,35,58,.25);outline-offset:12px;box-shadow:0 25px 50px rgba(48,23,31,.2);font:700 clamp(9rem,22vw,15rem)/1 var(--serif)}.rp-kicker{margin:0 0 .6rem;color:var(--wine);font:700 .75rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}.rp-hero h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.92;letter-spacing:-.04em;margin:.15rem 0 1.3rem}.rp-lead{font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.35;margin:.5rem 0}.rp-hero-copy>p:not(.rp-kicker):not(.rp-lead){max-width:690px;color:#574740}.rp-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:1.8rem}.rp-button{display:inline-block;padding:.85rem 1.25rem;background:var(--plum);color:#fff8e9;text-decoration:none;font:700 .8rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}.rp-button:hover{background:var(--wine);color:white}.rp-text-link{font-weight:700;text-underline-offset:.2em}.rp-section{padding:5rem 0;border-top:1px solid var(--line)}.rp-section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.rp-section-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:0}.rp-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:2rem 0 0;background:var(--line);border:1px solid var(--line)}.rp-principles>div{background:var(--paper);padding:2rem}.rp-principles span{font:700 .75rem/1 var(--sans);color:var(--wine)}.rp-principles h2{margin:.75rem 0 .4rem}.rp-principles p{margin:0;color:var(--muted)}
.page-header{max-width:800px;margin:0 0 3rem}.page-header .rp-kicker{margin-bottom:.7rem}.page-title,.entry-title{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.035em;margin:.2rem 0 1rem}.archive-description{color:var(--muted);font-size:1.15rem}.entry-content{max-width:820px}.entry-content>*:first-child{margin-top:0}.entry-content h2{font-size:2rem;line-height:1.2;margin-top:2.2rem}.entry-content h3{font-size:1.35rem}.entry-meta{margin-bottom:2rem;color:var(--muted)}.book-single{display:grid;grid-template-columns:minmax(240px,380px) minmax(0,1fr);gap:clamp(2rem,6vw,5rem)}.book-single .rp-book-cover{position:sticky;top:2rem}.book-taxonomies{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.2rem}.book-taxonomies a{padding:.25rem .55rem;background:var(--paper);text-decoration:none;font:700 .72rem/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase}
.site-footer{background:var(--plum-dark);color:#e9ddc6}.footer-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding:3rem 0}.footer-title{font-size:1.4rem}.footer-copy,.footer-disclosure{color:#cbbca7;max-width:620px}.footer-disclosure{font-size:.78rem;margin:.9rem 0 0}.footer-meta{text-align:right;color:#cbbca7}.footer-meta a{color:#e9ddc6}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;font-size:.8rem}
@media(max-width:850px){.header-inner{grid-template-columns:auto 1fr}.menu-toggle{display:block;grid-column:3;background:none;border:1px solid var(--line);padding:.55rem;font:700 .75rem var(--sans)}.site-nav{display:none;grid-column:1/-1;padding-bottom:1rem}.site-nav.is-open{display:block}.primary-menu{align-items:flex-start;flex-direction:column}.rp-hero{grid-template-columns:1fr;min-height:auto}.rp-hero-mark{width:min(250px,65vw)}.rp-principles{grid-template-columns:1fr}.book-single{grid-template-columns:1fr}.book-single .rp-book-cover{position:relative;top:auto;max-width:340px}.footer-inner{grid-template-columns:1fr}.footer-meta{text-align:left}}
@media(max-width:560px){body{font-size:16px}.header-inner,.site-main,.footer-inner{width:min(100% - 28px,1180px)}.header-inner{min-height:94px;gap:.8rem}.brand-mark{width:58px;height:58px;font-size:2.7rem}.site-tagline{font-size:.63rem}.rp-hero{padding:2rem 0 4rem}.rp-section{padding:3.5rem 0}.rp-section-heading{display:block}}
