@font-face {
    font-family: "Noto Serif";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/serif-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Noto Serif";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/serif-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Noto Serif";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/serif-vietnamese.woff2") format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
@font-face {
    font-family: "Noto Sans";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/sans-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
    font-family: "Noto Sans";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/sans-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
    font-family: "Noto Sans";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/noto/sans-vietnamese.woff2") format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

:root {
    --hs-ink: #24221f;
    --hs-muted: #706b63;
    --hs-line: #e5ddd2;
    --hs-paper: #fbfaf7;
    --hs-soft: #f1eee7;
    --hs-accent: #a84309;
    --hs-accent-dark: #823307;
    --hs-forest: #153828;
    --hs-charcoal: #121210;
    --hs-cream: #f3eee5;
    --hs-ochre: #d8a266;
    --hs-radius: 14px;
    --ghost-accent-color: #a84309 !important;
}

#ghost-portal-root, .gh-portal-triggerbtn-iframe { display: none !important; }

body { color: var(--hs-ink); background: var(--hs-paper); font-family: "Noto Sans", var(--font-sans), sans-serif; }
.gh-navigation, .gh-footer { font-family: "Noto Sans", var(--font-sans), sans-serif; }
.gh-navigation-logo, .gh-footer-logo { letter-spacing: normal; }
.gh-navigation-menu a, .gh-navigation-actions a { font-size: 1.45rem; }
.gh-navigation-menu { gap: 24px; }
.gh-navigation .hs-site-nav { gap: 20px; }
.gh-navigation .hs-site-nav a { font-family: "Noto Sans", sans-serif; font-size: 1.4rem; font-weight: 500; line-height: 1.55; letter-spacing: 0; }
@media (min-width: 992px) {
    .gh-navigation.is-middle-logo .gh-navigation-menu { margin-right: 0; }
}
.gh-button, .gh-button:hover { background: var(--hs-accent); color: white; }
.gh-button:hover { background: var(--hs-accent-dark); }
.gh-search { display: inline-grid; place-items: center; text-decoration: none; }
.gh-footer { margin-top: 50px; }
.gh-footer-copyright { color: var(--hs-muted); }
.gh-card-image { border-radius: var(--hs-radius); overflow: hidden; }
.gh-card-title { color: var(--hs-ink); }
.gh-card-tag, .gh-article-tag { color: var(--hs-accent); }
.gh-article-title, .hs-home h1, .hs-page-header h1, .hs-section-heading h2 {
    font-family: "Noto Serif", "EB Garamond", Georgia, serif;
    letter-spacing: -.035em;
}
.gh-content { font-size: 1.8rem; line-height: 1.85; }
.gh-content > * { margin-block: 0.85em; }
.gh-content > * + * { margin-top: 0.85em; margin-bottom: 0; }
.gh-content h2, .gh-content h3 { line-height: 1.3; }
.gh-content h2, .gh-content h3 { scroll-margin-top: 90px; }
.gh-content iframe, .gh-content video, .gh-content audio { max-width: 100%; }
.gh-content .kg-embed-card iframe, .gh-content .kg-video-card video { border-radius: 12px; }
.gh-comments { border-top: 1px solid var(--hs-line); padding-top: 38px; margin-top: 44px; }
.hs-comments-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.hs-comments-title { font-family: "Noto Serif", "EB Garamond", Georgia, serif; font-size: 2.8rem; line-height: 1.2; margin: 0; letter-spacing: -.03em; }
.hs-comments-subtitle { margin: 6px 0 0; color: var(--hs-muted); font-size: 1.45rem; line-height: 1.55; }
.hs-comments-count { color: var(--hs-forest); font-size: 1.35rem; font-weight: 600; background: var(--hs-soft); border: 1px solid var(--hs-line); border-radius: 999px; padding: 5px 12px; }
.hs-comment-form { display: grid; gap: 14px; padding: 22px; border: 1px solid var(--hs-line); border-radius: var(--hs-radius); background: var(--hs-soft); margin-bottom: 28px; }
.hs-comment-fields { display: grid; gap: 14px; }
.hs-comment-field { display: grid; gap: 6px; font-size: 1.4rem; font-weight: 600; color: var(--hs-ink); }
.hs-comment-field small { color: var(--hs-muted); font-weight: 400; font-size: 1.3rem; }
.hs-comment-field input, .hs-comment-field textarea { min-width: 0; width: 100%; border: 1px solid #cfd9d1; border-radius: 10px; background: #fff; color: var(--hs-ink); padding: 12px 14px; font: 400 1.55rem/1.55 "Noto Sans", var(--font-sans), sans-serif; }
.hs-comment-field textarea { resize: vertical; min-height: 108px; }
.hs-comment-field input:focus, .hs-comment-field textarea:focus { outline: 3px solid #d8a26666; border-color: var(--hs-accent); }
.hs-comment-reply-banner { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 14px; border-radius: 8px; background: #fff; border-left: 3px solid var(--hs-accent); font-size: 1.35rem; color: var(--hs-ink); }
.hs-comment-reply-banner[hidden] { display: none; }
.hs-comment-cancel-reply { border: 0; background: transparent; color: var(--hs-accent-dark); font: 600 1.3rem/1.2 "Noto Sans", sans-serif; cursor: pointer; text-decoration: underline; }
.hs-comment-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.hs-comment-guideline { margin: 0; color: var(--hs-muted); font-size: 1.3rem; }
.hs-comment-guideline a { color: var(--hs-accent-dark); font-weight: 600; text-underline-offset: 3px; }
.hs-form-status[data-error="true"] { color: #a33131; }
.hs-comment-list { display: grid; gap: 16px; }
.hs-comment-empty { margin: 0; padding: 22px; text-align: center; color: var(--hs-muted); font-size: 1.45rem; border: 1px dashed var(--hs-line); border-radius: 12px; background: #fff; }
.hs-comment-thread { display: grid; gap: 10px; }
.hs-comment-card { padding: 18px 20px; border: 1px solid var(--hs-line); border-radius: 12px; background: #fff; }
.hs-comment-replies { display: grid; gap: 10px; margin-left: 24px; padding-left: 16px; border-left: 2px solid var(--hs-line); }
.hs-comment-reply { background: #fdfcf9; padding: 15px 18px; }
.hs-comment-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.hs-comment-author { display: flex; align-items: center; gap: 10px; min-width: 0; }
.hs-comment-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: #efe6d8; color: var(--hs-accent-dark); font: 700 1.4rem/1 "Noto Serif", Georgia, serif; }
.hs-comment-author strong { display: block; font-size: 1.45rem; color: var(--hs-ink); overflow-wrap: anywhere; }
.hs-comment-author time { display: block; font-size: 1.25rem; color: var(--hs-muted); }
.hs-comment-reply-btn { border: 1px solid var(--hs-line); border-radius: 999px; background: transparent; color: var(--hs-forest); padding: 5px 12px; font: 600 1.25rem/1.2 "Noto Sans", sans-serif; cursor: pointer; transition: background-color .15s ease, border-color .15s ease; }
.hs-comment-reply-btn:hover { background: var(--hs-soft); border-color: #cfc6b8; }
.hs-comment-body { margin: 0; font-size: 1.55rem; line-height: 1.7; color: var(--hs-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    .hs-comment-form { padding: 16px; }
    .hs-comment-replies { margin-left: 10px; padding-left: 12px; }
}
.hs-article-summary { padding: 18px 22px; border-left: 3px solid var(--hs-accent); background: var(--hs-soft); border-radius: 0 10px 10px 0; }
.hs-toc { margin-top: 28px; padding: 18px 22px; border: 1px solid var(--hs-line); border-radius: 12px; background: var(--hs-soft); }
.hs-toc[hidden] { display: none; }
.hs-toc strong { display: block; margin-bottom: 8px; }
.hs-toc ol { margin: 0; padding-left: 22px; }
.hs-toc li { margin: 5px 0; font-size: 1.45rem; }
.hs-toc a { color: var(--hs-accent-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hs-toc .hs-toc-level-3 { margin-left: 0; }
.gh-content #hs-ai-note a { color: var(--hs-accent-dark); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gh-content #hs-ai-note a:hover { color: var(--hs-accent); }
.hs-back-to-top:focus-visible { outline: 3px solid var(--hs-accent); outline-offset: 3px; }
.gh-content #hs-ai-note, .gh-content #hs-original-caption, .gh-content #hs-original-video { scroll-margin-top: 28px; }
.hs-back-to-top { position: fixed; z-index: 20; right: 22px; bottom: 22px; display: grid; width: 48px; height: 48px; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--hs-accent); box-shadow: 0 5px 18px #18302c30; cursor: pointer; transition: background-color .2s ease, opacity .2s ease; }
.hs-back-to-top:hover { background: var(--hs-accent-dark); }
.hs-back-to-top svg { width: 22px; height: 22px; }
.hs-back-to-top[hidden] { display: none; }
@media (max-width: 600px) {
    .hs-back-to-top { right: 14px; bottom: 14px; }
}
.hs-article-taxonomy { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.hs-article-taxonomy a, .hs-tag-chip { display: inline-flex; border: 1px solid var(--hs-line); border-radius: 999px; padding: 6px 12px; color: var(--hs-accent-dark); text-decoration: none; font-size: 1.35rem; }
.hs-home { padding-top: 20px; }
.hs-hero { background: linear-gradient(120deg, #f0e8db 0%, #f8f6ef 68%, #e9eee6 100%); }
.hs-hero-inner { max-width: 850px; padding-block: clamp(64px, 11vw, 128px); text-align: center; }
.hs-eyebrow { margin: 0 0 12px; color: var(--hs-accent); font: 600 1.2rem/1.4 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; }
.hs-home h1 { font-size: clamp(4.8rem, 8vw, 8.4rem); line-height: 1.08; color: var(--hs-ink); }
.hs-lead { margin: 18px auto 30px; max-width: 620px; font-size: clamp(1.8rem, 2.5vw, 2.2rem); color: #4e5f55; }
.hs-home-verse { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr) 82px; align-items: center; gap: 16px; max-width: 740px; margin: 34px auto 32px; padding: 22px 26px; overflow: hidden; border: 1px solid #d8a26655; border-radius: 6px; background: linear-gradient(118deg, #1d201c 0%, #283129 100%); text-align: left; box-shadow: 0 18px 42px #31261820; }
.hs-home-verse::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--hs-accent); content: ""; }
.hs-home-verse::after { position: absolute; top: -84px; right: -34px; width: 190px; height: 190px; border: 1px solid #d8a26626; border-radius: 50%; box-shadow: 0 0 0 22px #d8a26608, 0 0 0 44px #d8a26606; content: ""; pointer-events: none; }
.hs-home-verse-mark { align-self: start; color: var(--hs-ochre); font: 700 7rem/.9 "Noto Serif", Georgia, serif; }
.hs-home-verse-copy { position: relative; z-index: 1; }
.hs-home-verse p { margin: 0; color: var(--hs-cream); font: 500 clamp(1.65rem, 2vw, 2rem)/1.55 "Noto Serif", Georgia, serif; }
.hs-home-verse cite { display: block; margin-top: 12px; color: var(--hs-ochre); font-size: 1.15rem; font-style: normal; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.hs-home-verse cite a { color: inherit; text-decoration: none; }
.hs-home-verse cite a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hs-home-verse-index { position: relative; z-index: 1; justify-self: end; color: #e7c99c; font: 500 3rem/1 "Noto Serif", Georgia, serif; letter-spacing: -.05em; }
.hs-search-form { display: flex; gap: 10px; max-width: 680px; margin: 0 auto; }
.hs-search-form input, .hs-submission-form input, .hs-submission-form textarea {
    min-width: 0; width: 100%; border: 1px solid #cfd9d1; border-radius: 10px; background: white; color: var(--hs-ink); padding: 14px 16px; font: inherit;
}
.hs-search-form input { min-height: 54px; font-size: 1.6rem; }
.hs-search-form button, .hs-submit-button, .hs-pagination button { flex: 0 0 auto; border: 0; border-radius: 10px; background: var(--hs-accent); color: #fff; padding: 13px 20px; font: 600 1.5rem/1.2 var(--font-sans); cursor: pointer; }
.hs-search-form button:hover, .hs-submit-button:hover, .hs-pagination button:hover { background: var(--hs-accent-dark); }
.hs-hero-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 24px; margin-top: 24px; }
.hs-hero-links a, .hs-section-heading > a, .hs-form-secondary a { color: var(--hs-accent-dark); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hs-section { padding-block: clamp(44px, 7vw, 76px); }
.hs-section-soft { background: var(--hs-soft); }
.hs-home-topics { background: var(--hs-soft); }
.hs-home-topic-list .hs-taxonomy-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.hs-home-topic-list .hs-taxonomy-card { align-items: center; min-height: 64px; padding: 15px 18px; border-color: #e1d8cb; border-radius: 999px; background: #fbfaf7; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.hs-home-topic-list .hs-taxonomy-card:hover { transform: translateY(-2px); border-color: var(--hs-ochre); background: #fff; }
.hs-home-topic-list .hs-taxonomy-card > span:first-child { font-weight: 600; white-space: nowrap; }
.hs-home-topic-list .hs-taxonomy-count { flex: 0 0 auto; white-space: nowrap; }
.hs-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 28px; }
.hs-section-heading h2 { color: var(--hs-ink); font-size: clamp(2.8rem, 4vw, 3.8rem); }
.hs-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.hs-card-grid .gh-card { border: 1px solid var(--hs-line); border-radius: var(--hs-radius); overflow: hidden; padding: 14px; background: white; }
.hs-muted { color: var(--hs-muted); }
.hs-page { min-height: 55vh; padding-block: clamp(40px, 7vw, 80px); }
.hs-page-inner { max-width: 1040px; }
.hs-page-header { max-width: 760px; margin-bottom: 34px; }
.hs-page-header h1 { color: var(--hs-ink); font-size: clamp(3.6rem, 6vw, 5.4rem); line-height: 1.16; }
.hs-page-header > p:last-child { margin-top: 12px; color: var(--hs-muted); font-size: 1.7rem; line-height: 1.65; }
.hs-library-search { max-width: none; margin-bottom: 22px; }
.hs-filters { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.hs-filter-group { position: relative; }
.hs-filter-group summary { list-style: none; border: 1px solid var(--hs-line); border-radius: 9px; padding: 10px 12px; cursor: pointer; }
.hs-filter-group summary::-webkit-details-marker { display: none; }
.hs-filter-options { position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; width: min(280px, 80vw); max-height: 280px; overflow: auto; padding: 10px; border: 1px solid var(--hs-line); border-radius: 10px; background: white; box-shadow: 0 12px 30px #18302c1a; }
.hs-filter-option { display: flex; align-items: start; gap: 8px; padding: 7px; font-size: 1.4rem; }
.hs-filter-option input { margin-top: 4px; }
.hs-results-meta { margin-block: 20px 12px; color: var(--hs-muted); font-size: 1.4rem; }
.hs-results { display: grid; gap: 12px; }
.hs-result { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--hs-line); }
.hs-result-image { width: 130px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 9px; background: var(--hs-soft); }
.hs-result h2 { margin: 0 0 6px; font: 600 2rem/1.3 "Noto Serif", Georgia, serif; }
.hs-result h2 a { color: var(--hs-ink); text-decoration: none; }
.hs-result-summary { margin: 6px 0; color: #4f5c54; line-height: 1.6; }
.hs-result-meta { color: var(--hs-muted); font-size: 1.3rem; }
.hs-result-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.hs-pagination { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.hs-pagination button { padding: 10px 15px; }
.hs-pagination button:disabled { opacity: .45; cursor: default; }
.hs-library-page { background: #fbfaf7; }
.hs-library-hero { position: relative; overflow: hidden; color: var(--hs-cream); background: var(--hs-charcoal); }
.hs-library-hero::before, .hs-library-hero::after { position: absolute; pointer-events: none; content: ""; }
.hs-library-hero::before { top: -220px; right: 14%; width: 560px; height: 560px; border: 1px solid #f3eee51c; border-radius: 50%; box-shadow: 0 0 0 42px #f3eee508, 0 0 0 84px #f3eee506; }
.hs-library-hero::after { top: 0; right: 0; width: 9px; height: 100%; background: var(--hs-accent); }
.hs-library-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); align-items: center; gap: clamp(40px, 8vw, 120px); max-width: 1200px; min-height: 530px; padding-block: clamp(54px, 8vw, 104px); }
.hs-library-intro { max-width: 730px; }
.hs-brand-lockup { display: inline-flex; align-items: center; gap: 12px; color: var(--hs-cream); text-decoration: none; }
.hs-brand-lockup > .hs-brand-mark { display: block; width: 58px; height: auto; flex: 0 0 auto; }
.hs-brand-lockup-copy { display: grid; gap: 3px; white-space: nowrap; }
.hs-brand-lockup-copy strong { color: inherit; font: 600 1.3rem/1.1 "Noto Serif", Georgia, serif; letter-spacing: .105em; }
.hs-brand-lockup-copy > span { color: var(--hs-ochre); font: italic 500 1.1rem/1.1 "Noto Serif", Georgia, serif; letter-spacing: .08em; }
.hs-brand-hero { min-height: 44px; margin-bottom: 30px; gap: 14px; }
.hs-brand-hero > .hs-brand-mark { width: 68px; }
.hs-brand-hero .hs-brand-lockup-copy strong { font-size: 1.65rem; }
.hs-brand-hero .hs-brand-lockup-copy > span { font-size: 1.25rem; }
.hs-brand-navigation { min-width: 0; }
.hs-brand-navigation { gap: 14px; }
.hs-brand-navigation > .hs-brand-mark { width: 42px; }
.hs-brand-navigation .hs-brand-lockup-copy strong { font-size: 1.3rem; }
.hs-brand-navigation .hs-brand-lockup-copy > span { font-size: 1.05rem; }
.hs-brand-footer > .hs-brand-mark { width: 42px; }
.hs-brand-footer .hs-brand-lockup-copy strong { font-size: 1.2rem; }
.hs-brand-footer .hs-brand-lockup-copy > span { font-size: 1rem; }
.hs-library-kicker { margin: 0 0 18px; color: var(--hs-ochre); font-size: 1.1rem; font-weight: 700; letter-spacing: .16em; }
.hs-library-intro h1 { margin: 0; color: var(--hs-cream); font: 500 clamp(4rem, 6.3vw, 7.4rem)/1.08 "Noto Serif", Georgia, serif; letter-spacing: -.055em; }
.hs-library-intro h1 em { color: #d4b892; font-weight: 400; }
.hs-library-lead { max-width: 610px; margin: 22px 0 0; color: #d7d1c8; font-size: clamp(1.6rem, 1.7vw, 1.85rem); line-height: 1.75; }
.hs-library-hero-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.hs-library-hero-links a { display: inline-flex; align-items: center; gap: 10px; color: var(--hs-cream); font-size: 1.35rem; font-weight: 600; text-decoration: none; transition: color .2s ease; }
.hs-library-hero-links a:first-child { color: #efb274; }
.hs-library-hero-links a:hover { color: #efb274; }
.hs-library-verse { position: relative; max-width: 320px; justify-self: end; padding: 40px 30px 32px; border: 1px solid #f3eee54a; background: #ffffff08; }
.hs-library-verse-mark { position: absolute; top: 0; left: 24px; color: var(--hs-accent); font: 700 7.6rem/.9 Georgia, serif; }
.hs-library-verse blockquote { margin: 42px 0 16px; color: var(--hs-cream); font: 500 2.7rem/1.48 "Noto Serif", Georgia, serif; }
.hs-library-verse > p { margin: 0; color: var(--hs-ochre); font-size: 1.3rem; letter-spacing: .05em; }
.hs-library-verse-rule { display: block; width: 42px; height: 2px; margin: 26px 0 16px; background: var(--hs-accent); }
.hs-library-verse-caption { color: #bbb3a9; font-size: 1rem; font-weight: 700; letter-spacing: .14em; }
.hs-library-content-inner { max-width: 1200px; }
.hs-library-shortcuts { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: -1px; border: 1px solid #e7e2da; background: #fff; }
.hs-library-shortcut { display: grid; grid-template-columns: 42px 1fr 18px; align-items: center; gap: 13px; min-height: 100px; padding: 18px 22px; color: var(--hs-ink); text-decoration: none; transition: background-color .2s ease; }
.hs-library-shortcut + .hs-library-shortcut { border-left: 1px solid #e7e2da; }
.hs-library-shortcut:hover { background: #f5f1ea; }
.hs-shortcut-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; color: var(--hs-forest); background: #edf1eb; }
.hs-shortcut-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.hs-library-shortcut strong, .hs-library-shortcut small { display: block; }
.hs-library-shortcut strong { font: 600 1.5rem/1.35 "Noto Serif", Georgia, serif; }
.hs-library-shortcut small { margin-top: 4px; color: var(--hs-muted); font-size: 1.15rem; line-height: 1.4; }
.hs-shortcut-arrow { color: var(--hs-accent); font-size: 1.6rem; }
.hs-library-search-panel { padding-block: clamp(48px, 7vw, 82px); scroll-margin-top: 24px; }
.hs-library-section-heading, .hs-gatherings-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.hs-library-section-heading h2, .hs-gatherings-heading h2 { margin: 0; color: var(--hs-ink); font: 500 clamp(2.8rem, 4vw, 4rem)/1.2 "Noto Serif", Georgia, serif; letter-spacing: -.035em; }
.hs-library-section-heading > p { max-width: 390px; margin: 0 0 4px; color: var(--hs-muted); font-size: 1.35rem; line-height: 1.6; }
.hs-library-search { gap: 0; max-width: none; margin: 0 0 18px; padding: 7px; border: 1px solid #ded8cf; background: white; box-shadow: 0 8px 25px #18302c0b; }
.hs-library-search:focus-within { border-color: var(--hs-forest); box-shadow: 0 0 0 3px #15382818; }
.hs-library-search input { min-height: 56px; padding-inline: 16px; border: 0; outline: 0; background: transparent; font-size: 1.45rem; }
.hs-library-search input:focus-visible { outline: 0; }
.hs-library-search button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 136px; min-height: 50px; border-radius: 3px; background: var(--hs-accent); }
.hs-library-search button:hover { background: var(--hs-accent-dark); }
.hs-library-search button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.hs-publish-sort { display: flex; justify-content: end; align-items: center; gap: 10px; margin: 0 0 18px; color: var(--hs-muted); font-size: 1.25rem; }
.hs-publish-sort select { min-width: 150px; border: 1px solid #ded8cf; border-radius: 4px; background: #fff; color: var(--hs-ink); padding: 9px 32px 9px 11px; font: inherit; cursor: pointer; }
.hs-publish-sort select:focus-visible { outline: 3px solid #bd6b35; outline-offset: 2px; }
.hs-library-search-panel .hs-filters { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hs-library-search-panel .hs-filter-group summary { background: #fff; font-size: 1.25rem; transition: border-color .2s ease, background-color .2s ease; }
.hs-library-search-panel .hs-filter-group summary:hover { border-color: #a9b7aa; background: #f5f7f3; }
.hs-library-search-panel .hs-filter-group summary:focus-visible, .hs-library-shortcut:focus-visible, .hs-library-hero-links a:focus-visible, .hs-gatherings-heading a:focus-visible { outline: 3px solid #bd6b35; outline-offset: 3px; }
.hs-library-search-panel .hs-result { grid-template-columns: 176px 1fr; gap: 24px; padding: 22px 0; }
.hs-library-search-panel .hs-result-image { width: 176px; border-radius: 3px; }
.hs-library-search-panel .hs-result h2 { font-size: 2.15rem; }
.hs-library-search-panel .hs-result h2 a:hover { color: var(--hs-accent-dark); }
.hs-library-search-panel .hs-tag-chip { border-color: #e6ddd0; color: var(--hs-forest); background: #f8f5ef; }
.hs-library-gatherings { padding-block: 0 clamp(58px, 8vw, 92px); }
.hs-gatherings-heading { margin-bottom: 24px; }
.hs-gatherings-heading .hs-eyebrow, .hs-library-section-heading .hs-eyebrow { margin: 0 0 10px; color: var(--hs-accent); }
.hs-gatherings-heading > a { display: inline-flex; gap: 10px; align-items: center; color: var(--hs-forest); font-size: 1.35rem; font-weight: 700; text-decoration: none; }
.hs-gatherings-heading > a:hover { color: var(--hs-accent); }
.hs-gatherings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.hs-gathering-card { min-height: 240px; padding: clamp(22px, 3vw, 34px); border: 1px solid #e5dfd6; background: #fff; }
.hs-gathering-card-accent { border-color: #d9e0d9; background: #eef1ea; }
.hs-gathering-index { color: var(--hs-accent); font-size: 1.05rem; font-weight: 700; letter-spacing: .12em; }
.hs-gathering-card h3 { margin: 18px 0 14px; color: var(--hs-ink); font: 500 clamp(2rem, 2.8vw, 2.8rem)/1.3 "Noto Serif", Georgia, serif; }
.hs-gathering-card > p { margin: 0; color: #4f5c54; font-size: 1.35rem; }
.hs-gathering-card > p span { padding-inline: 5px; color: var(--hs-accent); }
.hs-gathering-card > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; color: var(--hs-muted); font-size: 1.2rem; }
.hs-gathering-tag { padding: 4px 9px; border-radius: 2px; color: #fff; background: var(--hs-forest); font-size: 1.05rem; font-weight: 700; }
.hs-gatherings-note { margin: 14px 0 0; color: #7b817b; font-size: 1.1rem; }
.hs-gatherings-note a { color: var(--hs-forest); text-underline-offset: 3px; }
.hs-about-page { background: #fbfaf7; }
.hs-about-hero { position: relative; overflow: hidden; color: var(--hs-cream); background: var(--hs-charcoal); }
.hs-about-hero::before, .hs-about-hero::after { position: absolute; pointer-events: none; content: ""; }
.hs-about-hero::before { top: -240px; right: 13%; width: 600px; height: 600px; border: 1px solid #f3eee51a; border-radius: 50%; box-shadow: 0 0 0 48px #f3eee506, 0 0 0 96px #f3eee504; }
.hs-about-hero::after { top: 0; right: 0; width: 8px; height: 100%; background: var(--hs-accent); }
.hs-about-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: center; gap: clamp(44px, 8vw, 118px); max-width: 1200px; min-height: 520px; padding-block: clamp(58px, 8vw, 96px); }
.hs-about-intro { max-width: 720px; }
.hs-brand-about { min-height: 44px; margin-bottom: 40px; }
.hs-brand-about > .hs-brand-mark { width: 88px; height: 88px; padding: 17px; border: 1px solid #d8a26666; border-radius: 50%; background: #d8a26612; }
.hs-brand-about .hs-brand-lockup-copy strong { font-size: 1.65rem; }
.hs-brand-about .hs-brand-lockup-copy > span { font-size: 1.25rem; }
.hs-about-intro > .hs-eyebrow { color: var(--hs-ochre); }
.hs-about-intro h1 { margin: 0; color: var(--hs-cream); font: 500 clamp(4rem, 6vw, 7rem)/1.12 "Noto Serif", Georgia, serif; letter-spacing: -.05em; }
.hs-about-intro h1 em { color: #d4b892; font-weight: 400; }
.hs-about-lead { max-width: 620px; margin: 22px 0 0; color: #d7d1c8; font-size: clamp(1.55rem, 1.7vw, 1.8rem); line-height: 1.8; }
.hs-about-primary-link, .hs-about-outline-link { display: inline-flex; align-items: center; gap: 20px; font-size: 1.4rem; font-weight: 700; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.hs-about-primary-link { margin-top: 28px; padding: 13px 17px; color: #fff; background: var(--hs-accent); }
.hs-about-primary-link:hover { color: #fff; background: var(--hs-accent-dark); }
.hs-about-verse { position: relative; max-width: 335px; justify-self: end; padding: 38px 30px 30px; border: 1px solid #f3eee542; background: #ffffff08; }
.hs-about-verse-mark { position: absolute; top: 0; left: 22px; color: var(--hs-accent); font: 700 7.4rem/.9 Georgia, serif; }
.hs-about-verse blockquote { margin: 42px 0 18px; color: var(--hs-cream); font: 500 2.5rem/1.55 "Noto Serif", Georgia, serif; }
.hs-about-verse p { margin: 0; color: var(--hs-ochre); font-size: 1.2rem; letter-spacing: .05em; }
.hs-about-content-inner { max-width: 1120px; }
.hs-about-story { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(36px, 8vw, 110px); padding-block: clamp(58px, 8vw, 96px); border-bottom: 1px solid var(--hs-line); }
.hs-about-story-heading .hs-eyebrow, .hs-about-gathering .hs-eyebrow { margin: 0 0 13px; color: var(--hs-accent); }
.hs-about-story-heading h2, .hs-about-gathering h2 { margin: 0; color: var(--hs-ink); font: 500 clamp(2.8rem, 4vw, 4.2rem)/1.22 "Noto Serif", Georgia, serif; letter-spacing: -.035em; }
.hs-about-story-copy { max-width: 650px; }
.hs-about-story-copy p { margin: 0 0 16px; color: #504d47; font-size: 1.55rem; line-height: 1.85; }
.hs-about-story-copy p:last-child { margin-bottom: 0; }
.hs-about-pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-block: clamp(42px, 6vw, 72px); }
.hs-about-pillar { min-height: 250px; padding: clamp(24px, 3.5vw, 38px); border: 1px solid var(--hs-line); background: #fff; }
.hs-about-pillar-soft { background: #f0f1e9; }
.hs-about-pillar-number { color: var(--hs-accent); font-size: 1.1rem; font-weight: 700; letter-spacing: .15em; }
.hs-about-pillar h3 { margin: 18px 0 11px; color: var(--hs-ink); font: 500 2.35rem/1.3 "Noto Serif", Georgia, serif; }
.hs-about-pillar p { max-width: 560px; margin: 0; color: #59574f; font-size: 1.4rem; line-height: 1.7; }
.hs-about-pillar a { display: inline-flex; gap: 10px; align-items: center; margin-top: 20px; color: var(--hs-forest); font-size: 1.3rem; font-weight: 700; text-decoration: none; }
.hs-about-pillar a:hover, .hs-about-contact-links a:hover { color: var(--hs-accent); }
.hs-about-gathering { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: clamp(28px, 4vw, 44px); background: #eee8dc; }
.hs-about-gathering > div { max-width: 700px; }
.hs-about-gathering h2 { font-size: clamp(2.5rem, 3.4vw, 3.5rem); }
.hs-about-gathering > div > p:last-child { margin: 12px 0 0; color: #59574f; font-size: 1.4rem; line-height: 1.7; }
.hs-about-outline-link { flex: 0 0 auto; padding: 12px 16px; border: 1px solid #b8a58d; color: var(--hs-ink); }
.hs-about-outline-link:hover { border-color: var(--hs-accent); color: #fff; background: var(--hs-accent); }
.hs-about-contact-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-block: 28px 70px; color: var(--hs-muted); font-size: 1.3rem; }
.hs-about-contact-links a { color: var(--hs-forest); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hs-about-primary-link:focus-visible, .hs-about-outline-link:focus-visible, .hs-about-pillar a:focus-visible, .hs-about-contact-links a:focus-visible { outline: 3px solid #bd6b35; outline-offset: 3px; }

@media (max-width: 900px) {
    .hs-library-hero-inner { grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); gap: 38px; }
    .hs-library-search-panel .hs-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .hs-library-shortcut { padding-inline: 16px; }
    .hs-about-hero-inner { grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); gap: 38px; }
    .hs-about-story { gap: 42px; }
}

@media (max-width: 650px) {
    .hs-home-verse { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; margin: 26px auto 24px; padding: 18px 17px 18px 20px; }
    .hs-home-verse-mark { font-size: 5.2rem; }
    .hs-home-verse p { font-size: 1.55rem; line-height: 1.6; }
    .hs-home-verse cite { margin-top: 10px; font-size: 1rem; }
    .hs-home-verse-index { display: none; }
    .hs-library-hero::after { width: 5px; }
    .hs-library-hero-inner { grid-template-columns: 1fr; gap: 38px; min-height: auto; padding-block: 48px 42px; }
    .hs-brand-hero { gap: 11px; margin-bottom: 24px; }
    .hs-brand-hero > .hs-brand-mark { width: 55px; }
    .hs-brand-hero .hs-brand-lockup-copy strong { font-size: 1.4rem; }
    .hs-brand-hero .hs-brand-lockup-copy > span { font-size: 1.1rem; }
    .hs-brand-navigation { gap: 11px; }
    .hs-brand-navigation > .hs-brand-mark { width: 34px; }
    .hs-brand-navigation .hs-brand-lockup-copy strong { font-size: 1.12rem; }
    .hs-library-kicker { max-width: 280px; font-size: 1rem; line-height: 1.6; }
    .hs-library-intro h1 { font-size: clamp(3.8rem, 11vw, 5.6rem); }
    .hs-library-lead { font-size: 1.55rem; }
    .hs-library-hero-links { gap: 15px 22px; }
    .hs-library-verse { justify-self: start; max-width: 100%; padding: 23px 23px 20px; }
    .hs-library-verse blockquote { margin-top: 36px; font-size: 2.3rem; }
    .hs-library-verse-rule { margin-block: 18px 12px; }
    .hs-library-shortcuts { grid-template-columns: 1fr; margin-top: 0; }
    .hs-library-shortcut { min-height: 80px; padding: 14px 17px; }
    .hs-library-shortcut + .hs-library-shortcut { border-top: 1px solid #e7e2da; border-left: 0; }
    .hs-library-section-heading, .hs-gatherings-heading { align-items: start; flex-direction: column; gap: 12px; }
    .hs-library-section-heading > p { font-size: 1.25rem; }
    .hs-library-search { display: grid; grid-template-columns: 1fr; gap: 6px; }
    .hs-library-search button { width: 100%; }
    .hs-publish-sort { justify-content: space-between; }
    .hs-publish-sort select { flex: 1; max-width: 210px; }
    .hs-library-search-panel .hs-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-library-search-panel .hs-filter-group summary { padding: 9px; font-size: 1.15rem; }
    .hs-library-search-panel .hs-result { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding-block: 17px; }
    .hs-library-search-panel .hs-result-image { width: 88px; }
    .hs-library-search-panel .hs-result h2 { font-size: 1.7rem; }
    .hs-library-search-panel .hs-result-summary { font-size: 1.3rem; }
    .hs-library-search-panel .hs-result-meta { font-size: 1.15rem; }
    .hs-library-search-panel .hs-tag-chip { padding: 5px 8px; font-size: 1.1rem; }
    .hs-gatherings-grid { grid-template-columns: 1fr; }
    .hs-gathering-card { min-height: 0; }
    .hs-about-hero::after { width: 5px; }
    .hs-about-hero-inner { grid-template-columns: 1fr; gap: 36px; min-height: auto; padding-block: 46px 42px; }
    .hs-brand-about { gap: 11px; margin-bottom: 30px; }
    .hs-brand-about > .hs-brand-mark { width: 72px; height: 72px; padding: 14px; }
    .hs-brand-about .hs-brand-lockup-copy strong { font-size: 1.4rem; }
    .hs-brand-about .hs-brand-lockup-copy > span { font-size: 1.1rem; }
    .hs-about-intro h1 { font-size: clamp(3.8rem, 11vw, 5.5rem); }
    .hs-about-lead { font-size: 1.5rem; }
    .hs-about-verse { justify-self: start; max-width: 100%; padding: 24px 22px; }
    .hs-about-verse blockquote { margin-top: 35px; font-size: 2.2rem; }
    .hs-about-story { grid-template-columns: 1fr; gap: 22px; padding-block: 48px; }
    .hs-about-story-copy p { font-size: 1.45rem; }
    .hs-about-pillars { grid-template-columns: 1fr; gap: 12px; padding-block: 36px; }
    .hs-about-pillar { min-height: 0; }
    .hs-about-gathering { align-items: start; flex-direction: column; gap: 20px; padding: 24px 20px; }
    .hs-about-contact-links { align-items: start; flex-direction: column; gap: 12px; padding-bottom: 48px; }
}
.hs-taxonomy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.hs-taxonomy-card { display: flex; justify-content: space-between; gap: 14px; padding: 17px; border: 1px solid var(--hs-line); border-radius: 10px; color: var(--hs-ink); text-decoration: none; }
.hs-taxonomy-card:hover { border-color: var(--hs-accent); background: var(--hs-soft); }
.hs-taxonomy-count { color: var(--hs-muted); font-size: 1.3rem; }
.hs-form-layout { max-width: 760px; }
.hs-submission-form { display: grid; gap: 18px; }
.hs-submission-form label:not(.hs-checkbox) { display: grid; gap: 7px; font-weight: 600; }
.hs-submission-form label span { color: var(--hs-muted); font-size: 1.35rem; font-weight: 400; }
.hs-submission-form input, .hs-submission-form textarea { font-size: 1.55rem; font-weight: 400; }
.hs-submission-form textarea { resize: vertical; }
.hs-checkbox { display: flex; align-items: start; gap: 9px; font-size: 1.4rem; line-height: 1.5; }
.hs-checkbox input { width: auto; margin-top: 4px; }
.hs-submit-button { justify-self: start; }
.hs-form-status { min-height: 24px; color: var(--hs-accent-dark); }
.hs-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hs-form-secondary { margin-top: 24px; color: var(--hs-muted); }
.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; }

@media (max-width: 760px) {
    .hs-card-grid { grid-template-columns: 1fr; }
    .hs-section-heading { align-items: start; flex-direction: column; }
    .hs-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-result { grid-template-columns: 86px 1fr; gap: 12px; }
    .hs-result-image { width: 86px; }
    .hs-result h2 { font-size: 1.7rem; }
    .hs-search-form { align-items: stretch; }
    .hs-search-form button { padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
