:root{--ink:#152820;--muted:#718078;--green:#16664b;--lime:#c8e47a;--paper:#f7f8f3;--line:#e4e8e1;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}.topbar{height:78px;display:flex;align-items:center;padding:0 7.2%;gap:44px;background:#fff;border-bottom:1px solid #edf0eb}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-right:auto}.brand img{width:37px;height:37px;object-fit:contain}.brand span{display:flex;flex-direction:column;gap:3px}.brand b{font-size:15px;letter-spacing:.16em}.brand small{font-size:8px;letter-spacing:.13em;color:#6e7c75}.topbar nav{display:flex;gap:36px}.topbar nav a,.text-link{color:var(--ink);text-decoration:none;font-size:12px}.topbar nav a:hover,.text-link:hover{color:var(--green)}.button{border:0;text-decoration:none;font:600 11px var(--sans);letter-spacing:.025em;padding:14px 18px;display:inline-flex;gap:24px;align-items:center;justify-content:space-between;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-green{background:var(--green);color:#fff}.button-green:hover{background:#0f533b}.menu-toggle{display:none;background:none;border:0;font-size:20px}.hero{min-height:630px;position:relative;display:grid;grid-template-columns:1fr 1fr;padding:80px 10.5% 95px;overflow:hidden;background:radial-gradient(ellipse at 84% 43%,#e6eddb 0,#f5f7f0 39%,#f7f8f3 68%)}.hero-copy{z-index:1;padding-top:25px}.eyebrow{font-size:9px;letter-spacing:.18em;color:#66776c;font-weight:700}.eyebrow i{display:inline-block;background:#75a85b;width:6px;height:6px;border-radius:50%;margin-right:8px}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h1{font-size:58px;line-height:1.12;margin:26px 0 19px}h1 em,h2 em{font-weight:500;color:var(--green)}.hero-text{max-width:380px;color:#65726c;font-size:13px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}.hero-actions .text-link{font-size:11px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:50px}.hero-note p{font-size:10px;color:#728077;line-height:1.6}.hero-note p b{color:var(--ink);font-weight:600}.avatar-stack{display:flex}.avatar-stack span{border:2px solid var(--paper);width:27px;height:27px;border-radius:50%;margin-left:-6px;background:#d3e9b4;display:grid;place-items:center;font-size:8px;color:#35533c}.avatar-stack span:nth-child(2){background:#e6d8bf}.avatar-stack span:nth-child(3){background:#c5d8cf}.avatar-stack span:first-child{margin-left:0}.hero-art{position:relative;display:grid;place-items:center;min-height:420px}.art-orbit{position:absolute;border:1px solid #d4decf;border-radius:50%;width:405px;height:405px}.orbit-two{width:330px;height:330px;border-color:#e1e7dc}.book-hero{height:335px;width:230px;position:relative;z-index:1;background:linear-gradient(112deg,#184e40,#24775a 55%,#174e3c);color:#eff5dd;padding:30px 23px;box-shadow:22px 26px 40px #1d33252a;transform:rotate(5deg);border-left:9px solid #113d32}.book-hero:before{content:'';position:absolute;left:-7px;top:0;height:100%;width:5px;background:#a1bd69}.book-edge{position:absolute;right:-13px;top:4px;height:calc(100% - 4px);width:13px;background:repeating-linear-gradient(0deg,#e5e5cf 0,#e5e5cf 2px,#fbf9e9 3px,#fbf9e9 4px);transform:skewY(-3deg)}.cover-mark{font:58px var(--serif);color:#d3e997;position:relative}.cover-mark span{font-size:15px;vertical-align:top;margin-left:4px}.cover-rule{height:1px;background:#b2cc79;width:42px;margin:14px 0}.book-hero small{font-size:8px;line-height:1.5;letter-spacing:.12em}.cover-bottom{position:absolute;bottom:27px;left:23px;font:20px/1.3 var(--serif);letter-spacing:.06em}.art-caption{position:absolute;right:0;bottom:20px;font-size:9px;color:#6a796c;letter-spacing:.04em}.art-caption span:last-child{color:#8aab5c;margin-left:7px}.caption-dot{display:inline-block;width:6px;height:6px;background:#7ea45d;border-radius:50%;margin-right:7px}.art-index{position:absolute;top:16px;right:6px;font-size:9px;letter-spacing:.15em;color:#718078}.art-index span{color:#aabb99}.hero-footer{position:absolute;bottom:0;left:0;width:100%;padding:19px 7.2%;border-top:1px solid #e6eae1;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#77857b}.hero-footer span:nth-child(2){color:#53665a}.section{padding:100px 10.5%}.catalogue{background:white}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading .eyebrow{margin:0}.section-heading h2,.contact h2{font-size:42px;line-height:1.15;margin:18px 0 0}.section-intro{width:300px;color:#77827a;line-height:1.8;font-size:11px;margin-bottom:4px}.catalogue-tools{display:flex;align-items:center;gap:12px;margin:0 0 15px}.search-wrap{height:42px;border:1px solid var(--line);display:flex;align-items:center;padding:0 12px;gap:10px;flex:1;max-width:380px}.search-wrap span{font-size:21px;color:#86938a}.search-wrap input{border:0;outline:none;font:11px var(--sans);width:100%;background:transparent}.catalogue-tools select{height:42px;border:1px solid var(--line);padding:0 30px 0 12px;background:#fff;color:#435149;font:10px var(--sans)}.result-count{margin-left:auto;color:#89958d;font-size:8px;letter-spacing:.15em}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:760px}th{height:42px;color:#809087;font-size:8px;font-weight:600;letter-spacing:.14em;border-bottom:1px solid var(--line)}td{border-bottom:1px solid #edf0eb;padding:16px 10px 16px 0;font-size:10px;color:#69776e}td:first-child{width:35%}.book-cell{display:flex;align-items:center;gap:13px}.book-cover{width:42px;height:55px;object-fit:cover;background:#e5eadd;box-shadow:2px 3px 6px #1a38211c}.book-cover.blank{display:grid;place-items:center;background:linear-gradient(140deg,#416f58,#143e31);color:#d8ebad;font:19px var(--serif)}.book-title{font:14px var(--serif);color:var(--ink);margin-bottom:4px}.book-subject{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#8a968e}.doi{color:#477657;font-size:9px}.price-pill{display:inline-block;background:#eaf2df;border-radius:20px;padding:6px 9px;color:#49704c;font-size:8px}.price-pill.paid{background:#f4efe3;color:#91713b}.view-button{background:none;border:1px solid #dce4dc;color:var(--green);font:600 9px var(--sans);padding:8px 10px;cursor:pointer;white-space:nowrap}.view-button:hover{background:var(--green);color:#fff}.catalogue-foot{display:flex;justify-content:space-between;padding-top:16px;color:#829087;font-size:9px}.catalogue-foot b{color:#394d41}.catalogue-foot span:last-child{font-size:8px;letter-spacing:.12em}.manifesto{position:relative;text-align:center;padding:95px 20px 105px;background:#edf2e7;overflow:hidden}.manifesto-mark{font:100px var(--serif);line-height:.8;color:#b9cd9b}.manifesto h2{font-size:42px;line-height:1.18;margin:18px 0}.manifesto>p:not(.eyebrow){max-width:405px;margin:15px auto 24px;color:#718077;font-size:11px;line-height:1.9}.manifesto .text-link{font-size:10px}.manifesto-seal{position:absolute;right:13%;bottom:43px;border:1px solid #c5d2b8;width:63px;height:63px;border-radius:50%;display:grid;place-content:center;color:#748970;font:17px var(--serif);transform:rotate(-12deg)}.manifesto-seal small{font:6px var(--sans);letter-spacing:.13em}.contact{display:flex;justify-content:space-between;align-items:center;background:#fff}.contact h2{margin-top:15px}.contact-details{width:42%;display:flex;flex-direction:column}.contact-details a,.contact-details div{position:relative;text-decoration:none;color:var(--ink);padding:14px 30px 14px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.contact-details small{display:block;font-size:8px;letter-spacing:.15em;color:#89968d;margin-bottom:4px}.contact-details a span{position:absolute;right:0;top:34px;color:#76936f}footer{height:82px;padding:0 7.2%;display:flex;align-items:center;gap:35px;background:#f4f6f0;color:#89948b;font-size:9px}.footer-brand{margin-right:auto}.footer-brand img{width:30px;height:30px}.footer-brand b{font-size:12px}.footer-brand small{font-size:7px}.admin-link{border:0;background:none;color:#7d897f;font:9px var(--sans);cursor:pointer}.admin-link:hover{color:var(--green)}dialog{border:0;padding:0;max-width:calc(100% - 30px);width:440px;box-shadow:0 24px 90px #10271d33}dialog::backdrop{background:#12271db5;backdrop-filter:blur(3px)}.dialog-shell{position:relative;padding:38px;background:#fff}.dialog-shell h2{font-size:29px;margin:13px 0 6px}.dialog-copy{font-size:11px;line-height:1.7;color:#768279;margin-bottom:20px}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:25px;color:#718078;cursor:pointer}.dialog-shell label{display:flex;flex-direction:column;gap:7px;font-size:9px;font-weight:600;color:#56665b;margin:13px 0}.dialog-shell input,.dialog-shell select{height:39px;border:1px solid var(--line);padding:0 10px;font:11px var(--sans);color:var(--ink);background:white;min-width:0}.full{width:100%;margin-top:12px}.fine-print{display:block;font-size:8px;line-height:1.6;color:#87938a;margin-top:12px}.reader-shell{min-height:390px}.pdf-placeholder{height:200px;background:#f3f6ef;border:1px dashed #cfdbc8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;margin:20px 0}.pdf-icon{font-size:35px;color:#7ca165}.pdf-placeholder b{font:16px var(--serif);margin:8px}.pdf-placeholder p{font-size:10px;color:#78867c}.reader-file{font-size:8px;color:#75887a}.admin-shell{width:640px;max-width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid label{margin:7px 0}.form-grid .wide{grid-column:1/-1}.form-grid input[type=file]{font-size:9px;padding:8px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);padding:12px 18px;background:var(--ink);color:white;font-size:10px;opacity:0;pointer-events:none;transition:.25s;z-index:8}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){.topbar{padding:0 5%;gap:20px}.topbar nav{gap:18px}.hero{padding:65px 7% 85px;grid-template-columns:1fr 1fr}.section{padding:75px 7%}.hero h1{font-size:48px}.art-orbit{width:320px;height:320px}.orbit-two{width:260px;height:260px}.book-hero{transform:scale(.85) rotate(5deg)}.art-caption{right:-8px;font-size:8px}.hero-footer{padding:16px 5%}.manifesto-seal{right:6%}}@media(max-width:600px){.topbar{height:67px}.brand img{width:32px;height:32px}.topbar nav{display:none;position:absolute;z-index:4;top:66px;left:0;right:0;background:white;padding:20px 6%;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.topbar>.button{margin-right:4px;padding:11px 13px}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;padding:55px 7% 80px}.hero-copy{padding-top:0}.hero h1{font-size:45px}.hero-art{min-height:370px}.art-orbit{width:310px;height:310px}.orbit-two{width:250px;height:250px}.book-hero{transform:scale(.82) rotate(5deg)}.art-caption{bottom:5px;right:0}.art-index{right:14px}.hero-note{margin-top:30px}.hero-footer{font-size:7px}.hero-footer span:nth-child(2){display:none}.section{padding:67px 6%}.section-heading{display:block}.section-heading h2,.contact h2{font-size:36px}.section-intro{width:auto;margin-top:18px}.catalogue-tools{flex-wrap:wrap}.search-wrap{max-width:none;flex-basis:100%}.catalogue-tools select{flex:1}.result-count{padding-right:5px}.catalogue-foot span:last-child{display:none}.manifesto{padding:75px 7%}.manifesto h2{font-size:36px}.manifesto-seal{display:none}.contact{display:block}.contact-details{width:100%;margin-top:25px}footer{height:auto;min-height:85px;padding:16px 6%;gap:5px;flex-wrap:wrap}footer>span{order:3;width:100%}.admin-shell{padding:30px 22px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
.auth-page{min-height:70vh;padding:75px 20px;background:#f7f8f3;display:grid;place-items:center}.auth-card{width:min(100%,470px);background:#fff;padding:38px;border:1px solid #e4e8e1}.auth-card h1{font:36px var(--serif);margin:14px 0 8px}.auth-card>p{color:#718078;font-size:11px;line-height:1.8}.auth-card label,.admin-form label{display:flex;flex-direction:column;gap:7px;color:#56665b;font-size:9px;font-weight:600;margin:14px 0}.auth-card input,.admin-form input,.admin-form select,.admin-form textarea,.auth-card textarea{min-height:40px;border:1px solid #e4e8e1;padding:10px;font:11px var(--sans);color:var(--ink);background:#fff}.auth-card label small{font-weight:400;color:#829087}.auth-switch{text-align:center;margin:20px 0 0!important}.auth-switch a{color:var(--green)}.error{background:#f9e9e6;color:#8b3b2e;padding:12px;font-size:10px;margin:12px 0}.flash{padding:13px 8%;background:#eaf2df;color:#37603d;font-size:10px}.flash.error{background:#f9e9e6;color:#8b3b2e}.admin-page{padding:60px 8%;background:#f7f8f3;min-height:70vh}.dash-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.dash-head h1{font:40px var(--serif);margin:12px 0}.dash-head p{font-size:11px;color:#718078}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat,.dash-card{background:#fff;border:1px solid #e4e8e1;padding:20px}.stat small,.dash-card-head span{font-size:8px;letter-spacing:.12em;color:#829087}.stat b{display:block;font:26px var(--serif);margin-top:10px}.dash-card{margin:18px 0}.dash-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dash-card-head h2,.library h2{font:23px var(--serif);margin:0}.admin-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.admin-form .wide{grid-column:1/-1}.admin-form input[type=file]{font-size:9px}.admin-list{scroll-margin-top:20px}.inline-form{white-space:nowrap}.payment-note{padding:15px;background:#f2f5ed;font-size:10px;line-height:1.7;color:#65736a}.payment-note p{margin:6px 0}.library h1{font:40px var(--serif)}.library>h2{margin:40px 0 18px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.library-book{background:#fff;border:1px solid #e4e8e1;padding:18px;display:flex;gap:16px;align-items:center}.mini-cover{width:50px;height:68px;background:#1d6348;color:#d4e89a;display:grid;place-items:center;font:24px var(--serif)}.library-book h3{font:16px var(--serif);margin:0}.library-book p{font-size:9px;color:#718078}.reader-page{background:#f3f5ef;padding:28px 5%;min-height:80vh}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.reader-toolbar h1{font:22px var(--serif);margin:5px 0}.reader-frame{height:76vh;min-height:500px;background:#dce2d9;box-shadow:0 8px 35px #1a30201b}.reader-frame iframe{width:100%;height:100%;border:0}.reader-help{font-size:10px;color:#718078}.detail{padding:75px 9%;background:#fff;min-height:70vh}.crumb{font-size:10px;color:#819087}.detail-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;margin-top:26px}.detail-cover{min-height:390px;background:radial-gradient(ellipse,#e6eddd,#f6f7f2);display:grid;place-items:center}.detail-cover .book-hero{min-height:330px}.detail-copy h1{font:45px/1.1 var(--serif);margin:16px 0}.detail-copy h3{font:18px var(--serif)}.detail-copy .lead{font-size:12px;color:#718078;line-height:1.8}.meta-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e4e8e1;margin:24px 0}.meta-grid div{padding:13px 6px;border-bottom:1px solid #e4e8e1;font-size:10px;overflow-wrap:anywhere}.meta-grid small{display:block;font-size:8px;letter-spacing:.12em;color:#829087;margin-bottom:6px}.detail-actions{display:flex;align-items:center;gap:16px}.detail-price{font:21px var(--serif)}.detail-note{font-size:9px;color:#829087}footer{min-height:76px;padding:15px 7%;display:flex;align-items:center;justify-content:space-between;background:#f3f5ef;color:#718078;font-size:9px}footer a{color:#466751;text-decoration:none}@media(max-width:700px){.admin-page{padding:42px 5%}.dash-head{display:block}.dash-head .button{margin-top:12px}.dash-stats{gap:6px}.stat{padding:12px}.stat b{font-size:20px}.admin-form .form-grid{grid-template-columns:1fr}.admin-form .wide{grid-column:auto}.detail{padding:45px 6%}.detail-layout{grid-template-columns:1fr;gap:28px}.detail-cover{min-height:330px}.detail-copy h1{font-size:36px}.auth-card{padding:28px 22px}.reader-page{padding:18px 4%}.reader-frame{min-height:400px}.topbar nav{gap:10px}.topbar nav a{font-size:10px}footer{flex-wrap:wrap;gap:8px}.dash-card{padding:14px}}
