:root{color:#24211e;font-synthesis:none;--ink:#24211e;--paper:#e5e7eb;--cream:#fff;--wine:#7a302f;--brick:#a94f3a;--panel:#374151;--line:#24211e2e;--serif:"Libre Caslon Display", Georgia, serif;background:#e5e7eb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 15% 0%, #ffffff8c, transparent 34rem), var(--paper);min-width:320px;color:var(--ink);margin:0}body:before{content:"";pointer-events:none;opacity:.12;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:var(--cream);z-index:20;justify-content:space-between;align-items:center;width:min(100% - 2.5rem,1180px);height:84px;margin:2rem auto 0;padding:0 clamp(1.25rem,4vw,3rem);display:flex;position:relative;box-shadow:0 20px 60px #2d282314}.brand{align-items:center;gap:.85rem;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--wine);width:40px;height:40px;color:var(--wine);font-family:var(--serif);letter-spacing:-.05em;background:0 0;place-items:center;font-size:.95rem;display:grid}.brand strong{font-family:var(--serif);font-size:1.22rem;font-weight:400;line-height:.95;display:block}.brand small{text-transform:uppercase;letter-spacing:.2em;margin-top:.22rem;font-size:.56rem;display:block}.site-header nav{align-items:center;gap:2rem;display:flex}.site-header nav a{letter-spacing:.09em;text-transform:uppercase;font-size:.74rem;font-weight:600;text-decoration:none}.site-header nav a:after{content:"";background:var(--wine);width:0;height:1px;transition:width .25s;display:block}.site-header nav a:hover:after{width:100%}.menu-button{background:0 0;border:0;padding:.7rem;display:none}.menu-button span{background:var(--ink);width:24px;height:1px;margin:6px;display:block}.eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0 0 .8rem;font-size:.68rem;font-weight:600}.home-page{background:var(--cream);width:min(100% - 2.5rem,1180px);margin:0 auto;box-shadow:0 28px 70px #2d282317}.home-intro{text-align:center;padding:clamp(3.5rem,7vw,5.75rem) 2rem clamp(3.25rem,5vw,4.5rem)}.home-intro h1{max-width:820px;font-family:var(--serif);letter-spacing:-.04em;margin:0 auto;font-size:clamp(2.85rem,6vw,5.2rem);font-weight:400;line-height:1}.title-rule{background:var(--wine);width:48px;height:1px;margin:1.75rem auto 0;display:block}.catalogue-section{padding:0 clamp(1.25rem,4vw,3rem) clamp(5rem,8vw,8rem)}.book-list{gap:clamp(4.5rem,8vw,7.5rem);display:grid}.catalogue-book{min-width:0;animation:.7s both catalogue-rise;animation-timeline:view();animation-range:entry 5% cover 24%}.catalogue-book-heading{text-align:center;grid-template-columns:minmax(1rem,1fr) auto minmax(1rem,1fr);align-items:center;gap:clamp(1rem,3vw,2.25rem);padding-bottom:1.35rem;display:grid}.catalogue-book-heading:before,.catalogue-book-heading:after{content:"";background:var(--line);height:1px}.catalogue-book-heading h2{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3.8vw,3.5rem);font-weight:400;line-height:1}.catalogue-book-heading h2 a{text-decoration:none}.catalogue-book-heading h2 a:hover{color:var(--wine)}.catalogue-book-panel{background:var(--panel);grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);display:grid;box-shadow:0 20px 48px #1c1c1c2b}.catalogue-book-cover{background:#cac4b9;min-height:100%;display:block;overflow:hidden}.catalogue-book-cover img{object-fit:cover;width:100%;height:100%;min-height:510px;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}.catalogue-book-cover:hover img{filter:saturate(1.04);transform:scale(1.018)}.catalogue-book-copy{color:#fbf8f1;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(2.1rem,3.7vw,3.35rem);display:flex}.catalogue-book-text{font-family:var(--serif);font-size:clamp(1.02rem,1.2vw,1.1rem);line-height:1.62}.catalogue-book-text p{margin:0 0 1.15rem}.back-cover-label{letter-spacing:.14em;text-transform:uppercase;color:#d5b8aa;padding-top:.45rem;font-family:DM Sans,sans-serif;font-size:.64rem;font-weight:600}.catalogue-publication{color:#d6d2c9;font-size:.92em;margin-top:1.65rem!important}.catalogue-book-actions{border-top:1px solid #fff3;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:1.9rem;padding-top:1.35rem;display:flex}.catalogue-book-actions>strong{font-family:var(--serif);white-space:nowrap;font-size:1.55rem;font-weight:400}.catalogue-buy-link{letter-spacing:.08em;text-transform:uppercase;border:1px solid #fbf8f1;justify-content:space-between;align-items:center;gap:1.5rem;min-height:44px;padding:.7rem .9rem .7rem 1rem;font-size:.65rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.catalogue-buy-link:hover{color:var(--panel);background:#fbf8f1}.catalogue-buy-link span:last-child{font-size:1rem;line-height:1;transition:transform .2s}.catalogue-buy-link:hover span:last-child{transform:translate(3px)}.catalogue-book-heading a:focus-visible,.catalogue-book-cover:focus-visible,.catalogue-buy-link:focus-visible{outline:2px solid var(--wine);outline-offset:4px}@keyframes catalogue-rise{0%{opacity:.35;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-link{letter-spacing:.1em;text-transform:uppercase;text-underline-offset:.25rem;font-size:.72rem;font-weight:600}.breadcrumb{text-transform:uppercase;letter-spacing:.12em;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;font-size:.7rem;display:flex}.breadcrumb a{text-underline-offset:.2rem}.book-page{padding:3rem clamp(1.25rem,5vw,5rem) clamp(6rem,10vw,10rem)}.book-page-grid{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);align-items:start;gap:clamp(3rem,9vw,10rem);display:grid}.book-page-cover{background:var(--wine);padding:clamp(1.25rem,4vw,3rem);position:sticky;top:2rem}.book-page-cover img{width:100%;height:auto;display:block;box-shadow:0 24px 50px #00000040}.book-page-copy{max-width:750px;padding-top:clamp(2rem,7vw,7rem)}.book-page h1{font-family:var(--serif);letter-spacing:-.045em;overflow-wrap:break-word;text-wrap:balance;margin:0 0 3rem;font-size:clamp(3.5rem,6.6vw,7rem);font-weight:400;line-height:.94}.book-page-copy>p,.back-cover p{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.65}.back-cover{border-top:1px solid var(--line);margin-top:3.5rem;padding-top:2rem}.back-cover .eyebrow{font-family:DM Sans,sans-serif;font-size:.68rem}.publication{color:#665f58;margin-top:2.5rem}.purchase-line{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;margin-top:3rem;padding:1.25rem 0;display:flex}.purchase-line strong{font-family:var(--serif);font-size:2rem;font-weight:400}.shipping-note{font-family:DM Sans,sans-serif!important;font-size:.72rem!important}.button{border:1px solid var(--wine);background:var(--wine);color:#fff;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;justify-content:center;align-items:center;min-height:48px;padding:.85rem 1.5rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.button:hover{color:var(--wine);background:0 0}.button.full{width:100%}.checkout-page{padding:2.5rem clamp(1.25rem,5vw,5rem) 7rem}.back-link{text-transform:uppercase;letter-spacing:.1em;text-underline-offset:.25rem;margin-bottom:2rem;font-size:.72rem;display:inline-block}.checkout-grid{border:1px solid var(--line);grid-template-columns:minmax(320px,.85fr) minmax(480px,1.15fr);min-height:750px;display:grid}.checkout-summary{background:#e5e7eb;align-content:start;gap:2rem;padding:clamp(1.5rem,4vw,4rem);display:grid}.checkout-summary img{object-fit:contain;justify-self:center;width:auto;max-width:min(100%,320px);height:auto;max-height:360px;box-shadow:0 20px 45px #00000040}.checkout-summary h1{font-family:var(--serif);margin:0 0 .5rem;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:.9}.checkout-summary dl{border-top:1px solid var(--line);margin:2rem 0 0}.checkout-summary dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.checkout-summary dt,.checkout-summary dd{margin:0;font-size:.78rem}.checkout-summary .total{font-size:1rem;font-weight:600}.checkout-form-panel{background:var(--cream);padding:clamp(2rem,6vw,6rem)}.checkout-form-panel h2{font-family:var(--serif);margin:0 0 2.5rem;font-size:clamp(2.7rem,5vw,5rem);font-weight:400;line-height:.9}.checkout-form{gap:1.15rem;display:grid}.checkout-form label,.login-card label{letter-spacing:.1em;text-transform:uppercase;gap:.45rem;font-size:.67rem;font-weight:600;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}input,textarea,select{border:0;border-bottom:1px solid var(--ink);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:.85rem .15rem}input:focus,textarea:focus,select:focus{border-bottom-color:var(--wine);box-shadow:0 1px 0 var(--wine)}fieldset{border:0;margin:0;padding:1rem 0 0}legend{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.8rem;font-size:.67rem;font-weight:600}.payment-option{border-top:1px solid var(--line);cursor:pointer;align-items:center;padding:1rem 0;grid-template-columns:22px 1fr!important}.payment-option:last-child{border-bottom:1px solid var(--line)}.payment-option input{width:auto;accent-color:var(--wine)}.payment-option span{gap:.25rem;display:grid}.payment-option small{letter-spacing:0;text-transform:none;color:#69615a;font-weight:400}.paypal-zone{min-height:52px;margin-top:1rem}.paypal-zone.disabled{opacity:.5;pointer-events:none}.muted{color:#6d665f;font-size:.8rem}.form-error{border-left:3px solid var(--wine);background:#f7dfdb;padding:.85rem 1rem;font-size:.82rem}.confirmation-page,.error-page{text-align:center;max-width:840px;min-height:70vh;margin:auto;padding:clamp(5rem,12vw,10rem) 1.25rem}.confirmation-page h1,.error-page h1{font-family:var(--serif);margin:0 0 2rem;font-size:clamp(3.5rem,8vw,7rem);font-weight:400;line-height:.9}.confirmation-card{text-align:left;border:1px solid var(--line);background:var(--cream);grid-template-columns:130px 1fr;gap:1.5rem;margin:3rem auto;padding:1.25rem;display:grid}.confirmation-card img{aspect-ratio:1/1.05;object-fit:cover}.confirmation-card h2{font-family:var(--serif);margin:.5rem 0;font-size:1.9rem;font-weight:400}.confirmation-card small{word-break:break-all;color:#69615a;margin-top:1rem;display:block}.login-page{place-items:center;min-height:70vh;padding:3rem 1.25rem;display:grid}.login-card{background:var(--cream);border:1px solid var(--line);gap:1.5rem;width:min(100%,460px);padding:clamp(2rem,6vw,4rem);display:grid}.login-card h1{font-family:var(--serif);margin:0 0 1rem;font-size:4rem;font-weight:400}.admin-page{min-height:75vh;padding:3rem clamp(1rem,4vw,4rem) 6rem}.admin-heading{justify-content:space-between;align-items:end;margin-bottom:2rem;display:flex}.admin-heading h1{font-family:var(--serif);margin:0;font-size:4rem;font-weight:400}.text-button{cursor:pointer;background:0 0;border:0;text-decoration:underline}.admin-table-wrap{border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;background:var(--cream);width:100%;font-size:.78rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:1rem}th{text-transform:uppercase;letter-spacing:.1em;font-size:.62rem}td small{color:#69615a;margin-top:.25rem;display:block}.status{text-transform:uppercase;background:#e1d9cc;padding:.3rem .5rem;font-size:.65rem;display:inline-block}.status-paid{background:#d5e5d2}.status-payment_failed{background:#f2d6d2}.site-footer{border-top:1px solid var(--ink);background:var(--cream);justify-content:space-between;align-items:start;gap:2rem;width:min(100% - 2.5rem,1180px);min-height:190px;margin:0 auto 2rem;padding:3rem clamp(1.25rem,4vw,3rem);display:flex;box-shadow:0 28px 70px #2d282317}.footer-brand{font-family:var(--serif);margin:0 0 .5rem;font-size:2rem}.site-footer a{text-underline-offset:.25rem;font-size:.75rem}.footer-contact>a{color:#5e5851}.footer-contact>a:hover{color:var(--wine)}.footer-socials{width:min(100%,540px)}.footer-socials>p{letter-spacing:.15em;text-transform:uppercase;color:#6b645c;margin:0 0 .75rem;font-size:.62rem;font-weight:600}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.social-link{border:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:68px;padding:.7rem .8rem;text-decoration:none;transition:border-color .2s,background .2s,color .2s,transform .2s;display:grid}.social-link:hover{border-color:var(--panel);background:var(--panel);color:#fffdf8;transform:translateY(-2px)}.social-icon{border:1px solid var(--wine);width:42px;height:42px;color:var(--wine);place-items:center;transition:border-color .2s,color .2s;display:grid}.social-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:21px;height:21px;overflow:visible}.social-icon .social-icon-dot{fill:currentColor;stroke:none}.social-icon-vimeo svg{fill:currentColor;stroke:none;width:24px;height:24px}.social-link:hover .social-icon{color:#fffdf8;border-color:#fffdf8}.social-copy{gap:.12rem;min-width:0;display:grid}.social-copy strong{font-family:var(--serif);font-size:1.05rem;font-weight:400}.social-copy small{color:#756d64;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.social-link:hover .social-copy small{color:#d8d2c9}.social-arrow{font-size:1rem;transition:transform .2s}.social-link:hover .social-arrow{transform:translate(2px,-2px)}.social-link:focus-visible{outline:2px solid var(--wine);outline-offset:3px}@media (width<=900px){.site-header{height:76px}.menu-button{display:block}.site-header nav{background:var(--cream);border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:76px;left:0;right:0}.site-header nav.open{display:flex}.site-header nav a{border-top:1px solid var(--line);padding:1.25rem}.catalogue-book-panel{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr)}.catalogue-book-cover img{min-height:100%}.catalogue-book-copy{padding:2rem}.book-page-grid,.checkout-grid{grid-template-columns:1fr}.book-page-cover{position:relative;top:auto}.checkout-summary{grid-template-columns:180px 1fr;align-items:start}}@media (width<=640px){.site-header,.home-page,.site-footer{width:100%}.site-header{margin-top:0}.brand strong{font-size:1.1rem}.home-intro{padding:3.75rem 1.25rem 3.5rem}.home-intro h1{max-width:470px;font-size:clamp(2.65rem,11vw,3.6rem)}.catalogue-section{padding-inline:0}.book-list{gap:4.5rem}.catalogue-book-heading{gap:.9rem;padding-inline:1.25rem}.catalogue-book-heading h2{max-width:390px;font-size:clamp(2rem,9vw,2.8rem)}.catalogue-book-panel{box-shadow:none;grid-template-columns:1fr}.catalogue-book-cover img{aspect-ratio:1/1.04;min-height:0}.catalogue-book-copy{padding:2rem 1.35rem 1.5rem}.catalogue-book-text{font-size:1.02rem;line-height:1.62}.catalogue-book-actions{gap:1rem}.catalogue-buy-link{flex:1;max-width:230px}.book-page{padding-top:1.5rem}.book-page h1{font-size:clamp(2.9rem,13vw,3.45rem);line-height:.96}.purchase-line{flex-direction:column;align-items:stretch;gap:1rem}.checkout-page{padding-inline:0}.checkout-page>.back-link{margin-left:1.25rem}.checkout-grid{border-inline:0}.checkout-summary{grid-template-columns:110px 1fr;padding:1.25rem}.checkout-summary h1{font-size:2rem}.checkout-form-panel{padding:3rem 1.25rem}.form-row{grid-template-columns:1fr}.confirmation-card{grid-template-columns:90px 1fr}.site-footer{flex-direction:column;margin-bottom:0}.footer-socials{width:100%}.footer-links{grid-template-columns:1fr}.social-link{min-height:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
