:root{--ink:#111110;--sub:#4a4a47;--muted:#77736d;--paper:#fff;--cream:#f7f6f2;--rule:#deddda;--gutter:clamp(18px,4.5vw,76px);--content:1380px;--navheight:61px;--serif:'Baskerville','Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.35;cursor:not-allowed}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.container{max-width:var(--content);padding:0 var(--gutter);margin:auto}
.site-header{background:#fff}
.masthead{height:139px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-name{display:inline-flex;flex-direction:column;gap:6px;color:#141414;white-space:nowrap}
.brand-name strong{font:400 clamp(24px,3vw,42px)/1 var(--serif);letter-spacing:.045em}
.brand-name small{font:500 10px/1.1 var(--sans);letter-spacing:.49em;padding-left:4px}
.masthead-right{display:flex;align-items:center;gap:34px}
.masthead-edition{font-size:10px;letter-spacing:.22em;color:#686762;text-transform:uppercase}
.logo-link{width:106px;height:106px;aspect-ratio:1;border-radius:50%;display:block;overflow:hidden;background:#050505;transition:transform .3s ease;flex-shrink:0}
.logo-link:hover{transform:scale(1.04)}
.logo-link img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.nav-bar{background:#101010;color:#fff;position:relative;z-index:20;border-bottom:1px solid #222}
.nav-inner{display:flex;justify-content:space-between;align-items:center;min-height:var(--navheight)}
.nav-links{display:flex;align-items:stretch;gap:36px;min-height:var(--navheight)}
.nav-links a{font-size:12px;letter-spacing:.18em;font-weight:600;display:flex;align-items:center;color:#dedede;position:relative;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a::after{content:'';position:absolute;bottom:13px;left:0;right:100%;height:1px;background:#fff;transition:right .25s ease}
.nav-links a:hover::after,.nav-links a.active::after{right:0}
.nav-right{display:flex;align-items:center;gap:22px}
.nav-fine{font-size:10px;color:#a9a9a9;letter-spacing:.2em;text-transform:uppercase}
.nav-search{width:28px;height:28px;display:grid;place-items:center;background:none;color:white;border:none;padding:0}
.nav-search svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.4}
.menu-toggle{display:none;color:#fff;background:none;border:0;padding:10px;margin-left:-10px}
.menu-toggle svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.5}
.search-panel{display:none;background:#fff;border-bottom:1px solid var(--rule);padding:16px 0}
.search-panel.is-open{display:block}
.search-form{display:flex;gap:12px;align-items:center}
.search-form input{width:100%;height:44px;border:1px solid #a8a8a5;background:#fff;padding:10px 14px;color:#111;font-size:14px}
.search-form button{height:44px;white-space:nowrap;background:#111;color:white;border:1px solid #111;padding:0 24px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.main-content{padding-top:57px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 29px;border-bottom:1px solid #151515;padding-bottom:20px}
.section-head h1,.section-head h2{margin:0;font:400 clamp(30px,3.2vw,43px)/1.15 var(--serif);letter-spacing:.005em}
.section-title-line{display:flex;align-items:center;gap:18px}
.section-index{font:500 10px var(--sans);letter-spacing:.16em;color:var(--muted);transform:translateY(2px)}
.controls{display:flex;align-items:center;gap:11px}
.carousel-count{min-width:76px;text-align:center;font-size:11px;letter-spacing:.12em;color:#686762;white-space:nowrap}
.arrow-btn{width:41px;height:41px;border:1px solid #171717;background:white;color:#171717;display:grid;place-items:center;transition:background .2s,color .2s}
.arrow-btn:hover{background:#111;color:white}
.arrow-btn svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.6;fill:none}
.carousel-window{overflow:hidden;padding:2px 2px 14px;margin:-2px}
.carousel-track{display:flex;gap:28px;transition:transform .65s cubic-bezier(.22,1,.36,1);will-change:transform}
.book-card{min-width:0;flex:0 0 calc((100% - 3*28px)/4);display:flex;flex-direction:column}
.book-image-wrap{height:350px;background:var(--cream);display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}
.book-image-wrap::after{content:'';position:absolute;bottom:30px;width:65%;height:20px;border-radius:50%;background:rgba(0,0,0,.18);filter:blur(16px);pointer-events:none}
.book-image{max-width:72%;max-height:298px;object-fit:contain;aspect-ratio:520/760;box-shadow:8px 9px 12px rgba(0,0,0,.18),2px 0 1px rgba(0,0,0,.23);position:relative;z-index:1;transition:transform .4s ease,box-shadow .4s ease}
.book-image-wrap:hover .book-image{transform:translateY(-7px);box-shadow:11px 17px 23px rgba(0,0,0,.2)}
.book-meta{padding:20px 0 4px;text-align:center;display:flex;flex-direction:column;align-items:center;flex:1}
.book-kicker{font:600 10px var(--sans);letter-spacing:.17em;color:#6f6d68;text-transform:uppercase;margin:0 0 10px}
.book-title{font:400 22px/1.22 var(--serif);margin:0 0 7px;max-width:260px}
.book-author{font:400 12px/1.5 var(--sans);color:#66645f;margin:0 0 17px}
.book-action{display:inline-block;border-bottom:1px solid #111;font-size:10px;letter-spacing:.16em;font-weight:700;padding-bottom:5px;margin-top:auto;text-transform:uppercase;background:none;border-top:none;border-left:none;border-right:none;border-radius:0;color:#111}
.book-action:hover{color:#777;border-color:#777}
.carousel-bottom{display:flex;justify-content:center;align-items:center;gap:12px;margin:25px 0 0;color:#8b8883}
.carousel-bottom span{width:42px;height:1px;background:#d1d0cb}
.carousel-bottom span.active{background:#171717;height:2px}
.catalogue-section{margin-bottom:80px}
.latest-section{padding-top:44px;border-top:1px solid #ecebe7;margin-bottom:85px}
.see-all{display:inline-block;font:600 10px var(--sans);letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:6px;white-space:nowrap;align-self:center}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px}
.article-card{display:flex;flex-direction:column;min-width:0}
.article-thumb{aspect-ratio:1.76;overflow:hidden;background:#eee}
.article-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .5s,filter .5s}
.article-card:hover .article-thumb img{transform:scale(1.045);filter:grayscale(1) contrast(1.15)}
.article-meta{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#77736c;margin-top:18px}
.article-title{font:400 clamp(21px,2vw,27px)/1.18 var(--serif);margin:12px 0}
.article-excerpt{font:400 13px/1.85 var(--sans);color:#66645f;margin:0 0 16px;max-width:45ch}
.article-read{margin-top:auto;font:600 10px var(--sans);letter-spacing:.17em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.site-footer{background:#0f0f0e;color:#fff;padding:45px 0 25px;margin-top:40px}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:42px}
.footer-brand{font:400 29px var(--serif);letter-spacing:.02em}
.footer-brand small{display:block;font:400 10px var(--sans);letter-spacing:.35em;margin-top:5px}
.footer-links{display:flex;gap:25px;flex-wrap:wrap}
.footer-links a{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#c6c6c3}
.footer-links a:hover{color:white}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #444;padding-top:23px;font-size:10px;color:#999;letter-spacing:.1em}
.page-heading{margin-bottom:31px;max-width:860px}
.page-heading h1{font:400 clamp(37px,4.5vw,57px)/1.1 var(--serif);margin:0 0 15px}
.page-heading p{font:400 14px/1.7 var(--sans);color:#666;max-width:59ch}
.inner-page{padding-top:63px;min-height:55vh}
.catalogue-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #171717;border-bottom:1px solid var(--rule);padding:18px 0;margin:34px 0 30px;gap:18px}
.results-note{font-size:11px;letter-spacing:.1em;color:#666;text-transform:uppercase}
.catalogue-search{height:39px;width:min(330px,70vw);border:1px solid #aaa;padding:0 12px;font-size:13px}
.catalogue-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px 28px}
.catalogue-grid .book-image-wrap{height:320px}
.catalogue-grid .book-image{max-height:270px}
.article-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 33px}
.article-detail{max-width:860px;margin:auto;padding:58px 0 90px}
.article-detail .breadcrumb{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#777}
.article-detail h1{font:400 clamp(36px,5vw,62px)/1.1 var(--serif);margin:22px 0 12px}
.article-detail .article-meta{margin:0 0 30px}
.article-hero{width:100%;aspect-ratio:1.9;object-fit:cover;margin:0 0 36px;filter:grayscale(1)}
.article-prose{font:400 18px/1.84 var(--serif);color:#272724}
.article-prose p{margin:0 0 25px}
.article-prose p:first-of-type::first-letter{font-size:55px;float:left;line-height:1;padding:7px 7px 0 0}
.article-back{display:inline-block;font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.15em;margin-top:30px;border-bottom:1px solid #000;padding-bottom:5px}
.about-copy{max-width:760px;font:400 18px/1.85 var(--serif);margin-bottom:70px}
.about-copy p{margin:0 0 24px}
.placeholder-note{border:1px solid var(--rule);padding:24px 28px;max-width:630px;background:#fafaf8;color:#4d4b48;font-size:13px;line-height:1.8;margin:24px 0 55px}
.contact-card{border-top:1px solid #111;max-width:720px;padding:25px 0 50px}
.contact-card strong{font:500 14px var(--sans)}
.contact-card p{font:400 15px/1.7 var(--serif)}
.modal{border:1px solid #202020;box-shadow:0 25px 85px rgba(0,0,0,.27);width:min(870px,calc(100% - 36px));max-width:870px;padding:0;background:#fff;color:#111}
.modal::backdrop{background:rgba(0,0,0,.72)}
.modal-close{position:absolute;right:15px;top:15px;border:0;background:#fff;width:35px;height:35px;font-size:23px;z-index:2}
.modal-inner{display:grid;grid-template-columns:44% 1fr;gap:0}
.modal-figure{background:#efeeeb;display:grid;place-items:center;padding:45px 40px}
.modal-figure img{max-height:390px;box-shadow:8px 11px 14px rgba(0,0,0,.18)}
.modal-info{padding:64px 49px 50px;display:flex;justify-content:center;flex-direction:column}
.modal-info h2{font:400 clamp(32px,3.2vw,48px)/1.1 var(--serif);margin:8px 0 15px}
.modal-info p{line-height:1.75;color:#5d5c57;font-size:14px}
.modal-rule{height:1px;background:#ddd;margin:22px 0}
.modal-label{font-size:10px;color:#777;letter-spacing:.15em;text-transform:uppercase}
.modal-info .book-action{align-self:flex-start;margin-top:30px}
.empty-state{padding:45px 0;color:#777}
@media(max-width:1180px){.carousel-track{gap:22px}.book-card{flex-basis:calc((100% - 2*22px)/3)}.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-grid{gap:22px}.nav-links{gap:25px}}
@media(max-width:780px){:root{--gutter:clamp(18px,4.5vw,30px)}.masthead{height:116px}.logo-link{height:86px;width:86px}.masthead-edition{display:none}.nav-fine{display:none}.nav-links{gap:18px}.nav-links a{font-size:10px;letter-spacing:.11em}.carousel-track{gap:18px}.book-card{flex-basis:calc((100% - 18px)/2)}.book-image-wrap{height:340px}.book-image{max-height:278px}.main-content{padding-top:39px}.latest-section{padding-top:30px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid .article-card:last-child{display:none}.article-list-grid .article-card:last-child{display:flex}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{align-items:flex-start;flex-direction:column}.article-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.masthead{height:102px}.brand-name strong{font-size:25px}.brand-name small{font-size:8px;letter-spacing:.34em}.logo-link{height:74px;width:74px}.menu-toggle{display:block}.nav-inner{min-height:55px}.nav-links{display:none;position:absolute;top:55px;left:0;right:0;background:#101010;padding:7px var(--gutter) 19px;box-shadow:0 14px 17px rgba(0,0,0,.25);flex-direction:column;min-height:unset;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:13px 0;font-size:12px}.nav-links a::after{bottom:7px;right:100%}.nav-right{gap:12px}.nav-bar{min-height:55px}.carousel-track{gap:14px}.book-card{flex-basis:100%}.book-image-wrap{height:420px}.book-image{max-height:365px;max-width:76%}.section-head{padding-bottom:15px;align-items:flex-end;gap:7px}.section-head h1,.section-head h2{font-size:30px}.section-index{display:none}.controls{gap:6px}.arrow-btn{width:33px;height:33px}.carousel-count{min-width:55px;font-size:10px}.main-content{padding-top:30px}.catalogue-section{margin-bottom:52px}.latest-section{margin-bottom:60px}.article-grid,.article-list-grid{grid-template-columns:1fr}.article-grid .article-card:last-child{display:flex}.article-thumb{aspect-ratio:1.86}.article-card{margin-bottom:18px}.catalogue-grid{gap:25px 13px}.catalogue-grid .book-image-wrap{height:250px}.catalogue-grid .book-image{max-height:220px;max-width:78%}.catalogue-grid .book-title{font-size:19px}.catalogue-grid .book-meta{padding:15px 3px}.catalogue-toolbar{align-items:stretch;flex-direction:column}.catalogue-search{width:100%}.footer-bottom{flex-direction:column;align-items:flex-start}.modal-inner{grid-template-columns:1fr}.modal-figure{padding:30px}.modal-figure img{max-height:260px}.modal-info{padding:28px}.article-detail{padding:36px 0 60px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
