:root { --ink:#183652; --ink-2:#294b67; --cream:#f8f4ea; --paper:#fffdf8; --sage:#5c7f46; --gold:#c98927; --line:#dcd7ca; --muted:#6f766f; --shadow:0 12px 30px rgba(28,54,75,.08); }
* { box-sizing:border-box; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans", sans-serif; line-height:1.55; }
.site-header { max-width:1260px; margin:0 auto; padding:24px 36px; display:flex; justify-content:space-between; align-items:center; }
.brand { font-family:Fraunces,serif; color:var(--ink); text-decoration:none; font-size:1.6rem; font-weight:700; letter-spacing:-.04em; }.brand span{ color:var(--gold); }.header-link,.text-link { color:var(--ink); font-weight:700; text-decoration:none; }.header-link:hover,.text-link:hover { color:var(--sage); }.header-tag{color:var(--sage);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero { max-width:1260px; min-height:71vh; margin:0 auto; padding:12vh 10% 9vh; background:linear-gradient(135deg,rgba(255,253,248,.9),rgba(235,241,228,.6)); border-radius:34px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }.eyebrow { margin:0 0 12px; color:var(--sage); font-size:.77rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.hero h1,.catalog-hero h1 { font:700 clamp(3rem,8vw,6rem)/.98 Fraunces,serif; letter-spacing:-.07em; margin:0; }.hero h1 em,.catalog-hero h1 em { color:var(--sage); font-style:italic; }.hero-copy { max-width:570px; font-size:1.2rem; margin:30px auto 16px; }.credit { margin:0 0 30px; color:var(--muted); font-size:.95rem; }.button { display:inline-flex; gap:12px; align-items:center; background:var(--ink); color:#fff; border:1px solid var(--ink); border-radius:999px; padding:13px 20px; font-weight:700; text-decoration:none; cursor:pointer; }.button:hover{ background:var(--sage); border-color:var(--sage); }.button.secondary { background:transparent; color:var(--ink); }.button.secondary:hover { background:var(--ink); color:#fff; }
.resource-intro { max-width:1050px; margin:94px auto; padding:0 36px; display:grid; grid-template-columns:1fr 1fr auto; gap:36px; align-items:end; }.resource-intro h2{font:700 2.5rem/1 Fraunces,serif; margin:0; letter-spacing:-.04em}.resource-intro p:not(.eyebrow){margin:0;color:var(--ink-2)} footer { max-width:1260px; margin:0 auto; padding:32px 36px; border-top:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.catalog-page main,.pdf-page main { max-width:1320px; margin:0 auto; padding:28px 36px 80px; }.catalog-hero,.pdf-hero { max-width:860px; padding:62px 0 34px; }.catalog-hero h1,.pdf-hero h1 { font-size:clamp(3rem,6vw,5.2rem); }.catalog-hero>p:not(.eyebrow),.pdf-hero>p:not(.eyebrow) { max-width:735px; color:var(--ink-2); font-size:1.07rem; margin:24px 0; }.home-catalog-hero{padding-bottom:16px}.hero-with-mascot{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:center}.mr-c-hero{display:block;max-width:100%;max-height:315px;justify-self:center}.catalog-intro{display:grid;grid-template-columns:1fr 1.25fr auto;gap:28px;align-items:end;margin:0 0 26px}.catalog-intro h2{font:700 2.2rem/1 Fraunces,serif;letter-spacing:-.04em;margin:0}.catalog-intro p:not(.eyebrow){margin:0;color:var(--ink-2)}.featured-cards{margin-bottom:68px}.full-catalog{scroll-margin-top:20px}.full-catalog-intro{border-top:1px solid var(--line);padding-top:48px}.catalog-controls{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(115px,1fr)) auto; gap:12px; padding:18px; background:rgba(255,253,248,.92); border:1px solid var(--line); border-radius:18px; align-items:end; position:sticky; top:0; z-index:5; backdrop-filter:blur(12px)} label{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}label small{font-size:.69rem;line-height:1.25;text-transform:none;letter-spacing:normal;font-weight:500;color:var(--muted)}input,select{width:100%;border:1px solid #c7c5bc;border-radius:9px;background:#fff;padding:11px 10px;color:var(--ink);font:400 .92rem "DM Sans",sans-serif;letter-spacing:normal;text-transform:none}.input-with-clear{display:flex;position:relative}.input-with-clear input{padding-right:34px}.input-with-clear button{position:absolute;right:5px;top:5px;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}.input-with-clear button:hover{background:#ece8dc;color:var(--ink)}.reset{border:0;background:transparent;color:var(--ink);font-weight:700;padding:11px;cursor:pointer;white-space:nowrap}.catalog-summary{display:flex;gap:12px;align-items:baseline;margin:28px 0 18px}.catalog-summary strong{font:700 1.25rem Fraunces,serif}.catalog-summary span{color:var(--muted);font-size:.88rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.book-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.cover{display:block;width:100%;height:250px;object-fit:contain;object-position:center;background:#f1eee5;border-radius:11px;margin:0 0 16px}.card-topline{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.evidence{color:var(--sage)}.kind{color:var(--muted)}.book-card h2{font:700 1.55rem/1.08 Fraunces,serif;letter-spacing:-.035em;margin:18px 0 4px}.author{margin:0;color:var(--muted);font-size:.92rem}.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:20px 0 17px;border-radius:9px;overflow:hidden}.reading-grid>div{background:#f4f1e8;padding:10px}.reading-grid span,.details dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;display:block}.reading-grid strong{font:700 1.25rem Fraunces,serif;display:block;margin-top:2px}.reading-grid small{color:var(--muted);font-size:.7rem;line-height:1.2;display:block}.summary{font-size:.94rem;margin:0 0 16px}.details{border-top:1px solid var(--line);margin:0;padding-top:14px}.details>div{margin-bottom:12px}.details dd{margin:4px 0 0;font-size:.83rem;color:var(--ink-2)}.ar-row{display:none}.ar-row.has-data{display:block}.maturity-row.muted dd{color:#969b94}details{border-top:1px solid var(--line);padding-top:12px;margin-top:auto}summary{font-size:.82rem;font-weight:700;cursor:pointer}.more{font-size:.82rem;color:var(--ink-2);padding-top:12px}.more p{margin:0 0 10px}.more ul{padding-left:18px;margin:0}.source-link{color:var(--sage);font-weight:700}.load-more{display:block;margin:35px auto 0}.standalone-note{padding-top:16vh}.standalone-note .button{margin-top:8px}
@media(max-width:1150px){.catalog-controls{grid-template-columns:repeat(3,1fr)}.search-field{grid-column:span 2}.catalog-intro{grid-template-columns:1fr 1fr}.catalog-intro .button{grid-column:1/-1;width:max-content}}@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-controls{grid-template-columns:1fr 1fr}.search-field{grid-column:span 2}}@media(max-width:600px){.site-header,.catalog-page main,.pdf-page main,footer{padding-left:20px;padding-right:20px}.catalog-controls{grid-template-columns:1fr}.search-field{grid-column:auto}.cards{grid-template-columns:1fr}.catalog-hero,.pdf-hero{padding-top:34px}.catalog-intro{display:block}.catalog-intro p:not(.eyebrow){margin:18px 0}.cover{height:280px}}
.mr-c-figure{margin:0;text-align:center;justify-self:center}.mr-c-figure figcaption{margin-top:7px;font:700 1.1rem Fraunces,serif;color:var(--ink)}
.full-catalog-button{padding:18px 24px;font-size:1rem;line-height:1.2;flex-direction:column;align-items:flex-start;border-radius:16px;box-shadow:var(--shadow)}.full-catalog-button span:first-child{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;opacity:.78}
@media(max-width:700px){.site-header,.catalog-page main,.pdf-page main,footer{padding-left:20px;padding-right:20px}.site-header{padding-top:16px;padding-bottom:16px}.header-tag{font-size:.66rem}.hero-with-mascot{grid-template-columns:1fr;gap:6px;text-align:center;padding-top:30px}.hero-with-mascot>div{display:contents}.hero-with-mascot .eyebrow{order:0}.hero-with-mascot h1{order:1}.hero-with-mascot p{order:2}.mr-c-figure{order:3;margin:5px auto 0}.mr-c-hero{max-height:205px;max-width:190px}.mr-c-figure figcaption{margin-top:2px}.catalog-controls{grid-template-columns:1fr;position:static;padding:15px}.search-field{grid-column:auto}.cards{grid-template-columns:1fr;gap:14px}.catalog-hero,.pdf-hero{padding-top:34px}.catalog-intro{display:block;margin-bottom:22px}.catalog-intro p:not(.eyebrow){margin:18px 0}.catalog-intro .button{width:100%;justify-content:center}.featured-cards{margin-bottom:45px}.full-catalog-intro{padding-top:34px}.cover{height:235px}.book-card{padding:15px}.book-card h2{font-size:1.42rem}.reading-grid{margin:16px 0}.catalog-summary{display:block;margin:22px 0 15px}.catalog-summary span{display:block;margin-top:4px}}
