:root{color-scheme:light;--ivory:#faf7f0;--crimson:#85151d;--gold:#b59a55;--ink:#29231f;--line:#c8b476}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}
a:focus-visible,summary:focus-visible{outline:3px solid var(--crimson);outline-offset:6px}
.skip-link{position:fixed;left:16px;top:-80px;background:var(--crimson);color:white;padding:12px 18px;z-index:5}
.skip-link:focus{top:16px}
.site-header{max-width:1320px;margin:0 auto;padding:24px 0 20px;border-bottom:1px solid var(--gold);display:flex;align-items:center;justify-content:space-between;gap:24px;width:calc(100% - 88px)}
.wordmark{font-size:clamp(16px,2.2vw,25px);letter-spacing:.07em;text-transform:uppercase;font-weight:bold;text-decoration:none;color:var(--crimson)}
nav{display:flex;align-items:center;justify-content:flex-end;gap:28px;flex-wrap:wrap}
nav a{font:18px/1.4 Arial,sans-serif;text-decoration:none;white-space:nowrap}
nav a:hover{text-decoration:underline}
.hero{text-align:center;padding:40px 24px 44px}
.seal{width:clamp(215px,29vw,350px);aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative;margin:0 auto 27px}
.seal img{display:block;position:absolute;max-width:none;width:113.5%;height:auto;left:-6.75%;top:-6.75%}
.eyebrow{margin:0;color:var(--crimson);text-transform:uppercase;font-weight:bold;letter-spacing:.19em;font-size:18px;line-height:1.6}
.church-name{font-size:clamp(14px,1.9vw,24px);letter-spacing:.16em}
h1{margin:17px 0 19px;font-size:clamp(48px,7.8vw,96px);font-weight:400;line-height:.99;letter-spacing:-.035em;color:var(--crimson)}
.hero h1{max-width:1150px;margin:17px auto 19px;font-size:clamp(43px,6.4vw,88px);line-height:1.04}
.intro{margin:22px auto 27px;font-size:clamp(18px,2.3vw,26px);line-height:1.45}
.primary-link{display:inline-block;padding:12px 45px;background:var(--crimson);border:1px solid var(--crimson);border-radius:4px;color:#fffdf7;font-size:26px;line-height:1.25;text-decoration:none;transition:background .15s}
.primary-link:hover{background:#681016}
.hero-links{display:flex;gap:13px;align-items:center;justify-content:center;flex-wrap:wrap}
.hero-links a{min-width:225px;text-align:center;font-size:22px}
.secondary-link{display:inline-block;padding:12px 23px;border:1px solid var(--crimson);border-radius:4px;color:var(--crimson);line-height:1.25;text-decoration:none;transition:background .15s}
.secondary-link:hover{background:#efe5d9}
.ornament{display:flex;align-items:center;gap:17px;max-width:1180px;margin:0 auto;width:calc(100% - 96px)}
.ornament:before,.ornament:after{content:"";height:1px;background:var(--gold);flex:1}
.ornament span{width:12px;height:12px;background:var(--gold);transform:rotate(45deg)}
.faith{padding:34px 24px 44px;text-align:center;max-width:920px;margin:auto}
h2{margin:4px 0 5px;color:var(--crimson);font-size:clamp(35px,4.6vw,54px);line-height:1.15;font-weight:400;letter-spacing:-.025em}
.tradition{margin:0;font-size:clamp(18px,2.2vw,24px);line-height:1.5}
.creed-opening{max-width:820px;text-align:left;margin:28px auto 24px;font-size:clamp(22px,2.8vw,31px);line-height:1.45}
.creed summary{display:inline-flex;list-style:none;align-items:center;gap:15px;border:1px solid var(--crimson);border-radius:4px;padding:10px 25px;color:var(--crimson);font-size:23px;cursor:pointer;line-height:1.3;transition:background .15s}
.creed summary::-webkit-details-marker{display:none}
.creed summary:hover{background:#f0e9dc}
.chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.label-open{display:none}
.creed[open] .label-open{display:inline}
.creed[open] .label-closed{display:none}
.creed[open] .chevron{transform:translateY(3px) rotate(225deg)}
.creed-text{text-align:left;max-width:760px;margin:32px auto 0;padding-top:8px;border-top:1px solid var(--line);font-size:clamp(19px,2.1vw,23px);line-height:1.7}
.creed-text p{margin:22px 0}
.christological-confession{max-width:760px;margin:40px auto 0;padding:24px 28px 26px;text-align:left;border-left:3px solid var(--gold);background:#f4eee3}
.christological-confession h3{margin:0 0 13px;color:var(--crimson);font-size:clamp(25px,3vw,31px);font-weight:400;line-height:1.25}
.christological-confession p{margin:0;font-size:clamp(18px,2vw,21px);line-height:1.6}
.calendar-section{max-width:960px;margin:0 auto;padding:48px 24px 60px;text-align:center}
.calendar-intro{max-width:660px;margin:18px auto 16px;font-size:clamp(18px,2vw,23px);line-height:1.5}
.calendar-widget{display:block;width:100%;height:1240px;border:0;margin:5px auto 0;background:transparent}
.calendar-footnote{max-width:670px;margin:10px auto 14px;color:#766957;font:15px/1.6 Arial,sans-serif}
.calendar-open{font:16px/1.5 Arial,sans-serif;color:var(--crimson);text-decoration:underline;text-underline-offset:4px}
.site-footer{max-width:1180px;width:calc(100% - 96px);margin:0 auto;padding:23px 12px 32px;text-align:center;border-top:1px solid var(--gold)}
.site-footer>p:first-child{font-size:23px;font-style:italic;margin:0 0 10px;line-height:1.5}
.site-footer .eyebrow{font-size:14px;letter-spacing:.25em}
@media(min-width:1500px){.hero{padding-top:48px}.seal{width:350px}}
@media(max-width:600px){.site-header{width:calc(100% - 36px);padding:20px 0 17px;gap:17px}.wordmark{max-width:230px;font-size:15px;line-height:1.45;letter-spacing:.06em}nav a{font-size:15px}.hero{padding:30px 18px 35px}.seal{margin-bottom:24px;width:235px}.church-name{font-size:13px;letter-spacing:.12em}h1{font-size:clamp(43px,11.7vw,68px);margin:15px 0 19px;line-height:1.05}.intro{font-size:18px;line-height:1.55}.primary-link{font-size:23px;padding:11px 38px}.ornament,.site-footer{width:calc(100% - 36px)}.faith{padding:27px 22px 34px}.eyebrow{font-size:15px;letter-spacing:.18em}.creed-opening{font-size:24px;margin:25px 0}.creed summary{font-size:20px;padding:11px 20px}.site-footer>p:first-child{font-size:19px}.site-footer .eyebrow{font-size:11px;letter-spacing:.17em}}
@media(max-width:600px){.site-header{display:block;text-align:center}.wordmark{display:block;max-width:none;font-size:15px}.site-header nav{justify-content:center;gap:24px;margin-top:14px}.hero h1{font-size:clamp(35px,10vw,58px);line-height:1.08;letter-spacing:-.04em}.hero-links{flex-direction:column;gap:10px;max-width:300px;margin:auto}.hero-links a{min-width:0;width:100%;font-size:19px;padding:11px 18px}.calendar-section{padding:35px 10px 43px}.calendar-intro{padding:0 10px;font-size:18px}.calendar-widget{height:1400px}.calendar-footnote{padding:0 10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header nav,.primary-link,.creed summary,.skip-link{display:none}.hero{padding:20px}.seal{width:160px}h1{font-size:44px}.creed:not([open])>.creed-text{display:block}.faith{padding-top:20px}.creed-text{font-size:12pt;line-height:1.5}.site-footer{break-inside:avoid}body{background:white}}

/* Our History: the full account lives on its own page, with an invitation on the homepage. */
.history-teaser{text-align:center;max-width:880px;margin:0 auto;padding:53px 24px 62px}
.history-teaser h2{margin:7px 0 18px}
.history-teaser>p:not(.eyebrow){max-width:720px;margin:0 auto 26px;font-size:clamp(19px,2.2vw,24px);line-height:1.65}
.history-teaser .secondary-link{font-size:22px;padding:13px 30px}
.site-header nav a[aria-current="page"]{color:var(--crimson);font-weight:bold;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.history-hero{max-width:1160px;width:calc(100% - 88px);margin:0 auto;padding:80px 0 72px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);align-items:center;gap:65px}
.history-hero-copy{max-width:690px}
.history-hero h1{font-size:clamp(68px,8vw,105px);margin:15px 0 25px}
.history-lead{max-width:620px;margin:0 0 34px;font-size:clamp(23px,2.8vw,34px);line-height:1.35;color:#5e4c43}
.history-start{display:inline-block;font:700 16px/1.5 Arial,sans-serif;color:var(--crimson);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:7px;letter-spacing:.03em}
.history-start:hover{border-color:var(--crimson)}
.history-hero-seal{display:block;width:100%;max-width:410px;height:auto;aspect-ratio:1;object-fit:contain;justify-self:center;clip-path:circle(44.2% at 50% 50%)}
.history-contents{max-width:1160px;width:calc(100% - 88px);margin:0 auto 42px;padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;gap:28px;flex-wrap:wrap}
.history-contents>span{color:var(--crimson);font:700 13px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-right:9px}
.history-contents a{font:15px/1.5 Arial,sans-serif;white-space:normal}
.history-article{max-width:930px;width:calc(100% - 60px);margin:0 auto 90px}
.history-section{padding:58px 0 64px;border-bottom:1px solid var(--line);scroll-margin-top:35px}
.history-section:first-child{padding-top:22px}
.history-section .section-index{color:var(--crimson);letter-spacing:.17em;text-transform:uppercase;font:700 13px/1.6 Arial,sans-serif;margin:0 0 14px}
.history-section h2{font-size:clamp(39px,4.6vw,59px);max-width:790px;margin:0 0 29px}
.history-section>p:not(.section-index):not(.calling-motto){max-width:770px;margin:0 0 20px;font-size:clamp(19px,2vw,23px);line-height:1.7}
.history-section strong{color:var(--crimson)}
.mystery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:37px 0 33px}
.mystery-card{border:1px solid #d7c8a0;background:#fffdf8;padding:27px 27px 23px;min-height:220px}
.mystery-card.feature{background:#f4eae0;border-color:var(--gold)}
.mystery-number{color:var(--crimson);font:700 12px/1.4 Arial,sans-serif;letter-spacing:.13em}
.mystery-card h3{margin:12px 0 12px;color:var(--crimson);font-size:clamp(22px,2.4vw,29px);line-height:1.2;font-weight:normal}
.mystery-card p{font-size:17px;line-height:1.6;margin:0}
.history-statement{margin:43px 0 5px;border-left:4px solid var(--crimson);padding:20px 0 20px 30px;color:var(--crimson);font-style:italic;font-size:clamp(24px,3vw,33px);line-height:1.45}
.calling-list{list-style:none;margin:27px 0 34px;padding:0;max-width:720px}
.calling-list li{padding:11px 0 11px 37px;position:relative;border-bottom:1px solid #e8ddc6;font-size:clamp(19px,2vw,23px);line-height:1.45}
.calling-list li:before{content:"✦";position:absolute;left:4px;color:var(--gold);font-size:17px}
.calling-motto{color:var(--crimson);font-size:clamp(28px,3.4vw,38px);margin:36px 0 5px;font-style:italic}
.history-cta{max-width:1180px;width:calc(100% - 88px);margin:0 auto 75px;text-align:center;background:#f0e9dd;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);padding:50px 24px}
.history-cta h2{margin:9px 0 28px}
@media(max-width:750px){.history-hero{width:calc(100% - 46px);padding:51px 0 37px;grid-template-columns:1fr;gap:28px;text-align:center}.history-hero-copy{margin:0 auto}.history-hero h1{font-size:clamp(54px,11vw,76px)}.history-lead{font-size:23px;margin-bottom:23px}.history-hero-seal{max-width:240px;grid-row:1}.history-contents{width:calc(100% - 46px);margin-bottom:12px;justify-content:center;gap:11px 22px;padding:17px 0}.history-contents>span{width:100%;text-align:center;margin-right:0}.history-contents a{font-size:14px}.history-article{width:calc(100% - 46px);margin-bottom:55px}.history-section{padding:41px 0 45px}.history-section h2{font-size:clamp(35px,8vw,48px);margin-bottom:24px}.history-section>p:not(.section-index):not(.calling-motto){font-size:19px;line-height:1.65}.mystery-grid{grid-template-columns:1fr;gap:12px;margin:26px 0}.mystery-card{min-height:0;padding:24px}.mystery-card h3{font-size:25px}.history-statement{font-size:26px;padding-left:20px}.history-cta{width:calc(100% - 46px);margin-bottom:48px;padding:36px 18px}.history-teaser{padding:41px 23px 48px}.history-teaser>p:not(.eyebrow){font-size:19px}.history-teaser .secondary-link{font-size:19px}.site-header nav{gap:10px 18px}}
@media print{.history-hero{padding:20px 0}.history-hero-seal{width:140px}.history-contents,.history-cta,.history-start{display:none}.history-section{padding:20px 0;break-inside:avoid}.history-section>p:not(.section-index):not(.calling-motto){font-size:12pt}.mystery-grid{break-inside:avoid}.mystery-card{min-height:0}.history-statement{font-size:18pt}}

/* Isaiah 19:25 gives the homepage a distinct scriptural statement. */
.isaiah-section{margin:42px 0;background:var(--crimson);color:var(--ivory);border-top:4px solid var(--gold);border-bottom:4px solid var(--gold);padding:62px 24px 69px;text-align:center}
.isaiah-inner{max-width:1000px;margin:0 auto}
.isaiah-section .eyebrow{color:#edd9a3;font-size:15px;letter-spacing:.21em}
.isaiah-section blockquote{margin:21px 0 26px}
.isaiah-verse{margin:0 0 9px;font-size:clamp(38px,5.4vw,67px);line-height:1.18;letter-spacing:-.025em}
.isaiah-section cite{display:block;color:#edd9a3;font-size:clamp(19px,2.3vw,25px);font-style:normal;letter-spacing:.04em}
.isaiah-message{max-width:840px;margin:32px auto 0;padding-top:30px;border-top:1px solid #bf8e83;font-size:clamp(19px,2.1vw,24px);line-height:1.67}
@media(max-width:600px){.isaiah-section{margin:31px 0;padding:48px 22px 52px}.isaiah-verse{font-size:clamp(35px,9.5vw,51px)}.isaiah-message{font-size:18px;line-height:1.65;margin-top:25px;padding-top:24px}.isaiah-section .eyebrow{font-size:13px}}
@media print{.isaiah-section{margin:22px 0;padding:25px 20px;background:white;color:var(--ink);border:1px solid var(--gold)}.isaiah-section .eyebrow,.isaiah-section cite{color:var(--crimson)}.isaiah-verse{font-size:28pt}.isaiah-message{font-size:12pt}}

/* A personal pastoral welcome before the creed, with the full signed letter on its own page. */
.pastoral-teaser{text-align:center;max-width:920px;margin:0 auto;padding:53px 26px 62px}
.pastoral-teaser h2{margin:9px 0 21px}
.pastoral-excerpt{max-width:790px;margin:0 auto 15px;font-size:clamp(24px,3vw,36px);line-height:1.45;font-style:italic}
.pastoral-caption{max-width:710px;margin:0 auto 28px;color:#615148;font-size:clamp(18px,2vw,22px);line-height:1.6}
.pastoral-teaser .secondary-link{font-size:21px;padding:13px 30px}
.pastoral-hero{text-align:center;padding:65px 24px 47px}
.pastoral-hero h1{font-size:clamp(52px,7vw,84px);margin:13px 0 22px}
.pastoral-hero>p:last-child{font-size:clamp(19px,2.4vw,27px);line-height:1.5;margin:0}
.pastoral-letter{max-width:910px;width:calc(100% - 48px);margin:0 auto 45px;padding:52px clamp(25px,5.6vw,78px) 62px;background:#fffdf8;border:1px solid #e2d2aa;box-shadow:0 16px 48px #5d3c2110;font:clamp(18px,1.85vw,21px)/1.72 Arial,sans-serif}
.pastoral-letter>p{margin:0 0 24px}
.pastoral-letterhead{display:grid;grid-template-columns:112px 1fr;gap:27px;align-items:center;margin:0 0 45px;padding-bottom:28px;border-bottom:1px solid var(--gold)}
.pastoral-letterhead>img{display:block;width:112px;height:112px;object-fit:cover;clip-path:circle(44.2% at 50% 50%)}
.pastoral-letterhead p{margin:0;text-align:center;line-height:1.4}
.pastoral-church-name{color:var(--crimson);font:bold clamp(20px,2.5vw,29px)/1.22 Georgia,serif;margin-bottom:12px!important}
.pastoral-diocese{font-weight:bold;font-size:clamp(16px,1.7vw,20px);margin-bottom:7px!important}
.pastoral-motto{font-size:clamp(15px,1.65vw,18px)}
.pastoral-closing{margin-top:35px}
.pastoral-closing>p{margin:0 0 9px}
.pastoral-signature{display:block;max-width:340px;width:74%;height:auto;margin-left:-12px}
.pastoral-back{text-align:center;margin:0 20px 80px;font:18px/1.6 Arial,sans-serif;color:var(--crimson)}
.pastoral-back a:hover{text-decoration-thickness:2px}
@media(max-width:700px){.pastoral-teaser{padding:42px 22px 47px}.pastoral-excerpt{font-size:25px}.pastoral-teaser .secondary-link{font-size:19px}.pastoral-hero{padding:43px 18px 30px}.pastoral-letter{padding:28px 22px 38px;font-size:17px;line-height:1.72;width:calc(100% - 26px)}.pastoral-letterhead{grid-template-columns:1fr;justify-items:center;gap:12px;margin-bottom:29px;padding-bottom:22px}.pastoral-letterhead>img{width:105px;height:105px}.pastoral-church-name{font-size:23px}.pastoral-diocese{font-size:17px}.pastoral-motto{font-size:16px}.pastoral-letter>p{margin-bottom:20px}.pastoral-signature{width:88%;max-width:320px}}
@media print{.pastoral-hero{padding:20px}.pastoral-letter{padding:20px;margin:0 auto;border:0;box-shadow:none;font-size:12pt;max-width:none}.pastoral-letterhead{grid-template-columns:90px 1fr;margin-bottom:20px}.pastoral-letterhead>img{width:90px;height:90px}.pastoral-back,.pastoral-teaser .secondary-link{display:none}}

/* Approved ecclesiastical-red homepage banner and antique-gold site navigation.
   Use the original approved official-seal.png asset without modification. */
.site-header{max-width:none;width:100%;margin:0;min-height:49px;padding:10px clamp(18px,4.8vw,72px);background:#d4af62;border-bottom:1px solid #a47a3b;gap:22px}
.site-header .wordmark{color:#650c16;font-size:clamp(17px,1.75vw,25px);letter-spacing:-.025em;text-transform:none;line-height:1.2}
.site-header nav{gap:0;flex-wrap:wrap}
.site-header nav a{color:#650c16;font:16px/1.45 Georgia,"Times New Roman",serif}
.site-header nav a+a{border-left:1px solid #a57a3c;margin-left:16px;padding-left:16px}
.site-header nav a[aria-current="page"]{color:#650c16}
.hero{min-height:188px;padding:8px 24px 12px;background:#650b15 url('/assets/church-header-brocade.webp') center center/cover no-repeat;color:#fff4df;border-bottom:2px solid #c39a52;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}
.hero .seal{width:66px;height:66px;margin:0 auto 2px;flex:none}
.hero .church-name{color:#f8e9cc;font-size:clamp(13px,1.35vw,17px);font-style:italic;font-weight:normal;letter-spacing:0;line-height:1.15;text-transform:none}
.hero h1{margin:0;max-width:900px;color:#fff5e7;font-size:clamp(24px,2.65vw,36px);line-height:1.15;font-weight:700;letter-spacing:-.025em;text-wrap:balance}
.hero .intro{margin:0 0 3px;color:#f6e5c4;font-size:clamp(13px,1.5vw,19px);font-style:italic;line-height:1.2}
.hero .hero-links{gap:9px;flex-direction:row;flex-wrap:wrap}
.hero .hero-links a{width:auto;min-width:0;padding:4px 15px;border:1px solid #ddbb75;border-radius:5px;background:#670c15;color:#fff5dc;font:bold 13px/1.2 Georgia,"Times New Roman",serif}
.hero .hero-links a:hover{background:#861521}
@media(max-width:750px){
  .site-header{display:block;text-align:center;padding:7px 12px 8px}
  .site-header .wordmark{display:block;max-width:none;font-size:15px;line-height:1.15}
  .site-header nav{justify-content:center;gap:4px 12px;margin-top:6px}
  .site-header nav a{font-size:12px;line-height:1.25}
  .site-header nav a+a{border:0;margin-left:0;padding-left:0}
  /* Compact, continuous mobile banner, proportioned after the approved mockup. */
  .hero{min-height:0;padding:7px 10px 9px;gap:0;background:#4a000c url('/assets/church-header-mobile.webp') center top/cover no-repeat;position:relative;isolation:isolate}
  .hero:before,.hero:after{content:none}
  .hero .seal{position:relative;top:auto;left:auto;transform:none;width:82px;height:82px;margin:0 auto 2px;flex:none}
  .hero .church-name{margin:0;font-size:11px;line-height:1.1}
  .hero h1{font-size:clamp(14px,3.9vw,18px);max-width:none;white-space:nowrap;line-height:1.14;letter-spacing:-.025em;margin:0}
  .hero .intro{font-size:11px;line-height:1.18;margin:1px 0 3px}
  .hero .hero-links{max-width:none;gap:6px;margin:0 auto}
  .hero .hero-links a{width:auto;min-width:0;font-size:10px;line-height:1.1;padding:3px 9px}
}
@media print{.site-header{background:white}.hero{background:white;color:var(--ink);border-bottom:1px solid var(--gold)}.hero h1,.hero .church-name{color:var(--crimson)}.hero .intro{color:var(--ink)}}

/* Homepage right rail. The approved header, seal, and other sections are untouched. */
.homepage-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);max-width:1600px;margin:0 auto;align-items:stretch}
.homepage-main{min-width:0}
.homepage-main .ornament{max-width:850px}
.homepage-main .faith,.homepage-main .history-teaser,.homepage-main .pastoral-teaser{max-width:850px}
.communion-invitation{max-width:795px;margin:48px auto 54px;padding:37px 40px 38px;text-align:center;color:#fff4e3;background:linear-gradient(145deg,#78131c 0%,#590e16 100%);border-top:4px solid #d1ad69;border-bottom:1px solid #b88c4e;box-shadow:0 5px 18px rgba(60,15,16,.16)}
.communion-invitation .eyebrow{font-size:14px;letter-spacing:.18em;color:#e0c187}
.communion-invitation h2{max-width:690px;margin:12px auto 21px;font-size:clamp(34px,3.6vw,49px);line-height:1.14;color:#fff5e8}
.communion-invitation>p:not(.eyebrow):not(.communion-contact):not(.communion-note){margin:0 auto 18px;max-width:660px;font-size:clamp(18px,1.9vw,22px);line-height:1.58}
.communion-cta{display:inline-block;max-width:100%;margin:9px auto 0;padding:15px 25px;border-radius:4px;border:1px solid #f1d899;background:#ddbd78;color:#441017;font:700 17px/1.3 Arial,sans-serif;text-decoration:none;transition:background .15s}
.communion-cta:hover{background:#f2d59a}
.communion-cta:focus-visible{outline:3px solid white}
.communion-invitation .communion-contact{margin:20px 0 0;color:#f8e5c7;font:15px/1.6 Arial,sans-serif;overflow-wrap:anywhere}
.communion-invitation .communion-note{max-width:600px;margin:10px auto 0;color:#e7cfa8;font:italic 14px/1.5 Georgia,serif}
@media(max-width:920px){.communion-invitation{margin:34px 26px 42px}}
@media(max-width:600px){.communion-invitation{padding:29px 22px 31px;margin:25px 16px 36px}.communion-invitation h2{font-size:34px}.communion-invitation>p:not(.eyebrow):not(.communion-contact):not(.communion-note){font-size:19px}.communion-cta{padding:14px 18px;font-size:16px}}
.liturgical-sidebar{min-width:0;padding:26px 21px 42px;background:#d9bb7c url("/assets/brocade.svg") repeat;background-size:88px 100px;border-left:1px solid #b8954b;display:flex;flex-direction:column;gap:20px}
.sidebar-panel{background:#fdf8ed;border:1px solid #ccaa64;border-radius:12px;padding:23px 18px 24px;box-shadow:0 2px 8px rgba(84,48,15,.07)}
.sidebar-panel h2{font-size:clamp(23px,2vw,28px);font-weight:bold;text-align:center;line-height:1.2;letter-spacing:-.015em;margin:0 0 11px;color:#85151d}
.sidebar-date,.sidebar-coptic-date,.sidebar-subtitle{text-align:center;font-style:italic;color:#34251f;line-height:1.3}
.sidebar-date{font-size:17px;margin:0}
.sidebar-coptic-date{font-size:16px;margin:5px 0 19px;padding-bottom:12px;border-bottom:1px solid #cda862}
.sidebar-subtitle{font-size:16px;margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid #cda862}
.daily-readings{display:flex;flex-direction:column;gap:7px}
.reading-item{border:1px solid #c7a36a;border-radius:6px;background:#fffaf1;color:#74131a;overflow:hidden}
.reading-item.gospel{background:#86141e;color:#fff8eb;border-color:#a47e39}
.reading-item summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;font-size:clamp(16px,1.55vw,20px);font-weight:bold;line-height:1.25;padding:12px 15px}
.reading-item summary::-webkit-details-marker{display:none}
.reading-item summary:after{content:"⌄";font-size:22px;line-height:1;flex:none}
.reading-item[open] summary:after{transform:rotate(180deg)}
.reading-item[open].gospel{background:#fffaf1;color:#74131a}
.reading-reference{font:15px/1.45 Georgia,serif;border-top:1px solid #dac79e;color:#4f4034;margin:0;padding:11px 15px 13px}
.sidebar-action{display:block;text-align:center;text-decoration:none;border:1px solid #c6a15b;border-radius:7px;color:#85151d;background:#fffaf1;font-size:clamp(16px,1.55vw,19px);font-weight:bold;padding:11px 13px;margin:21px auto 0;max-width:305px;line-height:1.25}
.sidebar-action:hover{background:#f5e8cf}
.sidebar-action span{margin-left:9px}
.saints-panel ul{margin:0;padding:0;list-style:none}
.saints-panel li{font-size:clamp(17px,1.55vw,20px);line-height:1.4;color:#66131b;padding:10px 5px 10px 18px;position:relative}
.saints-panel li+li{border-top:1px solid #dfca9c}
.saints-panel li:before{content:"•";position:absolute;left:2px;color:#81141d}
@media(max-width:920px){.homepage-columns{grid-template-columns:minmax(0,1fr)}.homepage-main{grid-row:1}.liturgical-sidebar{grid-row:2;border-left:0;border-top:1px solid #b8954b;border-bottom:1px solid #b8954b;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:16px}}
@media(max-width:620px){.liturgical-sidebar{display:flex;gap:14px;padding:18px 13px}.sidebar-panel{padding:20px 15px}.sidebar-panel h2{font-size:24px}.sidebar-date{font-size:16px}.sidebar-coptic-date{font-size:15px}.reading-item summary{font-size:18px}.sidebar-action{font-size:18px}}
@media print{.homepage-columns{display:block}.liturgical-sidebar{background:white;border:1px solid var(--line);margin:12px;page-break-inside:avoid}.sidebar-action{display:none}}

/* Private relocation preview: existing interactive calendar now beneath name days in the right rail. */
.liturgical-sidebar .calendar-section{width:100%;max-width:none;padding:20px 0 23px;margin:0;background:#fffaf1;border:1px solid #ccaa64;border-radius:12px;box-shadow:0 2px 8px rgba(84,48,15,.07);overflow:hidden}
.liturgical-sidebar .calendar-section .eyebrow{font-size:12px;letter-spacing:.13em}
.liturgical-sidebar .calendar-section h2{font-size:clamp(24px,2vw,29px);font-weight:400;margin:5px auto 6px;line-height:1.18}
.liturgical-sidebar .calendar-intro{font-size:15px;line-height:1.38;margin:8px 16px 15px;padding:0}
.liturgical-sidebar .calendar-widget{width:100%;height:1550px;margin:0 auto;background:#f5f1e9}
.liturgical-sidebar .calendar-footnote{font-size:12px;line-height:1.5;margin:13px 17px}
.liturgical-sidebar .calendar-open{font-size:14px}
@media(max-width:920px){.liturgical-sidebar .calendar-section{grid-column:1/-1;max-width:700px;margin:0 auto}}
@media(max-width:620px){.liturgical-sidebar .calendar-section{max-width:none}}
/* The embedded calendar already supplies its own burgundy title bar. */
.liturgical-sidebar .calendar-section > .eyebrow,
.liturgical-sidebar .calendar-section > h2,
.liturgical-sidebar .calendar-section > .calendar-intro{display:none}
