@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/fonts/literata-latin.woff2)format("woff2-variations")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/atkinson-latin-400.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fonts/atkinson-latin-700.woff2)format("woff2")}:root{--paper:oklch(97.7% .01 78);--paper-deep:oklch(93.5% .014 76);--wine:oklch(42.5% .13 15);--wine-dark:oklch(34% .105 14);--gold:oklch(61% .09 70);--ink:oklch(27% .014 54);--ink-soft:oklch(47% .018 53);--line:oklch(85% .02 70);--white:oklch(99% .005 65);--reading-scale:1;--font-reading:"Literata Variable", Georgia, "Times New Roman", serif;--font-ui:"Atkinson Hyperlegible", "Segoe UI", sans-serif;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--layer-sticky:30;--motion-press:.1s;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);color-scheme:light;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-ui);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);margin:0;font-size:1rem;line-height:1.5}body:not(.home-body){padding-bottom:calc(7rem + env(safe-area-inset-bottom))}button,input,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--wine);outline-offset:4px}.skip-link{z-index:100;background:var(--wine-dark);color:var(--white);border-radius:.3rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.home-page{width:min(100% - 2rem,72rem);padding:max(1.5rem, env(safe-area-inset-top)) 0 2.5rem;margin-inline:auto}.home-brand__logo{object-fit:contain;width:7rem;height:7rem;margin-bottom:1.35rem;display:block}.eyebrow{color:var(--wine);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:700;line-height:1.2}.home-brand h1{color:var(--ink);font-family:var(--font-reading);letter-spacing:-.065em;margin:.6rem 0 .8rem;font-size:clamp(3.3rem,17vw,5.2rem);font-weight:520;line-height:.88}.institution{letter-spacing:.015em;margin:0;font-size:.94rem;font-weight:700;line-height:1.38}.people{color:var(--ink-soft);gap:.3rem;margin:1rem 0 0;font-size:.86rem;display:grid}.people div{flex-wrap:wrap;gap:.35rem;display:flex}.people dt{font-weight:700}.people dt:after{content:":"}.people dd{margin:0}.devotional-rule{align-items:center;gap:.75rem;margin:1.75rem 0;display:flex}.devotional-rule:before,.devotional-rule:after{border:1px solid var(--gold);content:"";width:.25rem;height:.25rem;transform:rotate(45deg)}.devotional-rule span{background:var(--gold);width:2.75rem;height:1px}.home-intro{max-width:31rem;font-family:var(--font-reading);margin:0 0 1.25rem;font-size:1.15rem;font-weight:430;line-height:1.62}.home-index ol{margin:0;padding:0;list-style:none}.home-index li{border-top:1px solid var(--line)}.home-index li:first-child{border-top-color:var(--gold)}.home-index li:last-child{border-bottom:1px solid var(--line)}.home-index a{min-height:4.75rem;transition:color var(--motion-press) var(--ease-out-quart), transform var(--motion-press) var(--ease-out-quart);grid-template-columns:2.1rem minmax(0,1fr) 1.5rem;align-items:center;gap:.7rem;padding:.75rem .15rem;text-decoration:none;display:grid}.home-index__number{color:var(--wine);letter-spacing:.08em;align-self:start;padding-top:.2rem;font-size:.8rem;font-weight:700}.home-index__copy{gap:.2rem;display:grid}.home-index__copy strong{font-size:1rem;line-height:1.24}.home-index__copy small{color:var(--ink-soft);font-size:.84rem;line-height:1.35}.home-index__arrow{color:var(--gold);font-family:var(--font-reading);font-size:1.75rem;line-height:1}.index-note{color:var(--ink-soft);margin:1rem 0 0;font-size:.76rem}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);text-align:center;padding:1.5rem 1rem 2rem}.site-footer p{margin:.1rem 0;font-size:.75rem}.install-app{gap:var(--space-md);margin:0 0 var(--space-lg);border-block:1px solid var(--gold);padding-block:var(--space-md);align-items:center;display:grid}.install-app[hidden]{display:none}.install-app__copy{gap:var(--space-2xs);display:grid}.install-app__copy strong{color:var(--wine-dark);font-family:var(--font-reading);font-size:1.05rem;line-height:1.25}.install-app__copy span{color:var(--ink-soft);font-size:.875rem;line-height:1.4}.install-app button{border:1px solid var(--wine);background:var(--wine);min-height:3rem;color:var(--paper);cursor:pointer;transition:transform var(--motion-press) var(--ease-out-quart);border-radius:.5rem;padding:.65rem 1rem;font-weight:700}.reading-controls{background:0 0;grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reading-controls button{border:0;border-left:1px solid var(--line);min-width:3rem;min-height:3.5rem;color:var(--wine);cursor:pointer;transition:background-color var(--motion-press) var(--ease-out-quart), transform var(--motion-press) var(--ease-out-quart);background:0 0;align-content:center;justify-items:center;gap:.08rem;font-weight:700;line-height:1;display:grid}.reading-controls__glyph{font-size:1rem}.reading-controls__label{color:var(--ink-soft);letter-spacing:.02em;font-size:.72rem}.reading-controls__divider{display:none}.reading-copy{font-family:var(--font-reading);font-size:calc(1.17rem * var(--reading-scale));line-height:1.72}.reading-page{width:min(100% - 2rem,43rem);padding:max(0rem, env(safe-area-inset-top)) 0 3rem;margin-inline:auto}.site-header{border-bottom:1px solid var(--gold);padding:1rem 0 2rem}.site-header__bar{justify-content:space-between;align-items:center;gap:1rem;min-height:2.75rem;display:flex}.back-link{min-height:2.75rem;color:var(--wine);align-items:center;gap:.5rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link>span:first-child{font-family:var(--font-reading);font-size:1.35rem}.site-header__identity{align-items:center;gap:.7rem;margin-top:1.8rem;display:flex}.site-header__logo{object-fit:contain;width:2.8rem;height:2.8rem}.site-header__identity p{max-width:10rem;color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700;line-height:1.25}.section-number{color:var(--wine);letter-spacing:.14em;margin:2rem 0 .5rem;font-size:.78rem;font-weight:700}.site-header h1{max-width:37rem;font-family:var(--font-reading);letter-spacing:-.045em;margin:0;font-size:clamp(2.25rem,11vw,4.6rem);font-weight:520;line-height:1.02}.page-subtitle{max-width:31rem;color:var(--ink-soft);font-family:var(--font-reading);font-size:calc(1.05rem * var(--reading-scale));margin:.8rem 0 0;font-style:italic;line-height:1.5}.reading-note{border-block:1px solid var(--gold);color:var(--ink-soft);margin:1.5rem 0 0;padding:.75rem 0;font-size:.9rem;font-weight:700}.continuous-prayer{counter-reset:adoration}.adoration-part{border-bottom:1px solid var(--line);grid-template-columns:2.35rem minmax(0,1fr);gap:1rem;padding:2.5rem 0;display:grid}.adoration-part>h2{color:var(--wine);font-family:var(--font-reading);margin:0;font-size:2rem;font-weight:520;line-height:1}.adoration-part>h2 span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.prayer-content>:first-child{margin-top:0}.prayer-content>:last-child{margin-bottom:0}.prayer-content p{margin:0 0 1.25em}.prayer-content h3,.prayer-role--leader,.prayer-role--response{font-family:var(--font-ui);font-size:calc(.75rem * var(--reading-scale));letter-spacing:.13em;text-transform:uppercase;margin:2rem 0 .65rem;font-style:normal;font-weight:700;line-height:1.2}.prayer-role--leader{color:var(--ink-soft)}.prayer-role--response{color:var(--wine)}.prayer-role--response+p{border:1px solid var(--gold);background:var(--paper-deep);color:var(--wine-dark);padding:.85rem 1rem;font-weight:580}.repetition-callout{border:1px solid color-mix(in srgb, var(--gold) 65%, transparent);background:var(--paper-deep);color:var(--wine);font-family:var(--font-ui);font-size:calc(.76rem * var(--reading-scale));letter-spacing:.06em;border-radius:100vmax;margin:.75rem 0 1rem;padding:.35rem .7rem;font-weight:700;line-height:1.2;display:table}.chaplet-text{margin-top:1rem}.chaplet-text>section{border-bottom:1px solid var(--line);padding:2rem 0}.section-label,.guide-kicker{color:var(--wine);letter-spacing:.13em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem;font-weight:700;line-height:1.25}.bead-prayer{position:relative;padding-left:1.5rem!important}.bead-prayer:before{border:2px solid var(--wine);content:"";border-radius:50%;width:.72rem;height:.72rem;position:absolute;top:2.15rem;left:0}.bead-prayer--minor:before{border-color:var(--gold);width:.5rem;height:.5rem}.closing-prayer{border-bottom:0!important}.feature-link{border:1px solid var(--gold);min-height:5.5rem;color:var(--wine-dark);border-radius:.75rem;grid-template-columns:1.5rem minmax(0,1fr) 1.5rem;align-items:center;gap:.8rem;margin:1.5rem 0 0;padding:1rem;text-decoration:none;display:grid}.feature-link__icon{color:var(--gold)}.feature-link small,.feature-link strong{display:block}.feature-link small{color:var(--ink-soft);margin-bottom:.15rem;font-size:.72rem}.feature-link strong{line-height:1.3}.app-dock{z-index:var(--layer-sticky);right:max(var(--space-md), env(safe-area-inset-right));bottom:max(var(--space-xs), env(safe-area-inset-bottom));left:max(var(--space-md), env(safe-area-inset-left));border:1px solid var(--line);background:var(--white);border-radius:1rem;grid-template-columns:repeat(4,minmax(0,1fr));max-width:31rem;min-height:4rem;margin-inline:auto;display:grid;position:fixed;overflow:hidden;box-shadow:0 .35rem 1.25rem oklch(27% .014 54/.14)}.app-dock__link{min-width:3rem;min-height:3.5rem;color:var(--wine);letter-spacing:.02em;transition:background-color var(--motion-press) var(--ease-out-quart), transform var(--motion-press) var(--ease-out-quart);align-content:center;justify-items:center;gap:.12rem;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:grid}.app-dock__link+.app-dock__link{border-left:1px solid var(--line)}.app-dock__link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.18rem;height:1.18rem}.primary-link{min-height:2.75rem;color:var(--wine);align-items:center;font-size:.86rem;font-weight:700;text-decoration:none;display:inline-flex}.opening-prayers{border-bottom:1px solid var(--line);margin:1.75rem 0 2.5rem;padding-bottom:2rem}.opening-prayers .reading-copy{margin:.45rem 0}.index-heading{margin:0 0 1rem}.index-heading p:last-child{color:var(--ink-soft);margin:-.35rem 0 0;font-size:.88rem}.section-index ol{margin:0;padding:0;list-style:none}.section-index li{border-top:1px solid var(--line)}.section-index li:last-child{border-bottom:1px solid var(--line)}.section-index a{grid-template-columns:2.35rem minmax(0,1fr) 1.25rem;align-items:center;gap:.65rem;min-height:4.4rem;padding:.65rem 0;text-decoration:none;display:grid}.section-index__number{color:var(--wine);letter-spacing:.06em;font-size:.76rem;font-weight:700}.section-index__copy{gap:.14rem;display:grid}.section-index__copy strong{font-family:var(--font-reading);font-size:1rem;font-weight:570;line-height:1.3}.section-index__copy small{color:var(--ink-soft);line-height:1.3}.section-index__arrow{color:var(--gold);font-size:1.15rem}.pain-content>section,.pain-content>aside{border-bottom:1px solid var(--line);padding:2.3rem 0}.pain-meditation .prayer-content p{text-wrap:pretty}.song-callout{margin:0}.song-callout>p:last-child{border-block:1px solid var(--gold);color:var(--wine-dark);font-family:var(--font-reading);font-size:calc(1.06rem * var(--reading-scale));margin:0;padding:.75rem 0;font-style:italic;font-weight:600;line-height:1.55}.pain-prayer>.reading-copy,.blood-water-prayer>.reading-copy{margin:0}.pain-prayer--response .prayer-content{margin-top:1.25rem}.prayer-line{padding:.9rem 1rem;margin:0!important}.prayer-line--leader{color:var(--ink-soft)}.prayer-line--response{border-block:1px solid var(--gold);background:color-mix(in srgb, var(--paper-deep) 62%, transparent);color:var(--wine-dark);font-weight:600}.blood-water-prayer{border-bottom-color:var(--gold)!important}.sequential-pager{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2rem;display:grid}.sequential-pager a{border:1px solid var(--line);border-radius:.55rem;align-content:center;min-height:5.2rem;padding:.8rem;text-decoration:none;display:grid}.sequential-pager__next{text-align:right}.sequential-pager small{color:var(--wine);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;font-weight:700}.sequential-pager strong{font-family:var(--font-reading);font-size:.82rem;line-height:1.25}.index-heading--spaced{margin-top:2rem}.cerco-content{padding-top:2.3rem}.cerco-content>.prayer-content>h3:first-child,.cerco-content>.prayer-content>p:first-child{margin-top:0}.personal-intention-pause{border-block:1px solid var(--gold);align-items:flex-start;gap:1rem;margin:1.5rem 0;padding:1.35rem 0;display:flex}.personal-intention-pause__mark{color:var(--gold);font-size:1.15rem}.personal-intention-pause strong{color:var(--wine);font-family:var(--font-reading);font-size:calc(1.05rem * var(--reading-scale));display:block}.personal-intention-pause p{color:var(--ink-soft);font-family:var(--font-ui);font-size:calc(.86rem * var(--reading-scale));margin:.25rem 0 0;line-height:1.4}.litany-content p{margin-bottom:.85em}.litany-response{color:var(--wine);font-weight:650}.offering-intro{border-bottom:1px solid var(--line);margin:2rem 0 2.5rem;padding-bottom:1.5rem}.single-offering{border-bottom:1px solid var(--gold);min-height:16rem;padding:3rem 0}.single-offering .prayer-content{font-size:calc(1.3rem * var(--reading-scale))}.single-offering .repetition-callout{margin-top:2rem}.rosary-opening{border-bottom:1px solid var(--line);padding:2rem 0}.rosary-opening ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.rosary-opening li{border-block:1px solid var(--line);font-family:var(--font-reading);font-size:calc(1rem * var(--reading-scale));padding:.45rem .65rem}.availability-note{color:var(--ink-soft);margin:1.5rem 0;font-size:.82rem;line-height:1.45}.mystery-groups{gap:1rem;display:grid}.mystery-group{border:1px solid var(--line);border-radius:.7rem;padding:1.2rem}.mystery-group__heading{grid-template-columns:1.5rem minmax(0,1fr);align-items:start;gap:.7rem;display:grid}.mystery-group__heading>span{color:var(--gold);font-size:1.05rem;line-height:1.5}.mystery-group h2{font-family:var(--font-reading);font-size:calc(1.35rem * var(--reading-scale));margin:0;font-weight:570;line-height:1.25}.mystery-group__heading p{color:var(--wine);margin:.2rem 0 0;font-size:.75rem;font-weight:700}.mystery-group ol{color:var(--ink);font-family:var(--font-reading);font-size:calc(1rem * var(--reading-scale));gap:.65rem;margin:1.15rem 0 0 2.2rem;padding-left:1.25rem;line-height:1.45;display:grid}.mystery-group li::marker{color:var(--wine);font-family:var(--font-ui);font-size:.75em;font-weight:700}.canonical-prayer{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);margin-top:2rem;padding:2.3rem 0}.canonical-prayer h2{color:var(--wine-dark);font-family:var(--font-reading);font-size:calc(1.8rem * var(--reading-scale));margin:0 0 1.25rem;font-weight:560}.canonical-prayer--standalone{border-top:0;margin-top:0;padding-top:2.75rem}.canonical-prayer--standalone .prayer-content{font-size:calc(1.25rem * var(--reading-scale))}.source-note{color:var(--ink-soft);margin:1.5rem 0 0;font-size:.76rem;line-height:1.5}.song-search{margin:2rem 0 1.25rem;position:relative}.song-search label{color:var(--wine);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.76rem;font-weight:700;display:block}.song-search__field{border:1px solid var(--line);background:var(--white);border-radius:.55rem;grid-template-columns:1.4rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:3.25rem;padding:0 .85rem;display:grid}.song-search__field>span{color:var(--gold);font-family:var(--font-reading);font-size:1.35rem;line-height:1}.song-search input{width:100%;min-height:3.1rem;color:var(--ink);background:0 0;border:0;outline:0;font-size:1rem}.song-search input::placeholder{color:#8a817a}.song-search__count{min-height:1.2rem;color:var(--ink-soft);text-align:right;margin:.45rem 0 0;font-size:.72rem}.song-index ol{margin:0;padding:0;list-style:none}.song-index li{border-top:1px solid var(--line)}.song-index li:last-child{border-bottom:1px solid var(--line)}.song-index li[hidden]{display:none}.song-index a{grid-template-columns:2.25rem minmax(0,1fr) 1.25rem;align-items:center;gap:.7rem;min-height:4.65rem;text-decoration:none;display:grid}.song-index a>span:first-child{color:var(--wine);letter-spacing:.07em;font-size:.76rem;font-weight:700}.song-index strong{font-family:var(--font-reading);font-size:1.05rem;font-weight:570}.song-index a>span:last-child{color:var(--gold)}.song-empty{border-block:1px solid var(--line);color:var(--ink-soft);font-family:var(--font-reading);text-align:center;margin:1.5rem 0;padding:1.25rem 0}.song-empty[hidden]{display:none}.song-lyrics{font-size:calc(1.25rem * var(--reading-scale));padding:2.25rem 0 0;line-height:1.78}.song-lyrics p{margin:0 0 2em}@media (hover:hover){.section-index a:hover,.song-index a:hover,.back-link:hover{color:var(--wine)}.app-dock__link:hover,.reading-controls button:hover{background:var(--paper-deep)}.feature-link:hover,.sequential-pager a:hover{border-color:var(--wine)}}.guide-intro{margin:1.75rem 0 0}.chaplet-guide{margin-top:2rem}.chaplet-guide h2{font-family:var(--font-reading);font-size:calc(1.55rem * var(--reading-scale));margin:0;font-weight:550;line-height:1.2}.chaplet-start,.chaplet-end,.chaplet-decade{border:1px solid var(--line);background:color-mix(in srgb, var(--white) 54%, transparent);border-radius:.75rem;padding:1.25rem}.chaplet-start ol{font-family:var(--font-reading);font-size:calc(1.05rem * var(--reading-scale));gap:.7rem;margin:1.15rem 0 0;padding:0 0 0 1.3rem;display:grid}.chaplet-decades{gap:1rem;margin:1rem 0;display:grid;position:relative}.chaplet-decade h2{color:var(--wine);font-variant-numeric:tabular-nums}.chaplet-decade h2 span{color:var(--ink-soft);font-family:var(--font-ui);font-size:.65em;font-weight:400}.major-bead{align-items:center;gap:.9rem;margin-top:1.25rem;display:flex}.major-bead p,.minor-prayer,.chaplet-end p{font-family:var(--font-reading);font-size:calc(1rem * var(--reading-scale));margin:0;line-height:1.55}.bead{border-radius:50%;flex:none;display:block}.bead--major{border:3px solid var(--wine);background:var(--paper);width:1.15rem;height:1.15rem}.minor-beads{grid-template-columns:repeat(10,.6rem);gap:.42rem;margin:1.2rem 0 .8rem 2.05rem;display:grid}.bead--minor{border:1px solid var(--gold);background:var(--paper-deep);width:.6rem;height:.6rem}.minor-prayer{margin-left:2.05rem}.chaplet-end{border-color:var(--gold)}.chaplet-end p{margin-top:.8rem}.primary-link{background:var(--wine);color:var(--white);border-radius:.4rem;justify-content:center;margin-top:1.5rem;padding:.8rem 1.1rem}@media (hover:hover){.home-index a:hover{color:var(--wine)}}.home-index a:active,.install-app button:active,.app-dock__link:active,.reading-controls button:active{transform:translateY(1px)scale(.98)}@media (width>=34rem){.install-app{grid-template-columns:minmax(0,1fr) auto}}@media (width>=700px){.home-page{grid-template-columns:minmax(16rem,.72fr) minmax(24rem,1.28fr);align-items:start;column-gap:clamp(3.5rem,8vw,7rem);padding-top:4.5rem;display:grid}.home-brand{position:sticky;top:3rem}.home-brand__logo{width:9.25rem;height:9.25rem}.home-brand h1{font-size:clamp(4.8rem,8vw,6.5rem)}.devotional-rule{display:none}.home-navigation{padding-top:10.5rem}.home-intro{font-size:1.28rem}.home-index a{min-height:5.25rem}.reading-page{padding-top:2rem}.site-header__bar{margin-bottom:1rem}.adoration-part{grid-template-columns:3.25rem minmax(0,1fr);gap:1.75rem;padding:3.4rem 0}.adoration-part>h2{font-size:2.5rem}.chaplet-decade{padding:1.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
