@font-face{font-family:Cormorant;src:url('assets/serif-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/serif-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/sans-regular.ttf') format('truetype');font-weight:400 500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/sans-bold.ttf') format('truetype');font-weight:600 700;font-display:swap}
:root{--background:#fff;--surface:#f6f6f5;--text:#181818;--muted:#626262;--line:#e4e4e1;--accent:#8b6b30;--solid:#181818;--on-solid:#fff;--scrollbar-thumb:#a5a5a0;--scrollbar-track:#f6f6f5;--scrollbar-hover:#73736e;color-scheme:light;font-family:Manrope,Arial,sans-serif}
:root[data-theme=dark]{--background:#151515;--surface:#202020;--text:#efefeb;--muted:#b3b3ae;--line:#383835;--accent:#d4b879;--solid:#efefeb;--on-solid:#151515;--scrollbar-thumb:#666660;--scrollbar-track:#202020;--scrollbar-hover:#96968e;color-scheme:dark}
*{box-sizing:border-box;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}
html{scroll-behavior:smooth;scroll-padding-top:24px;scrollbar-gutter:stable}
body{margin:0;background:var(--background);color:var(--text);font-size:16px;line-height:1.7}
body.dialog-open{overflow:hidden}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:400;line-height:1.08}em{font-weight:400}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button{font:inherit;color:inherit}button:disabled{cursor:default;opacity:.35}button,a,summary{ -webkit-tap-highlight-color:transparent}a:not(.button):hover{color:var(--accent)}button:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}button{border:0}button svg{width:21px;height:21px}.wrapper{width:min(1260px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:12px;letter-spacing:.04em;font-weight:700;line-height:1.5;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:46px;padding:12px 20px;background:var(--solid);color:var(--on-solid);font-size:12px;font-weight:700;border:1px solid var(--solid);border-radius:3px;transition:opacity .2s}.button:hover{opacity:.8;color:var(--on-solid)}.button span{font-size:17px}.text-button{display:inline-flex;align-items:center;gap:18px;background:none;padding:8px 0;font-size:12px;font-weight:700;min-height:40px}.text-button:hover{color:var(--accent)}.icon-button{width:42px;height:42px;background:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%}.icon-button:hover{background:var(--surface)}.sun-icon{display:none}[data-theme=dark] .sun-icon{display:block}[data-theme=dark] .moon-icon{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--solid);color:var(--on-solid);padding:12px;z-index:10}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rosary-toolbar{height:80px;width:min(1380px,calc(100% - 112px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.rosary-toolbar nav{display:flex;gap:28px;font-size:12px}.header-actions{display:flex;align-items:center;gap:16px}
.hero{width:min(1380px,calc(100% - 112px));margin:64px auto 50px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.hero-copy{padding:12px 0 32px}.hero h1{font-size:clamp(44px,4.5vw,67px);letter-spacing:-.025em;margin:23px 0;line-height:1.04}.hero h1 em{color:var(--muted)}.hero-description{max-width:410px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:29px}.hero-footnote{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.hero-art{margin:0}.hero-art img{width:100%;height:370px;object-fit:cover;object-position:49% center}.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding:13px 0;border-bottom:1px solid var(--line)}.hero-art figcaption span:first-child{font-weight:700;color:var(--text)}
.today-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-block:1px solid var(--line);padding:20px 0;margin-top:8px}.today-label{display:flex;align-items:center;gap:19px;flex-shrink:0}.small-cross{font-size:25px;color:var(--accent)}.today-label .eyebrow{font-size:12px}.today-label p{font-family:Cormorant,Georgia,serif;font-size:25px;margin-top:3px}.today-bar>p{color:var(--muted);font-size:13px}.mysteries-section{padding:74px 0 70px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:34px}.section-heading h2{font-size:43px;margin-top:12px;letter-spacing:-.015em}.section-heading>p{font-size:14px;color:var(--muted);line-height:1.9;flex-shrink:0}.filters{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:37px;flex-wrap:wrap}.filters button{border:1px solid transparent;border-radius:3px;font-size:12px;padding:10px 17px;background:none;min-height:42px;white-space:nowrap}.filters button:hover{background:var(--surface)}.filters button[aria-pressed=true]{background:var(--solid);color:var(--on-solid)}.filters button span{display:inline-block;margin-left:10px;opacity:.65}.mystery-group{margin-top:38px}.mystery-group[hidden]{display:none}.group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:21px}.group-title{display:flex;align-items:baseline;gap:20px}.group-heading h3{font-size:31px}.group-heading p{color:var(--muted);font-size:12px}.group-days{color:var(--muted);font-size:12px;white-space:nowrap}.mystery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.mystery-card{display:block;position:relative}.card-image{overflow:hidden;background:var(--surface);height:230px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.mystery-card:hover img{transform:scale(1.035)}.card-order{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.1em;display:block;margin:16px 0 8px}.mystery-card h4{font-family:Cormorant,Georgia,serif;font-size:23px;line-height:1.13;font-weight:600;margin:0 0 10px;min-height:52px}.card-artist{font-size:12px;color:var(--muted);line-height:1.5;min-height:30px}.card-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-bottom:1px solid var(--line);padding:14px 0 12px;font-weight:700}.card-link svg{width:17px;height:17px}.mystery-card:hover .card-link{border-color:var(--accent)}
.how-section{background:var(--surface);border-block:1px solid var(--line);padding:65px 0}.how-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:110px}.how-layout h2{font-size:49px;margin:17px 0 22px}.how-layout>div>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:14px}.how-layout .text-button{margin-top:23px}.prayer-steps{list-style:none;padding:0;margin:0}.prayer-steps li{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.prayer-steps li:first-child{padding-top:0}.prayer-steps li:last-child{border:0;padding-bottom:0}.prayer-steps li>span{font-family:Cormorant,Georgia,serif;font-size:33px;color:var(--accent);line-height:1.2}.prayer-steps h3{font-size:28px;margin-bottom:10px}.prayer-steps p{font-size:12px;color:var(--muted);line-height:1.85}.prayers-section{padding:75px 0 30px}.prayers-list{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;align-items:start}.prayers-list details{border-top:1px solid var(--line)}.prayers-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:19px 0;font-size:13px;font-weight:700;gap:20px}.prayers-list summary::-webkit-details-marker{display:none}.prayers-list summary::after{content:'+';font-weight:400;font-size:24px;color:var(--muted)}.prayers-list details[open] summary::after{content:'−'}.prayers-list summary:hover{color:var(--accent)}.prayers-list details p{font-size:14px;line-height:1.95;color:var(--muted);padding:0 28px 25px 0}
dialog{padding:0;border:1px solid var(--line);border-radius:5px;background:var(--background);color:var(--text);width:min(1140px,calc(100% - 60px));max-height:calc(100dvh - 60px);overflow:auto;scrollbar-gutter:stable}dialog::backdrop{background:rgb(0 0 0 / .65)}.dialog-toolbar{position:sticky;top:0;background:var(--background);z-index:2;display:flex;align-items:center;justify-content:space-between;padding:13px 22px;border-bottom:1px solid var(--line)}.dialog-toolbar>span{font-size:12px;font-weight:700}.dialog-toolbar .icon-button{width:34px;height:34px}.meditation-layout{display:grid;grid-template-columns:1fr 1fr}.meditation-art{padding:25px;background:var(--surface);align-self:start;position:sticky;top:62px}.meditation-art img{width:100%;height:calc(100dvh - 230px);min-height:220px;max-height:640px;object-fit:contain}.meditation-art figcaption{font-size:12px;color:var(--muted);text-align:center;line-height:1.7;margin:16px 0 0}.meditation-art figcaption a{text-decoration:underline;text-underline-offset:3px}.meditation-copy{padding:35px}.meditation-copy h2{font-size:43px;margin:12px 0 15px}.scripture{font-size:12px;color:var(--accent);display:inline-block;margin-bottom:22px;border-bottom:1px solid var(--accent)}#meditation-body p{font-family:Georgia,serif;font-size:16px;line-height:1.9;margin-bottom:18px}.fruit{border-top:1px solid var(--line);padding-top:18px;margin:28px 0}.fruit p{font-size:13px;line-height:1.8;margin-top:6px}.offering{font-family:Georgia,serif;font-size:15px;line-height:1.9;margin-bottom:23px}#prayer-guide .button{width:100%;gap:10px}.mystery-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:28px;padding-top:16px}.mystery-navigation span{font-size:12px;color:var(--muted)}.prayer-panel{background:var(--surface);padding:23px;border:1px solid var(--line)}.prayer-panel h3{font-size:28px;margin:9px 0 15px}.prayer-panel p.prayer-text{font-family:Georgia,serif;font-size:15px;line-height:1.9}.beads{display:flex;justify-content:space-between;gap:5px;margin:18px 0}.bead{width:17px;height:17px;border:1px solid var(--muted);border-radius:50%;display:block}.bead.done{background:var(--solid);border-color:var(--solid)}.bead.current{outline:2px solid var(--accent);outline-offset:3px}.prayer-panel .button{margin-top:18px}.prayer-panel .text-button{margin-top:8px}.prayer-panel progress{width:100%;height:3px;accent-color:var(--accent);display:block;margin-bottom:19px}.credits-page{padding:55px 0}.credits-page h1{font-size:52px;margin-bottom:20px}.credits-page>p{max-width:700px;margin-bottom:25px;color:var(--muted)}.credits-table{border-collapse:collapse;width:100%;font-size:12px}.credits-table td,.credits-table th{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.credits-table a{text-decoration:underline}.credits-table th{font-size:12px}.credit-table-wrapper{overflow:auto}.credit-table-wrapper table{min-width:650px}
@media(min-width:1550px){.hero-art img{height:410px}.card-image{height:260px}}
@media(max-width:1100px){.rosary-toolbar,.hero{width:calc(100% - 64px)}.wrapper{width:calc(100% - 64px)}.rosary-toolbar{gap:20px}.rosary-toolbar nav{gap:20px}.hero{gap:36px}.hero h1{font-size:49px}.hero-art img{height:340px}.mystery-grid{gap:16px}.card-image{height:205px}.mystery-card h4{font-size:21px}.group-title p{display:none}.how-layout{gap:65px}.section-heading h2{font-size:37px}.meditation-copy{padding:25px}.meditation-copy h2{font-size:36px}}
@media(max-width:820px){.rosary-toolbar{height:76px;min-height:76px;padding:12px 0;gap:16px}.rosary-toolbar nav{gap:20px;flex-wrap:wrap}.header-cta{display:none}.hero{margin-top:36px;gap:30px}.hero h1{font-size:40px}.hero-art img{height:300px}.hero-art figcaption{display:block}.hero-art figcaption span{display:block}.hero-description{font-size:14px}.hero-footnote{font-size:12px}.hero .button{gap:12px}.today-bar>p{display:none}.section-heading>p{max-width:230px}.mystery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 20px}.card-image{height:245px}.how-layout{gap:45px}.meditation-layout{grid-template-columns:1fr}.meditation-art{position:static;padding:24px}.meditation-art img{height:auto;max-height:50dvh;min-height:0}.meditation-copy{padding:30px}.prayers-list{gap:0 30px}.section-heading h2{font-size:36px}.how-layout h2{font-size:40px}}
@media(max-width:600px){.wrapper,.rosary-toolbar,.hero{width:calc(100% - 40px)}.header-actions{gap:8px}.hero{display:flex;flex-direction:column;gap:20px;margin-bottom:28px;align-items:stretch}.hero-copy{padding:14px 0 6px}.hero h1{font-size:46px;line-height:1.06;margin:19px 0}.hero-description{font-size:14px;max-width:350px}.hero-footnote{font-size:12px}.hero-art img{height:255px}.hero-art figcaption{display:flex;font-size:12px}.hero-art figcaption span{display:inline}.today-bar{gap:14px;padding:17px 0}.today-label{gap:12px}.today-label p{font-size:23px}.today-bar>.text-button{font-size:12px;gap:10px;max-width:120px}.small-cross{font-size:21px}.mysteries-section{padding:45px 0}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:37px;max-width:340px}.section-heading>p{max-width:340px;margin-top:17px;font-size:12px}.desktop-break{display:none}.filters{gap:5px;padding-bottom:16px;margin-bottom:26px}.filters button{font-size:12px;padding:9px 12px}.group-heading{align-items:start;margin-bottom:18px}.group-heading h3{font-size:29px}.group-days{font-size:12px;max-width:105px;text-align:right;white-space:normal;line-height:1.6}.mystery-group{margin-top:31px}.mystery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 17px}.card-image{height:205px}.mystery-card h4{font-size:23px;min-height:53px}.card-order{font-size:12px;margin-top:12px}.card-artist{font-size:12px;min-height:28px}.card-link{font-size:12px;padding-top:9px}.how-section{padding:43px 0}.how-layout{grid-template-columns:1fr;gap:33px}.how-layout h2{font-size:43px}.how-layout>div>p:not(.eyebrow){max-width:none}.prayer-steps li{gap:19px}.prayer-steps h3{font-size:27px}.prayers-section{padding:45px 0 15px}.prayers-list{grid-template-columns:1fr}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog-toolbar{padding:11px 16px}.meditation-art{padding:19px}.meditation-copy{padding:25px 20px}.meditation-copy h2{font-size:36px}#meditation-body p{font-size:15px}.prayer-panel{padding:18px}.mystery-navigation .text-button{font-size:12px}.credits-page h1{font-size:40px}}

@media(max-width:360px){.hero h1{font-size:39px}.hero-art figcaption{font-size:12px}.card-image{height:175px}.mystery-card h4{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){*{scrollbar-color:auto}.bead.done{background:Highlight}.button{border:1px solid ButtonText} :focus-visible{outline:2px solid Highlight}}
@media print{.rosary-toolbar,.filters,.today-bar,.button{display:none}.wrapper,.hero{width:100%}body{background:white;color:black}.mystery-group{break-inside:avoid}.mystery-grid{grid-template-columns:repeat(5,1fr)}.card-image{height:130px}dialog[open]{position:static;max-height:none;width:100%}.meditation-art{position:static}.dialog-toolbar{display:none}}

.source-link{display:inline-block;margin:28px 0 18px;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:360px){.rosary-toolbar nav{gap:12px;font-size:12px}.rosary-toolbar{gap:10px}}
