:root{--navy:#1f2c4d;--navy2:#26365c;--ink:#1f2937;--soft:#5b6472;--or:#d97a2b;--cream:#f5f0e9;--sand:#ece4d8;--line:#e2d9cb}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{font:400 17px/1.75 Inter,system-ui,sans-serif;color:var(--ink);background:#fff}img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.15}
.top{position:sticky;top:0;z-index:5;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px max(16px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--line)}.top .logo{height:44px;width:auto}
.top nav{display:flex;align-items:center;gap:22px}.top nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}.top nav a.pill{background:var(--navy);color:#fff;padding:9px 16px;border-radius:7px}
.eye{font-weight:600;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:14px}
.hero{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:96px 16px}.hero .inner{max-width:860px;margin:auto}.hero h1{font-size:clamp(2.7rem,7vw,4.8rem);margin-bottom:22px}.lead{font-size:1.2rem;color:#dbe2ef;max-width:720px}
.acts{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;margin:30px 0}.small{font-size:.9rem;color:#aab5c9;max-width:720px}
.btn{display:inline-block;font-weight:600;text-decoration:none;border-radius:7px;padding:13px 26px;line-height:1.4}.or{background:var(--or);color:#fff}.out{border:1px solid var(--or);color:#b85f18;padding:10px 20px;font-size:.95rem}.line{border:1px solid var(--ink);color:var(--ink);margin-top:14px}.plain{color:#fff;font-weight:600;text-decoration:none}.plain.dark{color:var(--ink)}
.btn:hover,.plain:hover{opacity:.85}a:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.start{background:var(--cream);padding-top:72px;border-bottom:1px solid var(--line)}.start .head{text-align:center;padding:0 16px 48px}.start h2,.ser h2,.list h2,.about h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:18px}
.three{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:48px max(16px,calc((100vw - 1040px)/2)) 56px}.three h3{font-size:1.4rem;font-weight:600;margin-bottom:12px}.three p{color:var(--soft);margin-bottom:18px}.three>div{display:flex;flex-direction:column;align-items:flex-start}.three .btn{margin-top:auto}
.ser{padding:88px 16px}.ser p:not(.eye):not(.status){color:var(--soft);margin-bottom:16px}.status{margin-bottom:12px;font-size:1rem}.sand{background:var(--sand)}
.wrap{max-width:1100px;margin:auto}.two{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}.flip{grid-template-columns:1.15fr 1fr;align-items:center}
.shelf{display:flex;flex-wrap:wrap;gap:26px 22px;justify-content:center}.bk{width:150px;text-align:center}.bk img{border-radius:4px;box-shadow:0 10px 24px rgba(31,44,77,.2);width:100%;transition:transform .15s}.bk a:hover img{transform:translateY(-3px)}.bk figcaption{font-size:.88rem;font-weight:500;margin-top:10px;line-height:1.4}.small9{gap:22px 16px}.small9 .bk{width:92px}.small9 .bk figcaption{font-size:.8rem}
.list{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:88px 16px;text-align:center}.list p:not(.eye){color:#dbe2ef;margin-bottom:26px}.narrow{max-width:640px;margin:auto}
.about{background:var(--cream);padding:88px 16px}.about p:not(.eye){color:var(--soft);margin-bottom:16px}.about .line{margin-top:0}blockquote{font:400 1.45rem/1.4 Fraunces,Georgia,serif;margin-top:36px;padding-left:22px;border-left:3px solid var(--or)}cite{display:block;font:600 .8rem Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-top:12px;color:var(--soft)}
footer{padding:56px 16px;text-align:center;font-size:.92rem;color:var(--soft)}footer .logo{height:48px;width:auto;margin:0 auto 16px}footer p{max-width:560px;margin:0 auto 20px}
.social{display:flex;justify-content:center;gap:12px;margin-bottom:18px}.social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.social svg{width:18px;height:18px;fill:var(--navy)}
.top nav a[aria-current=page]{color:var(--or)}.top{flex-wrap:wrap}
.phead{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:72px 16px 64px}.phead .wrap{max-width:860px}.phead h1{font-size:clamp(2.3rem,6vw,3.8rem);margin-bottom:20px}.phead p:not(.eye){color:#dbe2ef;font-size:1.08rem;margin-bottom:14px;max-width:760px}
.books{padding:64px 16px 80px}.books h2{font-size:1.7rem;margin-bottom:24px;padding-bottom:10px;border-bottom:1px solid var(--or)}.books h2.next{margin-top:56px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 44px}.card{display:flex;gap:22px;align-items:flex-start}.card>a,.card>img{flex:none}.card img{width:120px;border-radius:4px;box-shadow:0 8px 20px rgba(31,44,77,.2)}.card h3{font:600 1.08rem/1.35 Inter,sans-serif;margin-bottom:6px}.card p{color:var(--soft);font-size:.97rem;line-height:1.6;margin-bottom:10px}.buy{font-weight:600;font-size:.95rem;color:#b85f18;text-decoration:none}.buy:hover{text-decoration:underline}.tag{display:inline-block;font-size:.8rem;font-weight:600;color:var(--soft);border:1px solid var(--line);padding:3px 10px;border-radius:99px}.more{margin-top:44px;text-align:center}
.door{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;transition:box-shadow .15s,transform .15s}.door:hover{box-shadow:0 10px 26px rgba(31,44,77,.12);transform:translateY(-2px)}.door h3{font-size:1.35rem;font-weight:600;margin-bottom:10px}.door p{color:var(--soft);margin-bottom:16px;font-size:.98rem}.go{margin-top:auto;font-weight:600;color:#b85f18;font-size:.95rem}.strip{display:flex;gap:8px;margin-bottom:18px}.strip img{width:70px;height:108px;object-fit:cover;border-radius:3px;box-shadow:0 4px 10px rgba(31,44,77,.18)}
.aboutp{padding:64px 16px 80px}.ab{display:flex;gap:44px;align-items:flex-start;max-width:900px}.ab img{width:220px;flex:none;border-radius:10px;box-shadow:0 8px 24px rgba(31,44,77,.22)}.ab p{color:var(--soft);margin-bottom:16px}.ab .line{margin-top:0}
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:16px}.fnav a{color:var(--ink);text-decoration:none;font-weight:500}.fnav a:hover{text-decoration:underline}
p.by{font-size:.86rem;color:var(--ink);margin-bottom:6px}p.by a{color:inherit;text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}
.featau{padding:72px 16px;background:#fff}.featau .ab{align-items:center}.featau h2{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:12px}.featau .ab img{width:170px}.featau .line{margin-top:6px}
.plainb{padding-top:0;border:0}.plainb .three{border:0;padding-top:56px}
.aboutp h2{font-size:1.7rem;margin:0 0 12px}.prose{max-width:720px}.prose p{color:var(--soft);margin-bottom:16px}.prose .big{font:400 1.45rem/1.45 Fraunces,Georgia,serif;color:var(--ink);margin-bottom:24px}.prose h2{margin-top:36px}.prose a{color:#b85f18}
.phead .wrap>h1:last-child{margin-bottom:0}
.homehero{padding:64px 16px;display:flex;align-items:center;min-height:calc(100vh - 74px - 330px)}.hh{max-width:1100px;width:100%;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.homehero .acts{margin:26px 0 22px}
.collage{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collage img{width:100%;aspect-ratio:.645;object-fit:fill;border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
@media(max-width:820px){.hh{grid-template-columns:1fr;gap:36px}.collage img:nth-child(n+4){display:none}.homehero{min-height:0}}
@media(max-width:820px){.grid{grid-template-columns:1fr}.ab{flex-direction:column;gap:26px}.ab img{width:170px}.three{gap:20px}}
@media(max-width:700px){.top nav{width:100%;flex-wrap:wrap;gap:6px 16px;justify-content:flex-start}.top{padding-top:10px;padding-bottom:10px;position:static}.top nav a{font-size:.88rem}.top nav a.pill{padding:6px 11px;white-space:nowrap}.top .logo{height:30px}}
@media(max-width:820px){.two,.flip{grid-template-columns:1fr;gap:40px}.flip .shelf{order:2}.three{grid-template-columns:1fr;gap:36px}.three .btn{margin-top:0}.hero,.ser,.list,.about{padding-top:64px;padding-bottom:64px}}
@media(max-width:460px){.top nav{gap:14px}.top nav a{font-size:.88rem}.top nav a.pill{padding:8px 11px;white-space:nowrap}.top .logo{height:28px}.bk{width:42%}.small9 .bk{width:28%}}
