/* The Sermon Archive — site chrome + archive pages, in the house style shared with theancientbible.org,
   ancientlibrary.net and bettergutenberg.org (Sorts Mill Goudy titles, Gentium Book Basic text, parchment/teal,
   dark mode follows the system with a manual toggle). Self-hosted fonts; no CDNs. v0.2 */
@font-face{font-family:'Sorts Mill Goudy';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/sorts-mill-goudy-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sorts Mill Goudy';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/sorts-mill-goudy-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sorts Mill Goudy';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/sorts-mill-goudy-latin-ext-400-normal.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-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Sorts Mill Goudy';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/sorts-mill-goudy-latin-ext-400-italic.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-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Gentium Book Basic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/gentium-book-basic-latin-400-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Gentium Book Basic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/gentium-book-basic-latin-700-normal.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Gentium Book Basic';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/gentium-book-basic-latin-400-italic.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Gentium Book Basic';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/gentium-book-basic-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Gentium Book Basic';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/gentium-book-basic-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Gentium Book Basic';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/gentium-book-basic-latin-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---- tokens (same values as the sister sites) ---- */
:root{--t-teal:#55747b;--t-teal-dk:#3f595f;--t-ink:#565650;--t-muted:#6b6860;--t-muted-soft:#726f66;--t-line:#e4dfd4;--t-bg:#f7f5ef;--t-card:#fffdf7;--t-hover:#fffdf7;--t-mark:#f3e7b3;
  --t-goudy:'Sorts Mill Goudy',Georgia,serif;--t-gentium:'Gentium Book Basic',Georgia,serif;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--t-bg:#191815;--t-ink:#d8d4c8;--t-muted:#a39e91;--t-muted-soft:#8e8a7e;--t-line:#33302a;--t-teal:#8fb1b9;--t-teal-dk:#aac6cd;--t-card:#211f1b;--t-hover:#232019;--t-mark:#4a4020;}}
:root[data-theme="dark"]{--t-bg:#191815;--t-ink:#d8d4c8;--t-muted:#a39e91;--t-muted-soft:#8e8a7e;--t-line:#33302a;--t-teal:#8fb1b9;--t-teal-dk:#aac6cd;--t-card:#211f1b;--t-hover:#232019;--t-mark:#4a4020;}

/* ---- Astra overrides ---- */
body{background:var(--t-bg)!important;color:var(--t-ink);font-family:var(--t-gentium);font-size:18px;line-height:1.72;}
#masthead,.site-footer,.ast-above-header-wrap,.ast-below-header-wrap,.site-below-footer-wrap{display:none!important;}
.site-content,#content{padding-top:42px;padding-bottom:56px;}
.ast-container .site-content > #primary,.site-content > #primary{max-width:1060px;margin-left:auto;margin-right:auto;}
body:not(.home) #primary{margin-top:1.2em!important}
.site-content a,.tsa a,.tsx-prose a{color:var(--t-teal);text-decoration:none;}
.site-content a:hover,.tsa a:hover{color:var(--t-teal-dk);text-decoration:underline;}
.tsx-page .entry-title,.tsx-page .ast-single-post-featured-section,.tsx-page .entry-header{display:none;}
.tsx-page .entry-content{max-width:740px;margin:0 auto;}
body.home .entry-content{max-width:none;}
.tsa-home .continue[hidden]{display:none;}
.tsx-page .entry-content h2,.tsx-prose h2{font-family:var(--t-goudy);font-weight:400;color:var(--t-teal-dk);font-size:1.45rem;margin:1.8rem 0 .6rem;}
.tsx-prose > h2:first-child,.tsx-page .entry-content > .tsx-prose > h2:first-child{font-style:italic;color:var(--t-teal);font-size:2.1rem;line-height:1.2;margin:0 0 1.2rem;}
.tsx-prose p{font-size:1.05rem;line-height:1.72;}

/* ---- header ---- */
.tsx-header{position:relative;text-align:center;max-width:1060px;margin:0 auto;padding:46px 20px 0;}
.tsx-title{font-family:var(--t-goudy);font-variant:small-caps;font-size:3.2rem;line-height:1.05;letter-spacing:2px;color:var(--t-teal)!important;text-decoration:none!important;display:inline-block;}
.tsx-title:hover{color:var(--t-teal-dk)!important;}
.tsx-tag{font-family:var(--t-goudy);font-style:italic;color:var(--t-muted);font-size:1.05rem;margin-top:6px;}
.tsx-nav{border-top:1px solid var(--t-line);border-bottom:1px solid var(--t-line);margin:26px auto 0;max-width:1060px;}
.tsx-nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:11px 0;}
.tsx-nav li{margin:0;}
.tsx-nav a{font-family:var(--t-gentium);text-transform:uppercase;font-size:12.5px;letter-spacing:1.2px;color:var(--t-teal);text-decoration:none!important;padding:5px 17px;display:inline-block;}
.tsx-nav a:hover{color:var(--t-teal-dk);}
.tsx-nav .current-menu-item>a,.tsx-nav .current_page_item>a{color:var(--t-ink);}
.tsx-search{position:absolute;top:22px;right:24px;display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--t-line);padding:0 2px 4px;}
.tsx-search input{border:0;background:transparent;font-family:var(--t-gentium);font-size:14px;color:var(--t-ink);width:150px;outline:none;box-shadow:none;padding:0;}
.tsx-search input::placeholder{color:var(--t-muted);opacity:1;font-style:italic;}
.tsx-search button{border:0;background:transparent!important;color:var(--t-teal);cursor:pointer;display:flex;align-items:center;padding:0!important;box-shadow:none!important;}
.tsx-search button:hover{color:var(--t-teal-dk);}
.tsx-theme{position:absolute;top:18px;left:24px;background:transparent!important;border:1px solid var(--t-line);border-radius:50%;width:30px;height:30px;color:var(--t-muted);cursor:pointer;font-size:15px;line-height:1;padding:0!important;box-shadow:none!important;}
.tsx-theme:hover,.tsx-theme:focus-visible{border-color:var(--t-teal);color:var(--t-teal);outline:none;}
@media(max-width:780px){.tsx-search{position:static;justify-content:center;margin:16px auto 0;max-width:240px;}.tsx-search input{width:190px;}.tsx-title{font-size:2.4rem;}.tsx-theme{top:12px;left:12px;}}

/* ---- footer ---- */
.tsx-footer{max-width:1060px;margin:0 auto;padding:24px 20px 40px;border-top:1px solid var(--t-line);text-align:center;font-size:.82rem;color:var(--t-muted);letter-spacing:.2px;}
.tsx-footer .sep{margin:0 .55em;color:var(--t-muted-soft);}
.tsx-footer a{color:var(--t-teal);text-decoration:none;}.tsx-footer a:hover{text-decoration:underline;}

/* ---- shared archive elements ---- */
.tsa{max-width:1060px;margin:0 auto;padding:0 20px 1rem;color:var(--t-ink);font-family:var(--t-gentium);line-height:1.6;}
.tsa h1{font-family:var(--t-goudy);font-style:italic;font-weight:400;color:var(--t-teal);font-size:2.1rem;line-height:1.2;margin:.2rem 0 1rem;}
.tsa h2{font-family:var(--t-goudy);font-variant:small-caps;font-weight:400;letter-spacing:1px;color:var(--t-teal);font-size:1.5rem;margin:2rem 0 .5rem;border-bottom:1px solid var(--t-line);padding-bottom:.2rem;}
.tsa h2 .n{font-family:var(--t-gentium);font-variant:normal;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:var(--t-muted);margin-left:.6rem;}
.tsa h3{font-family:var(--t-gentium);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:1.6rem 0 .4rem;font-weight:400;}
.tsa .lede{font-size:1.02rem;color:var(--t-muted);max-width:66ch;}
.tsa .kick{font-size:.78rem;color:var(--t-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .4rem}
.tsa-crumbs{font-size:.86rem;color:var(--t-muted);margin:0 0 1.2rem;letter-spacing:.2px}.tsa-crumbs span{color:var(--t-muted-soft);margin:0 2px}.tsa-crumbs .current{color:var(--t-muted)}
form.tsa-search{display:flex;gap:.5rem;max-width:560px;margin:1rem 0 1.4rem;border-bottom:1px solid var(--t-line);padding-bottom:4px}form.tsa-search input{flex:1;font-family:var(--t-gentium);font-size:1rem;padding:.3rem .2rem;border:0;background:transparent;color:var(--t-ink);outline:none;box-shadow:none}form.tsa-search input::placeholder{color:var(--t-muted);font-style:italic;opacity:1}form.tsa-search button{padding:.2rem .6rem;background:transparent!important;color:var(--t-teal);border:1px solid var(--t-line);border-radius:4px;font-family:var(--t-gentium);font-size:.9rem;cursor:pointer;box-shadow:none!important}form.tsa-search button:hover{border-color:var(--t-teal);color:var(--t-teal-dk)}
/* lists of sermons */
.tsa-list{list-style:none;margin:0;padding:0}.tsa-item{padding:.6rem 0;border-bottom:1px solid var(--t-line)}.tsa-item .t{font-family:var(--t-goudy);font-size:1.22rem;color:var(--t-teal)}.tsa-item .t:hover{color:var(--t-teal-dk)}.tsa-item .sub{color:var(--t-muted);font-size:.95rem}.tsa-item .m{font-size:.84rem;color:var(--t-muted);margin-top:.1rem}.tsa-item .m a{color:var(--t-muted)}.tsa-item .m a.ref{color:var(--t-teal)}.tsa-item .snip{font-size:.93rem;margin:.3rem 0 0;color:var(--t-ink)}.tsa-item mark{background:var(--t-mark);color:inherit;padding:0 .1em}
.tsa-empty{color:var(--t-muted);font-style:italic}
.tsa-pager{display:flex;gap:1rem;align-items:center;margin:1.2rem 0;font-size:.9rem}.tsa-pager span{color:var(--t-muted)}
/* card grids (house style: name left, count right, hairline cells) */
.tsa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0;border-top:1px solid var(--t-line);border-left:1px solid var(--t-line);margin:0 0 1.6rem}
.tsa-grid a{display:flex;justify-content:space-between;align-items:baseline;gap:.6em;background:var(--t-bg);padding:.62em .85em;text-decoration:none!important;border-right:1px solid var(--t-line);border-bottom:1px solid var(--t-line)}
.tsa-grid a:hover{background:var(--t-hover)}.tsa-grid .t{color:var(--t-teal)}.tsa-grid a:hover .t{color:var(--t-teal-dk)}.tsa-grid .n{color:var(--t-muted-soft);font-size:.78em;font-variant-numeric:tabular-nums;white-space:nowrap}.tsa-grid .sub{display:block;font-size:.78rem;color:var(--t-muted);margin-top:.1em}
.tsa-grid.narrow{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
/* preacher list */
ul.tsa-preachers{list-style:none;padding:0;margin:0 0 1rem;columns:2;column-gap:2rem}ul.tsa-preachers li{break-inside:avoid;padding:.3rem 0;border-bottom:1px solid var(--t-line)}ul.tsa-preachers .d{color:var(--t-muted);font-size:.85rem;margin-left:.3rem}ul.tsa-preachers .n{float:right;color:var(--t-muted-soft);font-size:.8rem}ul.tsa-preachers .tr{display:block;font-size:.75rem;color:var(--t-muted)}
.tsa-cols,ul.tsa-eras{list-style:none;padding:0}.tsa-cols li,ul.tsa-eras li{padding:.5rem 0;border-bottom:1px solid var(--t-line)}.tsa-cols .m,ul.tsa-eras .m{display:block;font-size:.85rem;color:var(--t-muted)}
ul.tsa-eras li .sub{display:block;font-size:.88rem;color:var(--t-muted);margin-top:.15rem;max-width:62ch}
ul.tsa-eras li a{font-weight:600}
.tsa .lic{font-size:.85rem;color:var(--t-muted)}
/* home */
.tsa-home .intro{max-width:760px;margin:1.5rem auto 2.2rem;text-align:center;font-size:1.06rem;color:var(--t-muted)}
.tsa-home .continue{display:block;width:fit-content;max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 1.1rem;height:42px;line-height:40px;border:1px solid var(--t-teal);border-radius:4px;background:var(--t-teal);font-size:.95rem;color:var(--t-bg);text-decoration:none!important;transition:background-color .15s linear,color .15s linear,border-color .15s linear}.tsa-home .continue:hover{background:var(--t-field);border-color:var(--t-teal);color:var(--t-teal-dk)}.tsa-home .continue b{font-weight:700}
.tsa-home .stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin:0 0 2rem;color:var(--t-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.tsa-home .stats b{font-weight:400;color:var(--t-ink);font-variant-numeric:tabular-nums;margin-right:.3em}
.tsa-home .sec-lede{color:var(--t-muted);max-width:70ch;margin:.2rem 0 .8rem}
/* The landing page carries no explanatory line under its headings any more — just the way
   through to the full list, set small and close under the heading. */
.tsa-home .sec-more{margin:.1rem 0 .9rem;font-size:.84rem}
.tsa-home .sec-more a{color:var(--t-teal-dk)}
/* preacher page */
.tsa-preacher .ph .d{color:var(--t-muted);margin-top:-.4rem}.tsa-preacher .ph p{max-width:70ch}
.tsa .cols{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2.5rem}.tsa .side ul{list-style:none;padding:0;margin:0}.tsa .side li{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--t-line);font-size:.9rem}.tsa .side li span{color:var(--t-muted-soft)}
@media(max-width:820px){.tsa .cols{grid-template-columns:1fr}}
/* scripture */
.tsa-books{list-style:none;padding:0;margin:0 0 1rem;columns:3;column-gap:1.5rem}.tsa-books li{display:flex;justify-content:space-between;padding:.2rem 0;border-bottom:1px solid var(--t-line);font-size:.95rem;break-inside:avoid}.tsa-books .n{color:var(--t-muted-soft);font-size:.8rem}.tsa-books .n i{font-style:normal;opacity:.6}
@media(max-width:700px){.tsa-books{columns:2}}
.tsa-chapters,.tsa-verses{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1.5rem}.tsa-chapters li,.tsa-verses li{position:relative}.tsa-chapters a,.tsa-verses a{display:inline-block;min-width:2.4rem;text-align:center;padding:.3rem .4rem;border:1px solid var(--t-line);border-radius:3px;background:var(--t-card);font-size:.88rem;text-decoration:none!important}.tsa-chapters a.empty,.tsa-verses a.empty{color:var(--t-muted-soft);background:transparent;opacity:.7}.tsa-chapters a:not(.empty),.tsa-verses a:not(.empty){border-color:var(--t-teal);color:var(--t-teal);font-weight:600}
.chapnav{display:flex;justify-content:space-between;font-size:.9rem;margin:.2rem 0 .8rem}
.tsa .passage{font-family:var(--t-goudy);font-size:1.12rem;line-height:1.6;background:var(--t-card);border-left:2px solid var(--t-teal);padding:.8rem 1.1rem;margin:1rem 0}.tsa .passage p{margin:0}.tsa .passage sup{font-size:.6em;color:var(--t-muted);margin-right:.15em}.tsa .passage cite{display:block;font-style:normal;font-size:.75rem;color:var(--t-muted);margin-top:.4rem;font-family:var(--t-gentium);text-transform:uppercase;letter-spacing:.08em}
.tsa details.kjv summary{cursor:pointer;color:var(--t-teal);margin:.5rem 0}
/* reader */
.tsa-reader{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:3rem}.tsa-reader .tsa-crumbs{grid-column:1/-1}
@media(max-width:900px){.tsa-reader{grid-template-columns:1fr}.tsa-reader .rside{order:2}}
.sermon .sh .kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:0}
.sermon .sh h1{font-style:normal;font-size:2.3rem;margin:.3rem 0 .4rem}.sermon .subtitle{font-family:var(--t-goudy);font-style:italic;font-size:1.15rem;color:var(--t-muted);margin:0 0 .5rem}
.sermon .byline{font-size:1rem;margin:0 0 .5rem}.sermon .byline .d{color:var(--t-muted)}
.sermon .meta{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;font-size:.86rem;color:var(--t-muted)}.sermon .meta .label{text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;margin-right:.3rem}
.sermon .body{font-family:var(--t-gentium);font-size:1.12rem;line-height:1.72;max-width:70ch}.sermon .body p{margin:0 0 1em}.sermon .body h2,.sermon .body h3,.sermon .body h4{font-family:var(--t-goudy);font-variant:normal;letter-spacing:0;font-weight:400;border:0;margin:1.6em 0 .6em;color:var(--t-teal-dk)}.sermon .body h2{font-size:1.5rem}.sermon .body h3{font-size:1.25rem;text-transform:none;color:var(--t-teal-dk)}
.sermon .body .printed-head{font-size:.78rem;color:var(--t-muted);text-align:center;margin:0 0 1.2rem;text-transform:uppercase;letter-spacing:.08em}.sermon .body .printed-head p{margin:0 0 .15rem}
.sermon .body a.ref{color:var(--t-teal);border-bottom:1px dotted var(--t-line)}.sermon .body a.ref:hover{text-decoration:none;border-bottom-style:solid}
.sermon .body .pb{display:inline-block;width:0;height:0;position:relative}.sermon .body .pb::after{content:"p. " attr(data-page);position:absolute;left:-4.2rem;top:-.4em;font-size:.62rem;color:var(--t-muted-soft);white-space:nowrap}
@media(max-width:1200px){.sermon .body .pb::after{display:none}}
.sermon .body sup.fn{font-size:.65em}.sermon .body sup.fn a{text-decoration:none;padding:0 .15em}
.sermon .body .footnotes{font-size:.86rem;color:var(--t-muted);margin-top:2.5rem;border-top:1px solid var(--t-line);padding-top:1rem;line-height:1.5}.sermon .body .footnotes ol{padding-left:1.6rem}.sermon .body .footnotes li{margin-bottom:.4rem}.sermon .body .footnotes p{display:inline;margin:0}.sermon .body .fnback{margin-left:.3rem;text-decoration:none}
.sermon .body .sc{font-variant:small-caps}.sermon .body [lang=grc]{font-family:'Gentium Book Basic','Palatino Linotype',Palatino,serif}
.sermon .body .poem p,.sermon .body .quote p{margin-left:2rem}.sermon .body .center{text-align:center}
.sermon .body blockquote{margin:1em 2rem;font-style:italic;border:0;padding:0;background:transparent}
.sermon .sf{margin-top:2.5rem;border-top:1px solid var(--t-line);padding-top:.5rem;font-size:.86rem;color:var(--t-muted)}.sermon .sf h2{font-size:.78rem;font-family:var(--t-gentium);font-variant:normal;text-transform:uppercase;letter-spacing:.08em;border:0;margin:1rem 0 .2rem;color:var(--t-muted)}.sermon .sf .cite{font-family:var(--t-goudy);color:var(--t-ink)}
.text-tabs{display:flex;gap:.5rem;margin:.5rem 0 1rem}.text-tabs a{padding:.3rem .7rem;border:1px solid var(--t-line);border-radius:4px;font-size:.85rem;text-decoration:none!important}.text-tabs a.on{background:var(--t-teal);color:var(--t-bg);border-color:var(--t-teal)}
.rside{font-size:.9rem;position:sticky;top:1rem;align-self:start}.rside .pn{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;font-family:var(--t-goudy)}.rside .cited{list-style:none;padding:0;margin:0;columns:2;column-gap:1rem}.rside .cited li{padding:.15rem 0;font-size:.85rem;break-inside:avoid}.rside .also{margin-top:1rem}.rside .tools{margin-top:1rem;font-size:.8rem}
.tsx-fntip{position:absolute;max-width:360px;background:var(--t-card);border:1px solid var(--t-line);box-shadow:0 4px 18px rgba(0,0,0,.15);padding:.6rem .8rem;font:0.85rem/1.45 var(--t-gentium);color:var(--t-ink);z-index:50;display:none;border-radius:4px}
@media print{.tsx-header,.tsx-footer,.rside,.tsa-crumbs,form.tsa-search{display:none!important}body{background:#fff!important;color:#000}.tsa-reader{display:block}.sermon .body{max-width:none;font-size:11.5pt}}

.rside .topics{list-style:none;padding:0;margin:0}.rside .topics li{padding:.15rem 0;font-size:.88rem}
.tsa-topics .azbar a{margin-right:.5em;font-size:.9rem}

/* Back-to-top. Astra ships a filled rounded square in the theme accent colour, which reads as a
   web-app control and not as one of these sites. The house treatment (copied from theancientbible.org
   and ancientlibrary.net) strips the box entirely and leaves a bare teal arrow. Ours uses --t-teal
   rather than a fixed colour, so unlike the sister sites the arrow also follows dark mode. */
#ast-scroll-top{background:transparent!important;background-color:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;width:auto!important;height:auto!important;line-height:1!important;}
#ast-scroll-top .ast-arrow-svg,#ast-scroll-top svg{fill:var(--t-teal)!important;color:var(--t-teal)!important;width:30px!important;height:30px!important;}
#ast-scroll-top:hover .ast-arrow-svg,#ast-scroll-top:hover svg{fill:var(--t-teal-dk)!important;color:var(--t-teal-dk)!important;}

/* ── Language panels ────────────────────────────────────────────────────────
   These rules were first written into tsa.css, which this site never enqueues —
   only site.css is loaded — so they did nothing until they were moved here.
   A sermon may carry the English it was published in, the language it was
   actually preached in, and, where no public-domain English exists, a machine
   translation. The machine one is marked in its tab and again above the text,
   because a reader must never mistake it for the published translation. */
.text-tabs a.mt{border-style:dashed}
.text-tabs a.mt::before{content:"⚙ ";opacity:.7}
.text-note{font-size:.85rem;line-height:1.5;color:var(--t-muted);border-left:3px solid var(--t-teal);
  background:color-mix(in srgb,var(--t-teal) 7%,transparent);padding:.65rem .9rem;margin:0 0 1.4rem;
  border-radius:0 3px 3px 0;max-width:38rem}
.sermon .body[dir="rtl"]{text-align:right}
.sermon .body[lang="syr"]{font-size:1.15em;line-height:2}
.sermon .body[lang="grc"],.sermon .body[lang="ell"]{line-height:1.85}
.sermon .sh .title-en{font-family:var(--t-goudy);font-style:italic;color:var(--t-muted);font-size:1.05rem;margin:.1rem 0 .4rem}

/* ── Preachers directory ────────────────────────────────────────────────────
   257 preachers grouped by century meant eighteen headings, eleven of them
   holding five names or fewer, gaps where no preacher survives from the 9th or
   11th century, and 117 names under the nineteenth — and it duplicated /eras/.
   The list is alphabetical now, so one row per preacher in a three-column grid:
   name, then dates · century · tradition, then the sermon count. The old rule
   floated the count right and set the tradition as a block beneath, which ran
   them together; and columns:2 over 257 rows was slow to lay out and awkward
   to read across. */
ul.tsa-preachers{list-style:none;padding:0;margin:0;columns:auto}
ul.tsa-preachers li{display:grid;grid-template-columns:minmax(10rem,1.05fr) minmax(0,1.35fr) auto;
  gap:.15rem 1rem;align-items:baseline;padding:.45rem 0;border-bottom:1px solid var(--t-line);break-inside:auto}
ul.tsa-preachers .nm{font-family:var(--t-goudy);font-size:1.02rem}
ul.tsa-preachers .meta{color:var(--t-muted);font-size:.85rem}
ul.tsa-preachers .n{color:var(--t-muted-soft);font-size:.8rem;text-align:right;white-space:nowrap;float:none}
ul.tsa-preachers .n abbr{text-decoration:none;border:0}
@media (max-width:640px){
  ul.tsa-preachers li{grid-template-columns:1fr auto}
  ul.tsa-preachers .meta{grid-column:1/-1;order:3}
}
.tsa-directory .intro{max-width:46rem}
.tsa-directory .az{display:flex;flex-wrap:wrap;gap:.1rem;margin:1.2rem 0 1.6rem;padding:.45rem 0;
  border-top:1px solid var(--t-line);border-bottom:1px solid var(--t-line)}
.tsa-directory .az a,.tsa-directory .az span{min-width:1.7rem;text-align:center;padding:.18rem 0;
  font-size:.85rem;letter-spacing:.06em;font-family:var(--t-goudy)}
.tsa-directory .az a{color:var(--t-teal);text-decoration:none;border-radius:2px}
.tsa-directory .az a:hover{background:var(--t-hover);color:var(--t-teal-dk);text-decoration:none}
.tsa-directory .az span{color:var(--t-line)}
.az-group{margin-bottom:1.4rem}
.az-h{font-family:var(--t-goudy);font-variant:small-caps;letter-spacing:1.2px;color:var(--t-teal-dk);
  font-size:1.2rem;margin:1.6rem 0 .2rem;padding-bottom:.15rem;border-bottom:1px solid var(--t-line);
  scroll-margin-top:1.5rem}
.az-h .c{font-variant:normal;font-size:.72rem;color:var(--t-muted);letter-spacing:0;margin-left:.4rem}

/* The heading as it was printed, kept under a modernised one. Small and quiet: it is provenance,
   not a second title. */
.tsa-reader .sh .as-printed{margin:.35rem 0 0;font-size:.78rem;color:var(--t-muted-soft);
  font-family:var(--t-gentium);font-style:italic}

/* The passage blockquote inherits a colour from the theme's own blockquote rule, which is a fixed
   dark grey — invisible on the dark card. State the colour ourselves so it follows the theme. */
.tsa .passage,
.tsa .passage p,
.tsa blockquote{color:var(--t-ink)}
.tsa .passage cite{color:var(--t-muted)}
.tsa .passage sup{color:var(--t-muted)}

/* A sermon citing two hundred passages made the right column taller than the window, and because it
   is sticky the overflow was simply unreachable — nothing below the fold could be scrolled to.
   Give the column its own scroll once it outgrows the viewport. */
.rside{max-height:calc(100vh - 2rem);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;padding-right:.35rem}
.rside::-webkit-scrollbar{width:7px}
.rside::-webkit-scrollbar-thumb{background:var(--t-line);border-radius:4px}
.rside::-webkit-scrollbar-track{background:transparent}
@media(max-width:900px){.rside{max-height:none;overflow-y:visible;position:static}}

/* Landing page, rearranged. The search field is the front door; the four ways in are cards rather
   than the indexes themselves; the eras are grouped under three named ages. */
/* On the front page the search field is the page's main control, so it is a filled box with a border of
   its own at rest — not the underline that only fills in when Astra animates it on hover and focus. */
.tsa-home .home-find{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;margin:2.4rem auto 2.6rem}
.tsa-home form.tsa-search{margin:0;flex:0 1 640px;width:100%;display:flex;gap:.6rem;border-bottom:0;padding-bottom:0;height:42px}
/* --t-field is a true white in light mode: --t-card (#fffdf7) is a paper tone and all but vanishes
   against the page. In dark mode a raised surface does the same job, since white would glare. */
:root{--t-field:#ffffff;--t-field-line:#d5cfc0}
:root[data-theme="dark"]{--t-field:#262219;--t-field-line:#403b31}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--t-field:#262219;--t-field-line:#403b31}}
.tsa-home form.tsa-search input[type=search]{flex:1;background:var(--t-field);border:1px solid var(--t-field-line);border-radius:4px;padding:0 .9rem;height:42px;transition:border-color .15s linear}
.tsa-home form.tsa-search input[type=search]:hover{background:var(--t-field);border-color:var(--t-muted-soft)}
.tsa-home form.tsa-search input[type=search]:focus{background:var(--t-field);border-color:var(--t-teal);outline:none;box-shadow:none}
.tsa-home form.tsa-search button{background:var(--t-field)!important;border-color:var(--t-field-line);padding:0 1.15rem;height:42px}
/* four across on a wide screen, two on a tablet, one on a phone — never an orphan card */
.tsa-home .tsa-grid.ways{grid-template-columns:repeat(4,1fr);margin-bottom:2rem}
@media(max-width:1000px){.tsa-home .tsa-grid.ways{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tsa-home .tsa-grid.ways{grid-template-columns:1fr}}
.tsa-home .tsa-grid.ways a{align-items:flex-start;padding:.9em 1em}
.tsa-home .tsa-grid.ways .t{font-family:var(--t-goudy);font-size:1.06rem}
.tsa-home .tsa-grid.ways .sub{max-width:32ch;line-height:1.35}
/* the name of an age, set like the section labels on the sister sites */
.tsa-home .age{font-family:var(--t-goudy);font-size:.88rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--t-teal);border-top:1px solid var(--t-line);padding-top:1.1rem;margin:1.9rem 0 .8rem}
.tsa-home .age .n{float:right;letter-spacing:0;text-transform:none;font-family:var(--t-gentium);
  font-size:.82rem;color:var(--t-muted-soft)}
@media(max-width:560px){.tsa-home .age .n{float:none;display:block;margin-top:.2rem}}

/* The front page is now a search box, a paragraph and a count line. Astra's ~100px of space above the
   content was invisible under six rows of cards and is most of the page without them. */
body.home #content.site-content{padding-top:1rem}
body.home #primary.content-area{margin-top:1rem}

/* The three counts, in the masthead under the description: same small-caps line as before, spaced to
   sit with the nameplate rather than with the page. */
.tsx-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;margin:.9rem 0 0;padding-bottom:14px;color:var(--t-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.tsx-stats b{font-weight:400;color:var(--t-muted);font-variant-numeric:tabular-nums;margin-right:.3em}
@media(max-width:560px){.tsx-stats{gap:.9rem;font-size:.66rem}}

/* Topics: thirteen families, each a short line and a grid of headings. The family rules used to live
   under .tsa-home and went when the front page was stripped, so they are restated here for this page. */
.tsa-topics .age{font-family:var(--t-goudy);font-size:1.18rem;color:var(--t-ink);margin:2.2rem 0 .15rem;border-bottom:1px solid var(--t-line);padding-bottom:.35rem}
.tsa-topics .age .n{float:right;font-family:var(--t-gentium);font-size:.72rem;color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:.45rem}
.tsa-topics .sec-lede{color:var(--t-muted);max-width:74ch;margin:.5rem 0 .95rem;font-size:.93rem}
.tsa-topics .tsa-grid{margin-bottom:.4rem}
.tsa-topics .tsa-grid .t{line-height:1.25}
@media(max-width:560px){.tsa-topics .age .n{float:none;display:block;margin-top:.2rem;padding-top:0}}

/* The search page's own field, matching the front page's: a filled box rather than an underline. */
.tsa-searchpage form.tsa-search{max-width:640px;gap:.6rem;border-bottom:0;padding-bottom:0;height:42px;margin:1rem 0 1.8rem}
.tsa-searchpage form.tsa-search input[type=search]{background:var(--t-field);border:1px solid var(--t-field-line);border-radius:4px;padding:0 .9rem;height:42px;transition:border-color .15s linear}
.tsa-searchpage form.tsa-search input[type=search]:hover{border-color:var(--t-muted-soft)}
.tsa-searchpage form.tsa-search input[type=search]:focus{border-color:var(--t-teal);outline:none;box-shadow:none}
.tsa-searchpage form.tsa-search button{background:var(--t-field)!important;border-color:var(--t-field-line);padding:0 1.15rem;height:42px}
.tsa-searchpage h2 .n{float:right;font-size:.72rem;color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:.6rem;font-family:var(--t-gentium)}
.tsa-searchpage .sec-lede{color:var(--t-muted);max-width:74ch;margin:.2rem 0 .9rem;font-size:.93rem}
