:root{color:#000;background:#fbfaf6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;--paper:#fbfaf6;--sand:#eee5d2;--line:#cec6b7;--gold:#e9ce93}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
button,input,select{font:inherit;color:inherit}
button,select{cursor:pointer}
button:disabled{cursor:default;opacity:.45}
:focus-visible{outline:3px solid #806020;outline-offset:4px}
.wrap{width:min(1100px,calc(100% - 72px));margin:auto}
.top,footer{background:#f9f6ed;border-bottom:1px solid var(--line)}
.header{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;font-size:.9rem}
.brand{font-weight:750;text-decoration:none;display:flex;align-items:center;gap:10px}
.mark{width:30px;height:30px;border:1px solid #9f906e;display:grid;place-items:center;border-radius:50%;background:var(--gold);font-size:1.14rem}
.hero{background:var(--sand);border-bottom:1px solid var(--line)}
.hero-inner{min-height:415px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:38px;padding-block:48px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.02}
h1{font-size:clamp(3.65rem,8vw,6.9rem);margin-bottom:22px}
h2{font-size:clamp(2.4rem,5vw,3.65rem);margin-bottom:0}
.eyebrow{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin-bottom:17px}
.eyebrow span{display:inline-block;width:21px;height:2px;background:#806020}
.intro{max-width:480px;font-size:1.1rem;margin-bottom:24px}
.button{display:inline-flex;gap:16px;align-items:center;background:var(--gold);border:1px solid #87703f;padding:10px 16px;border-radius:4px;font-weight:750;text-decoration:none}
.button:hover{background:#e3c17a}
.art{max-width:300px;width:100%;justify-self:center}
.art svg{display:block;width:100%}
.directory{padding-block:54px 70px}
.section-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:25px}
.date{font-size:.84rem;margin:0 0 3px}
.modes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
button{border:1px solid var(--line);border-radius:4px;background:#fffdf8;padding:8px 14px;font-weight:650}
button:not(:disabled):hover{border-color:#806020}
.modes [aria-pressed=true]{background:var(--gold);border-color:#87703f}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#f3ede1;border:1px solid var(--line);border-radius:6px;padding:15px}
.filters label{font-size:.83rem;font-weight:750;min-width:0}
.filters input,.filters select{display:block;width:100%;min-height:44px;margin-top:4px;border:1px solid #aaa28f;border-radius:4px;background:#fffdf8;padding:8px 10px;font-size:.95rem}
.search-field{grid-column:1/-1;min-width:0}
.search-controls{display:flex;align-items:stretch;gap:8px;margin-top:4px}
.search-controls input{flex:1;min-width:0;margin-top:0}
.search-controls button{flex-shrink:0}
.result-bar{display:flex;align-items:center;justify-content:space-between;min-height:61px;gap:8px;font-size:.91rem}
.result-bar p,.result-bar button{margin:0}
.text-button{padding:2px 4px;border-color:transparent;background:transparent;text-decoration:underline}
.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{display:flex;flex-direction:column;gap:9px;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fffdf8;overflow-wrap:anywhere}
.card h3{font-family:Georgia,serif;font-size:1.35rem;line-height:1.2;margin:0}
.card p{font-size:.91rem;margin:0}
.meta{display:flex;gap:5px;flex-wrap:wrap}
.tag{background:#f3ebd9;border-radius:3px;padding:2px 6px;font-weight:650;font-size:.7rem}
.card a{margin-top:auto;padding-top:6px;font-weight:750;font-size:.88rem;align-self:start}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px;font-size:.9rem}
.notice,.empty{padding:14px;border:1px solid var(--line);border-radius:4px;background:#f3ede1;margin:12px 0 0}
.empty{grid-column:1/-1}
.about{background:var(--sand);border-top:1px solid var(--line);padding-block:45px}
.about h2{font-size:2.5rem;margin-bottom:15px}
.about p:not(.eyebrow){max-width:660px;margin-bottom:9px}
footer{border-top:1px solid var(--line);border-bottom:0}
.skip{position:absolute;top:4px;left:4px;transform:translateY(-200%);padding:8px;background:#fff}
.skip:focus{transform:none}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{gap:22px}.art{max-width:235px}}
@media(max-width:580px){.wrap{width:calc(100% - 32px)}.header{min-height:62px;font-size:.78rem}.top .header>a:last-child{display:none}.hero-inner{grid-template-columns:1fr;padding-block:36px;min-height:0}.art{display:none}.intro{font-size:1rem}.section-head{align-items:start;flex-direction:column}.directory{padding-block:38px 50px}.filters{gap:10px}.results{grid-template-columns:1fr}.modes button{font-size:.84rem;padding:7px 10px}}

@media(max-width:480px){.search-controls{flex-direction:column}.search-controls input{font-size:1rem}.search-controls button{align-self:flex-end}}
