:root{--navy:#0d2038;--navy2:#163652;--ink:#172435;--muted:#6f7985;--line:#dfe4e7;--paper:#f7f7f4;--white:#fff;--gold:#efbd55;--gold2:#f7d88f;--blue:#2d6fb0;--soft:#eef2f4;--green:#e8f0eb;--lav:#efecfa;--rose:#f7e7e3;--shadow:0 16px 44px rgba(13,32,56,.1);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1460px;margin:auto;padding:0 4vw}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:100}.skip:focus{left:10px;top:10px}.utility{height:30px;background:var(--navy);color:#dfe9f3;font-size:11px}.utility .shell{height:100%;display:flex;align-items:center;justify-content:space-between}.header{height:78px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:245px}.brand img{width:38px;height:38px}.brand-text{font:24px/.9 var(--serif);color:var(--navy)}.brand-text small{display:block;font:9px var(--sans);letter-spacing:.05em;color:#7a8795;margin-top:5px}.nav{display:flex;gap:22px;justify-content:center;flex:1;font-size:13px}.nav a:hover{color:#a06a00}.actions{display:flex;gap:8px}.btn{border:1px solid #bcc5ce;background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px}.btn.primary{background:var(--gold);border-color:var(--gold);font-weight:700}.btn.dark{background:var(--navy);border-color:var(--navy);color:#fff}.hero{background:var(--navy);color:#fff}.hero-grid{min-height:520px;display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch}.hero-copy{padding:72px 40px 58px 0;display:flex;flex-direction:column;justify-content:center}.hero h1{font:clamp(55px,6vw,92px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 20px}.hero p{font-size:17px;line-height:1.65;color:#d6e0ea;max-width:670px}.hero-search{display:flex;background:#fff;border-radius:30px;padding:5px;max-width:690px;margin-top:26px;box-shadow:0 9px 28px rgba(0,0,0,.2)}.hero-search input{flex:1;border:0;outline:0;padding:13px 18px;border-radius:28px}.hero-search button{border:0;background:var(--gold);border-radius:25px;padding:0 28px;font-weight:700}.popular{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#c6d1dc}.popular button{border:0;background:none;color:#fff;text-decoration:underline;text-underline-offset:3px;padding:0}.hero-art{position:relative;min-height:520px;background:url('../assets/images/hero-library.webp') center/cover no-repeat}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(13,32,56,.6) 18%,rgba(13,32,56,.12) 58%,rgba(13,32,56,.2) 100%)}.value-card{position:absolute;z-index:2;right:28px;top:50%;transform:translateY(-50%);width:300px;background:rgba(255,255,255,.95);color:var(--ink);padding:18px;border-radius:12px;box-shadow:var(--shadow)}.value-item{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #e8ecef}.value-item:last-child{border:0}.value-item b{font:16px var(--serif)}.value-item small{display:block;color:var(--muted);margin-top:2px}.quickbar{background:#fff;border-bottom:1px solid var(--line)}.quickgrid{display:grid;grid-template-columns:repeat(5,1fr)}.quick{padding:17px 15px;display:grid;grid-template-columns:35px 1fr;gap:10px;align-items:center;border-right:1px solid var(--line)}.quick:last-child{border:0}.quick i{font-style:normal;width:35px;height:35px;border-radius:50%;background:#fff3d4;display:grid;place-items:center}.quick b{font:16px var(--serif)}.quick small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.section{padding:58px 0;border-bottom:1px solid var(--line)}.section.white{background:#fff}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.sectionhead h2{font:39px/1 var(--serif);margin:0}.sectionhead p{margin:7px 0 0;color:var(--muted);font-size:13px}.linkbtn{border:0;background:none;color:var(--blue);font-weight:700;font-size:12px}.homegrid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.8fr);gap:28px}.bookgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px 14px}.bookcard{min-width:0}.coverbox{aspect-ratio:2/3;background:#ecebe6;border:1px solid #d8dde0;overflow:hidden;position:relative;box-shadow:0 8px 17px rgba(13,32,56,.08);transition:.2s}.coverbox img{width:100%;height:100%;object-fit:cover}.coverfallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:13px;font:15px var(--serif);color:#7d8590}.bookcard:hover .coverbox{transform:translateY(-4px);box-shadow:var(--shadow)}.bookcard h3{font:16px/1.14 var(--serif);margin:10px 0 4px}.author{font-size:10px;color:var(--muted)}.tag{display:inline-block;margin-top:7px;background:#eef1f3;border-radius:8px;padding:3px 7px;font-size:9px;color:#586471}.cardactions{display:flex;gap:5px;margin-top:8px}.mini{border:1px solid #d2d9df;background:#fff;border-radius:5px;font-size:9px;padding:5px 7px}.mini.saved{background:#fff0c8;border-color:#e7c36c}.sidepaths{border-left:1px solid var(--line);padding-left:23px}.pathrow{display:grid;grid-template-columns:68px 1fr 20px;align-items:center;min-height:65px;margin-bottom:8px;border-radius:7px;overflow:hidden;background:#e8f2fa}.pathrow:nth-child(2){background:#f5ede3}.pathrow:nth-child(3){background:var(--lav)}.pathrow:nth-child(4){background:#e5eff9}.pathrow:nth-child(5){background:var(--rose)}.pathrow:nth-child(6){background:var(--green)}.pathart{height:100%;display:grid;place-items:center;font:25px var(--serif);background:rgba(255,255,255,.32)}.pathrow div:nth-child(2){padding:9px 10px}.pathrow b{font:15px var(--serif)}.pathrow small{display:block;font-size:10px;color:#586573;margin-top:3px}.pathrow button{border:0;background:none;font-size:18px}.twocol{display:grid;grid-template-columns:1.7fr 1fr;gap:30px}.topicgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.topic{border:1px solid var(--line);background:#fff;min-height:112px;padding:14px;text-align:center}.topic span{display:block;font-size:24px;margin:4px 0 12px}.topic b{font-size:10px;line-height:1.25}.topic:hover{box-shadow:0 8px 18px rgba(13,32,56,.06);border-color:#aeb9c4}.challengegrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.challenge{border:1px solid var(--line);background:#fff;padding:8px 10px;text-align:left;font-size:10px;border-radius:5px}.challenge:hover{background:#f5f7f8}.articlegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.article{background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.article:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(13,32,56,.10);border-color:#c9d2da}.article img{display:none}.article:before{content:"";display:block;width:100%;aspect-ratio:16/9;background-image:url('../assets/images/editorial-sprite.jpg');background-size:200% 200%;background-repeat:no-repeat;transition:transform .28s ease,filter .28s ease}.article:nth-child(1):before{background-position:0 0}.article:nth-child(2):before{background-position:100% 0}.article:nth-child(3):before{background-position:0 100%}.article:nth-child(4):before{background-position:100% 100%}.article:hover:before{transform:scale(1.02);filter:saturate(1.04) contrast(1.02)}.article-copy{padding:16px}.article .cat{font-size:9px;letter-spacing:.10em;text-transform:uppercase;color:#73808d;font-weight:700}.article h3{font:20px/1.08 var(--serif);margin:8px 0}.article p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:0}.members{background:var(--navy);color:#fff}.membergrid{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}.members h2{font:46px/1 var(--serif);margin:0 0 16px}.members p{color:#d4dfeb;line-height:1.65}.membercards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mcard{background:#163653;border:1px solid #345674;border-radius:10px;padding:20px}.mcard h3{font:24px var(--serif);margin:0 0 8px}.mcard ul{padding-left:17px;color:#d4dfeb;font-size:12px;line-height:1.7}.libraryToolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:8px;margin-bottom:14px}.libraryToolbar input,.libraryToolbar select{border:1px solid #cdd5dc;background:#fff;padding:12px;border-radius:7px}.resultbar{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin:11px 0 18px}.librarygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:22px 14px}.librarygrid .bookcard h3{font-size:15px}.load{text-align:center;margin-top:35px}.newsletter{background:#10243d;color:#fff;padding:50px 0}.newsgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.newsletter h2{font:40px var(--serif);margin:0 0 8px}.newsletter p{color:#ccd7e2}.signup{display:flex;background:#fff;padding:5px;border-radius:28px}.signup input{flex:1;border:0;outline:0;padding:11px 15px;border-radius:23px}.signup button{border:0;background:var(--gold);border-radius:22px;padding:0 22px;font-weight:700}.footer{background:#091725;color:#aeb9c5;padding:44px 0}.footgrid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:30px}.footer h4{color:#fff;font-size:12px}.footer a{display:block;font-size:11px;margin:8px 0}.legal{border-top:1px solid #243447;margin-top:28px;padding-top:18px;font-size:10px}.shelf{position:fixed;right:22px;bottom:22px;z-index:45;background:var(--navy);color:#fff;border:0;border-radius:26px;padding:12px 18px;box-shadow:var(--shadow);font-weight:700}.shelf span{background:var(--gold);color:var(--ink);border-radius:50%;width:20px;height:20px;display:inline-grid;place-items:center;margin-left:6px}.drawerback{position:fixed;inset:0;background:rgba(5,15,25,.56);z-index:60;display:none}.drawerback.open{display:block}.drawer{position:absolute;right:0;top:0;height:100%;width:min(560px,95vw);background:#fff;overflow:auto;padding:28px;box-shadow:-15px 0 50px rgba(0,0,0,.15)}.drawer h2{font:37px/1 var(--serif);margin:8px 0}.close{float:right;border:0;background:none;font-size:27px}.detailtop{display:grid;grid-template-columns:170px 1fr;gap:22px;margin-top:20px}.detailmeta{font-size:11px;color:var(--muted);line-height:1.55}.detailsection{border-top:1px solid var(--line);padding:18px 0}.detailsection h3{font:22px var(--serif);margin:0 0 8px}.detailsection p{font-size:13px;line-height:1.65;color:#4e5966}.toast{position:fixed;left:50%;bottom:82px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:10px 16px;border-radius:20px;font-size:11px;z-index:100;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1200px){.nav{gap:14px}.bookgrid{grid-template-columns:repeat(3,1fr)}.librarygrid{grid-template-columns:repeat(5,1fr)}.topicgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.utility,.nav,.actions .secondary{display:none}.header-inner{justify-content:space-between}.hero-grid,.homegrid,.twocol,.membergrid,.newsgrid{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-art{min-height:410px}.quickgrid{grid-template-columns:1fr 1fr}.quick:last-child{grid-column:1/-1}.sidepaths{border-left:0;padding-left:0}.librarygrid{grid-template-columns:repeat(4,1fr)}.articlegrid{grid-template-columns:repeat(2,1fr)}.footgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.shell{padding-left:18px;padding-right:18px}.header{height:68px}.brand-text{font-size:20px}.actions .secondary{display:none}.hero h1{font-size:52px}.hero-copy{padding-top:50px}.hero-art{min-height:350px}.value-card{right:18px;width:265px}.quickgrid,.membercards,.articlegrid,.challengegrid{grid-template-columns:1fr}.topicgrid,.bookgrid,.librarygrid{grid-template-columns:repeat(2,1fr)}.libraryToolbar{grid-template-columns:1fr}.sectionhead{align-items:flex-start}.footgrid{grid-template-columns:1fr}.detailtop{grid-template-columns:115px 1fr}.drawer{padding:20px}.resultbar{display:block}.resultbar span:last-child{display:block;margin-top:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
