@font-face{font-family:'Cormorant';src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant';src:url(fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Work Sans';src:url(fonts/work-sans-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Work Sans';src:url(fonts/work-sans-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{--rice:#F4F2EC;--ink:#161616;--ver:#C23B22;--jade:#3F6B58;--mut:#6B645A;--ln:#E4DCCB}
*{box-sizing:border-box}body{margin:0;background:var(--rice);color:var(--ink);font:16px/1.65 'Work Sans',system-ui,sans-serif}a{color:inherit}
h1,h2,h3{font-family:Cormorant,serif;font-weight:700;line-height:1.05;margin:0 0 .4em}.cjk{font-family:'Noto Serif CJK SC','Songti SC','SimSun',serif}
.top{border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 4vw}
.seal{display:flex;align-items:center;gap:12px;text-decoration:none;justify-self:center}.seal i{width:44px;height:44px;background:var(--ver);color:var(--rice);font-style:normal;display:grid;place-items:center;font-family:'Noto Serif CJK SC','Songti SC','SimSun',serif;font-size:1.3rem}
.seal b{font-family:Cormorant;font-size:1.7rem;letter-spacing:.02em}
.top nav{display:flex;gap:22px;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}.top nav a{text-decoration:none}.top nav.r{justify-self:end}
.navtoggle{display:none}
.hero{display:grid;grid-template-columns:repeat(12,1fr);gap:0;border-bottom:1px solid var(--ink)}
.hero .big{grid-column:1/6;padding:56px 4vw;border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}
.hero .chars{font-family:'Noto Serif CJK SC','Songti SC','SimSun',serif;font-size:clamp(4rem,9vw,8rem);line-height:1;color:var(--ink)}
.hero h1{font-size:clamp(2.4rem,4.4vw,4rem)}.hero .pic{grid-column:6/13}.hero .pic img{width:100%;height:100%;object-fit:cover;display:block;min-height:520px}
.three{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--ink)}.three>div{padding:40px 4vw;border-right:1px solid var(--ink)}.three>div:last-child{border:0}
.three .c{font-family:'Noto Serif CJK SC','Songti SC','SimSun',serif;font-size:3rem;color:var(--ink)}
.shelf{padding:72px 4vw}.shelf h2{font-size:3rem}.hd{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:14px;margin-bottom:30px}
.books{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 28px}.bk{text-decoration:none}.bk img{width:100%;aspect-ratio:1;object-fit:cover;background:#EFE8D8}
.bk .m{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--jade);margin-top:12px}.bk h3{font-size:1.45rem;margin:.2em 0}.bk .p{font-weight:600}
.esl{background:var(--ink);color:var(--rice);padding:72px 4vw;display:grid;grid-template-columns:1fr 2fr;gap:4vw}.esl .m{color:#9FC2B1}
.tabs{display:flex;gap:0;border:1px solid var(--ink)}.tabs button{font:inherit;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;background:none;border:0;border-right:1px solid var(--ink);padding:10px 16px;cursor:pointer}.tabs button:last-of-type{border:0}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--rice)}
.srch{font:inherit;padding:10px 14px;border:1px solid var(--ink);background:transparent;min-width:260px}
.pd{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ink)}.pd .im{border-right:1px solid var(--ink);padding:4vw;background:#F3EDE0}.pd .im img{width:100%;display:block}
.pd .info{padding:56px 4vw}.pd h1{font-size:clamp(2.2rem,3.6vw,3.4rem)}.pd .p{font-family:Cormorant;font-size:2.6rem;font-weight:700;color:var(--ink)}
dl.sp{display:grid;grid-template-columns:auto 1fr;border-top:1px solid var(--ink);margin:26px 0}dl.sp dt,dl.sp dd{margin:0;padding:10px 0;border-bottom:1px solid var(--ln)}dl.sp dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);padding-right:24px}
.btn{display:inline-block;background:var(--ver);color:#fff;text-decoration:none;padding:13px 26px;font-weight:600;letter-spacing:.04em}
details.f{border-bottom:1px solid var(--ink);padding:18px 0}details.f summary{cursor:pointer;font-family:Cormorant;font-size:1.5rem;font-weight:700}
.note{font-size:.82rem;color:var(--mut)}.po{display:inline-block;border:1px solid var(--ink);color:var(--ink);padding:1px 7px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
footer{padding:48px 4vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;font-size:.9rem;border-top:1px solid var(--ink)}
@media(max-width:900px){.top{grid-template-columns:1fr auto}.top nav{display:none}.seal{justify-self:start}.navtoggle{display:block;background:none;border:1px solid var(--ink);padding:6px 12px;font:inherit}
body.navopen .top nav{display:flex;flex-direction:column;grid-column:1/-1;padding-top:12px}
.hero,.three,.esl,.pd,footer{grid-template-columns:1fr}.hero .big,.hero .pic{grid-column:1/-1}.hero .big{border:0}.hero .pic img{min-height:280px}.three>div{border-right:0;border-bottom:1px solid var(--ink)}
.books{grid-template-columns:1fr 1fr;gap:24px 16px}.pd .im{border:0}.srch{min-width:0;width:100%}}