.catalog-page{background:#f4f1e9;color:#171915}
.catalog-brand-banner{min-height:390px;padding:28px 6%;display:grid;place-items:center;background:#fff;border-bottom:1px solid #d3cdbf}
.catalog-brand-banner img{display:block;width:min(760px,88vw);height:auto;max-height:430px;object-fit:contain}
.catalog-opening{width:min(1240px,88%);margin:0 auto;padding:48px 0 76px}
.catalog-opening>.eyebrow{color:#176a70;margin-bottom:16px}
.catalog-opening>h1{font:clamp(2.8rem,5.5vw,5.4rem)/1.02 Georgia,serif;letter-spacing:-.04em;max-width:900px;margin:0 0 24px}
.catalog-lead{font:clamp(1.12rem,2vw,1.38rem)/1.65 Georgia,serif;max-width:720px;color:#50564f;margin:0 0 42px}
.catalog-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #c9c3b6;border-bottom:1px solid #c9c3b6;margin-bottom:42px}
.catalog-filters{display:flex;gap:8px;flex-wrap:wrap}
.catalog-filters button{border:1px solid #777c72;background:transparent;color:#22251f;min-height:44px;padding:10px 15px;font:600 .85rem/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.catalog-filters button[aria-pressed="true"]{background:#17383c;border-color:#17383c;color:#fff7e8}
.catalog-filters button:focus-visible{outline:3px solid #176a70;outline-offset:3px}
.catalog-count{margin:0;color:#676b64;font-size:.9rem;white-space:nowrap}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 34px;align-items:start}
.catalog-card{min-width:0;display:flex;flex-direction:column;height:100%}
.catalog-card[hidden]{display:none}
.catalog-cover{display:block;width:100%;max-width:240px;margin-bottom:24px}
.catalog-cover img{display:block;width:100%;height:auto;box-shadow:0 12px 28px #1719151c}
.catalog-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.catalog-card-meta{min-height:48px;margin-bottom:7px}
.catalog-card-meta .eyebrow{font-size:.75rem;line-height:1.45;color:#52625e;margin:0}
.catalog-badge{display:inline-block;background:#176a70;color:#fff;padding:4px 7px;margin-bottom:7px;font:700 .67rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.catalog-card h2{font:clamp(1.55rem,2.2vw,2rem)/1.15 Georgia,serif;margin:0 0 14px}
.catalog-card h2 a{text-decoration:none}
.catalog-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.catalog-description{color:#575c55;font-size:.98rem;line-height:1.65;margin:0 0 18px}
.catalog-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid #d4cec1;padding-top:14px;margin:0 0 18px}
.catalog-facts dt{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#73786f;margin-bottom:4px}
.catalog-facts dd{font-size:.88rem;line-height:1.45;margin:0}
.catalog-actions{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin-top:auto}
.catalog-actions .book-details-link,.catalog-actions .text-link{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0}
.catalog-actions .text-link{font-size:.86rem;color:#555b54}
@media(max-width:980px){.catalog-brand-banner{min-height:330px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 28px}.catalog-cover{max-width:220px}}
@media(max-width:600px){.catalog-brand-banner{min-height:245px;padding:18px 4%}.catalog-brand-banner img{width:min(520px,96vw);max-height:270px}.catalog-opening{width:88%;padding:30px 0 50px}.catalog-opening>h1{font-size:2.65rem}.catalog-lead{font-size:1.06rem;margin-bottom:30px}.catalog-toolbar{align-items:flex-start;flex-direction:column;margin-bottom:32px}.catalog-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.catalog-filters button{text-align:left}.catalog-count{align-self:flex-end}.catalog-grid{grid-template-columns:1fr;gap:34px}.catalog-card{display:grid;grid-template-columns:105px minmax(0,1fr);gap:0 20px}.catalog-cover{grid-column:1;margin:0;max-width:105px}.catalog-card-copy{grid-column:2}.catalog-card-meta{min-height:0}.catalog-card h2{font-size:1.6rem}.catalog-description{font-size:.93rem}.catalog-facts{grid-template-columns:1fr}.catalog-actions{gap:4px 16px}}
@media(max-width:380px){.catalog-card{grid-template-columns:88px minmax(0,1fr);gap:0 16px}.catalog-cover{max-width:88px}.catalog-filters{grid-template-columns:1fr}.catalog-opening>h1{font-size:2.35rem}}
