:root{--ink:#241d27;--muted:#6f6570;--wine:#633d50;--wine-dark:#432b38;--gold:#a67d3d;--gold-light:#d7b677;--paper:#fffdf9;--cream:#f7f1e8;--line:#ddd0d5;--shadow:0 22px 60px rgba(54,35,45,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.75}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:white;padding:.7rem 1rem;font:600 .8rem Manrope,sans-serif;text-decoration:none}
.skip-link:focus{top:1rem}
.site-header{position:relative;z-index:20;min-height:82px;padding:1rem clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:rgba(247,241,232,.96);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font:600 .8rem Manrope,sans-serif;letter-spacing:.14em;white-space:nowrap}
.brand>span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--wine);border-radius:50%;font-size:1.25rem;color:var(--wine)}
.brand i{font-family:Italiana,serif;font-size:1.3em;color:var(--gold);font-style:normal}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.8rem,2.2vw,1.7rem);font:600 .72rem Manrope,sans-serif}
.primary-nav a{text-decoration:none;white-space:nowrap}
.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--wine);text-decoration:underline;text-underline-offset:.35rem}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);padding:10px;cursor:pointer}
.menu-toggle>span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.eyebrow{margin:0;color:var(--gold);font:700 .72rem Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase}
h1,h2,h3{font-family:Italiana,Georgia,serif;font-weight:400;line-height:1.08}
h1{font-size:clamp(2.85rem,7vw,5.8rem);margin:.4rem 0 1.1rem}
h2{font-size:clamp(2rem,4.5vw,3.1rem)}
.breadcrumbs{width:min(850px,calc(100% - 2.4rem));margin:1.5rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font:600 .7rem Manrope,sans-serif}
.breadcrumbs a{text-underline-offset:.2rem}
.article-page{width:min(100% - 2.4rem,850px);margin:0 auto;padding:clamp(2.5rem,7vw,5.5rem) 0}
.article-hero{margin-bottom:clamp(2.5rem,7vw,5rem)}
.deck{font-size:clamp(1.15rem,2.8vw,1.4rem);color:var(--muted);max-width:720px}
.article-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1.6rem 0 2rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font:600 .72rem Manrope,sans-serif}
.article-meta>*+*::before{content:"•";margin-right:1.2rem;color:var(--gold)}
.featured-image{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)}
.article-body{font-size:1.1rem}
.article-body h2{margin:3.5rem 0 1rem;font-size:clamp(1.9rem,4vw,2.55rem)}
.article-body p{margin:0 0 1.35rem}
.article-body a{text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:.2rem}
.cta,.newsletter-cta{margin:clamp(3.5rem,8vw,6rem) 0 0;padding:clamp(1.8rem,5vw,3rem);border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.cta h2,.newsletter-cta h2{margin:.15rem 0 1rem}
.cta a,.newsletter-cta a{display:inline-flex;margin-top:.5rem;padding:.8rem 1.1rem;background:var(--wine);color:white;font:700 .75rem Manrope,sans-serif;text-decoration:none}
.cta a:hover,.cta a:focus-visible,.newsletter-cta a:hover,.newsletter-cta a:focus-visible{background:var(--wine-dark);transform:translateY(-2px)}
.newsletter-cta{background:var(--wine);color:white}
.newsletter-cta .eyebrow{color:var(--gold-light)}
.newsletter-cta a{background:var(--gold-light);color:var(--ink)}
.related{margin:clamp(3.5rem,8vw,6rem) 0}
.related>h2{margin:.2rem 0 1.6rem}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.related-grid a{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper);text-decoration:none;transition:transform .2s,box-shadow .2s}
.related-grid a:hover,.related-grid a:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow)}
.related-grid img{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}
.related-grid span,.related-grid strong,.related-grid small{margin-left:1rem;margin-right:1rem}
.related-grid span{margin-top:1rem;color:var(--gold);font:700 .65rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.related-grid strong{margin-top:.55rem;font:400 1.35rem/1.18 Italiana,serif}
.related-grid small{margin-top:auto;padding:1rem 0;color:var(--wine);font:700 .7rem Manrope,sans-serif}
.notice{padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font:500 .78rem/1.6 Manrope,sans-serif}
footer{padding:3.5rem clamp(1.2rem,5vw,5rem);display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1.5fr);gap:2rem;background:var(--ink);color:#f3ebe4}
footer p,footer small{color:#bfb4bd;margin:.8rem 0 0}
footer nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1.4rem;font:600 .72rem Manrope,sans-serif}
footer nav a{text-decoration:none}
footer nav a:hover,footer nav a:focus-visible{color:var(--gold-light);text-decoration:underline}
footer small{grid-column:1/-1;font:500 .68rem Manrope,sans-serif}
.library{width:min(1240px,calc(100% - 2.4rem));margin:auto;padding:clamp(3rem,7vw,6rem) 0}
.library-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,7vw,8rem);align-items:end;padding-bottom:3rem;border-bottom:1px solid var(--line)}
.library-hero h1{max-width:820px}
.library-hero>p{padding-bottom:.8rem;color:var(--muted);font-size:1.08rem}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 1rem}
.filters button{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:.65rem .9rem;font:600 .72rem Manrope,sans-serif;cursor:pointer}
.filters button:hover,.filters button:focus-visible,.filters button.active{background:var(--wine);color:white;border-color:var(--wine)}
.results-count{margin:0 0 2rem;color:var(--muted);font:600 .72rem Manrope,sans-serif}
.article-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.2rem}
.article-card{grid-column:span 4;min-width:0;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;animation:rise .6s both;animation-delay:calc(var(--order) * 45ms)}
.article-card:nth-child(5n+1),.article-card:nth-child(5n+2){grid-column:span 6}
.card-image{display:block;overflow:hidden;border-bottom:1px solid var(--line)}
.card-image img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.article-card:hover .card-image img{transform:scale(1.025)}
.card-content{padding:1.5rem;display:flex;flex:1;flex-direction:column}
.card-content>p{margin:0;color:var(--gold);font:700 .68rem Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.card-content h2{margin:.8rem 0;font-size:clamp(1.65rem,3vw,2.25rem)}
.card-content h2 a{text-decoration:none}
.card-content>div{color:var(--muted)}
.card-content>span{margin-top:1rem;color:var(--muted);font:600 .68rem Manrope,sans-serif}
.read-link{margin-top:auto;padding-top:1.4rem;color:var(--wine);font:700 .78rem Manrope,sans-serif;text-decoration:none}
.read-link b{display:inline-block;transition:transform .2s}
.read-link:hover b,.read-link:focus-visible b{transform:translateX(5px)}
.article-card[hidden]{display:none}
.library-page{--library-ivory:#fff9f1;--library-blush:#fdecef;--library-card:#fffefb;--library-rose:#9a6271;--library-mauve:#a87582;--library-cocoa:#735a55;--library-taupe:#746a66;--library-pink:#d8899d;--library-peach:#f2b493;--library-sage:#cfe1d5;--library-gold:#d8b56a;--library-border:#ead6d0;--library-button:#b96f82;--library-button-hover:#a85f73;background:var(--library-ivory);color:var(--library-cocoa)}
.library-page .skip-link{background:var(--library-button);color:var(--library-ivory)}
.library-page .site-header{background:rgba(255,249,241,.97);border-color:var(--library-border)}
.library-page .brand,.library-page .primary-nav{color:var(--library-cocoa)}
.library-page .brand>span{border-color:var(--library-pink);color:var(--library-rose);background:var(--library-blush)}
.library-page .brand i{color:var(--library-gold)}
.library-page .primary-nav a:hover,.library-page .primary-nav a:focus-visible{color:var(--library-rose)}
.library-page .menu-toggle{border-color:var(--library-border);background:var(--library-card)}
.library-page .menu-toggle>span:not(.sr-only){background:var(--library-rose)}
.library-page .library{width:min(1280px,calc(100% - 2.4rem));padding-top:clamp(3rem,7vw,6.5rem)}
.library-page .library-hero{position:relative;padding:clamp(2rem,5vw,4.5rem);overflow:hidden;border:1px solid var(--library-border);background:linear-gradient(125deg,var(--library-card) 0%,var(--library-blush) 58%,#fff2e9 100%);box-shadow:0 24px 60px rgba(184,128,139,.12)}
.library-page .library-hero::after{content:"✦";position:absolute;right:clamp(1.5rem,5vw,5rem);top:clamp(1rem,3vw,2.5rem);color:var(--library-gold);font-size:clamp(2rem,5vw,4.5rem);opacity:.58}
.library-page .eyebrow{color:var(--library-mauve)}
.library-page .library-hero h1{color:var(--library-rose);text-wrap:balance}
.library-page .library-hero>p{color:var(--library-taupe)}
.library-page .library-catalog{padding-top:clamp(3rem,6vw,5rem)}
.library-page .catalog-heading{display:grid;grid-template-columns:1fr minmax(260px,.65fr);align-items:end;gap:2rem;margin-bottom:1.75rem}
.library-page .catalog-heading h2{margin:.25rem 0 0;color:var(--library-rose);font-size:clamp(2.25rem,5vw,3.8rem)}
.library-page .catalog-heading>p{margin:0;color:var(--library-taupe)}
.library-page .filters{padding:1rem;border:1px solid var(--library-border);background:var(--library-blush);border-radius:1.2rem}
.library-page .filters button{border-color:var(--library-border);border-radius:999px;background:var(--library-card);color:var(--library-cocoa);transition:background .2s,color .2s,border-color .2s,transform .2s}
.library-page .filters button:hover,.library-page .filters button:focus-visible,.library-page .filters button.active{background:var(--library-button);color:var(--library-ivory);border-color:var(--library-button);transform:translateY(-1px)}
.library-page .filters button:focus-visible,.library-page .read-link:focus-visible,.library-page .card-content h3 a:focus-visible{outline:3px solid rgba(216,181,106,.42);outline-offset:3px}
.library-page .results-count{color:var(--library-taupe)}
.library-page .article-grid{gap:1.5rem}
.library-page .article-card{overflow:hidden;border-color:var(--library-border);border-radius:1.35rem;background:var(--library-card);box-shadow:0 16px 42px rgba(184,128,139,.09);transition:transform .25s,box-shadow .25s,border-color .25s}
.library-page .article-card:hover{transform:translateY(-5px);border-color:#dfbcc3;box-shadow:0 22px 48px rgba(184,128,139,.16)}
.library-page .card-image{border-color:var(--library-border);background:var(--library-blush)}
.library-page .card-content{padding:clamp(1.35rem,3vw,2rem)}
.library-page .card-content>p{display:inline-flex;align-self:flex-start;padding:.35rem .65rem;border:1px solid var(--library-border);border-radius:999px;background:var(--library-blush);color:var(--library-mauve)}
.library-page .card-content h3{margin:.9rem 0;font-size:clamp(1.65rem,3vw,2.25rem);color:var(--library-rose)}
.library-page .card-content h3 a{text-decoration:none}
.library-page .card-content>div,.library-page .card-content>span{color:var(--library-taupe)}
.library-page .read-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;align-self:flex-start;min-width:9.5rem;margin-top:1.4rem;padding:.75rem 1rem;border:1px solid var(--library-button);border-radius:999px;background:var(--library-button);color:var(--library-ivory)}
.library-page .read-link:hover,.library-page .read-link:focus-visible{background:var(--library-button-hover);border-color:var(--library-button-hover)}
.library-page footer{background:var(--library-blush);color:var(--library-cocoa);border-top:1px solid var(--library-border)}
.library-page footer p,.library-page footer small{color:var(--library-taupe)}
.library-page footer nav a:hover,.library-page footer nav a:focus-visible{color:var(--library-rose)}
.library-page footer .brand>span{background:var(--library-card)}
.search-page{width:min(100% - 2.4rem,960px);min-height:65vh;margin:auto;padding:clamp(3rem,8vw,7rem) 0}
.search-page h1{max-width:800px}
.search-field{display:block;margin:2rem 0 1rem}
.search-field input{width:100%;padding:1rem 1.2rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 1rem Manrope,sans-serif;box-shadow:none}
.search-field input:focus{outline:3px solid rgba(166,125,61,.25);border-color:var(--gold)}
#search-status{color:var(--muted);font:600 .72rem Manrope,sans-serif}
.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.search-result{display:block;padding:1.5rem;border:1px solid var(--line);background:var(--paper);text-decoration:none}
.search-result small{color:var(--gold);font:700 .68rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.search-result h2{margin:.5rem 0;font-size:1.8rem}
.search-result p{margin:0;color:var(--muted)}
.search-result span{display:block;margin-top:1rem;color:var(--wine);font:700 .72rem Manrope,sans-serif}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.site-header{align-items:center}.menu-toggle{display:block;margin-left:auto}.primary-nav{position:absolute;left:0;right:0;top:100%;display:none;padding:1rem 1.2rem 1.4rem;flex-direction:column;align-items:stretch;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(54,35,45,.12)}.primary-nav.open{display:flex}.primary-nav a{padding:.65rem 0}.related-grid{grid-template-columns:1fr}.article-card,.article-card:nth-child(n){grid-column:span 6}.library-hero{grid-template-columns:1fr}footer{grid-template-columns:1fr}}
@media(max-width:640px){h1{font-size:2.8rem}.article-page{width:min(100% - 2rem,850px)}.breadcrumbs{width:min(100% - 2rem,850px)}.article-meta{display:grid;gap:.25rem}.article-meta>*+*::before{display:none}.article-card,.article-card:nth-child(n){grid-column:1/-1}.search-results{grid-template-columns:1fr}footer nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.library-page .primary-nav{background:var(--library-ivory);border-color:var(--library-border);box-shadow:0 14px 30px rgba(184,128,139,.13)}.library-page .catalog-heading{grid-template-columns:1fr}.library-page .library-hero::after{opacity:.32}}
@media(max-width:640px){.library-page .library{width:min(100% - 1.25rem,1280px);padding-top:1.25rem}.library-page .library-hero{padding:2rem 1.35rem;border-radius:1.25rem}.library-page .library-hero h1{font-size:clamp(2.7rem,14vw,4rem)}.library-page .library-hero>p{font-size:1rem}.library-page .library-catalog{padding-top:2.5rem}.library-page .filters{margin-top:1.25rem;padding:.75rem;border-radius:1rem}.library-page .filters button{flex:1 1 auto}.library-page .article-grid{gap:1rem}.library-page .article-card{border-radius:1.1rem}.library-page .read-link{width:100%;justify-content:center}.library-page footer{padding-top:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.article-card{animation:none}.card-image img,.related-grid a,.cta a,.newsletter-cta a{transition:none}}
