:root{--navy:#092a48;--blue:#126aa3;--teal:#0a9a91;--ink:#122536;--muted:#667786;--bg:#f4f8fb;--line:#dce6ed}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:white}a{color:inherit;text-decoration:none}header{height:78px;display:flex;align-items:center;gap:34px;padding:0 5%;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-size:19px;white-space:nowrap}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--blue),var(--teal));color:white;font-weight:800;letter-spacing:-2px}.brand b{color:var(--blue)}nav{display:flex;gap:26px;flex:1;justify-content:center;font-size:14px}.actions{display:flex;gap:16px;align-items:center;font-size:13px}.btn{display:inline-block;background:var(--blue);color:white!important;padding:12px 18px;border-radius:7px;font-weight:700}.secondary{background:white;color:var(--blue)!important;border:1px solid var(--blue)}.hero{min-height:530px;padding:70px 8%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:linear-gradient(120deg,#edf7fb,#fff 55%,#eef7f6)}.hero h1{font-family:Georgia,serif;font-size:58px;line-height:1.05;margin:12px 0 20px;color:var(--navy)}.hero em{font-style:normal;color:var(--blue)}.hero p{font-size:18px;line-height:1.65;max-width:650px;color:var(--muted)}.hero-buttons{display:flex;gap:12px;margin-top:30px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--teal)}.science-art{height:350px;position:relative;display:grid;place-items:center}.orbit{width:250px;height:250px;border:2px solid #8bcac6;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:42px;font-family:Georgia}.book{position:absolute;bottom:25px;background:var(--navy);color:white;padding:25px 50px;border-radius:8px;text-align:center;letter-spacing:2px;box-shadow:0 20px 50px #7893a955}.audiences{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:-30px auto 60px;background:white;box-shadow:0 15px 45px #29495b1f;border-radius:10px;overflow:hidden}.audiences article{padding:32px;border-right:1px solid var(--line)}.audiences article:last-child{border:0}.audiences b{color:var(--blue)}.audiences h2{font-family:Georgia;font-size:22px}.audiences p,.muted{color:var(--muted);line-height:1.55}.section{max-width:1180px;margin:70px auto;padding:0 20px}.section-head{display:flex;align-items:end;justify-content:space-between}.section h1,.section h2,.split h2,.detail h1{font-family:Georgia,serif;color:var(--navy)}.section h2{font-size:34px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:28px}.cover,.large-cover{background:linear-gradient(145deg,var(--navy),var(--blue));aspect-ratio:3/4;border-radius:6px;box-shadow:0 10px 25px #18394c26;position:relative}.cover span{position:absolute;top:12px;left:12px;background:var(--teal);color:white;padding:6px 8px;font-size:10px;font-weight:bold}.pub small{display:block;margin-top:15px;color:var(--teal);font-weight:bold}.pub h3{font-family:Georgia;line-height:1.3}.pub strong{color:var(--blue)}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1180px;margin:80px auto;padding:0 20px}.split>div{padding:42px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.detail{max-width:1080px;margin:60px auto;display:grid;grid-template-columns:300px 1fr;gap:55px;padding:20px}.detail h1{font-size:44px}.access.open{display:inline-block;background:#dff5ed;color:#087d69;padding:8px 12px;border-radius:5px;font-weight:bold;margin:10px 0 22px}.chapter{display:grid;grid-template-columns:1fr 160px;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.filters{display:flex;gap:10px;margin:25px 0}.filters a{border:1px solid var(--line);padding:9px 14px;border-radius:20px}footer{background:var(--navy);color:#dce8f0;padding:55px 6% 25px;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:35px}footer h4{color:white}footer a,footer span{display:block;margin:9px 0;color:#bcd0dd;font-size:13px}.footer-brand{color:white}.copyright{grid-column:1/-1;border-top:1px solid #31516b;padding-top:20px;margin-top:20px;font-size:12px}@media(max-width:900px){header nav,.actions>a:not(.btn){display:none}.hero{grid-template-columns:1fr}.science-art{display:none}.hero h1{font-size:44px}.audiences,.grid,.split{grid-template-columns:1fr}.audiences{margin:20px}.detail{grid-template-columns:1fr}.large-cover{max-width:260px}footer{grid-template-columns:1fr 1fr}}
/* Phase 1.1 — scientific catalogue */
.catalogue-hero{background:linear-gradient(120deg,#edf7fb,#fff 58%,#eef7f6);padding:35px 0}.catalogue-hero h1{font-family:Georgia,serif;color:var(--navy);font-size:46px;margin:8px 0}.catalogue-search{display:flex;max-width:820px;gap:10px;margin-top:25px}.catalogue-search input{flex:1;padding:15px 17px;border:1px solid var(--line);border-radius:8px;font-size:15px;background:white}.catalogue-layout{display:grid;grid-template-columns:220px 1fr;gap:45px}.catalogue-sidebar{border-right:1px solid var(--line);padding-right:25px}.catalogue-sidebar h3{font-size:14px;text-transform:uppercase;letter-spacing:.8px;margin:28px 0 8px}.catalogue-sidebar h3:first-child{margin-top:0}.catalogue-sidebar a{display:block;color:var(--muted);font-size:14px;padding:6px 9px;border-radius:6px}.catalogue-sidebar a.active-filter{background:var(--bg);color:var(--blue);font-weight:700}.publication-list{border-top:1px solid var(--line)}.publication-row{display:grid;grid-template-columns:115px 1fr 150px;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.mini-cover{aspect-ratio:3/4;background:linear-gradient(145deg,var(--navy),var(--blue));display:grid;place-items:center;color:white;text-align:center;font-family:Georgia;border-radius:5px;overflow:hidden}.mini-cover img,.large-cover img{width:100%;height:100%;object-fit:cover}.publication-row h3{font-family:Georgia,serif;font-size:23px;color:var(--navy);margin:8px 0}.publication-row p{margin:7px 0;font-size:14px}.publication-badges{display:flex;gap:7px;flex-wrap:wrap}.publication-badges span{font-size:10px;font-weight:800;letter-spacing:.7px;background:#e9f0f5;color:var(--navy);padding:5px 8px;border-radius:4px}.publication-badges .oa-badge,.oa-badge{background:#dbf5ee;color:#077a68}.publication-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}.publication-cta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:14px}.oa-text{color:#07816e}.empty-state{padding:50px 0}.large-cover{overflow:hidden;display:grid;place-items:center;color:white;font-family:Georgia;font-size:22px;text-align:center}.detail-subtitle{font-family:Georgia,serif;color:var(--muted);font-weight:400}.metadata-grid{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.metadata-grid>div{min-width:125px;background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:7px}.metadata-grid small{display:block;color:var(--muted);margin-bottom:4px}.metadata-grid strong{font-size:13px}.purchase-panel{margin-top:28px;padding:22px;border:1px solid var(--line);background:var(--bg);border-radius:10px}.purchase-panel>span,.purchase-panel>strong{display:block}.purchase-panel .price{font-size:30px;color:var(--navy);margin:5px 0 15px}.purchase-panel button[disabled]{opacity:.72;cursor:not-allowed}.publication-content{max-width:1080px}.publication-content>p{max-width:850px;line-height:1.75}.subject-tags,.format-list{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 35px}.subject-tags span,.format-list span{background:var(--bg);border:1px solid var(--line);padding:8px 11px;border-radius:20px;font-size:13px}.chapter h3{font-family:Georgia,serif;color:var(--navy);margin:5px 0}.chapter-page{max-width:950px}.chapter-page h1{font-family:Georgia,serif;color:var(--navy);font-size:48px;line-height:1.08}.breadcrumb{color:var(--muted);font-size:13px}.chapter-authors{line-height:1.7}.preview-panel{margin:40px 0;border:1px solid var(--line);border-radius:12px;padding:30px}.reader-preview{font-family:Georgia,serif;line-height:1.9;font-size:17px;max-height:540px;overflow:hidden;position:relative}.reader-preview:after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(transparent,white)}
@media(max-width:900px){.catalogue-layout{grid-template-columns:1fr}.catalogue-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.publication-row{grid-template-columns:85px 1fr}.publication-cta{grid-column:2;align-items:flex-start}.catalogue-search{flex-direction:column}.chapter-page h1{font-size:38px}}

/* Phase 2 — commerce foundation */
.messages{position:fixed;right:24px;top:92px;z-index:50;max-width:440px}.message{background:white;border:1px solid var(--line);border-left:4px solid var(--blue);padding:14px 18px;border-radius:7px;box-shadow:0 12px 30px #1233;margin-bottom:8px}.message.success{border-left-color:var(--teal)}.message.error{border-left-color:#b64242}.page{max-width:1180px;margin:55px auto 90px;padding:0 20px}.page.narrow{max-width:1020px}.page-head{margin-bottom:32px}.page-head h1,.success-card h1{font-family:Georgia,serif;color:var(--navy);font-size:44px;margin:8px 0}.commerce-grid{display:grid;grid-template-columns:1fr 340px;gap:42px;align-items:start}.cart-lines{border-top:1px solid var(--line)}.cart-line{display:flex;justify-content:space-between;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-family:Georgia,serif;color:var(--navy);margin:7px 0}.tag{font-size:10px;letter-spacing:1px;font-weight:800;color:var(--teal)}.cart-price{text-align:right;font-weight:800;white-space:nowrap}.link-button{border:0;background:none;color:var(--blue);padding:8px 0;cursor:pointer}.order-summary{background:var(--bg);border:1px solid var(--line);padding:25px;border-radius:12px;position:sticky;top:105px}.order-summary h2{font-family:Georgia,serif;color:var(--navy)}.order-summary p{display:flex;justify-content:space-between;gap:15px;font-size:14px}.order-summary .grand{border-top:1px solid var(--line);padding-top:15px;font-size:18px}.order-summary input{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;margin:10px 0}.btn.block{display:block;text-align:center;margin-top:15px}.checkout-form{border:1px solid var(--line);border-radius:12px;padding:28px}.form-row{margin-bottom:18px}.form-row label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.form-row input:not([type=checkbox]){width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:15px}.check-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}.check-row label{grid-column:2;margin:0;font-weight:500;line-height:1.5}.check-row input{grid-column:1;grid-row:1}.error{color:#a03232}.payment-panel,.success-card{border:1px solid var(--line);border-radius:14px;padding:35px}.provider-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}.provider-card{border:1px solid var(--line);padding:18px;border-radius:9px;display:flex;flex-direction:column;gap:6px;opacity:.6}.provider-card.enabled{border-color:var(--teal);opacity:1}.provider-card span{color:var(--muted);font-size:13px}.notice{background:#fff5d9;border:1px solid #ebd28b;padding:15px;border-radius:8px;margin:25px 0}.success-card{max-width:760px;margin:0 auto}.muted{color:var(--muted)}
@media(max-width:900px){.commerce-grid{grid-template-columns:1fr}.order-summary{position:static}.provider-grid{grid-template-columns:1fr}.messages{left:15px;right:15px;top:85px}}

/* Phase 2.1 customer account */
.page-shell{max-width:1180px;margin:0 auto;padding:48px 24px 72px}.page-shell.narrow{max-width:820px}.panel{background:#fff;border:1px solid #dce4ee;border-radius:16px;padding:24px}.form-grid p{display:grid;gap:7px}.form-grid input,.form-grid select{padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.account-grid,.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin:24px 0 36px}.account-card{text-decoration:none;color:inherit}.library-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.library-actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e5e7eb}.muted{color:#64748b}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef4fa;font-size:.8rem}@media print{header,footer,.no-print,.messages{display:none!important}.page-shell{padding:0;max-width:none}.panel{border:0;padding:0}}

/* Phase 2.3 — editable CMS content */
.content-hero{background:linear-gradient(120deg,#edf7fb,#fff 60%,#eef7f6);border-bottom:1px solid var(--line);padding:54px 20px}.content-wrap{max-width:980px;margin:0 auto}.content-hero h1{font-family:Georgia,serif;color:var(--navy);font-size:48px;line-height:1.1;margin:10px 0 14px}.content-hero p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.65}.content-page{padding:48px 20px 80px}.prose{max-width:820px;font-size:16px;line-height:1.8}.prose h2,.prose h3{font-family:Georgia,serif;color:var(--navy);margin-top:1.8em}.prose h2{font-size:30px}.prose h3{font-size:22px}.prose a{color:var(--blue);text-decoration:underline}.prose blockquote{border-left:4px solid var(--teal);margin-left:0;padding:8px 20px;background:var(--bg)}.prose table{margin:24px 0}.content-updated{border-top:1px solid var(--line);padding-top:18px;margin-top:50px;color:var(--muted);font-size:13px}.audiences{grid-template-columns:repeat(3,minmax(0,1fr))}.audiences article a{color:var(--blue);font-weight:700;font-size:14px}
@media(max-width:900px){.content-hero h1{font-size:38px}.audiences{grid-template-columns:1fr}}

/* Phase 2.6 */
.link-button{background:none;border:0;padding:0;margin-left:.75rem;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
/* Phase 2.11–2.13 */
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin:24px 0 36px}.metric-grid .panel{display:flex;flex-direction:column;gap:8px}.metric-grid .panel span{color:var(--muted);font-size:13px}.metric-grid .panel strong{font-family:Georgia,serif;color:var(--navy);font-size:28px}.fingerprint{word-break:break-all;font-family:monospace;font-size:12px}
