
:root{--paper:#f7f4ed;--page:#fffefa;--ink:#263944;--muted:#607079;--gold:#ad8c5e;--line:#ddd2be;--cream:#f0e8d9;--serif:Georgia,'Times New Roman',serif;--body:'Gentium Book Plus',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.72}a{color:#335b6b}a:hover{text-decoration-color:var(--gold)}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.header{background:#fffefa;border-bottom:1px solid var(--line)}.head-inner{max-width:1130px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;flex-wrap:wrap}.brand{font:600 17px/1.3 var(--serif);letter-spacing:.01em;color:var(--ink);text-decoration:none}.headlinks{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font:500 13px/1.4 system-ui,sans-serif}.headlinks a{color:var(--muted);text-decoration:none}.headlinks a[aria-current=page]{color:#8e6c3a;border-bottom:2px solid var(--gold)}.intro{text-align:center;padding:56px 16px 36px;max-width:970px;margin:auto}.eyebrow{font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#94764f}.intro h1{font:500 clamp(31px,4vw,52px)/1.16 var(--serif);margin:16px auto;max-width:920px}.intro p{color:var(--muted);font-size:17px;max-width:680px;margin:12px auto}.filigree{width:90px;height:2px;background:var(--gold);margin:23px auto}
.wrap{max-width:1130px;margin:0 auto;padding:0 20px 70px}.sheet{background:var(--page);border:1px solid var(--line);box-shadow:0 12px 35px rgba(32,42,44,.035);border-radius:12px}.reader-grid{display:grid;grid-template-columns:218px minmax(0,1fr);gap:24px}.toc{align-self:start;position:sticky;top:18px;padding:24px 16px;font:14px/1.5 system-ui,sans-serif}.toc strong{display:block;font-family:var(--serif);font-size:17px;margin-bottom:12px}.toc a{display:block;padding:8px 0;border-bottom:1px solid #ece5d9;text-decoration:none;color:var(--muted)}.reading{min-width:0;padding:clamp(24px,5vw,70px)}.reading h2,.reading h3{font-family:var(--serif);font-weight:500;line-height:1.3;scroll-margin-top:25px}.reading h2{font-size:1.7em;margin:2em 0 1.05em;padding-bottom:13px;border-bottom:1px solid var(--line)}.reading h3{font-size:1.3em;color:#7b623f}.reading p,.reading li{font-size:var(--reader-font,19px);line-height:1.75;overflow-wrap:anywhere}.reading p{margin:0 0 1.15em}.reading p:has(>strong:first-child){margin:1.25em 0}.reading em{color:#6b6d6f}.reading blockquote{border-left:3px solid var(--gold);padding:10px 20px;background:#f9f5ed;border-radius:0 7px 7px 0}.reading blockquote p{margin:0}.reading ul,.reading ol{padding-left:26px}.reading strong{color:#244353}.reading hr{border:0;border-top:1px solid var(--line);margin:30px 0}.reading .section-label{font:600 12px/1.5 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7b623f;margin:30px 0 13px;padding:10px 15px;border-left:3px solid var(--gold);background:#f7f2e8}.controls{display:flex;gap:8px;justify-content:flex-end;margin:0 0 18px;flex-wrap:wrap}.controls button,.controls a{padding:7px 13px;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);font:500 13px system-ui,sans-serif;cursor:pointer;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{padding:25px;border:1px solid var(--line);border-radius:11px;background:var(--page);display:flex;flex-direction:column;text-decoration:none;color:inherit;min-height:225px;transition:box-shadow .2s,transform .2s}.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,33,37,.08)}.card h2{font:500 24px/1.3 var(--serif);margin:14px 0}.card p{color:var(--muted);margin:0 0 20px}.card .cta{margin-top:auto;color:#8b6b3b;font:600 13px system-ui,sans-serif}.grid-sessions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.session{background:var(--page);border:1px solid var(--line);border-radius:8px;padding:17px 18px;text-decoration:none;color:var(--ink);line-height:1.4}.session b{display:block;font:11px/1.3 system-ui,sans-serif;letter-spacing:.1em;color:#967650;margin-bottom:9px}.session span{font:18px/1.4 var(--serif)}.foot{padding:22px;text-align:center;color:var(--muted);font:12px/1.6 system-ui,sans-serif}.pager{display:flex;justify-content:space-between;gap:12px;margin-top:42px;border-top:1px solid var(--line);padding-top:20px;font:14px system-ui,sans-serif}.pager a{text-decoration:none}.warning{border:1px solid #c6a677;color:#665036;background:#f7f0e3;padding:14px 18px;border-radius:8px;font:13px/1.6 system-ui,sans-serif;margin:12px 0 25px} .note{color:var(--muted)}
@media(max-width:850px){.reader-grid{grid-template-columns:1fr}.toc{position:static}.cards,.grid-sessions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:590px){.cards,.grid-sessions{grid-template-columns:1fr}.intro{padding-top:38px}.reading{padding:23px 20px}.reading p{font-size:var(--reader-font,18px)}.head-inner{align-items:flex-start}}
@media print{body{background:white}.header,.toc,.controls,.pager,.foot,.warning{display:none!important}.wrap{padding:0}.reading{padding:0}.reader-grid{display:block}.sheet{border:0;box-shadow:none}.reading h2,.reading h3{break-after:avoid}.reading p,.reading li{orphans:3;widows:3;break-inside:avoid}.reading p{font-size:11pt} @page{size:A4;margin:17mm 16mm}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}

@font-face {
  font-family: "Gentium Book Plus";
  src: url("/liturgy-assets/GentiumBookPlus-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Gentium Book Plus";
  src: url("/liturgy-assets/GentiumBookPlus-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Gentium Book Plus";
  src: url("/liturgy-assets/GentiumBookPlus-Italic.woff2") format("woff2");
  font-style: italic;
  font-display: swap;
}
:root { --paper: #f5f0e6; --page: #fffdf8; --ink: #173c32; --muted: #43554c; --gold: #a27b38; --reader-font: 20px; }
a { color: var(--ink); }
.headlinks, .lang-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.headlinks a, .controls button, .pager a, .toc a { display: inline-flex; align-items: center; min-height: 44px; }
.headlinks a, .pager a { padding: 0 8px; }
.headlinks a[aria-current="page"] { color: #65491f; }
.reading p, .reading li { color: #263a32; text-align: start; line-height: 1.64; }
.reading h2, .reading h3 { color: var(--ink); overflow-wrap: anywhere; }
.reading .response { padding-inline-start: .85rem; border-inline-start: 2px solid #a27b38; }
.reading .rubric { font-size: calc(var(--reader-font) * .9); }
.reading .celebrant strong, .reading .response strong { color: #6c4f28; }
.toc a { display: flex; }
.reader-grid.no-toc { grid-template-columns: minmax(0,1fr); }
.reading .section-label { font-size: 1rem; letter-spacing: normal; text-transform: none; line-height: 1.4; }
.reading .scripture, .reading .prayer { background: #f6eedf; }
.reading .reflection, .reading .exercise { background: #edf1e9; }
.reading .cards, .reading .grid-sessions { gap: 14px; }
.reading .card { min-height: 0; }
.reading .card h2 { border: 0; margin: 0 0 .5rem; padding: 0; font-size: clamp(1.18rem, 2vw, 1.55rem); }
.reading .card .cta { color: #65491f; }
.reading .session { min-height: 44px; overflow-wrap: anywhere; }
.focus-reading .header, .focus-reading .toc, .focus-reading .warning { display: none; }
.focus-reading .reader-grid { grid-template-columns: minmax(0,1fr); }
.focus-reading .intro { padding-block: 1rem; }
@media(max-width:590px) { .head-inner, .wrap { padding-inline: 12px; } .reading { padding: 1rem; } }
@media print {
  .intro { padding: 0 0 8mm; }
  .intro h1 { font-size: 20pt; margin: 0; }
  .reading p, .reading li, .reading .rubric { font-size: 11pt; }
  .reading p, .reading li { break-inside: auto; }
  .reading .response { border-color: #bbb; }
}
