/* ===== Galen Call's Sermon Library · Editorial prairie theme (v2) ===== */
:root{
  --ink:#24170f;--ink-2:#4a3526;--muted:#7a6553;--paper:#faf5ec;--paper-2:#f3e9d8;--card:#fffdf8;
  --line:#e7dac4;--choc:#3b2215;--choc-2:#5a3420;--wheat:#d9a441;--wheat-2:#f1d39a;--accent:#b5562b;
  --display:"Playfair Display","Libre Caslon Display",Georgia,serif;
  --serif:"Source Serif 4","Libre Caslon Text",Georgia,serif;
  --sans:"Inter","Source Sans 3","Segoe UI",system-ui,sans-serif;
  --r:14px;--shadow:0 1px 2px rgba(59,34,21,.06),0 8px 28px rgba(59,34,21,.08);
  --tex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .23 0 0 0 0 .13 0 0 0 0 .08 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{font-size:18px;scroll-behavior:smooth}
body{margin:0;font-family:var(--serif);color:var(--ink);background:var(--paper) var(--tex);line-height:1.65;-webkit-font-smoothing:antialiased;padding-bottom:6rem}
.ui,button,input,select,.meta,nav,footer,label,.eyebrow,.annot,.cite-line,.chip,.badge,table{font-family:var(--sans)}
h1,h2,h3{font-family:var(--display);color:var(--choc);font-weight:600;letter-spacing:-.01em;line-height:1.12;margin:0 0 .5rem}
h1{font-size:clamp(2.2rem,5vw,3.6rem)} h2{font-size:clamp(1.55rem,2.6vw,2.1rem)} h3{font-size:1.2rem}
p{margin:0 0 .9rem}
a{color:var(--choc-2);text-decoration-color:rgba(90,52,32,.35);text-underline-offset:3px;transition:color .15s}
a:hover{color:var(--accent);text-decoration-color:currentColor}
:focus-visible{outline:3px solid var(--wheat);outline-offset:3px;border-radius:6px}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem 3rem}
.fullbleed{width:100vw;margin-left:calc(50% - 50vw)}
.sr,.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:.5rem;z-index:200;background:#fff;padding:.5rem 1rem}
/* ---- sticky top bar ---- */
.site-header{position:sticky;top:0;z-index:60;width:100vw;margin:0 0 0 calc(50% - 50vw);background:rgba(59,34,21,.97);backdrop-filter:blur(6px);color:#f8ecd6;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.site-header .bar{max-width:72rem;margin:0 auto;padding:.55rem 1.25rem;display:flex;align-items:center;gap:1rem}
.brandmark{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#f8ecd6;margin-right:auto}
.brandmark img{width:44px;height:44px;border-radius:50%;border:2px solid rgba(241,211,154,.6)}
.brandmark b{font-family:var(--display);font-weight:600;font-size:1.15rem;line-height:1.1;display:block;color:#fbefd9}
.brandmark small{font-family:var(--sans);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--wheat-2);opacity:.85}
.nav{display:flex;gap:.15rem;align-items:center;font-size:.92rem}
.nav a{color:#f1e2c8;text-decoration:none;padding:.45rem .7rem;border-radius:999px;transition:background .15s,color .15s}
.nav a:hover{background:rgba(241,211,154,.14);color:#fff}
.nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--wheat);border-radius:0}
.nav a.cta{background:var(--wheat);color:var(--choc);font-weight:700;margin-left:.4rem}
.nav a.cta:hover{background:var(--wheat-2)}
.nav a.cta[aria-current=page]{box-shadow:none;border-radius:999px}
.menu-btn{display:none;background:none;border:1.5px solid rgba(241,211,154,.5);color:#f8ecd6;border-radius:999px;padding:.4rem .85rem;font-size:.9rem}
@media(max-width:980px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--choc);padding:.5rem 1rem 1rem;box-shadow:0 12px 24px rgba(0,0,0,.25)}
  .site-header.open .nav{display:flex}
  .nav a{padding:.8rem 1rem;font-size:1.05rem;border-radius:10px}
  .nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--wheat);background:rgba(241,211,154,.08)}
  .nav a.cta{margin:.4rem 0 0;text-align:center}
  .brandmark b{font-size:1rem}
}
/* ---- hero ---- */
.hero{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;color:#fff;background:#3b2215 url(img/hero.jpg) 70% 60%/cover no-repeat;margin-bottom:0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,17,8,.86) 0,rgba(32,17,8,.62) 38%,rgba(32,17,8,.05) 70%),linear-gradient(0deg,rgba(32,17,8,.55),transparent 45%)}
.hero .in{position:relative;max-width:72rem;width:100%;margin:0 auto;padding:4.5rem 1.25rem 3.5rem}
.hero .crest{width:96px;height:96px;border-radius:50%;border:3px solid rgba(241,211,154,.8);box-shadow:0 8px 24px rgba(0,0,0,.35);margin-bottom:1.1rem}
.hero .eyebrow{color:var(--wheat-2)}
.hero h1{color:#fff8ec;max-width:15ch;font-size:clamp(2.5rem,6vw,4.4rem);text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .lede{color:#f6e8d2;max-width:36rem;font-size:1.2rem}
.hero form{display:flex;gap:.5rem;max-width:36rem;background:rgba(255,250,240,.96);padding:.4rem;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);margin-top:1.4rem}
.hero input{flex:1;border:0;background:transparent;font:inherit;font-family:var(--sans);font-size:1.05rem;padding:.6rem 1rem;color:var(--ink);min-width:0}
.hero input:focus{outline:none}
.hero .try{font-family:var(--sans);font-size:.92rem;color:#f1e2c8;margin-top:.9rem}
.hero .try a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}
@media(max-width:700px){.hero{min-height:auto;background-position:78% 50%}.hero::before{background:linear-gradient(0deg,rgba(32,17,8,.92) 20%,rgba(32,17,8,.55))}.hero .in{padding:3rem 1.1rem 2.4rem}.hero .crest{width:72px;height:72px}.hero .lede{font-size:1.05rem}}
/* ---- page intro band ---- */
.band{background:linear-gradient(180deg,var(--paper-2),transparent) ,var(--tex);border-bottom:1px solid var(--line);margin-bottom:2rem}
.band .in{max-width:72rem;margin:0 auto;padding:3rem 1.25rem 2.2rem}
.band h1{max-width:20ch}
.band .lede{max-width:40rem;font-size:1.15rem;color:var(--ink-2)}
.page-intro{display:none}
/* ---- type helpers ---- */
.eyebrow{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--accent);margin:0 0 .6rem;display:flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;display:inline-block}
.lede{font-size:1.12rem}
.meta{color:var(--muted);font-size:.9rem}
.annot{display:inline-block;font-size:.8rem;color:#7b4a1e;background:#f6e6c6;border:1px solid #ecd3a3;border-radius:999px;padding:.15rem .65rem}
.annot::before{content:"ⓘ ";opacity:.7}
.section{margin:3.5rem 0}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.6rem 1rem;margin-bottom:1.3rem;border-top:2px solid var(--choc);padding-top:.9rem}
.section-head h2{margin:0}.section-head p{margin:.25rem 0 0;color:var(--muted)}
/* ---- cards ---- */
.panel,.card,.quote-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel{padding:1.6rem 1.8rem}
.card{padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.35rem;transition:transform .2s,box-shadow .2s}
.cards{display:grid;gap:1.2rem}
@media(min-width:760px){.cards.two{grid-template-columns:1fr 1fr}.cards.three{grid-template-columns:repeat(3,1fr)}}
.tile{text-decoration:none;color:var(--ink);position:relative;overflow:hidden}
.tile:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(59,34,21,.14);color:var(--ink)}
.tile .ico{width:40px;height:40px;border-radius:12px;background:var(--paper-2);display:grid;place-items:center;color:var(--choc-2);margin-bottom:.5rem}
.tile .ico svg{width:22px;height:22px}
.tile h3{font-size:1.25rem;margin:0}
.tile p{color:var(--muted);margin:0;font-size:.98rem}
.tile .go{font-family:var(--sans);font-size:.85rem;font-weight:700;color:var(--accent);margin-top:auto;padding-top:.6rem}
/* pull quotes */
blockquote{margin:.3rem 0 .7rem;font-family:var(--serif)}
.pull,.quote-card blockquote,blockquote.big,.card blockquote,.say blockquote{font-size:1.18rem;line-height:1.6;color:var(--ink)}
blockquote.big,.pull{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.4;color:var(--choc);border:0;padding:0;position:relative}
.qmark{font-family:var(--display);font-size:4.5rem;line-height:.6;color:var(--wheat);display:block;height:1.6rem}
.card blockquote::before{content:none}
.quote-card{padding:1.5rem 1.7rem;margin:0 0 1.1rem;position:relative}
.quote-card::before{content:"\201C";position:absolute;top:.6rem;left:-.15rem;font-family:var(--display);font-size:5rem;line-height:1;color:var(--wheat-2);pointer-events:none}
.quote-card blockquote{padding-left:1.2rem}
mark{background:linear-gradient(transparent 55%,#f4d88f 55%);color:inherit;padding:0 .05em}
.cite-line{font-size:.88rem;color:var(--muted);margin:.4rem 0 .9rem;display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:center}
.cite-line strong{color:var(--ink);font-weight:600}
.cite-line a{color:var(--muted)}
.badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.18rem .6rem;background:var(--paper-2);color:var(--choc-2);border:1px solid var(--line)}
.badge.year{background:var(--choc);color:var(--wheat-2);border-color:var(--choc)}
.badge.high{background:#e7f0e3;color:#2f5d3a;border-color:#cfe0c8}
.badge.medium{background:#f6ebd2;color:#7b5a1e;border-color:#ead7ae}
.badge.low{background:#f6e1d8;color:#8a3b22;border-color:#ebc6b6}
.actions{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.textlink{font-family:var(--sans);font-size:.92rem;font-weight:600}
.disclaim{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin-top:1.2rem}
/* ---- Hear button with waveform ---- */
.hear{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--sans);font-weight:700;font-size:.95rem;background:var(--choc);color:#fbefd9;border:0;border-radius:999px;padding:.4rem 1.1rem .4rem .4rem;cursor:pointer;min-height:48px;transition:background .15s,transform .15s;box-shadow:0 4px 14px rgba(59,34,21,.25)}
.hear:hover{background:var(--choc-2);transform:translateY(-1px)}
.hear .ic{width:38px;height:38px;border-radius:50%;background:var(--wheat);color:var(--choc);display:grid;place-items:center;flex:none}
.hear .ic svg{width:14px;height:14px;margin-left:2px}
.hear .wave{display:inline-flex;gap:2px;align-items:center;height:22px}
.hear .wave i{width:3px;border-radius:2px;background:rgba(241,211,154,.75);display:block}
.hear .ts{font-weight:500;opacity:.8;font-variant-numeric:tabular-nums}
.hear.playing .ic{background:#fff}
.hear.playing .wave i{animation:wv .9s ease-in-out infinite alternate;background:var(--wheat)}
.hear.playing .wave i:nth-child(2n){animation-delay:-.3s}.hear.playing .wave i:nth-child(3n){animation-delay:-.6s}
@keyframes wv{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
.hear.small{min-height:40px;font-size:.86rem;padding:.3rem .9rem .3rem .3rem;gap:.5rem;box-shadow:none}
.hear.small .ic{width:30px;height:30px}.hear.small .wave{display:none}
@media(prefers-reduced-motion:reduce){.hear.playing .wave i{animation:none}}
/* ---- player ---- */
#gp{position:fixed;left:50%;bottom:14px;z-index:80;width:min(60rem,calc(100% - 20px));transform:translate(-50%,140%);transition:transform .3s cubic-bezier(.2,.8,.2,1);background:rgba(43,24,13,.97);color:#fbefd9;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.4);border:1px solid rgba(241,211,154,.18)}
#gp.on{transform:translate(-50%,0)}
#gp .in{padding:.75rem 1rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
#gp button{font-family:var(--sans);background:transparent;border:1px solid rgba(241,211,154,.35);color:#fbefd9;border-radius:999px;min-width:44px;min-height:44px;cursor:pointer;font-size:.88rem;padding:0 .8rem}
#gp button:hover{background:rgba(241,211,154,.12)}
#gp button.pp{background:var(--wheat);color:var(--choc);border:0;width:54px;height:54px;font-size:1.2rem;padding:0}
#gp .tt{font-family:var(--display);font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gp .sub2{font-size:.8rem;opacity:.8;font-variant-numeric:tabular-nums}
#gp .bar{height:26px;margin-top:.25rem;cursor:pointer;display:flex;gap:2px;align-items:center}
#gp .bar b{flex:1;border-radius:2px;background:rgba(241,211,154,.25);display:block}
#gp .bar b.on{background:var(--wheat)}
#gp .bar i{display:none}
#gp .ctl{display:flex;gap:.4rem;align-items:center}
#gp a{color:var(--wheat-2);font-family:var(--sans);font-size:.85rem;white-space:nowrap}
@media(max-width:700px){#gp{bottom:0;width:100%;border-radius:16px 16px 0 0}#gp .in{grid-template-columns:auto 1fr}#gp .ctl{grid-column:1/-1;justify-content:space-between}}
/* ---- forms / pills ---- */
.btn,button.btn{font-family:var(--sans);background:var(--choc);color:#fbefd9;border:0;border-radius:999px;padding:.7rem 1.4rem;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s}
.btn:hover{background:var(--choc-2);color:#fff}
.btn.ghost{background:transparent;color:var(--choc);box-shadow:inset 0 0 0 1.5px var(--choc)}
.pill-btn{font-family:var(--sans);font-size:.9rem;font-weight:600;background:var(--card);border:1px solid var(--line);color:var(--choc-2);border-radius:999px;padding:.5rem 1rem;cursor:pointer;min-height:42px;transition:all .15s}
.pill-btn:hover{border-color:var(--choc-2)}
.pill-btn[aria-pressed=true]{background:var(--choc);color:#fbefd9;border-color:var(--choc)}
.year-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin:.3rem 0 1rem}
.search-row{display:flex;flex-wrap:wrap;gap:.5rem}
.search-row input[type=search],#q,#ask-q,.field{flex:1 1 16rem;font-family:var(--sans);font-size:1.05rem;padding:.8rem 1.2rem;border:1.5px solid var(--line);background:#fff;border-radius:999px;color:var(--ink)}
.search-row input:focus,#q:focus,.field:focus{outline:none;border-color:var(--wheat);box-shadow:0 0 0 4px rgba(217,164,65,.2)}
select{font-family:var(--sans);font-size:1rem;padding:.6rem .9rem;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.status{font-family:var(--sans);color:var(--muted);font-size:.92rem}
.error{color:#8a2b2b}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--choc);border-radius:50%;animation:sp 1s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.skeleton{color:var(--muted);font-family:var(--sans)}
.suggest{display:flex;flex-wrap:wrap;gap:.5rem}.suggest .eyebrow{width:100%}
/* ---- home: OTD ---- */
.otd{display:grid;gap:2rem;padding:2.2rem 2.4rem;background:var(--card) var(--tex)}
@media(min-width:900px){.otd{grid-template-columns:15rem 1fr}}
.otd .date{font-family:var(--display);color:var(--choc);line-height:.95}
.otd .date .m{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;font-family:var(--sans);font-weight:700;color:var(--accent)}
.otd .date .d{font-size:6rem;display:block}
.otd-stage h3{font-size:1.5rem}
/* ---- legacy table pages ---- */
.note{font-family:var(--sans);font-size:.92rem;color:var(--ink-2);background:var(--paper-2);border-radius:12px;padding:.8rem 1rem;border:0;margin:0 0 1.2rem}
.layout{display:grid;gap:1.5rem}
@media(min-width:900px){.layout{grid-template-columns:18rem 1fr;align-items:start}}
.layout aside{position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow:auto}
.book-list,.chap-list,.series-list{display:flex;flex-wrap:wrap;gap:.3rem}
@media(min-width:900px){.book-list,.series-list{flex-direction:column;flex-wrap:nowrap}}
button.pick{font-family:var(--sans);appearance:none;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;padding:.45rem .7rem;border-radius:10px;font-size:.93rem;transition:background .12s}
button.pick:hover{background:var(--paper-2)}
button.pick[aria-pressed=true]{background:var(--choc);color:#fbefd9}
button.pick .count{opacity:.6;font-size:.78rem;margin-left:.4rem}
.chap-list button.pick{min-width:2.6rem;text-align:center;border:1px solid var(--line)}
.crumb{font-family:var(--sans);font-size:.88rem;color:var(--muted)}
table.sermons{width:100%;border-collapse:collapse;font-size:.98rem;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
table.sermons th{text-align:left;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.8rem 1rem;border-bottom:1px solid var(--line);background:var(--paper-2)}
table.sermons td{padding:.75rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
table.sermons tr:hover td{background:#fffaf0}
table.sermons td.title-cell a{color:var(--ink);text-decoration:none;font-family:var(--serif);font-size:1.02rem}
table.sermons td.title-cell a:hover{color:var(--accent)}
.listen,a.listen{font-family:var(--sans);font-size:.82rem;font-weight:700;text-decoration:none;color:var(--choc);border:1.5px solid var(--choc);border-radius:999px;padding:.3rem .8rem;white-space:nowrap}
.listen:hover{background:var(--choc);color:#fbefd9}
@media(max-width:640px){table.sermons thead{display:none}table.sermons tr{display:block;padding:.6rem .9rem;border-bottom:1px solid var(--line)}table.sermons td{display:block;border:0;padding:.15rem 0}}
.sermon-card h2{font-size:2rem}
/* ---- NT plan ---- */
.daynav{display:flex;gap:.5rem}
.plan-book{margin:1.4rem 0}.plan-book h3{font-size:1.15rem;margin:0 0 .5rem}.plan-book h3 .meta{font-family:var(--sans);font-size:.8rem;font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.plan .day{font-family:var(--sans);width:2.7rem;height:2.7rem;border-radius:50%;display:inline-grid;place-items:center;background:var(--card);border:1px solid var(--line);cursor:pointer;font-size:.92rem;font-weight:600;color:var(--ink);position:relative;transition:all .15s}
.plan .day:hover{border-color:var(--choc);transform:scale(1.06)}
.plan .day::after{content:"";position:absolute;bottom:4px;left:50%;margin-left:-2.5px;width:5px;height:5px;border-radius:50%;background:var(--wheat)}
.plan .day.none{opacity:.4;font-weight:400}.plan .day.none::after{display:none}
.plan .day.is-today{background:var(--choc);color:#fbefd9;border-color:var(--choc)}
.legend{font-family:var(--sans);font-size:.9rem;color:var(--muted)}
.jump select{margin-left:.4rem}
.more{margin:.5rem 0 0 1.2rem;font-family:var(--sans);font-size:.95rem}
details summary{cursor:pointer;color:var(--choc-2);font-family:var(--sans);font-weight:600;margin-top:1rem}
/* ---- then & now ---- */
.tn-pick{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.tn-pick .year-tabs{margin:0;width:100%}
.tn .card{border-top:4px solid var(--wheat)}
.decade{font-family:var(--display);font-size:2.6rem;color:var(--wheat);margin:0;line-height:1}
.tn .card h3{font-size:1.1rem;min-height:2.6em}
.tn .card blockquote{font-size:1.02rem}
.card .actions{margin-top:auto;padding-top:.6rem}
/* ---- sayings ---- */
.say{margin:0 0 1.6rem}
.say h2{font-style:italic;font-size:2.2rem}
.board{display:flex;flex-wrap:wrap;gap:.5rem}
/* ---- series & topics ---- */
.series-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.3rem 0 .8rem}
.how{font-family:var(--sans);font-size:.88rem;color:var(--muted)}
.decade-h{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:1rem .7rem .3rem}
.topic-grid{display:grid;gap:1rem}
@media(min-width:700px){.topic-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.topic-grid{grid-template-columns:repeat(3,1fr)}}
.topic-card{cursor:pointer;text-align:left;font:inherit;color:inherit}
.topic-card .n{font-family:var(--display);font-size:2.4rem;color:var(--wheat);line-height:1}
.tier{margin:1.6rem 0}
.tier h3{display:flex;gap:.6rem;align-items:center}
.list{list-style:none;padding:0;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.list li{display:grid;grid-template-columns:6.5rem 1fr auto;gap:.8rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);align-items:baseline}
.list li:last-child{border-bottom:0}
.list .d{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}
.list .t a{color:var(--ink);text-decoration:none;font-size:1.02rem}.list .t a:hover{color:var(--accent)}
.list .w{font-family:var(--sans);font-size:.78rem;color:var(--muted)}
@media(max-width:640px){.list li{grid-template-columns:1fr}.list li .r{justify-self:start}}
/* ---- footer ---- */
footer.site-footer{margin-top:4rem;background:var(--choc);color:#e9d8bd;width:100vw;margin-left:calc(50% - 50vw);font-family:var(--sans);font-size:.9rem}
footer.site-footer .in{max-width:72rem;margin:0 auto;padding:2.5rem 1.25rem;display:flex;gap:1.5rem;align-items:flex-start}
footer.site-footer img{width:64px;height:64px;border-radius:50%;opacity:.95}
footer.site-footer p{margin:0 0 .6rem;max-width:46rem}
footer.site-footer .annot{background:rgba(241,211,154,.15);color:var(--wheat-2);border-color:transparent}
footer.site-footer a{color:var(--wheat-2)}
body{padding-bottom:0}
body.has-player{padding-bottom:7rem}
/* R2 */
.menu-btn{white-space:nowrap}
.hear>span:not(.ic){white-space:nowrap}
@media(max-width:700px){
  .brandmark small{display:none}.brandmark b{font-size:.98rem}.brandmark img{width:38px;height:38px}
  .hear .wave{display:none}
  .otd{padding:1.4rem 1.3rem;gap:1rem}.otd .date .d{font-size:4rem}
  .panel{padding:1.2rem 1.2rem}
  h1{font-size:2.1rem}
  .band .in{padding:2rem 1.1rem 1.6rem}
}
.qmark{margin-bottom:.2rem}
.panel .section-head{border-top:0;padding-top:0}
.cards.two{align-items:start}
#card .band{margin-bottom:1.5rem}
@media(max-width:899px){.layout aside{position:static;max-height:none}.series-list{flex-direction:column;flex-wrap:nowrap;max-height:55vh;overflow:auto}.book-list{max-height:40vh;overflow:auto}}
@media(max-width:899px){#series-main{order:1}.layout aside{order:2}}
.layout{display:grid}
table.sermons td{white-space:normal}table.sermons td.meta,table.sermons td:nth-child(2){white-space:nowrap}
/* R3: series covers */
.sdetail{margin:2rem 0 1rem}
.sdetail-head{display:grid;grid-template-columns:1fr;gap:1rem;padding:1.6rem 1.8rem;border-radius:14px;color:#fbf3e4;background:linear-gradient(120deg,rgba(43,26,16,.94),rgba(90,50,24,.86)),url(img/prairie.jpg) center/cover;margin-bottom:1rem}
.sdetail-head h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);margin:.2rem 0 .6rem}
.sdetail-head .eyebrow{color:#e7b75a}.sdetail-head .how{color:#e9dcc6;margin:.6rem 0 0}
.sdetail-head .badge{background:rgba(255,255,255,.12);color:#fbf3e4;border-color:rgba(255,255,255,.2)}
.tline{position:relative;height:22px;margin:.4rem 0 0;border-top:2px solid rgba(231,183,90,.5)}
.tline a{position:absolute;top:-7px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#e7b75a;border:2px solid #3a2416}
.tline a:hover{transform:scale(1.4)}
.list li .num{font:600 .75rem Inter,sans-serif;color:#b0562a;min-width:1.6rem}
.sfilter{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.sfilter .field{flex:1 1 260px}
.pills{display:flex;gap:.35rem;flex-wrap:wrap}
.decade-h{font:600 .78rem Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b0562a;margin:1.8rem 0 .7rem;border-bottom:1px solid #e3d5bd;padding-bottom:.4rem}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.scard{all:unset;cursor:pointer;display:flex;flex-direction:column;background:#fffaf1;border:1px solid #eadcc3;border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s}
.scard:hover,.scard:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px rgba(60,35,15,.14);outline:2px solid #d9a441}
.scard .cov{position:relative;height:96px;display:flex;align-items:flex-end;justify-content:space-between;padding:.7rem .9rem;color:#fbf3e4}
.v0 .cov,.sdetail-head.v0{}
.scard.v0 .cov{background:linear-gradient(135deg,#4a2a17,#8a4b22)}.scard.v1 .cov{background:linear-gradient(135deg,#2f3a2a,#6c7a3e)}
.scard.v2 .cov{background:linear-gradient(135deg,#3b2433,#7c3f3a)}.scard.v3 .cov{background:linear-gradient(135deg,#23303a,#4f6a73)}
.scard .cov::after{content:"";position:absolute;right:-18px;top:-18px;width:90px;height:90px;border-radius:50%;background:url(img/crest.jpg) center/cover;opacity:.16}
.scard .bk{font:italic 600 1.15rem "Playfair Display",serif}.scard .n{font:700 1.6rem "Playfair Display",serif;opacity:.9}
.scard .nm{font:600 1.02rem/1.3 "Playfair Display",serif;color:#3a2416;padding:.7rem .9rem .2rem}
.scard .sp{font-size:.78rem;color:#7b6550;padding:0 .9rem .6rem}
.scard .bar{margin:auto .9rem .8rem;height:4px;border-radius:2px;background:#efe3cf}.scard .bar i{display:block;height:100%;border-radius:2px;background:#d9a441}
.scard.low{opacity:.86}.scard.low .cov{filter:saturate(.6)}
/* R3: sermon page */
.sm-hero{background:linear-gradient(100deg,rgba(43,26,16,.95) 30%,rgba(43,26,16,.55)),url(img/prairie.jpg) center/cover;color:#fbf3e4;padding:3rem 0 2.4rem}
.sm-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3.4rem);max-width:20ch;margin:.3rem 0 .6rem}.sm-hero .eyebrow{color:#e7b75a}
.sm-meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;color:#e9dcc6;font-size:.9rem;margin-bottom:1.2rem}.sm-meta a{color:#f2c86e}
.sm-hero .textlink{color:#f2c86e}
.sm-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.4rem;margin:2.4rem 0}
.sm-quote{margin:0 0 2rem;padding:0 0 2rem;border-bottom:1px solid #e3d5bd}
.sm-quote blockquote{margin:.4rem 0 1rem;font:italic 400 clamp(1.25rem,2.2vw,1.6rem)/1.5 "Playfair Display",serif;color:#3a2416;max-width:38em}
.side-card{background:#fffaf1;border:1px solid #eadcc3;border-radius:12px;padding:1.1rem 1.2rem;margin-bottom:1rem}
.side-card h3{font-size:1.2rem;margin:.2rem 0 .7rem}.side-card h3 a{color:#3a2416;text-decoration:none}
.prog{display:flex;gap:3px;margin-bottom:.6rem}.prog a{flex:1;height:6px;border-radius:3px;background:#eadcc3}.prog a.past{background:#e3c58a}.prog a.on{background:#b0562a}
.pn{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.6rem}
.mini{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto;font-size:.9rem}.mini li{display:flex;justify-content:space-between;gap:.6rem;padding:.35rem 0;border-top:1px solid #f0e6d4}.mini li.on{color:#b0562a}.mini .d{font:.72rem Inter,sans-serif;color:#8b7660;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0}.chips .badge{text-decoration:none}
@media (max-width:900px){.sm-grid{grid-template-columns:1fr;gap:1rem}.sgrid{grid-template-columns:repeat(2,1fr);gap:.7rem}.scard .cov{height:72px}.scard .nm{font-size:.92rem}.sdetail-head{padding:1.2rem}.sm-hero{padding:2rem 0 1.6rem}}
.sm-hero .in{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.sdetail .list li{grid-template-columns:2rem 6.5rem 1fr auto}
@media(max-width:640px){.sdetail .list li{grid-template-columns:1.6rem 1fr;row-gap:.2rem}.sdetail .list li .t{grid-column:2}.sdetail .list li .r{grid-column:2}.sdetail .list li .d{grid-column:2}}
a.scard{text-decoration:none}
.shelf{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.shelf{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.shelf .scard{scroll-snap-align:start}}
.topic-card{border-top:5px solid #8a4b22;position:relative;overflow:hidden}
.topic-card:nth-child(4n+2){border-top-color:#6c7a3e}.topic-card:nth-child(4n+3){border-top-color:#7c3f3a}.topic-card:nth-child(4n){border-top-color:#4f6a73}
.topic-card::after{content:"";position:absolute;right:-22px;bottom:-22px;width:86px;height:86px;border-radius:50%;background:url(img/crest.jpg) center/cover;opacity:.07;pointer-events:none}
@media(max-width:420px){.brandmark{font-size:.92rem;line-height:1.15}.brandmark img{width:32px;height:32px}}
/* In his words strip */
.words-strip{margin:2.4rem 0;padding:2rem 2.2rem;border-radius:14px;background:linear-gradient(110deg,rgba(43,26,16,.95) 40%,rgba(43,26,16,.7)),url(img/prairie.jpg) center/cover;color:#fbf3e4;position:relative;overflow:hidden}
.words-strip::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;background:url(img/crest.jpg) center/cover;opacity:.12}
.words-strip .eyebrow{color:#e7b75a}
.words-strip blockquote{margin:.5rem 0 1.1rem;font:italic 400 clamp(1.35rem,2.6vw,2rem)/1.4 "Playfair Display",serif;color:#fff;max-width:34em}
.words-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}
.words-strip .cite{margin:0;color:#e9dcc6;font-size:.9rem}.words-strip .cite a{color:#f2c86e}
.words-next{all:unset;cursor:pointer;color:#f2c86e;font-size:.9rem;margin-left:auto;padding:.4rem .2rem}.words-next:focus-visible{outline:2px solid #f2c86e}
.words-strip.fade blockquote{animation:wf .5s}@keyframes wf{from{opacity:0;transform:translateY(4px)}}
.sm-saying blockquote{color:#8a4b22}
.topic-card[aria-pressed="true"]{outline:2px solid #d9a441;box-shadow:0 10px 24px rgba(60,35,15,.14)}
@media(max-width:640px){.words-strip{padding:1.4rem 1.2rem;margin:1.6rem 0}.words-next{margin-left:0}}
.hero .soon{max-width:34rem;margin:1.2rem 0 0;padding:.9rem 1.1rem;border-radius:12px;background:rgba(255,250,241,.12);border:1px solid rgba(255,255,255,.22);color:#f3e7d2;font-size:.95rem;line-height:1.5}
.hero .soon a{color:#f2c86e}.hero .soon strong{color:#fff}
.soon-card{opacity:.85}.soon-card .go{color:#8b7660}
