@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--bg:#f8f7f2;--ink:#273e3c;--muted:#6d756e;--line:#dedfd5;--accent:#996242;--soft:#eeeee5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b17b51;outline-offset:4px}header,main,footer{max-width:1200px;margin:auto}header{height:110px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 20px}.brand{display:flex;gap:12px;align-items:center;font-size:24px;text-decoration:none;font-weight:700;letter-spacing:-1px}.brand-light{font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:-5px}.mark{font-size:39px;font-weight:400;color:var(--accent)}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:13px}.hero{display:flex;justify-content:space-between;align-items:center;padding:64px 48px 58px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700}.hero h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:66px;font-weight:400;line-height:1.08;letter-spacing:-1.5px;margin:23px 0}.hero h1 em{font-weight:400;color:var(--accent)}.intro{font-size:16px;color:var(--muted);line-height:1.7}.hero-meta{font-size:11px;color:var(--muted);margin-top:24px;display:flex;align-items:center;gap:7px}.dot{height:6px;width:6px;background:#8a9c7b;border-radius:50%}.illustration{width:300px;margin-right:20px}.agenda{padding:0 30px 48px}.controls{display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0 25px}.tabs{display:flex;border-radius:8px;background:var(--soft);padding:5px}.tabs button{padding:10px 23px;border:none;background:none;color:var(--muted);border-radius:5px;font-weight:600;font-size:13px}.tabs .active{background:var(--ink);color:white;box-shadow:0 2px 4px #273e3c16}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:8px 14px;gap:9px;background:#fff9;min-width:300px}.search span{font-size:25px;line-height:1}.search input{border:none;background:none;width:100%;outline:none;font-size:13px;color:var(--ink)}.daybar{display:flex;gap:8px;padding:24px 0;flex-wrap:wrap}.daybar button{background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--muted);padding:10px 18px;font-size:12px}.daybar button.active{border-color:var(--ink);background:#e8ece5;color:var(--ink);font-weight:700}.result-top{display:flex;justify-content:space-between;align-items:center;margin:14px 0 24px}h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:39px;font-weight:400;line-height:1.15;margin:5px 0 12px}.result-top .eyebrow{color:var(--accent);margin:0 0 8px}.result-top #count{font-size:12px;color:var(--muted);margin:0}.toggle{font-size:12px;display:flex;gap:8px;align-items:center}.toggle input{accent-color:var(--ink)}.card{background:#fffdf9;border:1px solid var(--line);border-radius:8px;padding:24px 28px;margin-bottom:14px;display:grid;grid-template-columns:1fr 1.3fr;gap:32px}.card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin:0 0 8px}.address,.fine{font-size:12px;color:var(--muted)}.address{margin:0}.links{display:flex;gap:15px;flex-wrap:wrap;margin-top:15px;font-size:11px}.links a{text-decoration:none;border-bottom:1px solid #cfd4c9}.schedule{padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #e9e9e1}.schedule:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.place{font-size:12px;font-weight:600;margin:0 0 8px}.times{display:flex;gap:7px;flex-wrap:wrap}.time{display:inline-block;background:#edf0e8;color:#344a40;border-radius:4px;padding:5px 11px;font-size:16px;font-weight:600;letter-spacing:.3px}.time.past{background:#f0f0eb;color:#94988f}.note{font-size:12px;color:var(--muted);margin:8px 0 0}.monthly{background:#f3ede0;color:#805e37}.pill{display:inline-block;border-radius:4px;padding:3px 8px;background:var(--soft);font-size:10px;color:var(--muted);margin-bottom:9px}.empty{text-align:center;padding:45px 20px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.special-heading{margin-top:35px;font-size:28px}.special-intro{font-size:13px;color:var(--muted)}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;font-weight:500;font-size:14px}details .schedule{margin-top:17px}.about{border-top:1px solid var(--line);padding:55px 48px 65px;display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.about h2{font-size:37px;margin-top:18px}.about p{font-size:13px;color:var(--muted);margin-top:0}.about .eyebrow{font-size:10px;color:var(--accent)}.about a{font-size:12px}footer{padding:30px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}footer .brand{font-size:17px;color:var(--ink)}@media(min-width:1450px){.hero{padding-top:80px;padding-bottom:75px}}@media(max-width:750px){header{height:85px;margin:0 20px;padding:0}nav{gap:16px}nav a{font-size:11px}.brand{font-size:21px}.hero{padding:35px 22px 32px}.hero h1{font-size:45px;letter-spacing:-.8px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.illustration{display:none}.intro{font-size:14px}.hero-meta{font-size:10px}.agenda{padding:0 20px 30px}.controls{align-items:stretch;flex-direction:column;gap:15px;padding-top:0;padding-bottom:20px}.tabs button{flex:1;padding:10px 15px}.search{min-width:0}.daybar{flex-wrap:nowrap;overflow:auto;margin-right:-20px;padding-right:20px}.daybar button{flex-shrink:0;padding:9px 14px}.result-top{align-items:flex-start;gap:14px;flex-direction:column;margin:5px 0 20px}h2{font-size:33px}.card{grid-template-columns:1fr;padding:22px;gap:20px}.card h3{font-size:27px}.about{grid-template-columns:1fr;gap:20px;padding:35px 22px}.about h2{font-size:33px}footer{margin:0 20px;padding:25px 0;flex-wrap:wrap}footer span:last-child{width:100%}.time{font-size:15px}}
[hidden]{display:none!important}
.caution{background:#f4e8cf;color:#75551d}.evidence{margin-top:15px;padding:10px 0 0}.evidence summary{font-size:11px;color:var(--muted)}.evidence ul{padding-left:16px;font-size:11px;overflow-wrap:anywhere}.directory-button{border:1px solid var(--line);background:var(--soft);padding:12px 18px;border-radius:5px;color:var(--ink)}#coverage-content{font-size:12px}#coverage-content ul{padding-left:18px}

/* Traditional sacred architecture: parchment, burgundy and antique brass. */
:root{--bg:#f4efe5;--ink:#392e29;--muted:#75675d;--line:#d9ccb7;--accent:#7b343b;--soft:#ebe2d3}
body{background:radial-gradient(ellipse at top,#fffaf0 0,transparent 60%),var(--bg)}
header{height:104px;border-bottom:3px double #c7b18b}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;letter-spacing:.2px;font-weight:600}.brand small{font-family:'DM Sans',sans-serif;font-size:8px;margin-top:0;letter-spacing:2.8px}.mark{color:#946e35;font-size:42px}nav a{font-size:12px;letter-spacing:.3px}
.hero{position:relative;margin:30px 20px 0;padding:55px 55px 48px;gap:42px;background:#54272c;color:#fff3dc;border:1px solid #9e7b48;box-shadow:inset 0 0 0 7px #54272c,inset 0 0 0 8px #9c784c;overflow:hidden;min-height:510px}.hero>div{z-index:1;flex:1}.hero:before{content:'✦';position:absolute;left:47%;top:34px;color:#c6a86e;font-size:20px}.hero .eyebrow{color:#d9bd86;letter-spacing:2.8px;font-size:10px}.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:64px;letter-spacing:-1.4px;line-height:1.03;margin:25px 0}.hero h1 em{color:#e3c78f}.hero .intro{color:#f0dfca;font-size:14px;max-width:370px}.hero-meta{color:#ddc9b0;font-size:10px;margin-top:25px}.dot{background:#c5a568}.hero-link{display:inline-flex;align-items:center;gap:28px;color:#f7e9d0;border-bottom:1px solid #b5935b;text-decoration:none;font-size:12px;padding:12px 0;margin-top:7px}.hero-link span{font-size:20px}.sacred-image{width:300px;flex-shrink:0;margin:0}.arch-frame{border-radius:160px 160px 2px 2px;border:1px solid #caab70;padding:8px;position:relative}.arch-frame:before{content:'';position:absolute;inset:-7px;border:1px solid #a38659;border-radius:170px 170px 2px 2px;pointer-events:none}.arch-frame img{width:100%;height:360px;object-fit:cover;object-position:center;border-radius:150px 150px 0 0;display:block;filter:sepia(.18) saturate(.75)}figcaption{font-size:8px;color:#d8c4a9;text-align:center;margin-top:17px;letter-spacing:.3px}figcaption a{text-decoration:none}.ornament{display:flex;align-items:center;justify-content:center;gap:16px;color:#987846;font-size:21px;margin:28px auto;width:230px}.ornament span{height:1px;width:80px;background:linear-gradient(90deg,transparent,#b59a6e)}.ornament span:last-child{transform:rotate(180deg)}
.tabs{border-radius:2px;background:#e8decd;border:1px solid var(--line)}.tabs button{border-radius:1px}.tabs .active{background:#672d34;color:#fff4e0;box-shadow:none}.search{border-radius:2px;background:#fffaf1}.daybar button{border-radius:2px}.daybar button.active{background:#672d34;color:#fff4e0;border-color:#672d34}.daybar button:hover{border-color:#8a653c}.card{border-radius:2px;background:#fffaf1;box-shadow:0 3px 12px #5c422908;border-top:2px solid #b99a64}.card h3,h2,.about h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}.card h3{font-size:29px;color:#612c32}h2{font-size:42px}.time{background:#eee3d0;color:#603c25;border-radius:2px;border:1px solid #ddc9a7}.time.past{background:#f3eee5;color:#8b8074;border-color:#e5dbcb}.monthly{background:#ece2cd;color:#705019}.place{letter-spacing:.15px}.links a{border-color:#c9b58f}.about{border-top:3px double #c7b18b;background:#eee6d8}.about h2{color:#612c32;font-size:40px}.about strong{color:#584133}footer{border-top:3px double #c7b18b}.toggle input{accent-color:#672d34}.directory-button{border-radius:2px}.pill{border-radius:2px}
@media(min-width:1450px){.hero{padding-top:55px;padding-bottom:48px}}
@media(max-width:900px){.hero{padding:40px 32px;gap:28px}.hero h1{font-size:52px}.sacred-image{width:240px}.arch-frame img{height:315px}}
@media(max-width:750px){header{height:88px}.brand{font-size:25px}.hero{margin:18px 16px 0;padding:34px 26px 29px;min-height:0;display:grid;grid-template-columns:1fr}.hero:before{right:26px;left:auto;top:24px}.hero h1{font-size:49px;line-height:1.02;margin:22px 0}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero .intro{font-size:14px}.sacred-image{width:100%;max-width:320px;margin:5px auto 0}.arch-frame{border-radius:150px 150px 0 0}.arch-frame img{height:240px;object-position:center 44%}.arch-frame:before{border-radius:160px 160px 0 0}figcaption{font-size:8px}.hero-meta{font-size:9px}.ornament{margin:23px auto}.card h3{font-size:29px}.card{padding:22px}.about h2{font-size:35px}h2{font-size:37px}.hero-link{margin-top:0}nav{gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.view-switch{display:flex;align-items:center;gap:5px;margin:0 0 23px;font-size:12px}.view-switch>span{margin-right:8px;color:var(--muted)}.view-switch button{padding:8px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:2px}.view-switch button.active{background:#672d34;border-color:#672d34;color:#fff4e0}.time-group{display:grid;grid-template-columns:110px 1fr;gap:24px;border-top:2px solid #b99a64;margin-bottom:26px;padding-top:18px}.hour-heading h3{font:500 38px/1 'Cormorant Garamond',Georgia,serif;color:#612c32;margin:0 0 9px}.hour-heading>span{font-size:11px;color:var(--muted)}.hour-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hour-option{border:1px solid var(--line);background:#fffaf1;padding:20px;min-width:0}.hour-option h4{font:500 26px/1.15 'Cormorant Garamond',Georgia,serif;color:#612c32;margin:0 0 8px}.parish-label{font-size:11px;color:var(--muted);margin:0 0 7px}.hour-option .pill{margin:9px 0 0}.hour-option .links{margin-top:12px}@media(max-width:750px){.time-group{grid-template-columns:1fr;gap:12px}.hour-heading{display:flex;align-items:baseline;gap:12px}.hour-heading h3{font-size:35px}.hour-options{grid-template-columns:1fr}.view-switch button{padding:8px 13px}}

.confession-window{font-size:14px;font-weight:600;color:#612c32;margin:0 0 10px}.hour-heading h3{overflow-wrap:anywhere}.time-group:last-child .hour-heading h3{font-size:30px}
