/* PGR Publishing: editorial luxury. Shares pgr-studios.com's serif/dark grammar; own identity = warm oxblood + brass on paper. */
:root{--ink:#121014;--ink2:#1b181d;--paper:#f4efe6;--paper2:#ebe3d4;--brass:#b8925a;--ox:#6e2430;--mute:#9b948a;--line:#2e2a30;--serif:Georgia,"Times New Roman",serif;--sans:"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:#ece6db;font:16px/1.6 var(--sans)}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:.1em 0 .4em}
h1{font-size:clamp(2.6rem,6vw,5rem)}h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}h1 small{display:block;font-family:var(--sans);font-size:.8rem;letter-spacing:.4em;color:var(--brass);margin-bottom:.6em}h1 em{display:block;font-size:.42em;color:var(--mute);margin-top:.3em}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}.narrow{max-width:620px}
.eyebrow,.crumb{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);margin-bottom:12px}.crumb a{text-decoration:none}
.lede{font-size:1.15rem;color:#d6cfc3;max-width:46ch}.small{font-size:.82rem;color:var(--mute)}
section{padding:96px 0;border-bottom:1px solid var(--line)}
.top{position:sticky;top:0;z-index:10;background:rgba(18,16,20,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:68px;gap:20px}
.mark{font-family:var(--serif);font-size:1.15rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.mark span{color:var(--brass);border:1px solid var(--brass);padding:1px 6px;margin-right:6px}
.top nav{display:flex;gap:22px;align-items:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;overflow-x:auto}.top nav a{text-decoration:none;color:#bdb5a8;white-space:nowrap}.top nav a[aria-current]{color:#fff}
.cartn{background:var(--ox);color:#fff;border-radius:20px;padding:1px 8px;font-size:.7rem}
.btn{display:inline-block;font:inherit;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:14px 22px;border:1px solid var(--brass);text-decoration:none;cursor:pointer;background:none;color:inherit;transition:background .3s,color .3s}
.btn.gold{background:var(--brass);color:#141014}.btn.gold:hover{background:#d0aa70}.btn.ghost:hover{background:var(--brass);color:#141014}.btn.sm{padding:8px 14px;font-size:.68rem}.btn[disabled]{opacity:.5;cursor:default}
.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero{position:relative;overflow:hidden;padding:110px 0}.hero .bg{position:absolute;inset:0}.hero .bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.32) saturate(.8)}
.hero .wrap{position:relative}.hgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.cover{aspect-ratio:2/3;background:linear-gradient(160deg,#2a1a20,#0d0b0e 70%);border:1px solid #4a3a2a;box-shadow:0 30px 80px rgba(0,0,0,.6);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;position:relative;font-family:var(--serif)}
.cover.big{max-width:380px;margin:0 auto;width:100%}.cover .c-im{position:absolute;top:22px;font:600 .62rem var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
.cover .c-se{letter-spacing:.4em;font-size:.9rem;color:var(--brass)}.cover .c-ti{font-size:clamp(2rem,4vw,3rem);letter-spacing:.06em;margin:.2em 0}.cover .c-vo{color:var(--mute)}
.cover .c-ph{position:absolute;bottom:18px;left:18px;right:18px;border:1px dashed #8a7a60;font:.62rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#cbb994;padding:6px}
.cover.mini{width:56px;padding:4px;flex:none}.cover.mini span{display:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.buy{display:grid;gap:16px;margin-top:20px}.fmt{border:1px solid var(--line);background:var(--ink2);padding:22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.fmt>div{flex:1 1 220px}.fl{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.pr{font-family:var(--serif);font-size:2rem}.fmt p{margin:0;color:var(--mute);font-size:.88rem}
.kindle{margin:0;font-size:.85rem}.kindle a{color:var(--mute)}
.ivory{background:var(--paper);color:#231d1a}.ivory .lede{color:#4a4038}.ivory .eyebrow{color:var(--ox)}
.shelf{list-style:none;padding:0 0 12px;margin:28px 0 0;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory}
.shelf li{flex:0 0 170px;scroll-snap-align:start}.shelf a{text-decoration:none}.shelf img,.bicov{aspect-ratio:3/4;width:100%;object-fit:cover;border-radius:3px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.bicov{background:repeating-linear-gradient(135deg,#e2d6bf 0 14px,#ddd0b6 14px 28px);display:flex;flex-direction:column;justify-content:space-between;padding:12px;color:#6e5a3a;font:.62rem var(--sans);letter-spacing:.2em;text-transform:uppercase}.bicov b{font:2rem var(--serif);color:var(--ox)}
.vt{display:block;font-family:var(--serif);font-size:.95rem;line-height:1.3;margin:10px 0 6px}.pill{display:inline-block;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid currentColor;border-radius:20px;padding:2px 9px;color:var(--ox)}
.grid24{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:26px 18px}.grid24 .n{display:block;margin-top:10px;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#8a7a60}.grid24 .vt{margin-top:2px}.grid24 .btn{display:block;margin-top:10px;width:100%;color:#7a6a50;border-color:#c8b89a}
.cast{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.cast img{aspect-ratio:3/4;object-fit:cover;width:100%}.cast figure,.gal figure{margin:0}figcaption{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gal img{aspect-ratio:4/3;object-fit:cover;width:100%}
.panel,.card{border:1px solid var(--line);background:var(--ink2);padding:32px}
.bi .hero{background:#1a2430}.hero.bi img{border-radius:4px}
.auth{min-height:60vh}form label{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
input{display:block;width:100%;margin-top:8px;font:1rem var(--sans);padding:14px;background:#0e0c10;border:1px solid #3a343c;color:#fff}input:focus{outline:2px solid var(--brass);outline-offset:1px}
.code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase}
.err{border-left:3px solid #c0505e;background:#2a1418;padding:12px 14px;font-size:.9rem;margin:0 0 18px}
.codebox{font:1.6rem ui-monospace,Menlo,monospace;letter-spacing:.2em;border:1px dashed var(--brass);padding:18px;text-align:center;margin:14px 0;user-select:all;word-break:break-all}
.warn{border-left:3px solid var(--brass);padding:8px 14px;background:#221d16}
.lines{list-style:none;padding:0;margin:0}.line,.lines li{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.tot{display:flex;justify-content:space-between;margin:18px 0;font-family:var(--serif);font-size:1.3rem}
.reader{position:relative;background:#0a090b;border:1px solid var(--line);padding:24px;user-select:none;-webkit-user-select:none}
.stage{aspect-ratio:2/3;max-height:78vh;margin:0 auto;display:flex;justify-content:center}.stage img{height:100%;width:auto;-webkit-user-drag:none;pointer-events:none}
.pgph{aspect-ratio:2/3;height:100%;max-width:100%;background:#f1ece2;color:#5a5048;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.4rem;gap:8px}.pgph small{font:.7rem var(--sans);letter-spacing:.2em;text-transform:uppercase}
.preview .stage{max-height:560px}
.ctl{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.wm{position:absolute;inset:24px 24px 80px;overflow:hidden;pointer-events:none;opacity:.12;color:#000;font:600 15px var(--sans);display:flex;flex-wrap:wrap;align-content:flex-start;gap:60px 80px;transform-origin:center}
.wm span{transform:rotate(-30deg);white-space:nowrap}
.stamp{position:absolute;right:34px;bottom:90px;pointer-events:none;font:11px ui-monospace,Menlo,monospace;background:rgba(18,16,20,.75);color:#d8c9a8;padding:6px 10px;border:1px solid #6a5a40}
.rbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-family:var(--serif)}.readerwrap{padding:40px 0}
footer{padding:56px 0;font-size:.85rem;color:var(--mute)}footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer nav{display:flex;gap:22px;flex-wrap:wrap}footer a{color:#cfc6b8}
@media (max-width:980px){.hgrid,.split{grid-template-columns:1fr;gap:40px}.grid24{grid-template-columns:repeat(3,1fr)}.cast{grid-template-columns:repeat(3,1fr)}.gal{grid-template-columns:1fr}}
@media (max-width:640px){.wrap{padding:0 20px}section{padding:64px 0}.grid24{grid-template-columns:1fr 1fr}.top .wrap{height:auto;flex-direction:column;align-items:flex-start;padding-top:12px;padding-bottom:10px;gap:8px}.top nav{width:100%;gap:16px}.cover.big{max-width:260px}}
.soon{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);border-radius:20px;padding:6px 14px;color:var(--mute)}.kindle{color:var(--mute)}
