/* The financial library: scoped to the homepage guide section. */
#articles.guide-library { background:#f5f6f2; }
.guide-cover-image { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; margin:17px 0 0; border:1px solid #ffffff30; }
.guide-cover-title { min-height:105px; }
.guide-cover-signature { margin-top:auto; }
.guide-library-more-wrap { text-align:center; margin-bottom:30px; }
.guide-library-more { font:inherit; font-weight:700; color:#fff; background:#143f3a; padding:12px 28px; min-height:46px; border:0; border-radius:6px; cursor:pointer; }
.guide-library-more[hidden] { display:none; }
.guide-library-more:focus-visible { outline:3px solid #168c7e; outline-offset:5px; }
.guide-book--saving { --book:#244957; --foil:#c8dfd2; }
.guide-book--insurance { --book:#47676b; --foil:#e7d8b9; }
.guide-book--self { --book:#5b6b46; --foil:#ede0a5; }
.article-page .articles-hub { max-width:1200px; }
.article-page #articles { padding:24px; border-radius:12px; }
.article-page .guide-library .section-label { font-size:13px; color:#12675f; font-weight:700; }
.article-page .guide-library .section-title { font-size:32px; color:#143f3a; margin:8px 0; }
.article-page .guide-library .articles-intro { color:#53625c; line-height:1.7; }
.article-page .guide-library .home-flow-bridge { border-top:1px solid #c5d4cc; padding-top:24px; }
.article-page .guide-library .home-flow-link { color:#12675f; font-weight:700; }
.guide-library-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; }
#articles .articles-intro { margin-bottom:24px; max-width:650px; }
.guide-library-all { color:#12675f; text-decoration:none; font-weight:700; white-space:nowrap; border-bottom:1px solid #8bada4; padding-bottom:6px; }
.guide-library-all span { margin-inline-start:16px; }
.guide-library-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0 26px; border-top:1px solid #d2dcd6; }
.guide-library-toolbar[hidden] { display:none; }
.guide-filters { display:flex; flex-wrap:wrap; gap:8px; }
.guide-filters button { font:inherit; font-size:14px; font-weight:600; padding:10px 18px; border:1px solid #c5d4cc; background:transparent; color:#254a44; border-radius:6px; cursor:pointer; min-height:44px; }
.guide-filters button[aria-pressed="true"] { background:#143f3a; border-color:#143f3a; color:#fff; }
.guide-filters button:hover { border-color:#12675f; }
.guide-library-count { color:#556b64; font-size:13px; white-space:nowrap; }
.guide-bookshelf { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px 30px; padding:10px 6px 36px; }
.guide-book { --book:#164f47; --ink:#fffdf3; --foil:#cfb77f; display:flex; flex-direction:column; min-width:0; color:#173333; text-decoration:none; }
.guide-book[hidden] { display:none; }
.guide-cover { position:relative; display:flex; flex-direction:column; min-height:330px; padding:24px 25px 24px 20px; border-radius:3px 10px 10px 3px; background:linear-gradient(270deg,rgba(0,0,0,.2),transparent 7%,rgba(255,255,255,.07) 9%,transparent 11%),var(--book); color:var(--ink); box-shadow:-5px 3px 0 #e6e1d4,-8px 4px 0 #cdc9be,0 14px 22px -14px #18382f; transition:transform .25s ease,box-shadow .25s ease; overflow:hidden; }
.guide-cover::after { content:""; position:absolute; inset:10px; border:1px solid #ffffff26; border-radius:2px; pointer-events:none; }
.guide-cover-top { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; letter-spacing:.025em; color:var(--foil); }
.guide-number { font-family:Georgia,serif; font-size:18px; opacity:.9; }
.guide-cover-title { position:relative; z-index:1; margin-top:25px; }
.guide-cover h3 { color:var(--ink); font-size:clamp(22px,2vw,28px); font-weight:800; line-height:1.3; margin:0 0 10px; }
.guide-cover-title p { color:var(--ink); opacity:.85; font-size:13px; line-height:1.65; margin:0; }
.guide-cover-art { height:65px; position:relative; margin-top:auto; margin-bottom:14px; overflow:hidden; color:var(--foil); opacity:.5; }
.guide-cover-art i { position:absolute; width:120px; height:120px; border:1px solid currentColor; border-radius:50%; bottom:-90px; right:calc(50% - 60px); }
.guide-cover-art i:nth-child(2) { width:160px; height:160px; right:calc(50% - 80px); }
.guide-cover-art i:nth-child(3) { width:200px; height:200px; right:calc(50% - 100px); }
.guide-cover-signature { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px; font-size:11px; border-top:1px solid #ffffff30; padding-top:12px; }
.guide-cover-signature span { opacity:.7; font-size:10px; }
.guide-book-details { position:relative; margin-top:17px; padding-top:19px; flex:1; display:flex; flex-direction:column; }
.guide-book-details::before { content:""; position:absolute; top:0; inset-inline:-15px; height:6px; border-radius:2px; background:linear-gradient(#d8dfd4,#c3cfc2); box-shadow:0 6px 9px -4px #738f7b70; }
.guide-book-details p { color:#53625c; font-size:13px; line-height:1.75; margin:0 0 16px; }
.guide-book-footer { display:flex; flex-wrap:wrap; gap:6px 12px; justify-content:space-between; margin-top:auto; font-size:12px; color:#53625c; }
.guide-read { color:#116b5f; font-weight:700; }
.guide-book--basics { --book:#244957; --foil:#c8dfd2; }
.guide-book--freedom { --book:#5b6b46; --foil:#ede0a5; }
.guide-book--tax { --book:#534754; --foil:#e0c6b5; }
.guide-book--realestate { --book:#866044; --foil:#ffe0b0; }
.guide-book--family { --book:#47676b; --foil:#e7d8b9; }
.guide-book--saving { --book:#244957; --foil:#c8dfd2; }
.guide-book--insurance { --book:#47676b; --foil:#e7d8b9; }
.guide-book--self { --book:#5b6b46; --foil:#ede0a5; }
@media (hover:hover) { .guide-book:hover .guide-cover { transform:translateY(-7px) rotate(-1deg); box-shadow:-5px 3px 0 #e6e1d4,-8px 4px 0 #cdc9be,0 22px 25px -14px #18382f80; } }
.guide-book:focus-visible,.guide-filters button:focus-visible,.guide-library-all:focus-visible { outline:3px solid #168c7e; outline-offset:6px; }
@media (max-width:1000px) { .guide-bookshelf { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; } .guide-library-toolbar { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .guide-library-heading { display:block; } .guide-library-all { display:inline-block; margin-bottom:22px; } .guide-bookshelf { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; } .guide-cover { min-height:300px; padding:20px 18px 18px 14px; } .guide-cover h3 { font-size:23px; } .guide-cover-title { margin-top:20px; } .guide-cover-signature { display:block; } .guide-cover-signature span { display:block; margin-top:3px; } .guide-filters button { padding:8px 12px; font-size:13px; } .guide-book-details::before { inset-inline:-11px; } }
@media (max-width:380px) { .guide-cover { min-height:300px; padding:18px 15px 16px 12px; } .guide-cover h3 { font-size:20px; } .guide-cover-top { font-size:10px; } .guide-cover-title p { font-size:12px; } .guide-bookshelf { gap:26px 18px; padding-inline:2px; } .guide-cover-art { height:54px; } }
@media (prefers-reduced-motion:reduce) { .guide-cover { transition:none; } .guide-book:hover .guide-cover { transform:none; } }
