:root{--bg:#0a0a0a;--fg:#ededed;--soft:#cfcfcf;--muted:#8d8d8d;--line:#ffffff21;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;background:var(--bg)}body.catalogue,body.page{background:var(--bg);color:var(--fg);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:inherit}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.top{z-index:20;pointer-events:none;background:linear-gradient(#0a0a0af0,#0a0a0a00);justify-content:space-between;align-items:center;padding:22px clamp(20px,3vw,40px);display:flex;position:fixed;inset:0 0 auto}.top>*{pointer-events:auto}.brand img{width:auto;height:36px;display:block}.top nav{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:28px;display:flex}.top nav a{color:var(--muted);text-decoration:none;transition:color .2s}.top nav a:hover,.top nav a[aria-current]{color:var(--fg)}.langs{gap:16px;display:flex}.langs a[aria-current]{border-bottom:1px solid var(--fg);padding-bottom:3px}.product{scroll-snap-align:start;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100svh;display:grid}.product+.product{background:linear-gradient(var(--line), var(--line)) 0 0 / 100% 1px no-repeat}.stage{align-self:start;place-items:center;height:100svh;padding:88px clamp(20px,4vw,64px) 40px;display:grid;position:sticky;top:0}.cover{object-fit:contain;filter:drop-shadow(0 28px 36px #0000008c);width:auto;max-width:82%;height:min(100%,60svh);display:block}.placeholder{aspect-ratio:5/7.3;text-align:center;border:1px solid var(--line);background:linear-gradient(150deg,#1c1c1c,#0e0e0e);border-radius:3px;flex-direction:column;justify-content:space-between;align-items:center;width:min(340px,62%);padding:10% 9%;display:flex;box-shadow:0 28px 36px #00000080,inset 4px 0 #ffffff0a}.ph-author{font:500 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.ph-title{font:500 clamp(1.5rem, 2.4vw, 2.2rem)/1.1 var(--serif)}.ph-coll{font:italic 400 .85rem/1 var(--serif);color:var(--muted)}.info{flex-direction:column;justify-content:center;align-items:flex-start;max-width:720px;padding:104px clamp(24px,6vw,96px) 56px clamp(16px,3vw,48px);display:flex}.eyebrow{font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}h2{font:500 clamp(2.5rem, 4.4vw, 4.2rem)/1.04 var(--serif);letter-spacing:-.005em;margin:0}.sub{font:italic 400 clamp(1.15rem, 1.6vw, 1.45rem)/1.35 var(--serif);color:var(--soft);margin:14px 0 0}.specs{font:400 12.5px/1.4 var(--sans);letter-spacing:.04em;color:var(--muted);margin:18px 0 0}.desc{font:400 clamp(1.1rem, 1.35vw, 1.28rem)/1.58 var(--serif);color:var(--soft);margin-top:30px}.desc p{margin:0 0 1em}.desc p:last-child{margin-bottom:0}.desc b,.desc strong{color:var(--fg);font-weight:600}.desc.clamped{max-height:8em;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.more{cursor:pointer;color:var(--fg);font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;border:0;border-bottom:1px solid var(--fg);background:0 0;margin-top:12px;padding:0 0 4px}.more:hover{color:var(--muted);border-color:var(--muted)}.buy{width:100%;margin-top:32px}.label{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.tabs{border-bottom:1px solid var(--line);gap:28px;display:flex}.tabs button{cursor:pointer;font:500 13px/1 var(--sans);letter-spacing:.04em;color:var(--muted);background:0 0;border:0;border-bottom:1px solid #0000;margin:0 0 -1px;padding:0 0 12px;transition:color .2s}.tabs button:hover{color:var(--soft)}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--fg)}.stores{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:18px 10px;padding-top:22px;display:grid}.stores[hidden]{display:none}.store{text-align:center;flex-direction:column;align-items:center;gap:8px;text-decoration:none;display:flex}.store[hidden]{display:none}.store img,.store .noicon{object-fit:cover;border-radius:11px;width:44px;height:44px;display:block}.store .noicon{background:#1c1c1c}.store span{max-width:100%;font:400 11px/1.25 var(--sans);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;transition:color .2s;overflow:hidden}.store:hover span,.store:focus-visible span{color:var(--fg)}.biblio{border-top:1px solid var(--line);width:100%;margin-top:28px;padding-top:18px}.biblio p{font:400 13px/1.65 var(--sans);color:var(--muted);margin:0}.colophon{border-top:1px solid var(--line);text-align:center;scroll-snap-align:end;padding:96px clamp(24px,6vw,96px) 40px}.colophon .intro{max-width:46ch;font:italic 400 clamp(1.25rem, 1.9vw, 1.6rem)/1.5 var(--serif);color:var(--soft);margin:0 auto 72px}.site-footer{max-width:560px;font:400 11.5px/1.6 var(--sans);color:var(--muted);margin:0 auto}.site-footer p{margin:0 0 10px}.site-footer a{color:var(--muted);border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s}.site-footer a:hover{color:var(--fg);border-color:var(--fg)}.site-footer .footer-dedication{font-family:var(--serif);color:var(--soft);margin:18px 0;font-size:1.05rem;font-style:italic}.site-footer .footer-links{flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:20px 0;display:flex}.site-footer .footer-copyright{opacity:.7;margin-top:24px}@media (width<=899px){html{scroll-snap-type:none}.top nav{gap:18px}.product{min-height:0;display:block}.stage{height:auto;padding:84px 24px 12px;position:static}.cover{height:auto;max-height:52svh;margin:0 auto}.placeholder{margin:0 auto}.info{max-width:none;padding:20px 24px 64px}.colophon{padding-top:72px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*{transition:none!important}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:var(--ease)}.top{view-transition-name:site-header}.top-left{align-items:center;gap:clamp(16px,2.4vw,28px);display:flex}.top nav button,.top-left button{appearance:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);background:0 0;border:0;padding:0;transition:color .2s}.top-left button{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.top nav button:hover,.top nav button:focus-visible,.top-left button:hover,.top-left button:focus-visible{color:var(--fg)}.top nav button[hidden],.top-left button[hidden]{display:none}.acct-panel{z-index:30;border:1px solid var(--line);min-width:220px;max-width:min(320px,100vw - 40px);font:400 13px/1.5 var(--sans);color:var(--soft);background:#111;border-radius:3px;padding:16px 18px;position:fixed;top:60px;left:clamp(20px,3vw,40px)}.acct-panel p{word-break:break-all;margin:0 0 12px}.acct-panel strong{color:var(--fg);font-weight:500}.acct-panel .acct-item{appearance:none;text-align:left;border:0;border-top:1px solid var(--line);cursor:pointer;width:100%;font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--soft);background:0 0;margin-top:12px;padding:12px 0 0;display:block}.acct-panel .acct-item:hover,.acct-panel .acct-item:focus-visible{color:var(--fg)}.acct-panel p+.acct-item{margin-top:0}#account-btn:after{content:"";border:1px solid;border-width:0 1px 1px 0;width:5px;height:5px;margin:0 0 3px 9px;transition:transform .2s;display:inline-block;transform:rotate(45deg)}#account-btn[aria-expanded=true]:after{transform:rotate(225deg)translate(-1px,-1px)}.auth-toast{z-index:40;border:1px solid var(--line);max-width:calc(100vw - 40px);font:400 13px/1.4 var(--sans);color:var(--fg);background:#111;border-radius:3px;padding:12px 18px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.members{width:100%;margin-top:8px}.members .pw{font:400 13px/1.4 var(--sans);color:var(--muted);margin:12px 0 0}.members .pw code{color:var(--fg);user-select:all;font:500 13px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace}.members .pw button{appearance:none;cursor:pointer;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;margin-left:12px;padding:0}.members .pw button:hover,.members .pw button:focus-visible{color:var(--fg)}body.books-open{overflow:hidden}.books-overlay{z-index:50;overscroll-behavior:contain;background:#0a0a0afb;padding:clamp(16px,4vw,56px);position:fixed;inset:0;overflow-y:auto}.books-dialog{max-width:1040px;margin:0 auto}.books-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;display:flex}.books-head h2{font-size:clamp(1.8rem,3vw,2.6rem)}.books-langs{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;gap:16px;margin:0 auto 0 28px;display:flex}.books-langs button{appearance:none;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);background:0 0;border:0;border-bottom:1px solid #0000;padding:0 0 3px;transition:color .2s}.books-langs button:hover,.books-langs button:focus-visible{color:var(--fg)}.books-langs button[aria-pressed=true]{color:var(--fg);border-bottom-color:var(--fg)}.books-list[aria-busy=true]{opacity:.5;transition:opacity .2s}.books-close{appearance:none;cursor:pointer;font:300 34px/1 var(--sans);color:var(--muted);background:0 0;border:0;padding:0 4px;transition:color .2s}.books-close:hover,.books-close:focus-visible{color:var(--fg)}.books-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.book-card{border:1px solid var(--line);background:#0f0f0f;border-radius:3px;align-items:flex-start;gap:16px;padding:16px;display:flex}.mini-cover{object-fit:contain;object-position:top center;filter:drop-shadow(0 8px 10px #00000080);flex:none;width:76px;height:108px}.mini-ph{border:1px solid var(--line);filter:none;background:linear-gradient(150deg,#1c1c1c,#0e0e0e);border-radius:2px}.book-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.book-title{font:500 1.2rem/1.2 var(--serif);color:var(--fg);margin:0}.book-author{font:500 10.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:5px 0 0}.book-link{font:500 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--fg);border-bottom:1px solid var(--fg);margin-top:14px;padding-bottom:4px;text-decoration:none}.book-link:hover,.book-link:focus-visible{color:var(--muted);border-color:var(--muted)}.book-body .members{margin-top:4px}.books-empty{font:400 14px/1.5 var(--sans);color:var(--muted);margin:32px 0 0}.notfound{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100svh;padding:96px 24px 48px;display:grid}.notfound h1{font:500 clamp(3rem, 8vw, 5.5rem)/1 var(--serif);margin:0}.notfound p{font:400 1.15rem/1.5 var(--serif);color:var(--soft);margin:0}.notfound nav{font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:18px;display:flex}.notfound nav a{color:var(--soft);border-bottom:1px solid var(--line);padding-bottom:4px;text-decoration:none;transition:color .2s}.notfound nav a:hover,.notfound nav a:focus-visible{color:var(--fg)}h2 a{color:inherit;text-decoration:none}h2 a:hover,h2 a:focus-visible{text-underline-offset:.18em;text-decoration:underline 1px}h1{font:500 clamp(2.5rem, 4.4vw, 4.2rem)/1.04 var(--serif);letter-spacing:-.005em;margin:0}.sr-only{margin:0}.crumbs{font:500 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.crumbs a{color:var(--muted);border-bottom:1px solid #0000;text-decoration:none;transition:color .2s,border-color .2s}.crumbs a:hover,.crumbs a:focus-visible{color:var(--fg);border-color:var(--fg)}.crumbs [aria-current]{color:var(--soft)}.more-books{border-top:1px solid var(--line);padding:72px clamp(24px,6vw,96px)}.more-books h2{font:500 clamp(1.6rem, 2.6vw, 2.2rem)/1.1 var(--serif);margin:0 0 28px}.more-books ul{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:44px 32px;margin:0;padding:0;list-style:none;display:grid}.more-books a{flex-direction:column;align-items:flex-start;text-decoration:none;display:flex}.more-books .c{width:100%;margin-bottom:16px;display:block}.more-books .c img{filter:drop-shadow(0 14px 16px #0000008c);width:100%;max-width:200px;height:auto;transition:transform .35s var(--ease);display:block}.more-books .c .ph{aspect-ratio:5/7.3;border:1px solid var(--line);background:linear-gradient(150deg,#1c1c1c,#0e0e0e);border-radius:3px;width:100%;max-width:200px;display:block}.more-books a:hover .c img,.more-books a:focus-visible .c img{transform:translateY(-6px)}.more-books .t{font:500 1.15rem/1.25 var(--serif);color:var(--fg);display:block}.more-books .a{font:500 10.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;display:block}.more-books a:hover .t,.more-books a:focus-visible .t{text-underline-offset:.18em;text-decoration:underline 1px}.req-dialog{color-scheme:dark;max-width:760px}.req-form{gap:26px;margin-top:26px;display:grid}.req-intro{font:400 14px/1.6 var(--sans);color:var(--muted);margin:0}.req-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:26px;display:grid}.req-field{border:0;flex-direction:column;gap:9px;min-width:0;margin:0;padding:0;display:flex}.req-field .lbl{font:500 11px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:0}.req-field legend.lbl{float:none;width:100%;margin-bottom:16px}.req-star{color:var(--fg)}.req-form input[type=text],.req-form input[type=email],.req-form input[type=tel],.req-form input[type=date],.req-form select,.req-form textarea{box-sizing:border-box;width:100%;color:var(--fg);border:1px solid var(--line);font:400 15px/1.4 var(--sans);background:#111;border-radius:3px;padding:12px 14px}.req-form textarea{resize:vertical;min-height:3.4em}.req-form input:focus-visible,.req-form select:focus-visible,.req-form textarea:focus-visible{outline:1px solid var(--fg);outline-offset:0;border-color:#0000}.req-form .req-other{margin-top:4px}.req-checks{flex-wrap:wrap;gap:14px 22px;display:flex}.req-check{cursor:pointer;font:400 14px/1.35 var(--sans);color:var(--soft);align-items:center;gap:9px;display:inline-flex}.req-check input{accent-color:#ededed;flex:none;width:17px;height:17px;margin:0}.req-consent{align-items:flex-start}.req-consent a{color:var(--fg)}.req-hint{font:400 12px/1.5 var(--sans);color:var(--muted)}.req-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.req-error{min-height:1.4em;font:400 13px/1.4 var(--sans);color:#e9a8a8;margin:0}.req-submit{background:var(--fg);color:#0a0a0a;cursor:pointer;font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:0;border-radius:3px;place-self:flex-start start;padding:15px 30px;transition:opacity .2s}.req-submit:hover,.req-submit:focus-visible{opacity:.85}.req-submit[disabled]{opacity:.5;cursor:progress}.req-done{justify-items:start;gap:18px;margin-top:26px;display:grid}.req-done p{font:400 1.15rem/1.6 var(--serif);color:var(--soft);margin:0}.req-done .req-thanks{font:500 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--serif);color:var(--fg)}.req-done .req-hint{font:400 12.5px/1.5 var(--sans);color:var(--muted)}@media (width<=640px){.req-row{grid-template-columns:1fr}}body.construction{text-align:center;place-items:center;min-height:100svh;padding:48px 24px;display:grid}.construction main{max-width:640px}.construction .logo{width:96px;height:96px;margin:0 auto 26px;display:block}.construction .brand-name{font:500 12px/1.4 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:0 0 42px}.construction h1{font:500 clamp(2.6rem, 8vw, 4.8rem)/1.05 var(--serif);letter-spacing:-.005em;margin:0}.construction .alt{font:italic 400 clamp(1.25rem, 3vw, 1.75rem)/1.3 var(--serif);color:var(--soft);margin:14px 0 0}.construction hr{border:0;border-top:1px solid var(--line);width:48px;margin:46px auto 34px}.construction .thanks{font:400 clamp(1rem, 2vw, 1.15rem)/1.8 var(--serif);color:var(--muted);margin:0}.construction .thanks span{display:block}.construction .contact{font:500 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin:26px 0 0}.construction .contact a{color:var(--fg);border-bottom:1px solid var(--line);padding-bottom:5px;text-decoration:none;transition:border-color .2s}.construction .contact a:hover,.construction .contact a:focus-visible{border-color:var(--fg)}.construction footer{font:400 11.5px/1.6 var(--sans);color:var(--muted);margin-top:60px}