:root{--cream:#f6f0e6;--sand:#e6d8c1;--beige:#d9c6a5;--brown:#5a4332;--ink:#3a2c21;--soft:#7a6652;--line:#d8c9ae}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,.logo{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:500;line-height:1.15;color:var(--brown)}
a{color:var(--brown)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brown);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.vh{position:absolute;left:-9999px}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.logo{font-size:2rem;text-decoration:none;letter-spacing:.02em;margin-right:auto}
.sf{display:flex;gap:6px}.sf input,form input,form textarea{font:inherit;padding:9px 12px;border:1px solid var(--beige);border-radius:8px;background:#fffaf1;width:100%}
.sf input{min-width:0;width:200px}
button{font:inherit;cursor:pointer}.sf button,.mb,.cb button{padding:9px 14px;border:1px solid var(--brown);background:transparent;color:var(--brown);border-radius:8px}
.mb{display:none}.cb .pri,.btn{background:var(--brown);color:var(--cream);border:0}
.btn{display:inline-block;padding:12px 22px;border-radius:8px;text-decoration:none}
#nav ul{list-style:none;margin:0 auto;padding:0 20px 10px;display:flex;flex-wrap:wrap;gap:4px 18px}
#nav a{text-decoration:none;color:var(--soft);font-size:.95rem}#nav a:hover{color:var(--brown);text-decoration:underline}
.hero{background:var(--sand);padding:56px 0}.hg{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
.hero h1{font-size:clamp(4rem,12vw,8rem);margin:0;letter-spacing:.01em}
.lead{font-size:1.15rem;color:var(--soft);max-width:60ch}
.shelf{display:flex;gap:8px;align-items:flex-end;border-bottom:3px solid var(--brown)}.shelf svg{width:25%;height:auto}
.sec{padding-top:40px;padding-bottom:20px}.sec h2{font-size:1.7rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:#fffaf1;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.card a{text-decoration:none;color:inherit;display:block;height:100%}.card:hover{border-color:var(--brown)}
.art{padding:14px 0 0;text-align:center}.art svg{height:120px}.ct{padding:16px 18px 20px}
.ct h3{margin:6px 0;font-size:1.25rem}.ct p{margin:0;color:var(--soft);font-size:.95rem}.tag{font-size:.8rem;color:var(--soft)}
.cl{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cl a{display:block;padding:14px 16px;border-left:4px solid var(--beige);background:#fffaf1;text-decoration:none}.cl span{display:block;color:var(--soft);font-size:.92rem}
.art-page,.txt{max-width:760px;padding-top:36px}.sec.txt{margin:0 auto}
.art-page h1,.txt h1,.sec h1{font-size:clamp(2rem,5vw,3rem);margin:.2em 0}.art-page h2{margin-top:1.6em}
.art-page p,.art-page li{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:1.12rem;line-height:1.75}
.meta,.bc{color:var(--soft);font-size:.9rem}
.ad-slot{min-height:100px;margin:24px 0}.ad-slot[hidden]{display:none}
form{display:grid;gap:14px;max-width:520px}label{display:grid;gap:4px}
footer{margin-top:60px;background:var(--sand);padding:32px 0 16px}.fg{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
footer ul{list-style:none;padding:0;margin:0}.lk{background:none;border:0;padding:0;color:var(--brown);text-decoration:underline}.copy{font-size:.85rem;color:var(--soft)}
.cb{position:fixed;left:12px;right:12px;bottom:12px;max-width:640px;margin:auto;background:#fffaf1;border:1px solid var(--brown);border-radius:10px;padding:16px;z-index:20;box-shadow:0 6px 24px rgba(58,44,33,.18)}
.cb[hidden]{display:none}.cb p{margin:0 0 12px;font-size:.92rem}.cb div{display:flex;gap:8px;justify-content:flex-end}
@media(max-width:720px){.hg{grid-template-columns:1fr}.mb{display:block}#nav{display:none}#nav.open{display:block}#nav ul{flex-direction:column;padding-bottom:14px}.sf{order:3;width:100%}.sf input{flex:1;width:auto}.logo{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
