
:root{--bg:#efe6d6;--paper:#fffaf1;--ink:#282d34;--navy:#173957;--gold:#ac8451;--border:#dbccb6}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 Georgia,"Times New Roman",serif}
a{color:#214a72}a:focus-visible{outline:3px solid #b87b3b;outline-offset:3px}
header{background:rgba(255,250,241,.96);border-bottom:1px solid var(--border);padding:15px max(20px,calc((100vw - 1190px)/2));display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:10}
.brand{font-size:.99rem;font-weight:bold;letter-spacing:.12em;color:#173958;text-decoration:none}nav{display:flex;gap:18px;flex-wrap:wrap}nav a{font:700 .79rem Arial,sans-serif;text-decoration:none;letter-spacing:.07em;color:#314961}
.wrap{width:min(1190px,calc(100% - 32px));margin:0 auto}.hero{text-align:center;padding:62px 10px 30px}.eyebrow{font:700 .72rem Arial,sans-serif;letter-spacing:.21em;color:#977047;text-transform:uppercase}
h1{font-size:clamp(2.05rem,4.3vw,3.35rem);font-weight:500;line-height:1.12;color:var(--navy);margin:16px 0 12px}h2{font-size:1.7rem;color:var(--navy);font-weight:500}.intro{max-width:760px;margin:0 auto;color:#58534d}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;padding:24px 0 65px}
.book{background:var(--paper);border:1px solid var(--border);border-radius:13px;padding:16px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 9px 24px #6553340d}.cover{width:100%;height:258px;object-fit:contain;display:block;filter:drop-shadow(0 8px 9px #172a3226);transition:transform .2s}.cover-link:hover .cover{transform:translateY(-4px)}.cover-placeholder{height:230px;width:100%;border:1px dashed #b9ae9d;display:grid;place-items:center;padding:20px;color:#857d73;font-size:.82rem}
.book h2{font:500 1.08rem/1.35 Georgia,serif;min-height:2.7em;margin:15px 0 10px}.link-btn{margin-top:auto;display:inline-block;background:var(--navy);color:white;text-decoration:none;font:700 .72rem Arial,sans-serif;letter-spacing:.08em;padding:12px 20px;border-radius:25px}.link-btn:hover{background:#33628a}.small{font-size:.82rem;color:#766e61;margin:7px 0}
.section-line{border-top:1px solid var(--border);margin:15px 0 30px}.tag{font:700 .7rem Arial,sans-serif;letter-spacing:.06em;border:1px solid #b9aa93;border-radius:20px;padding:5px 10px;display:inline-block}.tag.ready{background:#e1e9e7;border-color:#aac7bb;color:#22584c}
.synopsis{max-width:860px;margin:0 auto;background:var(--paper);padding:clamp(22px,5vw,65px);border:1px solid var(--border);border-radius:12px;margin-bottom:70px;box-shadow:0 20px 38px #49361910}.synopsis p{margin:0 0 1.35em}.synopsis h1{margin-top:10px}.backlinks{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.backlinks a{font:700 .82rem Arial,sans-serif;text-decoration:none;padding:12px 18px;border:1px solid #abb6c0;border-radius:30px}.note{color:#6e655b;font-size:.9rem}
.filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.filter a{background:#fffaf3;padding:8px 15px;border:1px solid var(--border);border-radius:25px;text-decoration:none;font:.83rem Arial,sans-serif}
.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:17px;margin:30px auto 70px}.catalog .book{padding:14px}.catalog .cover{height:205px}.catalog .book h2{font-size:.98rem;min-height:2.4em}.catalog .ru{font:.8rem/1.4 Arial,sans-serif;color:#786a5e;margin-bottom:14px}.catalog .cover-placeholder{height:205px}
footer{text-align:center;color:#675c52;padding:32px 15px;border-top:1px solid var(--border);font-size:.78rem}
@media(max-width:590px){header{position:static}.hero{padding-top:39px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.book{padding:10px}.cover{height:180px}.book h2{font-size:.93rem}.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog .cover{height:160px}}


.request-book{margin:48px 0 24px;padding:26px 26px 28px;border:1px solid #cdbfa7;background:#f3ecdf;border-radius:14px;text-align:center}
.request-book h2{color:#173957;font:500 clamp(1.3rem,3vw,1.65rem)/1.3 Georgia,serif;margin:0 0 10px}
.request-book p{font-size:.99rem;max-width:640px;margin:0 auto 18px;line-height:1.65;color:#494945}
.request-book .request-button{display:inline-block;text-decoration:none;background:#173957;color:#fff;padding:14px 23px;border-radius:28px;font:700 .82rem/1.3 Arial,sans-serif;letter-spacing:.035em}
.request-book .request-button:hover{background:#285e85}
.request-book .request-button:focus-visible{outline:3px solid #b87b3b;outline-offset:3px}
.request-book .request-address{font: .83rem/1.5 Arial,sans-serif;color:#6b655b;margin:12px 0 0}
@media(max-width:600px){.request-book{padding:22px 14px}}
.site-route-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:-30px auto 55px;max-width:920px}.site-route-links a{border:1px solid #bdb1a0;border-radius:25px;padding:12px 18px;color:#173957;text-decoration:none;font:700 .78rem Arial,sans-serif;background:#fffbf3}.site-route-links a:hover{background:#e3daca}
/* TYPOGRAPHY: chapter headings in longer Socrates synopses */
.synopsis .synopsis-text h2{font:500 clamp(1.34rem,2.7vw,1.72rem)/1.28 Georgia,serif;color:var(--navy);margin:39px 0 14px}
.synopsis .synopsis-text h3{font:500 clamp(1.12rem,2.4vw,1.38rem)/1.32 Georgia,serif;color:var(--navy);margin:28px 0 12px}
.synopsis strong{font-weight:700}
.synopsis .synopsis-text p{margin:0 0 1.35em}
/* Reusable bottom-of-book component. Book return stays within paper, Crossroads is outside. */
.book-design-request{margin-top:48px}
.book-design-backlinks{margin-top:24px}
.book-design-crossroads{margin-top:-30px}
/* Socrates gallery harmonized with Trison catalog, without shrinking accepted book covers */
.soc-shell .socrates-book{background:var(--paper);border:1px solid var(--border);border-radius:13px;box-shadow:0 9px 24px #6553340d;padding:16px}
.soc-shell .socrates-book h2{color:var(--navy);font:500 1.08rem/1.35 Georgia,serif}
.soc-shell .socrates-synopsis-link{background:var(--navy);color:#fff;font:700 .72rem/1.3 Arial,sans-serif;letter-spacing:.08em;border-radius:25px;padding:12px 20px}
.soc-shell .socrates-synopsis-link:hover{background:#33628a}
.soc-shell .soc-bottom a{background:#fffbf3;border:1px solid #bdb1a0;border-radius:25px;color:#173957;font:700 .78rem Arial,sans-serif;padding:12px 18px}
.soc-shell .soc-bottom a:hover{background:#e3daca}
.soc-shell .socrates-book .book-number{color:#977047}
@media(max-width:590px){.synopsis{margin-bottom:60px}.request-book{padding:22px 14px}.synopsis .backlinks{margin-top:24px}}
