
@font-face{font-family:'Fraunces';src:url('/assets/fonts/Fraunces.ttf');font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('/assets/fonts/SpaceGrotesk.ttf');font-display:swap}
@font-face{font-family:'Oswald';src:url('/assets/fonts/Oswald.ttf');font-display:swap}
:root{--royal:#003594;--deep:#001f5c;--deeper:#001643;--gold:#ffa300;--gold-soft:#ffc44d;--paper:#faf8f3;--ink:#0e1a3d;--muted:#4a5878;--line:#e3e0f0}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Space Grotesk',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
.circuit{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
header.site{position:relative;z-index:3;border-bottom:1px solid var(--line);background:rgba(250,248,243,.9);backdrop-filter:blur(8px);position:sticky;top:0}
header.site .wrap{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;padding-bottom:14px}
.logo{font-family:'Oswald';font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:15px;color:var(--royal);text-decoration:none}
.logo b{color:var(--gold);font-weight:600}
nav.top a{font-family:'Oswald';font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-left:22px}
nav.top a:hover{color:var(--royal)}
.hero{background:linear-gradient(165deg,var(--deep) 0%,var(--royal) 58%,#0a49c0 100%);color:#fff;position:relative;overflow:hidden}
.hero .wrap{padding-top:88px;padding-bottom:88px}
.hero .layer{position:absolute;inset:-10%;pointer-events:none}
.eyebrow{font-family:'Oswald';letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-size:14px;font-weight:500}
h1{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(44px,7vw,84px);line-height:1.02;letter-spacing:-.02em;margin:22px 0}
h1 .gold{color:var(--gold)}
.hero p.sub{font-size:clamp(18px,2.2vw,23px);color:#d8e2ff;max-width:640px}
.kinetic span{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg);animation:k .7s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes k{to{opacity:1;transform:none}}
.chip{display:inline-block;margin-top:36px;background:var(--gold);color:var(--deep);font-family:'Oswald';font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:15px;padding:12px 26px;border-radius:999px}
section{padding:72px 0}
.secthead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:34px;flex-wrap:wrap;gap:8px}
h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,44px);letter-spacing:-.01em}
.secthead .count{font-family:'Oswald';color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;perspective:1200px}
.card{position:relative;display:block;background:linear-gradient(155deg,var(--royal),var(--deep));color:#fff;border-radius:18px;padding:30px 26px 26px;text-decoration:none;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s ease;overflow:hidden;border:1px solid rgba(255,163,0,.25)}
.card:hover{box-shadow:0 24px 60px -18px rgba(0,31,92,.55)}
.card .sheen{position:absolute;inset:0;background:conic-gradient(from 210deg at var(--mx,70%) var(--my,20%),transparent 0deg,rgba(255,195,77,.32) 40deg,rgba(255,255,255,.5) 70deg,rgba(120,190,255,.28) 110deg,transparent 160deg);opacity:var(--sheen,0);transition:opacity .25s;pointer-events:none;mix-blend-mode:screen}
.card .bnum{font-family:'Fraunces';font-size:15px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft)}
.card h3{font-family:'Fraunces';font-weight:400;font-size:27px;line-height:1.12;margin:12px 0 10px}
.card p{color:#c9d6f8;font-size:15px;line-height:1.55}
.card .meta{margin-top:18px;font-family:'Oswald';font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.card .circuit-in{position:absolute;right:-30px;bottom:-30px;width:170px;height:170px;opacity:.22;pointer-events:none;z-index:0}
.card>*{position:relative;z-index:1}
.offer{background:linear-gradient(155deg,#ffc44d,#ffa300 60%,#f08c00);border-radius:22px;padding:56px 48px;color:var(--deep);position:relative;overflow:hidden}
.offer h2{color:var(--deep)}
.offer .price{font-family:'Fraunces';font-size:clamp(56px,8vw,92px);line-height:1;color:var(--deep)}
.offer .once{font-family:'Oswald';letter-spacing:.26em;text-transform:uppercase;font-size:15px;color:#5c3a00}
.offer p{max-width:560px;color:#3f2c04;font-size:17px;margin-top:14px}
.offer .btn{display:inline-block;margin-top:26px;background:var(--deep);color:#fff;font-family:'Oswald';letter-spacing:.14em;text-transform:uppercase;font-size:15px;padding:15px 34px;border-radius:999px;text-decoration:none}
.entry{max-width:760px;margin:0 auto}
.entry h1{font-size:clamp(36px,5vw,56px)}
.entry .def{font-size:21px;line-height:1.65;color:var(--ink);margin:18px 0 30px}
.entry h2{font-size:26px;margin:38px 0 14px;font-family:'Fraunces';font-weight:400;color:var(--royal)}
.entry ul{margin:0 0 8px 22px}
.entry li{margin-bottom:10px;font-size:17px}
.entry ol{margin:0 0 8px 24px}
.entry .sources{margin-top:44px;border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--muted)}
.entry .sources b{font-family:'Oswald';letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--royal)}
.cross{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px}
.cross a{font-family:'Oswald';font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--royal);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:#fff}
.cross a:hover{border-color:var(--gold)}
.booklist{list-style:none}
.booklist li{border-bottom:1px solid var(--line)}
.booklist a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:20px 4px;text-decoration:none;color:var(--ink)}
.booklist a:hover .t{color:var(--royal)}
.booklist .no{font-family:'Oswald';color:var(--gold);font-size:14px;letter-spacing:.1em;min-width:44px}
.booklist .t{font-family:'Fraunces';font-size:22px;flex:1}
.booklist .arrow{color:var(--muted)}
.progress{height:8px;background:#e8e4f4;border-radius:99px;overflow:hidden;margin:14px 0 6px}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-soft))}
.pnote{font-family:'Oswald';font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
footer.site{background:var(--deeper);color:#aebbE8;padding:52px 0 40px;margin-top:40px;position:relative;z-index:2}
footer.site .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer.site a{color:var(--gold-soft);text-decoration:none}
footer.site .fine{font-size:13px;color:#7f8fc4;margin-top:30px;max-width:720px}
.plx{will-change:transform}
@media (prefers-reduced-motion: reduce){
 html{scroll-behavior:auto}
 .kinetic span{opacity:1;transform:none;animation:none}
 .card .sheen{display:none}
 *{animation:none!important;transition:none!important}
}
@media (max-width:640px){.offer{padding:40px 26px}}
