:root{--ink:#2a2420;--muted:#6b615a;--bg:#fbf8f2;--card:#fff;--wine:#5b2333;--gold:#b08a3e;--line:#e8e0d2}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--wine)}main{max-width:720px;margin:0 auto;padding:24px 20px 48px}
.top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;max-width:960px;margin:0 auto;padding:14px 20px;border-bottom:1px solid var(--line)}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:1.05rem}.mark{color:var(--wine)}
nav a{margin-left:16px;text-decoration:none;font:15px system-ui,sans-serif;color:var(--muted)}nav a:first-child{margin-left:0}nav a:hover{color:var(--wine)}
h1{font-size:2rem;line-height:1.2;margin:.3em 0 .3em}h2{font-size:1.3rem;margin:1.8em 0 .5em}h3{font-size:1.02rem;margin:1em 0 .2em}h3 small{font-weight:400;color:var(--muted)}
.kicker{font:600 13px system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0}
.theme{font-style:italic;font-size:1.2rem;color:var(--wine);margin:.2em 0}.lede{font-size:1.1rem}
.hero{padding:28px 0 8px}.hero h1{font-size:2.3rem}
.card{display:block;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--wine);border-radius:10px;padding:20px 22px;text-decoration:none;color:inherit;margin:18px 0;box-shadow:0 1px 3px #0001}
.card h2{margin:.2em 0}.card:hover{box-shadow:0 3px 12px #0002}
.btn{display:inline-block;background:var(--wine);color:#fff;padding:9px 16px;border-radius:8px;text-decoration:none;font:600 15px system-ui,sans-serif}
.steps{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none;font:13px system-ui,sans-serif}.steps li{background:#f1e9da;padding:4px 10px;border-radius:99px}
.n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--wine);color:#fff;font:700 14px system-ui,sans-serif;margin-right:6px;vertical-align:2px}
.readings{list-style:none;padding:0}.readings li{padding:6px 0;border-bottom:1px dashed var(--line)}.readings span{display:inline-block;min-width:170px;color:var(--muted);font:14px system-ui,sans-serif}
.ctx p{margin:.2em 0 .8em}.ccc li{margin:.4em 0}
.prayer{background:#f5eee1;border-radius:10px;padding:4px 22px 14px}.prayer p{margin:.5em 0}.hint{font-style:italic;color:var(--muted)}
.day{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}.day summary{cursor:pointer}.day b{color:var(--wine);margin-right:6px}
.refs{font:14px system-ui,sans-serif;color:var(--muted)}
.draft{font:13px system-ui,sans-serif;color:#7a5a12;background:#fff6dc;border:1px solid #f0dc9c;border-radius:6px;padding:4px 10px;display:inline-block}
.sponsor{border:1px dashed var(--gold);border-radius:10px;padding:10px 16px;margin:28px 0;font-size:.95rem;color:var(--muted)}.sponsor .lbl{font:600 11px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.sponsor p{margin:.2em 0}
.signup{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin:28px 0}.signup label{font-weight:700;display:block;margin-bottom:8px}
.row{display:flex;gap:8px;flex-wrap:wrap}.row input[type=email]{flex:1 1 220px;padding:10px 12px;font-size:16px;border:1px solid #cfc4b2;border-radius:8px}
button{background:var(--wine);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:600 15px system-ui,sans-serif;cursor:pointer}
.hp{position:absolute;left:-9999px}.msg{margin:.5em 0 0;font:15px system-ui,sans-serif}.fine{font:13px system-ui,sans-serif;color:var(--muted);margin:.4em 0 0}
.upcoming{list-style:none;padding:0}.upcoming li{padding:7px 0;border-bottom:1px solid var(--line)}.upcoming .d{display:inline-block;width:64px;font:600 14px system-ui,sans-serif;color:var(--gold)}.sm{font:13px system-ui,sans-serif;margin-left:8px;color:var(--muted)}
.tool{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{background:#efe7d8;color:var(--ink)}.tabs button.on{background:var(--wine);color:#fff}
.tool label{display:block;font:600 14px system-ui,sans-serif;margin:10px 0 4px}.tool select,.tool input{width:100%;padding:10px;font-size:16px;border:1px solid #cfc4b2;border-radius:8px;background:#fff}
.out{margin-top:14px}.out li{margin:.35em 0}.out .meta{font:14px system-ui,sans-serif;color:var(--muted)}
footer{max-width:720px;margin:0 auto;padding:20px;border-top:1px solid var(--line);font:13px/1.5 system-ui,sans-serif;color:var(--muted)}
@media(max-width:520px){h1,.hero h1{font-size:1.65rem}.readings span{display:block}nav a{margin-left:12px}}
.journal .q{margin-bottom:.3rem}.journal .lines{height:6.4rem;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.6rem - 1px),#c9bfae calc(1.6rem - 1px),#c9bfae 1.6rem);margin:0 0 1.2rem}
.study h3{margin-top:1.4rem}
@media print{header.top,nav,footer,.sponsor,.signup,.btn{display:none!important}details.day{display:block}details.day>*{display:block}.journal .lines{height:9.6rem}}
.hero .sub{font-style:italic;font-size:1.1rem}blockquote.father{border-left:4px solid #5b2333;margin:1rem 0;padding:.4rem 1rem;background:#f8f2e6}blockquote.father cite{display:block;font-size:.9rem;margin-top:.3rem}.season h2{border-bottom:1px solid #c9bfae}
.callout{border:1px solid #c9bfae;border-left:5px solid #5b2333;background:#f8f2e6;padding:.7rem 1rem;margin:.6rem 0 1rem;border-radius:4px;font-style:italic}.callout p{margin:0}.callout cite{display:block;font-style:normal;font-size:.85rem;margin-top:.35rem}
@media print{.callout{background:none;border:1px solid #888;border-left:4px solid #333;break-inside:avoid}.callout a{color:#000;text-decoration:none}}
.youcat{font-size:.85em;color:#6b6259;margin-top:.4rem}
/* ===== Devotional book theme ===== */
:root{--ink:#2b211b;--muted:#6e5f52;--bg:#f4ecdc;--card:#fbf6ea;--wine:#6b1f2a;--gold:#9c7a3c;--line:#d9ccb2}
body{background:var(--bg) radial-gradient(ellipse at top,#fbf5e8 0,#f4ecdc 55%,#ece0c9 100%) fixed;font:19px/1.7 "EB Garamond",Georgia,"Iowan Old Style",serif;color:var(--ink)}
main{max-width:740px;padding:28px 24px 56px}
h1,h2,.brand{font-family:"Cormorant Garamond","EB Garamond",Georgia,serif;font-weight:400;letter-spacing:.02em;color:var(--wine)}
h1{font-size:2.3rem;text-align:center}h2{font-size:1.65rem;text-align:center;margin:.6em 0 .6em}
h3{font-family:"EB Garamond",Georgia,serif;font-weight:600;font-size:1.12rem;font-variant:small-caps;letter-spacing:.04em;color:#4a2a22}
.hero{text-align:center}.hero h1{font-size:2.7rem;margin-bottom:.2em}.hero .sub{font-style:italic;font-size:1.12rem;color:var(--muted);max-width:620px;margin:0 auto .6em}
.byline{font-variant:small-caps;letter-spacing:.05em;color:var(--gold);margin:.3em 0 1.2em}
.kicker{text-align:center;font-family:"EB Garamond",serif;font-size:14px;letter-spacing:.18em}
.theme{text-align:center}
.top{background:#efe4cd;border-bottom:1px solid var(--line);max-width:none}
.top>*{max-width:960px}nav a{font-family:"EB Garamond",serif;font-size:17px;font-variant:small-caps;letter-spacing:.05em}
.woodcut{margin:22px auto 26px;text-align:center}
.woodcut img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;mix-blend-mode:multiply;filter:sepia(.35) contrast(1.05);border:1px solid #b9a582;outline:4px double #b9a582;outline-offset:5px;background:#f7efdd}
.woodcut figcaption{font-size:.85rem;font-style:italic;color:var(--muted);margin-top:14px}.woodcut figcaption a{color:inherit}
.orn{height:28px;margin:34px auto 6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 28'%3E%3Cg fill='none' stroke='%239c7a3c' stroke-width='1.3'%3E%3Cpath d='M10 14h80M150 14h80'/%3E%3Cpath d='M90 14c8-10 18-10 22 0c-4 10-14 10-22 0zM150 14c-8-10-18-10-22 0c4 10 14 10 22 0z'/%3E%3C/g%3E%3Cpath fill='%236b1f2a' d='M117 6h6v6h6v4h-6v8h-6v-8h-6v-4h6z'/%3E%3Ccircle cx='10' cy='14' r='2' fill='%239c7a3c'/%3E%3Ccircle cx='230' cy='14' r='2' fill='%239c7a3c'/%3E%3C/svg%3E") center/240px 28px no-repeat}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{float:left;font-family:"Cormorant Garamond",Georgia,serif;font-size:3.6em;line-height:.82;padding:.06em .1em 0 0;color:var(--wine)}
.study section p{text-align:justify;hyphens:auto}
.callout{background:transparent;border:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;font-style:italic;font-size:1.12rem;padding:14px 18px}
.card,.prayer,.day,.signup{background:var(--card);border-color:var(--line)}
.prayer{border:1px solid var(--line)}
.btn{background:var(--wine);font-family:"EB Garamond",serif;font-size:16px;letter-spacing:.04em}
footer{border-top:1px solid var(--line);background:#efe4cd}
.credits li{margin:.6em 0}
@media (max-width:600px){body{font-size:18px}h1{font-size:1.9rem}.hero h1{font-size:2.1rem}h2{font-size:1.4rem}.study section p{text-align:left}.woodcut img{outline-offset:3px}main{padding:18px 16px 40px}}
@media print{body{background:#fff}.woodcut img{mix-blend-mode:normal;filter:none;max-height:4in;outline:none}.orn{margin:12px auto}.top,footer,.signup,.sponsor{display:none}}
.woodcut img{display:inline-block;width:auto;max-width:100%;max-height:560px;object-fit:initial;background:none}
h1,h2,.brand{font-weight:600;letter-spacing:.01em}h1{font-size:2.5rem}.hero h1{font-size:2.9rem}h2{font-size:1.8rem}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{font-weight:600}
@media (max-width:600px){h1{font-size:2rem}.hero h1{font-size:2.3rem}h2{font-size:1.55rem}}
/* ===== Trad-modern theme v3 ===== */
:root{--night:#0f0d10;--ox:#3a1118;--gold:#c9a35a;--gold-d:#8a6a2e;--cream:#f7f1e6;--ink:#1f1a17;--muted:#5f554c;--line:#e2d6c0;--wine:#7a1f2b;--card:#fffaf1}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font:19px/1.72 "EB Garamond",Georgia,serif;-webkit-font-smoothing:antialiased}
main{max-width:720px;padding:0 22px 72px}
h1,h2,.brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:.005em;font-variant:normal}
h1{font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1.08;text-align:center;margin:.15em 0}
h2{font-size:clamp(1.6rem,3.6vw,2.1rem);color:var(--ox);text-align:center;margin:.3em 0 .8em}
h3{font:600 .82rem/1.4 "EB Garamond",serif;font-variant:normal;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-d);margin:1.8em 0 .4em}
h3 small{letter-spacing:.08em;color:var(--muted)}
a{color:var(--wine);text-underline-offset:3px;text-decoration-thickness:1px}
.top{position:sticky;top:0;z-index:5;background:rgba(15,13,16,.92);backdrop-filter:blur(8px);border:0;padding:12px 22px;max-width:none}
.brand{color:#f3e9d6;font-size:1.15rem;letter-spacing:.02em}.mark{color:var(--gold);margin-right:4px}
nav a{color:#cfc3ad;font:500 12px/1 "EB Garamond",serif;text-transform:uppercase;letter-spacing:.18em;font-variant:normal}nav a:hover{color:var(--gold)}
.mast{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:min(78vh,640px);display:grid;place-items:end center;overflow:hidden;background:var(--night);color:#f3e9d6;text-align:center}
.mast-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.62;filter:sepia(.35) contrast(1.1)}
.mast::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,13,16,.35) 0,rgba(15,13,16,.15) 35%,rgba(15,13,16,.85) 78%,var(--night) 100%)}
.mast-in{position:relative;z-index:1;max-width:760px;padding:120px 24px 56px}
.mast h1{color:#fbf4e6;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.mast .kicker{color:var(--gold);font:600 12px/1 "EB Garamond",serif;letter-spacing:.28em;text-transform:uppercase;margin:0 0 14px}
.mast .theme{color:#e8d9b8;font-style:italic;font-size:1.3rem;margin:.4em 0 0}
.mast .sub{color:#e6dcc8;font-style:italic;font-size:1.12rem;max-width:600px;margin:0 auto .8em}
.mast .byline{color:#cdb88c;font:500 12px/1.5 "EB Garamond",serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 26px}
.rule{width:120px;height:1px;margin:18px auto;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}
.rule::after{content:"✠";position:absolute;left:50%;top:-11px;transform:translateX(-50%);background:transparent;color:var(--gold);font-size:14px;padding:0 8px}
.mast-cap{text-align:center;font-size:.78rem;font-style:italic;color:var(--muted);margin:10px 0 34px}.mast-cap a{color:inherit}
.btn{background:var(--ox);color:#fbf4e6;border-radius:999px;padding:12px 26px;font:600 13px/1 "EB Garamond",serif;letter-spacing:.18em;text-transform:uppercase;transition:background .2s}
.btn:hover{background:var(--wine)}.btn.gold{background:var(--gold);color:#1a1410}.btn.gold:hover{background:#d8b56c}
.kicker{color:var(--gold-d);letter-spacing:.24em;font-size:12px}
.lede{font-size:1.2rem;line-height:1.65}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:4em;line-height:.8;padding:.05em .1em 0 0;color:var(--ox);float:left}
.study section p{text-align:left;hyphens:manual}
.orn{height:1px;width:180px;margin:56px auto 36px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}
.orn::after{content:"✠";position:absolute;left:50%;top:-12px;transform:translateX(-50%);color:var(--gold-d);background:var(--cream);padding:0 10px;font-size:15px}
.callout{border:0;background:none;text-align:center;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.45rem;line-height:1.4;color:var(--ox);padding:8px 10px;margin:36px auto;max-width:600px}
.callout cite{display:block;font:600 12px "EB Garamond",serif;font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);margin-top:10px}
.card{background:var(--night);color:#efe6d4;border:0;border-radius:16px;padding:28px;box-shadow:0 20px 40px -20px rgba(15,13,16,.5)}
.card h2{color:#fbf4e6;text-align:left}.card .theme{color:#d9c49a;text-align:left}.card .kicker{color:var(--gold);text-align:left}.card:hover{box-shadow:0 26px 50px -20px rgba(15,13,16,.7)}
.card .btn{background:var(--gold);color:#1a1410}
.prayer{background:var(--ox);color:#f5ecdb;border:0;border-radius:16px;padding:10px 28px 22px}.prayer h2{color:#f5e6c4}.prayer .hint{color:#d7c39b}
.signup,.day{background:var(--card);border:1px solid var(--line);border-radius:16px}
.readings span{font:600 11px "EB Garamond",serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d)}
.readings li{border-bottom:1px solid var(--line)}
.upcoming li{border-color:var(--line)}
.youcat{color:var(--muted)}
footer{background:var(--night);color:#bfb39c;border:0;padding:40px 22px}footer a{color:#d9bf86}
.woodcut img{mix-blend-mode:normal;filter:sepia(.3);outline:none;border:0;border-radius:4px;box-shadow:0 18px 40px -18px rgba(0,0,0,.45)}
@media (max-width:600px){body{font-size:18px}.mast{min-height:72vh}.mast-in{padding:96px 20px 40px}nav a{margin-left:12px;letter-spacing:.12em}.top{padding:10px 16px}.callout{font-size:1.25rem}}
@media print{.top,footer,.signup,.sponsor,.btn{display:none}body{background:#fff;color:#000}.mast{width:auto;margin:0;min-height:0;background:#fff;color:#000;display:block}.mast::after{display:none}.mast-img{position:static;opacity:1;filter:none;max-height:3.5in;width:auto;margin:0 auto;display:block}.mast-in{padding:12px 0}.mast h1,.mast .theme,.mast .sub,.mast .byline{color:#000;text-shadow:none}.prayer{background:#fff;color:#000;border:1px solid #999}.prayer h2,.prayer .hint{color:#000}.card{background:#fff;color:#000}}
@media (max-width:600px){.mast{min-height:min(72vh,520px)}.top{gap:6px 12px}}
.mast-cap,.woodcut figcaption{font-size:.95rem;font-style:italic;color:var(--muted);margin:12px 0 34px;line-height:1.5}
/* legibility + centering v4 */
body{font:400 19.5px/1.65 "Source Serif 4",Georgia,serif;color:#1d1815}
html,body{overflow-x:hidden}
.mast{width:100%;margin:0}
.mast-in{margin:0 auto}
h1,h2,.brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700}
h3,.kicker,.byline,nav a,.btn,.readings span,.callout cite{font-family:"Source Serif 4",Georgia,serif;font-weight:600}
h3{font-size:.8rem;letter-spacing:.12em;color:#7a5c24}
.mast .kicker,.mast .byline{font-size:13px;letter-spacing:.16em;font-weight:600}
.mast .kicker{color:#e0bf78}.mast .byline{color:#e2cfa6}.mast .sub,.mast .theme{color:#f1e8d6;font-weight:400}
nav a{font-size:12.5px;letter-spacing:.12em;color:#e6dccb}
.brand{font-size:1.2rem}
.callout{font-family:"Source Serif 4",Georgia,serif;font-size:1.2rem;font-weight:400;line-height:1.55}
.lede{font-size:1.15rem}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{font-family:"Cormorant Garamond",serif;font-weight:700}
.mast-cap{max-width:720px;margin:12px auto 34px;padding:0 20px;text-align:center}
.woodcut{display:block;margin:28px auto;text-align:center;padding:0}.woodcut img{display:block;margin:0 auto}
.btn{font-size:13px;letter-spacing:.12em}
@media (max-width:600px){body{font-size:18.5px}}
/* light Bible-study palette v5: parchment, Marian blue, gold, liturgical green */
:root{--ink:#3a2f28;--muted:#6a5c50;--bg:#f7f0e1;--card:#fffaf0;--blue:#1f3a68;--blue-l:#e6ecf5;--gold:#b48a3c;--gold-d:#8a6a2e;--green:#8a6a2e;--green-l:#f5ecd8;--line:#e0d3b8;--wine:#1f3a68;--ox:#1f3a68;--night:#f7f0e1}
body{color:var(--ink);background:var(--bg) linear-gradient(180deg,#fbf6ea 0,#f5ecda 100%) fixed}
h1,h2{color:var(--blue)}h3{color:var(--green)}
a{color:var(--blue)}
.top{background:rgba(251,246,234,.95);border-bottom:2px solid var(--gold)}
.brand{color:var(--blue)}.mark{color:var(--gold)}
nav a{color:var(--blue)}nav a:hover{color:var(--gold-d)}
.mast{background:var(--blue-l);color:var(--ink)}
.mast-img{opacity:.38;filter:sepia(.25)}
.mast::after{background:linear-gradient(180deg,rgba(251,246,234,.15) 0,rgba(251,246,234,.35) 40%,rgba(251,246,234,.92) 75%,#f7f0e1 100%)}
.mast h1{color:var(--blue);text-shadow:0 1px 12px rgba(251,246,234,.9)}
.mast .kicker{color:var(--green)}.mast .byline{color:var(--gold-d)}.mast .sub,.mast .theme{color:#3a2f28}
.btn,button{background:var(--blue);color:#fffaf0}.btn:hover{background:#2b4c85}
.btn.gold,.card .btn{background:var(--gold);color:#2a2018}
.card{background:var(--card);color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--blue);box-shadow:0 10px 24px -16px rgba(31,58,104,.35)}
.card h2{color:var(--blue)}.card .theme{color:var(--muted)}.card .kicker{color:var(--green)}.card:hover{box-shadow:0 14px 30px -14px rgba(31,58,104,.45)}
.prayer{background:var(--blue-l);color:var(--ink);border:1px solid #c9d4e6;border-left:5px solid var(--blue)}.prayer h2{color:var(--blue)}.prayer .hint{color:var(--muted)}
.callout,blockquote.father{background:#fbf3df;border-color:var(--line);border-left-color:var(--gold)}
.n{background:var(--green)}.steps li{background:var(--green-l)}
.youcat{color:var(--muted)}
footer{background:#ece2cc;color:var(--ink);border-top:2px solid var(--gold)}footer a{color:var(--blue)}
.woodcut img{box-shadow:0 12px 28px -18px rgba(58,47,40,.45)}
/* burgundy titles v6 */
:root{--burg:#7a1f2b}
h1,h2,.brand,.mast h1,.card h2,.prayer h2{color:var(--burg)}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{color:var(--burg)}
.mast-img{opacity:.5}
/* noble simplicity v7: blue, gold, black ink; tints only */
:root{--ink:#1a1a1a;--muted:#555049;--bg:#fdfcf8;--card:#fff;--blue:#1f3a68;--blue-t:#eef2f8;--gold:#b48a3c;--gold-d:#8a6a2e;--gold-t:#f8f2e4;--line:#e6dcc6;--burg:#1a1a1a;--green:#8a6a2e;--green-l:#f8f2e4;--wine:#1f3a68;--ox:#1f3a68;--night:#fdfcf8}
body{color:var(--ink);background:var(--bg)}
h1,h2,.mast h1,.card h2,.prayer h2{color:var(--ink)}
.brand{color:var(--ink)}
h3,.kicker,.mast .kicker,.card .kicker{color:var(--gold-d)}
a{color:var(--blue)}
.top{background:rgba(253,252,248,.96);border-bottom:1px solid var(--gold)}
nav a{color:var(--blue)}
.mast{background:var(--blue-t)}
.mast::after{background:linear-gradient(180deg,rgba(253,252,248,.1) 0,rgba(253,252,248,.3) 40%,rgba(253,252,248,.9) 78%,#fdfcf8 100%)}
.mast h1{text-shadow:0 1px 14px rgba(253,252,248,.95)}
.mast .sub,.mast .theme{color:#2a2a2a}.mast .byline{color:var(--gold-d)}
.btn,button,.btn.gold,.card .btn{background:var(--blue-t);color:var(--blue);border:1px solid var(--blue);box-shadow:none}
.btn:hover,button:hover,.btn.gold:hover{background:#dfe7f2;color:var(--blue)}
.card{background:var(--card);color:var(--ink);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:none}
.card:hover{box-shadow:0 8px 24px -18px rgba(31,58,104,.35)}
.card .theme{color:var(--muted)}
.prayer{background:var(--blue-t);color:var(--ink);border:0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);border-radius:0}
.callout,blockquote.father{background:var(--gold-t);border:0;border-left:2px solid var(--gold)}
.callout{color:var(--blue)}
.n{background:var(--blue-t);color:var(--blue);border:1px solid var(--blue)}.steps li{background:var(--gold-t)}
.signup,.tool{background:var(--gold-t);border-color:var(--line)}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{color:var(--blue)}
footer{background:var(--gold-t);color:var(--ink);border-top:1px solid var(--gold)}footer a{color:var(--blue)}
.youcat{color:var(--muted)}
nav a{white-space:nowrap}
@media (max-width:600px){nav{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}nav::-webkit-scrollbar{display:none}nav a{font-size:11.5px;letter-spacing:.08em}}
/* fixes v8 */
.mast-img{opacity:.6}
.mast::after{background:linear-gradient(180deg,rgba(253,252,248,0) 0,rgba(253,252,248,.05) 30%,rgba(253,252,248,.55) 58%,rgba(253,252,248,.9) 82%,#fdfcf8 100%)}
.mast h1{text-shadow:0 0 18px #fdfcf8,0 0 6px #fdfcf8}
.mast .sub,.mast .theme,.mast .byline,.mast .kicker{text-shadow:0 0 10px #fdfcf8,0 0 4px #fdfcf8}
.btn{white-space:nowrap;max-width:100%}
@media (max-width:600px){
.top{flex-direction:column;align-items:center;gap:4px;padding:8px 10px}
nav{display:flex;justify-content:center;gap:10px;overflow:visible;flex-wrap:nowrap}
nav a{margin:0;font-size:10.5px;letter-spacing:.05em}
.btn{padding:11px 16px;letter-spacing:.06em;font-size:12px}
}
@media (max-width:370px){nav{gap:8px}nav a{font-size:10px;letter-spacing:.03em}}
.mast-img{opacity:.85;filter:sepia(.15) contrast(1.15)}
@media (min-width:601px){body.home .mast-img,.mast-img[src*="Sea"],.mast-img[src*="sea"],.mast-img[src*="galilee"],.mast-img[src*="Galilee"]{object-position:center 85%}}
@media (min-width:601px){.mast-img[src*="/img/home"]{object-position:center 60%}}
.callout{padding:1.75rem 2.25rem}.callout cite{margin-top:.9rem}
@media (max-width:600px){.callout{padding:1.25rem 1.5rem}.callout cite{margin-top:.75rem}}
/* quote box padding v2 (all widths, wins over earlier rules) */
.study .callout,.callout,blockquote.father{padding:2.25rem 3rem;box-sizing:border-box}
.callout cite,blockquote.father cite{margin-top:1rem}
@media (max-width:600px){.study .callout,.callout,blockquote.father{padding:1.25rem 1.5rem}.callout cite{margin-top:.75rem}}
/* plain home hero v9 */
.mast-plain{min-height:0;background:#fdfcf8;display:block;border-bottom:0}
.mast-plain::after{display:none}
.mast-plain .mast-in{padding:88px 24px 40px}
.mast-plain h1,.mast-plain .sub,.mast-plain .theme,.mast-plain .byline,.mast-plain .kicker{text-shadow:none}
.home-art{margin:8px auto 40px;padding:0 20px;text-align:center;max-width:760px}
.home-art img{display:block;margin:0 auto;width:477px;max-width:100%;height:auto;opacity:1;filter:none;mix-blend-mode:normal;border:1px solid var(--gold);padding:6px;background:#fff;box-shadow:none;border-radius:0}
.home-art figcaption.mast-cap{margin:14px auto 0;padding:0}
@media (max-width:600px){.mast-plain .mast-in{padding:48px 20px 28px}.home-art{padding:0 16px}}
.mast-cap,.woodcut figcaption,h1,h2{text-wrap:balance}
/* framed art v10 */
.home-art img{width:auto;max-width:100%;border:1px solid #b48a3c;outline:1px solid rgba(180,138,60,.35);outline-offset:3px;padding:8px;background:#fff}
@media (max-width:600px){.home-art img{padding:5px}}
.woodcut img{border:1px solid #b48a3c;padding:8px;background:#fff;outline:none}
/* drop cap tighten v11 */
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{float:left;font-size:3.3em;line-height:.78;padding:.06em .08em 0 0;margin:0 .04em 0 -.02em}
/* quote boxes v12 */
.callout,.study .callout,blockquote.father{border:0;border-left:0;border-radius:12px;box-shadow:0 4px 18px rgba(31,58,104,.10);background:var(--gold-t)}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{padding:.06em .05em 0 0;margin:0 -.01em 0 -.02em}
.mast .kicker{text-wrap:balance}
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{padding-right:.06em;margin-right:.03em}
/* reference lines v13 */
.refline{font-family:"Source Serif 4",Georgia,serif;font-size:.85em;font-weight:400;font-style:normal;color:#6a6258;line-height:1.5;letter-spacing:0;margin:.2rem 0 0}
.refline+.refline{margin-top:.1rem}
.refline+h3,.refline+p:not(.refline){margin-top:1.4rem}
.refline a{color:inherit;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:rgba(106,98,88,.45)}
.refline a{white-space:nowrap}
/* reference panel v14 */
.refs{margin:1.2rem 0 1.8rem;padding:.9rem 1.25rem;background:#f9f6ee;border-top:1px solid rgba(180,138,60,.55);border-bottom:1px solid rgba(180,138,60,.55);font-family:"Source Serif 4",Georgia,serif;font-size:.92em;line-height:1.5}
.refrow{display:grid;grid-template-columns:7.5rem 1fr;gap:.2rem 1rem;align-items:baseline;padding:.35rem 0}
.refrow+.refrow{border-top:1px solid rgba(180,138,60,.22)}
.reflabel{font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a6a2e}
.refs ul{list-style:none;margin:0;padding:0}
.refs li{margin:0;padding:.08rem 0}
.refs .num,.refs .num a{color:#1f3a68;font-weight:600;font-variant-numeric:lining-nums;white-space:nowrap}
.refs .num a{text-decoration:none;border-bottom:1px solid rgba(31,58,104,.25)}
.refs .num a:hover{border-bottom-color:#1f3a68}
.refs .sep{color:#b48a3c;margin:0 .5em}
.refs .topic{color:#3a3530}
@media (max-width:600px){.refs{padding:.8rem 1rem}.refrow{grid-template-columns:1fr;gap:.15rem}}
.refs .num{white-space:normal}.refs .num a{white-space:nowrap}
.refs{border-top:1px solid #cfae6e;border-bottom:1px solid #cfae6e;border-radius:0}
.refrow+.refrow{border-top:1px solid #ece0c4}
.refs li{padding-left:1.1em;text-indent:-1.1em}
.refs .num,.refs .num a{font-weight:400}
.refs .num a{border-bottom-color:rgba(31,58,104,.3)}
/* small caps legibility v15 */
nav a{font-size:14px;letter-spacing:.1em}
.kicker,.mast .kicker,.card .kicker,.mast .byline,.byline{font-size:14px;letter-spacing:.12em}
.btn,.card .btn,a.btn,span.btn{font-size:14px;letter-spacing:.1em}
.callout cite{font-size:14px;letter-spacing:.12em}
.readings span{font-size:14px;letter-spacing:.1em}
h3{font-size:14.5px;letter-spacing:.1em}
h3 small{font-size:13px;letter-spacing:.06em;color:#5f554b}
.reflabel{font-size:14px;letter-spacing:.12em}
.lbl{font-size:14px;letter-spacing:.1em;color:#8a6a2e}
@media (max-width:600px){
nav{gap:14px}nav a{font-size:14px;letter-spacing:.02em;text-transform:none}
.kicker,.mast .kicker,.card .kicker,.mast .byline,.byline,.callout cite,.readings span,.reflabel,.lbl{font-size:13px;letter-spacing:.1em}
.btn,.card .btn,a.btn,span.btn{font-size:13px;letter-spacing:.08em;padding:11px 14px}
h3{font-size:13.5px;letter-spacing:.09em}h3 small{font-size:13px}
}
@media (max-width:370px){nav{gap:11px}nav a{font-size:13.5px}}
.sponsor .lbl{font-size:14px;letter-spacing:.1em;color:#8a6a2e}
@media (max-width:600px){.sponsor .lbl{font-size:13px}}
/* label layout v16 */
.readings li{display:grid;grid-template-columns:13.5rem 1fr;column-gap:1rem;align-items:baseline;padding:.55rem 0}
.readings span{display:block;min-width:0;white-space:nowrap}
.kicker{margin-bottom:.6rem}.mast .kicker{margin-bottom:.7rem}
h3{margin-top:1.4em;margin-bottom:.45em;line-height:1.4}
.callout cite{margin-top:1rem;line-height:1.4}
.refrow{grid-template-columns:8.5rem 1fr;column-gap:1rem}
.sponsor .lbl{display:inline-block;margin-right:.6rem}
@media (max-width:720px){.readings li{grid-template-columns:1fr;row-gap:.15rem}.refrow{grid-template-columns:1fr;row-gap:.25rem}}
/* vertical rhythm v17 */
body{line-height:1.7}
p{margin:0 0 1.1em}
.orn{margin:4.5rem auto 2.75rem}.orn::after{background:var(--bg)}
section > h2:first-child,section > h2{margin:0 0 1.4rem}
h2{margin-top:2.2em;margin-bottom:.9em}
section h3{margin-top:1.9rem;margin-bottom:.5rem}
#catechesis p{margin-bottom:1.2em}
.journal ol{padding-left:1.4rem}.journal li{margin-bottom:1.4rem}.journal .q{margin-bottom:.5rem}
.readings{margin:1rem 0 1.6rem}
.readings li{padding:.7rem 0}
.home-art{margin:2.25rem auto 3rem}
.callout{margin:2.5rem auto}
.refs{margin:1.5rem 0 2.25rem}
.prayer{margin:1rem 0 2.5rem;padding:1.6rem 2rem 1.4rem}
.card{margin:2.25rem 0}
.signup,.sponsor{margin:2.5rem 0}
.lede{margin-bottom:1.4em}
@media (max-width:600px){.orn{margin:3rem auto 2rem}.home-art{margin:1.75rem auto 2.25rem}.callout{margin:2rem auto}.card{margin:1.75rem 0}.prayer{padding:1.3rem 1.25rem 1.1rem}section h3{margin-top:1.6rem}}
#readings .btn,.readings+p .btn,.readings+.btn{margin-bottom:1.75rem}a.btn[href*="usccb"]{margin-bottom:1.75rem}
/* readings stacked v18 */
.readings{margin:1.25rem 0 0;padding:0}
.readings li{display:block;padding:1.1rem 0;border-bottom:1px solid #eadfc6}
.readings li:first-child{padding-top:.4rem}
.readings li:last-child{border-bottom:0}
.readings span{display:block;margin:0 0 .3rem;white-space:normal}
a.btn[href*="usccb"]{margin-top:2rem;margin-bottom:2.25rem}
#readings h3,section h3{margin-top:2rem}
@media (max-width:600px){.readings li{padding:1rem 0}}
/* airy rows v19 */
.refs{padding:1.1rem 1.4rem}
.refrow{grid-template-columns:1fr;row-gap:.45rem;padding:.9rem 0}
.refrow:first-child{padding-top:.2rem}.refrow:last-child{padding-bottom:.2rem}
.refs li{padding:.3rem 0 .3rem 1.1em}
#catechesis h3,#history h3,#reflection h3{margin:2.1rem 0 .4rem}
#catechesis p,#history p,#reflection p{margin-bottom:1.35em}
.journal ol{padding-left:1.6rem;margin:0}
.journal li{margin:0;padding:1.6rem 0 1.4rem;border-bottom:1px solid #eadfc6}
.journal li:first-child{padding-top:.4rem}.journal li:last-child{border-bottom:0}
.journal .q{margin-bottom:.8rem}
.prayer{padding:2rem 2.25rem 1.75rem}.prayer h2{margin-bottom:1rem}.prayer p{line-height:1.8}
.upcoming{list-style:none;padding:0;margin:1rem 0 2rem}
.upcoming li{padding:.95rem 0;border-bottom:1px solid #eadfc6;line-height:1.5}
.upcoming li:last-child{border-bottom:0}
.upcoming .d{display:inline-block;min-width:4.5rem}
.upcoming .sm{margin-left:.5rem;white-space:nowrap}
.season h2{border-bottom:0;margin-top:2.6rem}
@media (max-width:600px){.prayer{padding:1.6rem 1.4rem 1.4rem}.journal li{padding:1.4rem 0 1.2rem}.upcoming .d{display:block;min-width:0;margin-bottom:.15rem}}
.season{margin:0 0 2.5rem}.season h2{margin:2.75rem 0 .9rem}.season p{color:var(--muted);font-style:italic;margin:0 0 .5rem}
.upcoming+p{margin-top:1.25rem;font-size:.9rem;color:var(--muted)}
main > h2{margin-top:3.25rem}
.season p{text-align:center;font-family:"Source Serif 4",Georgia,serif;font-size:1rem}
/* drop caps v20 */
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{float:left;font-size:3.05em;line-height:.8;padding:.09em .07em 0 0;margin:0}
@supports ((initial-letter:2) or (-webkit-initial-letter:2)){
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;-webkit-initial-letter:2;initial-letter:2;margin-right:.09em}
}
/* heading gaps v21 */
section > h2,.prayer h2,.journal h2{margin:0 0 .75rem}
.prayer{padding-top:1.6rem}.prayer > :first-child{margin-top:0}
.prayer h2 + p{margin-top:0}
#readings > h2,#history > h2,#reflection > h2,#catechesis > h2,#journal > h2{margin-bottom:1rem}
/* drop cap gap v22 (~7px) */
.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{padding-right:.12em}
@supports ((initial-letter:2) or (-webkit-initial-letter:2)){.study .lede::first-letter,.study #reflection>p:first-of-type::first-letter,.study #history>p:first-of-type::first-letter{padding-right:0;margin-right:.36em}}
/* optical A v23: pull first line in toward A apex */
.study .dc-A .dcpull{margin-left:-.22em}
/* key takeaways v24 */
#takeaways > h2{margin-bottom:1rem}
.takeaways ol{list-style:none;counter-reset:kt;padding:0;margin:0}
.takeaways li{counter-increment:kt;position:relative;padding:1.1rem 0 1.1rem 2.4rem;border-bottom:1px solid #eadfc6;line-height:1.6}
.takeaways li:first-child{padding-top:.4rem}.takeaways li:last-child{border-bottom:0}
.takeaways li::before{content:counter(kt);position:absolute;left:0;top:1.1rem;font-variant:small-caps;font-weight:600;color:#8a6a2e;font-size:1.05rem;line-height:1.6rem;width:1.6rem;text-align:center;border-right:1px solid #e3d3ae}
.takeaways li:first-child::before{top:.4rem}
@media (max-width:600px){.takeaways li{padding:1rem 0 1rem 2.1rem}.takeaways li::before{top:1rem}}
/* test your knowledge v25 */
#quiz > h2{margin-bottom:.5rem}
.quiz .quiz-note{font-style:italic;color:#5a5348;margin:0 0 1rem;text-align:center}
.quiz ol{list-style:none;counter-reset:qz;padding:0;margin:0}
.quiz ol>li{counter-increment:qz;position:relative;padding:1rem 0 1rem 2.4rem;border-bottom:1px solid #eadfc6;display:flex;gap:1.2rem;align-items:baseline;justify-content:space-between}
.quiz ol>li:first-child{padding-top:.4rem}
.quiz ol>li::before{content:counter(qz);position:absolute;left:0;font-weight:600;color:#8a6a2e;font-size:1.05rem;width:1.6rem;text-align:center;border-right:1px solid #e3d3ae;line-height:1.6rem}
.quiz ol>li p{margin:0;line-height:1.6;flex:1}
.quiz .tf{flex:none;display:flex;gap:.5rem;white-space:nowrap}
.quiz .tf span{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#8a6a2e;border:1px solid #d9c49a;border-radius:999px;padding:.1rem .6rem}
.quiz .answers{margin:1.4rem 0 .4rem;font-size:14px;color:#6b6458;letter-spacing:.02em}
.quiz .answers b{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#8a6a2e;margin-right:.4rem}
.quiz .corrections{list-style:none;padding:0;margin:0;font-size:14px;color:#6b6458;line-height:1.5}
.quiz .corrections li{margin:.2rem 0}.quiz .corrections b{color:#8a6a2e;font-weight:600}
@media (max-width:600px){.quiz ol>li{flex-direction:column;gap:.5rem;padding:1rem 0 1rem 2.1rem}.quiz .tf span{font-size:13px}.quiz .answers,.quiz .answers b,.quiz .corrections{font-size:13px}}
/* quiz radios v26 */
.quiz .tf label{position:relative;cursor:pointer}
.quiz .tf input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.quiz .tf label span{display:inline-block;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#8a6a2e;border:1px solid #d9c49a;border-radius:999px;padding:.2rem .75rem;transition:background .15s,border-color .15s}
.quiz .tf label:hover span{border-color:#b48a3c}
.quiz .tf input:checked+span{background:#e6ecf5;border-color:#1f3a68;color:#1f3a68}
.quiz .tf input:focus-visible+span{outline:2px solid #1f3a68;outline-offset:2px}
.quiz .answers{line-height:1.6}
@media (max-width:600px){.quiz .tf label span{font-size:13px;padding:.3rem .9rem}}
@media print{.quiz .tf label span{border:0;padding:0 .6rem 0 0;color:#1a1a1a;background:none!important}.quiz .tf label span::before{content:"\2610\00a0"}}
/* quiz feedback v27 */
.quiz ol>li{display:block}
.quiz .qrow{display:flex;gap:1.2rem;align-items:baseline;justify-content:space-between}
.quiz .qrow p{margin:0;line-height:1.6;flex:1}
.quiz .expl{display:none;margin:.5rem 0 0;font-size:14px;color:#6b6458;line-height:1.5}
.quiz.live li.done .expl{display:block}
.quiz li.done label{cursor:default}
.quiz li.done label span{background:#f1efeb;border-color:#d6d2cb;color:#9a948a;opacity:.75}
.quiz li[data-correct=T].done label:has(input[value=T]) span,.quiz li[data-correct=F].done label:has(input[value=F]) span{background:#f6ecd6;border-color:#b48a3c;color:#7a5c22;opacity:1}
.quiz li[data-correct=T].done label:has(input[value=T]) span::after,.quiz li[data-correct=F].done label:has(input[value=F]) span::after{content:" \2713";letter-spacing:0}
.quiz li.wrong label:has(input:checked) span::after{content:" \2715";letter-spacing:0}
.quiz li.done input:checked+span{box-shadow:0 0 0 2px #fdfbf7,0 0 0 3px currentColor}
.quiz .score{display:none;margin:1.4rem 0 0;text-align:center;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:#1f3a68;font-weight:600}
.quiz .score.show{display:block}
@media (max-width:600px){.quiz .qrow{flex-direction:column;gap:.5rem}.quiz .expl{font-size:13px}}
@media print{.quiz .expl,.quiz .score{display:none!important}.quiz li.done label span{background:none!important;color:#1a1a1a;opacity:1;box-shadow:none}.quiz li.done label span::after{content:none!important}}
.quiz li.wrong .tf input:checked+span{background:#e4e1dc;border-color:#9a948a;color:#5f5a52;opacity:.9;box-shadow:none}
.quiz li.right .tf input:checked+span{box-shadow:none}
.quiz li.done .tf label span{transition:none}
/* answers small v28 */
.quiz .answers{display:block!important;font-size:.8em;color:#6b6458;line-height:1.5;margin:1.2rem 0 0;padding-top:.9rem;border-top:1px solid #e3d3ae;letter-spacing:0}
.quiz .answers b{font-size:1em;letter-spacing:.1em}
@media (max-width:600px){.quiz .answers,.quiz .answers b{font-size:.8em}.quiz .answers b{font-size:1em}}
@media print{.quiz .answers{display:block!important}}
.quiz ol>li:last-child{border-bottom:0}
/* prayer heading gap v29 */
.prayer h2{line-height:1.1;margin:0 0 -.4rem}
.prayer h2 + p{margin-top:0}
section.prayer > h2,section.prayer > h2:first-child{line-height:1.1;margin:0 0 -.3rem}
section.prayer > h2,section.prayer > h2:first-child{line-height:1.1;margin:0 0 1.5rem}
section.prayer > h2,section.prayer > h2:first-child{line-height:1.1;margin:0 0 .45rem}
section.prayer > p{line-height:1.7}
section.prayer > h2,section.prayer > h2:first-child{line-height:1.1;margin:0 0 .5rem}
/* prayer italic v30 */
section.prayer > p{font-style:italic;line-height:1.7}
section.prayer > h2{font-style:normal}
/* contents liturgical divisions v31 */
.lityear{margin:3.5rem 0 1rem}
.lityear h2.yr{text-align:center;font:600 15px/1.4 "Source Serif 4",Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue,#1f3a68);margin:0 0 .5rem;padding:0 0 1.1rem;border-bottom:1px solid #b48a3c}
.lityear h2.yr span{color:#8a6a2e}
.lityear .season{margin:0 0 2.25rem}
.lityear .season h3{text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.65rem;color:#1a1a1a;margin:2.6rem 0 .3rem;letter-spacing:.01em}
.lityear .season p.sdates{text-align:center;font:600 14px/1.5 "Source Serif 4",Georgia,serif;font-style:normal;font-variant:small-caps;letter-spacing:.06em;text-transform:lowercase;color:#8a6a2e;margin:0 0 1rem}
.lityear .season p.soon{text-align:center;font-style:italic;color:var(--muted)}
@media (max-width:600px){.lityear h2.yr{font-size:14px}.lityear .season h3{font-size:1.45rem}.lityear .season p.sdates{font-size:13px}}
.upcoming li.ssn{border-bottom:1px solid #b48a3c;padding:1.9rem 0 .45rem;font:600 14px/1.4 "Source Serif 4",Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6a2e}
.upcoming li.ssn:first-child{padding-top:.4rem}
@media (max-width:600px){.upcoming li.ssn{font-size:13px}}
/* per-study silent clip v32 */
figure.clip{margin:.5rem auto 2rem;padding:6px;border:1px solid #b48a3c;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(26,26,26,.08);max-width:100%;line-height:0}
figure.clip video{display:block;width:100%;height:auto;border-radius:6px;background:#eee}
.rnote{font-size:.9rem;color:var(--muted);font-style:italic;margin:.6rem 0 1.4rem;line-height:1.6}

.homeyr{margin:0 0 2.5rem}.homeyr h2.yr small{display:block;font:600 13px/1.4 "Source Serif 4",Georgia,serif;letter-spacing:.16em;color:#8a6a2e;margin-top:.2rem}
/* season spacing v32 */
.lityear{margin:5rem 0 1rem}
.lityear .season{margin:0}
.lityear .season h3{margin:4rem 0 .3rem}
.lityear .season:first-of-type h3{margin-top:2.75rem}
.upcoming li.ssn{padding:3.75rem 0 .45rem}
.upcoming li.ssn:first-child{padding-top:.4rem}
.homeyr{margin:0 0 4rem}
@media (max-width:600px){.lityear{margin-top:4rem}.lityear .season h3{margin-top:2.75rem}.lityear .season:first-of-type h3{margin-top:2.25rem}.upcoming li.ssn{padding-top:2.75rem}.upcoming li.ssn:first-child{padding-top:.4rem}.homeyr{margin-bottom:3rem}}
.lityear .season p.sdates{color:#1a1a1a}
/* fine-book polish v40 */
body{background:#fdfcf8;text-rendering:optimizeLegibility;font-kerning:normal}
.top{padding:20px 40px;background:rgba(253,252,248,.97);border-bottom:1px solid rgba(180,138,60,.55);box-shadow:0 1px 0 rgba(180,138,60,.18),0 4px 0 -3px rgba(180,138,60,.0)}
.top .brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:1.3rem;letter-spacing:.02em;color:#1a1a1a}
.top .brand .mark{color:#b48a3c;margin-right:.25em}
nav a{font-family:"Source Serif 4",Georgia,serif;font-size:14px;font-weight:600;font-variant:normal;text-transform:uppercase;letter-spacing:.16em;color:#1f3a68;margin-left:1.6rem;text-decoration:none}
nav a:hover{color:#8a6a2e}
.mast-plain .mast-in{padding-top:4.5rem;padding-bottom:1.5rem}
h1{font-weight:600;letter-spacing:.005em;line-height:1.06}
.home-art{margin:3rem auto 4rem;max-width:760px}
.home-art img{border:1px solid #b48a3c;outline:none;padding:14px;background:#fff;box-shadow:0 22px 44px -30px rgba(26,26,26,.45)}
.home-art figcaption.mast-cap{margin:1.25rem auto 0;font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-size:15px;letter-spacing:.02em;color:#555049}
section h2,.study h2{margin-top:.2em;letter-spacing:.01em}
footer{background:#fdfcf8;border-top:1px solid rgba(180,138,60,.55);text-align:center;padding:3.5rem 24px 4rem;font-family:"Source Serif 4",Georgia,serif;font-size:14px;line-height:1.8;color:#555049;max-width:none}
footer p{max-width:620px;margin:0 auto .6rem}
footer::before{content:"\2720";display:block;color:#b48a3c;font-size:18px;margin-bottom:1rem}
@media (max-width:600px){.top{padding:14px 18px}.top .brand{font-size:1.15rem}nav a{margin-left:0;margin-right:1.1rem;letter-spacing:.12em}.home-art{margin:2rem auto 2.75rem}.home-art img{padding:7px}.mast-plain .mast-in{padding-top:2.75rem}footer{padding:2.5rem 18px 3rem}}
@media (max-width:600px){.top{flex-direction:column;align-items:center;gap:8px;padding:14px 12px}.top .brand{text-align:center}.top nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;width:100%}nav a{margin:0;font-size:14px;letter-spacing:.07em}}
.upcoming .d,.upcoming .sm,.signup,.signup *,.signup input,.signup button,.fine{font-family:"Source Serif 4",Georgia,serif}
.upcoming .d{font-size:14px;font-weight:600;letter-spacing:.04em;color:#8a6a2e}
.upcoming .sm{font-size:14px;color:#555049;text-decoration-color:rgba(180,138,60,.6);text-underline-offset:3px}
.upcoming li{padding-top:.85rem;padding-bottom:.85rem}
.signup{border-radius:2px;border:1px solid rgba(180,138,60,.45);background:#f8f2e4}
.card{border-radius:2px}

@media (max-width:600px){main>h1:first-child,.contents h1,body>main>h1{margin-top:2.75rem}}

/* step drop cap v44 */
#history>p:first-of-type{margin-top:0}

/* navy titles v45 */
h1,main h1,.mast h1,.study h1,main>h1:first-child{color:#1f3a68}

/* ===== type scale v46 (Terra-approved, measured against wordonfire.org) =====
   Floor 13px everywhere. Uppercase: chips/small links 13.5, kickers 14.5,
   dates/buttons 14, nav 15 (13.5 mobile), tracking .14-.16em.
   Card/secondary 17.5, footer 17.5, body 18-19.5, captions 15.5. */
html body header.top nav a{font-size:15px;letter-spacing:.15em}
html body .kicker,html body .mast .kicker,html body .card .kicker,html body .mast .byline,html body .byline,
html body .callout cite,html body .ctx h3,html body .study section h3{font-size:14.5px;letter-spacing:.15em}
html body .btn,html body a.btn,html body span.btn,html body .card .btn,html body .mast .btn{font-size:14px;letter-spacing:.14em}
html body .signup button{font-size:14px;letter-spacing:.14em;text-transform:uppercase}
html body .readings span,html body .reflabel,html body .lbl,html body .sponsor .lbl,html body .upcoming li.ssn,
html body .quiz label span,html body .quiz .answers b{font-size:13.5px;letter-spacing:.15em}
html body h3 small{font-size:13.5px;letter-spacing:.1em}
html body .upcoming .d,html body h2.yr small{font-size:14px;letter-spacing:.06em}
html body .lityear h2.yr,html body .lityear h2.yr span{font-size:15px;letter-spacing:.15em}
html body .lityear .season p.sdates{font-size:15px;letter-spacing:.06em}
html body .upcoming a.sm{font-size:15px}
html body .upcoming small{font-size:16.5px}
html body .refrow,html body .refrow li,html body .refrow .topic,html body .refrow .num,html body .refrow .sep{font-size:17.5px}
html body .card p:not(.kicker):not(.theme){font-size:17.5px}
html body .sponsor p{font-size:17.5px}
html body .quiz .answers{font-size:16.5px;letter-spacing:0}
html body .fine,html body p.fine,html body p.fine a{font-size:15px}
html body footer,html body footer p,html body footer a{font-size:17.5px;line-height:1.7}
html body .mast-cap,html body figcaption.mast-cap,html body .home-art figcaption.mast-cap,html body .woodcut figcaption{font-size:15.5px}
html body .tabs button{font-size:16px}
html body #tab-s label,html body #tab-p label,html body .out .meta,html body .out .meta a,html body p.meta{font-size:15.5px}
html body input[type=radio],html body input.hp{font-size:16px}
@media (max-width:600px){
  html body header.top nav a{font-size:13.5px;letter-spacing:.12em}
  html body .kicker,html body .mast .kicker,html body .card .kicker,html body .mast .byline,html body .byline,
  html body .callout cite,html body .ctx h3,html body .study section h3{font-size:14.5px;letter-spacing:.14em}
  html body .btn,html body a.btn,html body span.btn,html body .card .btn,html body .mast .btn{font-size:14px;letter-spacing:.12em}
  html body .readings span,html body .reflabel,html body .lbl,html body .sponsor .lbl,html body .upcoming li.ssn,
  html body .quiz label span,html body .quiz .answers b{font-size:13.5px;letter-spacing:.14em}
  html body .lityear h2.yr,html body .lityear h2.yr span{font-size:15px}
  html body .lityear .season p.sdates{font-size:15px}
  html body .refrow,html body .refrow li,html body .refrow .topic,html body .refrow .num,html body .refrow .sep{font-size:17px}
  html body footer,html body footer p,html body footer a{font-size:17px}
}
html body .homeyr h2.yr small{font-size:14px;letter-spacing:.14em}
html body .quiz .tf label span{font-size:14px;letter-spacing:.14em}
@media (max-width:600px){
  html body .quiz .tf label span{font-size:14px;letter-spacing:.12em}
  html body footer,html body footer p,html body footer a{font-size:17.5px}
  html body .refrow,html body .refrow li,html body .refrow .topic,html body .refrow .num,html body .refrow .sep{font-size:17.5px}
}
@media (max-width:600px){
  html body .mast .kicker{letter-spacing:.1em}
  html body .btn,html body a.btn,html body span.btn{white-space:normal;max-width:100%;box-sizing:border-box;text-align:center;line-height:1.35;letter-spacing:.1em}
}
/* ===== end type scale v46 ===== */
/* byline v47 */
html body .mast .byline{color:#8a6a2e;font-size:14.5px;letter-spacing:.14em;text-transform:uppercase;text-align:center;text-wrap:balance;max-width:34em;margin-left:auto;margin-right:auto}
html body footer p.fbyline{margin:0 0 .35rem}
@media (max-width:600px){html body .mast .byline{letter-spacing:.14em;font-size:14.5px}}
html body footer p{text-wrap:balance}
html body .mast .byline{max-width:none}

/* v48: home contents line + Catechism lookup spacing; keep Readings/Catechism links together */
html body .homeyears .homeyr:last-of-type{margin-bottom:0}
html body p.fine.homeend{margin:1.75rem 0 0;padding-top:1.1rem;border-top:1px solid #eadfc6;text-align:center;font-size:15px;line-height:1.6}
html body section.homelookup{margin:4.5rem 0 0;text-align:center}
html body section.homelookup .rule{margin:0 auto 2.75rem}
html body section.homelookup h2{margin:0 0 .7rem}
html body section.homelookup p{text-align:center;max-width:33em;margin:0 auto;text-wrap:pretty}
html body section.homelookup + .sponsor{margin-top:3.5rem}
html body .upcoming .lk{display:inline-block;white-space:nowrap}
html body .upcoming .lk .sm{margin-left:0}
html body .upcoming .lk .sm + .sm{margin-left:.7rem}
html body .upcoming li>a:not(.sm){margin-right:.6rem}
@media (max-width:600px){
  html body p.fine.homeend{margin-top:1.4rem}
  html body section.homelookup{margin-top:3.5rem}
  html body section.homelookup .rule{margin-bottom:2.25rem}
  html body section.homelookup h2{margin-bottom:.6rem}
  html body section.homelookup + .sponsor{margin-top:2.75rem}
}

/* v49: painting creation date on its own line under the caption */
html body figcaption .cap-date{display:block;margin-top:.2rem;font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-size:14px;line-height:1.4;letter-spacing:.03em;color:#555049;font-variant-numeric:oldstyle-nums}

/* v50: Key Takeaways woodcut icons (navy ink) replace the numbers when icons exist */
html body .takeaways ol.tk-icons li{display:flex;align-items:flex-start;gap:1rem;padding-left:0}
html body .takeaways ol.tk-icons li::before{content:none;display:none}
html body .takeaways .tk-ic{flex:none;width:44px;height:44px;margin-top:-.15rem;border-radius:50%;border:1px solid #e3d3ae;background:#fbf6ea;display:flex;align-items:center;justify-content:center}
html body .takeaways .tk-ic img{width:30px;height:30px;display:block;object-fit:contain}
html body .takeaways .tk-t{flex:1;min-width:0}
@media (max-width:600px){
  html body .takeaways ol.tk-icons li{gap:.8rem}
  html body .takeaways .tk-ic{width:38px;height:38px;margin-top:-.05rem}
  html body .takeaways .tk-ic img{width:26px;height:26px}
}
html body .takeaways .tk-ic{width:48px;height:48px;margin-top:-.25rem}
html body .takeaways .tk-ic img{width:34px;height:34px}
@media (max-width:600px){html body .takeaways .tk-ic{width:42px;height:42px;margin-top:-.1rem}html body .takeaways .tk-ic img{width:30px;height:30px}}
/* v51: Key Takeaways six-topic key (legend) and bigger list icons */
html body .vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
html body .takeaways ul.tk-key{list-style:none;margin:-.2rem auto 1.4rem;padding:.7rem 0 .8rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.35rem;border-top:1px solid #eadfc6;border-bottom:1px solid #eadfc6}
html body .takeaways ul.tk-key li{display:flex;align-items:center;gap:.4rem;padding:0;border:0;margin:0}
html body .takeaways ul.tk-key li::before{content:none;display:none}
html body .takeaways .tk-kic img{width:24px;height:24px;display:block}
html body .takeaways .tk-kl{font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a6a2e;line-height:1.2;white-space:nowrap}
html body .takeaways .tk-ic{width:52px;height:52px;margin-top:-.35rem}
html body .takeaways .tk-ic img{width:32px;height:32px}
@media (max-width:600px){
  html body .takeaways ul.tk-key{display:grid;grid-template-columns:repeat(3,max-content);justify-content:center;gap:.6rem 1rem}
  html body .takeaways .tk-kl{letter-spacing:.12em}
  html body .takeaways .tk-ic{width:46px;height:46px;margin-top:-.2rem}
  html body .takeaways .tk-ic img{width:30px;height:30px}
}
/* four-topic key: one row in the text column, 2x2 on phones */
html body .takeaways ul.tk-key{display:flex;flex-wrap:nowrap;justify-content:center;width:auto;max-width:none;position:static;left:auto;transform:none;gap:0 1.6rem;padding:.7rem 0 .8rem}
html body .takeaways .tk-kic img{width:24px;height:24px}
html body .takeaways ul.tk-key li{gap:.45rem}
@media (max-width:600px){
  html body .takeaways ul.tk-key{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:.7rem 1.6rem;padding:.8rem 0 .9rem}
  html body .takeaways ul.tk-key li{flex-direction:row;gap:.45rem;text-align:left}
  html body .takeaways .tk-kl{letter-spacing:.14em}
}
/* list circles: 40/24 desktop, 36/22 mobile, centered against the whole text block */
html body .takeaways ol.tk-icons li{align-items:center}
html body .takeaways .tk-ic{width:40px;height:40px;margin:0;display:flex;align-items:center;justify-content:center;flex:none;align-self:center}
html body .takeaways .tk-ic img{width:24px;height:24px;display:block}
html body .takeaways ul.tk-key li{align-items:center}
html body .takeaways .tk-kic{display:flex;align-items:center;justify-content:center;flex:none}
html body .takeaways .tk-kl{display:block}
@media (max-width:600px){
  html body .takeaways .tk-ic{width:36px;height:36px}
  html body .takeaways .tk-ic img{width:22px;height:22px}
}
/* Step Into the Story timeline: hairline, small markers, current scene filled gold */
html body .study ol.tl{list-style:none;margin:1.7rem 0 1.9rem;padding:0;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));column-gap:1rem;position:relative}
html body .study ol.tl::before{content:"";position:absolute;left:5px;right:0;top:6px;height:1px;background:#d8c6a0}
html body .study ol.tl li{position:relative;margin:0;padding:24px 0 0;border:0;background:none;list-style:none}
html body .study ol.tl li::before,html body .study ol.tl li::after{content:none;display:none}
html body .study ol.tl .tl-m{position:absolute;left:0;top:0;width:11px;height:11px;box-sizing:border-box;border:1px solid #8a6a2e;border-radius:50%;background:#fdfcf8}
html body .study ol.tl li.tl-now .tl-m{background:#8a6a2e}
html body .study ol.tl .tl-d{display:block;font-family:"EB Garamond","Cormorant Garamond",Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8a6a2e;line-height:1.3}
html body .study ol.tl .tl-l{display:block;margin-top:.25rem;font-size:17.5px;line-height:1.35;color:#1a1a1a}
html body .study ol.tl li.tl-now .tl-l{color:#8a6a2e;font-style:italic}
@media (max-width:600px){
  html body .study ol.tl{grid-template-columns:1fr;row-gap:1rem;margin:1.5rem 0 1.7rem}
  html body .study ol.tl::before{left:5px;right:auto;top:8px;bottom:8px;width:1px;height:auto}
  html body .study ol.tl li{padding:0 0 0 28px}
  html body .study ol.tl .tl-m{top:5px}
  html body .study ol.tl .tl-l{margin-top:.1rem}
}
html body .study ol.tl::before{right:calc((100% - (var(--n,5) - 1) * 1rem) / var(--n,5) - 5px)}
@media (max-width:600px){
  html body .study ol.tl::before{content:none}
  html body .study ol.tl li:not(:last-child)::after{content:"";display:block;position:absolute;left:5px;top:16px;bottom:calc(-1rem - 5px);width:1px;background:#d8c6a0}
}
html body .study ol.tl .tl-d .tl-s{text-transform:none;letter-spacing:inherit}
/* smaller timeline labels */
html body .study ol.tl .tl-l{font-size:15px;line-height:1.35}
html body .study ol.tl .tl-d{font-size:13.5px}
/* caption rule (preview): Title, Painter, Date on one line */
html body figcaption .cap-date.cap-inline{display:inline;margin:0;font:inherit;letter-spacing:inherit;color:inherit;font-variant-numeric:normal}
