/* ==========================================================
   St George Kearney — site stylesheet
   One file, cached by the browser, shared by every page.
   ========================================================== */
@font-face{
  font-family:"Tiller";
  src:url("/assets/tiller.95064f41.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}

/* ===================== TOKENS =====================
   Drawn from the building: oxblood of the royal-doors curtain,
   the gold of the logo and the lampadas, oak, and the warm gesso
   ground of an icon panel.                                        */
:root{
  --parchment:#FCF7F0;      /* page ground — gesso / gold-leaf ivory */
  --surface:#FFFCF5;        /* icon panel */
  --surface-2:#F1E7D2;
  --maroon:#6E1A20;         /* the curtain behind the royal doors */
  --maroon-2:#8E2A2E;
  --maroon-deep:#4E1116;
  --brand-bar:#6E1A20;
  --gold:#A08460;           /* exact logo gold */
  --gilt:#C69936;           /* leaf highlight, rules and ornament */
  --gold-ink:#7A6242;       /* gold that passes as small text */
  --ink:#2B1E19;            /* warm ink-brown, the outline of an icon */
  --ink-2:#5C4A41;
  --ink-3:#776458;
  --rule:#E1D3B4;
  --rule-2:#CDB98F;
  --on-maroon:#FCF7F0;
  --on-accent:#FFFFFF;
  --shadow-sm:0 1px 2px rgba(43,30,25,.07);
  --shadow:0 2px 5px rgba(43,30,25,.06), 0 14px 30px -18px rgba(43,30,25,.32);
  --scrim:linear-gradient(to bottom, rgba(28,12,12,.66) 0%, rgba(34,16,14,.30) 44%, rgba(24,10,11,.82) 100%);
  --gesso:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --parchment:#15100E;
    --surface:#1E1714;
    --surface-2:#271E1A;
    --maroon:#C8797A;
    --maroon-2:#D98F8C;
    --maroon-deep:#3A0E12;
    --brand-bar:#3F1014;
    --gold:#C6A87C;
    --gilt:#D6AE5E;
    --gold-ink:#D2B489;
    --ink:#F0E8DA;
    --ink-2:#C0B2A2;
    --ink-3:#96877A;
    --rule:#382C26;
    --rule-2:#4C3B32;
    --on-maroon:#F3E4CB;
    --on-accent:#1B100F;
    --shadow-sm:0 1px 2px rgba(0,0,0,.5);
    --shadow:0 2px 5px rgba(0,0,0,.4), 0 14px 30px -18px rgba(0,0,0,.8);
    --gesso:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  }
}
:root[data-theme="dark"]{
  --parchment:#15100E;
  --surface:#1E1714;
  --surface-2:#271E1A;
  --maroon:#C8797A;
  --maroon-2:#D98F8C;
  --maroon-deep:#3A0E12;
  --brand-bar:#3F1014;
  --gold:#C6A87C;
  --gilt:#D6AE5E;
  --gold-ink:#D2B489;
  --ink:#F0E8DA;
  --ink-2:#C0B2A2;
  --ink-3:#96877A;
  --rule:#382C26;
  --rule-2:#4C3B32;
  --on-maroon:#F3E4CB;
  --on-accent:#1B100F;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow:0 2px 5px rgba(0,0,0,.4), 0 14px 30px -18px rgba(0,0,0,.8);
}

/* ===================== BASE ===================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  margin:0;background-color:var(--parchment);background-image:var(--gesso);
  color:var(--ink);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-size:18.5px;line-height:1.66;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--maroon);}
:focus-visible{outline:3px solid var(--gilt);outline-offset:2px;border-radius:2px;}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px;}
[hidden]{display:none !important;}
[id]{scroll-margin-top:110px;}
.skip{position:absolute;left:-9999px;top:0;background:var(--brand-bar);color:var(--on-maroon);padding:12px 20px;z-index:300;}
.skip:focus{left:8px;top:8px;}
.ui{font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.disp{font-family:"Tiller",Georgia,serif;font-weight:400;}
.lit{font-family:"Cardo",Georgia,serif;}
.lbl{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.19em;text-transform:uppercase;color:var(--gold-ink);
}

/* ---- braided trim, drawn as two crossing strands ---- */
.braid{
  height:15px;
  background:var(--maroon-deep)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='15' viewBox='0 0 34 15'%3E%3Cg fill='none' stroke='%23C69936' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M0 10.5C4.25 10.5 4.25 4.5 8.5 4.5S12.75 10.5 17 10.5 21.25 4.5 25.5 4.5 29.75 10.5 34 10.5'/%3E%3Cpath d='M0 4.5C4.25 4.5 4.25 10.5 8.5 10.5S12.75 4.5 17 4.5 21.25 10.5 25.5 10.5 29.75 4.5 34 4.5'/%3E%3C/g%3E%3Cg fill='%23C69936'%3E%3Ccircle cx='8.5' cy='7.5' r='1'/%3E%3Ccircle cx='25.5' cy='7.5' r='1'/%3E%3C/g%3E%3C/svg%3E")
    repeat-x center;
  box-shadow:inset 0 1px 0 rgba(198,153,54,.55), inset 0 -1px 0 rgba(198,153,54,.55);
}

/* ---- section-head ornament ---- */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 16px;}
.orn i{display:block;height:1px;width:clamp(30px,9vw,86px);background:linear-gradient(to right,transparent,var(--rule-2));}
.orn svg+i{background:linear-gradient(to left,transparent,var(--rule-2));}
.orn svg{color:var(--gilt);flex:none;}

/* ===================== ANNOUNCE ===================== */
.announce{background:var(--maroon-deep);color:var(--on-maroon);font-size:15px;}
.announce .wrap{display:flex;align-items:center;gap:14px;padding-top:9px;padding-bottom:9px;}
.announce p{margin:0;flex:1;}
.announce b{color:#fff;font-weight:600;}
.announce a{color:var(--gilt);font-weight:600;}
.announce button{
  flex:none;background:none;border:0;color:rgba(243,228,203,.7);cursor:pointer;
  font-size:20px;line-height:1;width:32px;height:32px;border-radius:4px;
}
.announce button:hover{background:rgba(255,255,255,.14);color:#fff;}
@media (max-width:760px){
  .announce{font-size:14px;}
  .announce .wrap{padding-top:7px;padding-bottom:7px;gap:8px;}
  .announce .an-more{display:none;}
}

/* ===================== HEADER ===================== */
header.site{position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(43,30,25,.18);}
.masthead{background:var(--brand-bar);}
.masthead .wrap{display:flex;align-items:center;gap:20px;min-height:84px;}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;margin-right:auto;}
.brand img{height:40px;width:auto;}
@media (max-width:520px){ .brand img{height:31px;} }
nav.main{display:none;}
@media (min-width:980px){ nav.main{display:flex;align-items:center;gap:2px;} }
nav.main a{
  font-family:"Source Sans 3",sans-serif;text-decoration:none;color:var(--on-maroon);
  font-weight:600;font-size:16px;letter-spacing:.05em;padding:12px 15px;border-radius:4px;
}
nav.main a:hover{background:rgba(255,255,255,.13);color:#fff;}
.tel{
  display:none;font-family:"Source Sans 3",sans-serif;text-decoration:none;font-weight:600;
  font-size:15.5px;color:var(--on-maroon);padding:12px 14px;border-radius:4px;white-space:nowrap;
}
@media (min-width:1120px){ .tel{display:inline-block;} }
.tel:hover{background:rgba(255,255,255,.13);}
.btn-give{
  font-family:"Source Sans 3",sans-serif;display:inline-block;text-decoration:none;
  background:var(--gilt);color:#3A1013;font-weight:700;font-size:15.5px;letter-spacing:.06em;
  padding:12px 24px;border-radius:3px;border:1px solid var(--gilt);white-space:nowrap;
}
.btn-give:hover{background:#D2A54B;border-color:#D2A54B;}
.btn-members{
  display:none;font-family:"Source Sans 3",sans-serif;text-decoration:none;align-items:center;gap:7px;
  color:var(--on-maroon);font-weight:600;font-size:15px;letter-spacing:.04em;padding:11px 16px;border-radius:3px;
  border:1px solid rgba(252,247,240,.45);white-space:nowrap;margin-right:2px;
}
.btn-members svg{opacity:.85;}
.btn-members:hover{background:rgba(255,255,255,.13);border-color:rgba(252,247,240,.8);}
@media (min-width:980px){ .btn-members{display:inline-flex;} }
.drawer li.members a{display:flex;align-items:center;gap:9px;border-top:1px solid rgba(252,247,240,.18);margin-top:6px;padding-top:14px;}
.menu-btn{
  font-family:"Source Sans 3",sans-serif;display:inline-flex;align-items:center;gap:9px;
  background:transparent;border:1px solid rgba(243,228,203,.55);border-radius:3px;
  color:var(--on-maroon);font-size:15px;font-weight:600;padding:11px 15px;cursor:pointer;min-height:44px;
}
@media (min-width:980px){ .menu-btn{display:none;} }
.menu-btn:hover{background:rgba(255,255,255,.13);}
.drawer{display:none;background:var(--brand-bar);filter:brightness(.82);}
.drawer.open{display:block;}
@media (min-width:980px){ .drawer,.drawer.open{display:none;} }
.drawer ul{list-style:none;margin:0;padding:6px 0 14px;}
.drawer a{
  font-family:"Source Sans 3",sans-serif;display:block;text-decoration:none;color:var(--on-maroon);
  font-weight:600;font-size:17.5px;padding:14px 22px;border-bottom:1px solid rgba(243,228,203,.16);
}
.drawer li:last-child a{border-bottom:0;}

/* ===================== HERO ===================== */
.hero{position:relative;height:64vh;min-height:450px;max-height:680px;overflow:hidden;background:#1B0C0C;}
@media (max-width:760px){
  /* on a phone the hero grows with its text instead of clipping it */
  .hero{height:auto;min-height:47vh;max-height:none;}
  .hero-body{padding:34px 0 30px;}
  .hero .kicker{margin-bottom:10px;}
  .hero h1{margin-bottom:10px;}
  .hero p.sub{font-size:16px;line-height:1.5;margin-bottom:20px;}
  .hero-cta{gap:10px;}
  .hero-cta .cta{flex:1 1 100%;text-align:center;}
  .hero-pause{bottom:auto;top:14px;right:14px;width:38px;height:38px;}
}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;
  background:#1B0C0C url("/assets/hero-poster.a083ec25.jpg") center 45%/cover no-repeat;
}
.hero-scrim{position:absolute;inset:0;background:var(--scrim);}
.hero-vig{position:absolute;inset:0;background:radial-gradient(115% 85% at 50% 42%, rgba(0,0,0,0) 42%, rgba(30,10,10,.55) 100%);}
.hero-body{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;}
.hero-body .wrap{width:100%;}
.hero .kicker{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;color:var(--gilt);margin:0 0 14px;
  text-shadow:0 1px 8px rgba(0,0,0,.7);
}
.hero h1{
  font-family:"Tiller",Georgia,serif;font-weight:400;
  font-size:clamp(28px,5.3vw,60px);line-height:1.08;color:#FDF6E7;
  margin:0 0 12px;max-width:17ch;text-wrap:balance;text-shadow:0 2px 22px rgba(0,0,0,.55);
}
.hero p.sub{
  font-size:clamp(16.5px,2vw,21px);color:rgba(253,246,231,.93);max-width:45ch;
  margin:0 0 24px;text-shadow:0 1px 14px rgba(0,0,0,.6);
}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;}
.cta{
  font-family:"Source Sans 3",sans-serif;display:inline-block;text-decoration:none;
  font-weight:700;font-size:16.5px;letter-spacing:.045em;padding:15px 28px;border-radius:3px;min-height:44px;
}
.cta.primary{background:var(--gilt);color:#3A1013;border:1px solid var(--gilt);}
.cta.primary:hover{background:#D2A54B;}
.cta.ghost{background:rgba(20,8,8,.34);color:#FDF6E7;border:1px solid rgba(243,228,203,.65);backdrop-filter:blur(3px);}
.cta.ghost:hover{background:rgba(110,26,32,.72);border-color:var(--gilt);}
@media (max-width:760px){ .cta{padding:13px 22px;font-size:15.5px;} }
.hero-pause{
  position:absolute;right:16px;bottom:16px;z-index:3;width:44px;height:44px;border-radius:50%;
  cursor:pointer;background:rgba(24,10,11,.6);border:1px solid rgba(243,228,203,.55);
  color:#FDF6E7;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);
}
.hero-pause:hover{background:var(--maroon);}

/* ===================== ANSWER STRIP ===================== */
.strip{
  background:var(--surface-2);
  border-bottom:1px solid var(--rule-2);
  box-shadow:inset 0 3px 0 var(--gilt), inset 0 5px 0 var(--maroon);
}
.strip .wrap{display:grid;grid-template-columns:1fr;padding-top:0;padding-bottom:0;}
@media (min-width:900px){ .strip .wrap{grid-template-columns:1.3fr 1fr 1.1fr;} }
.si{padding:20px 0;border-bottom:1px solid var(--rule-2);}
@media (min-width:900px){
  .si{padding:24px 32px;border-bottom:0;border-left:1px solid var(--rule-2);}
  .si:first-child{padding-left:0;border-left:0;}
  .si:last-child{padding-right:0;}
}
.strip .wrap .si:last-child{border-bottom:0;}
.si .lbl{display:block;margin-bottom:6px;color:var(--maroon);}
.si .big{font-family:"Tiller",Georgia,serif;font-size:23px;line-height:1.25;color:var(--ink);display:block;}
.si .small{font-size:16px;color:var(--ink-2);display:block;margin-top:5px;}
.si a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--gilt);}
.si a:hover{color:var(--maroon);border-color:var(--maroon);}
.si .times{font-size:17.5px;color:var(--ink-2);line-height:1.7;}
.si .times b{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:19px;color:var(--ink);}

/* ===================== SECTIONS ===================== */
section{padding:74px 0;}
.sec-head{text-align:center;max-width:56ch;margin:0 auto 42px;}
.sec-head.left{text-align:left;max-width:none;margin:0 0 36px;}
.sec-head.left p{max-width:70ch;}
.sec-head.left .orn{justify-content:flex-start;}
.sec-head.left .orn i:first-child{display:none;}      /* flush left: the cross leads, one line trails */
.sec-head h2{
  font-family:"Tiller",Georgia,serif;font-weight:400;
  font-size:clamp(30px,4.2vw,44px);line-height:1.12;margin:0 0 12px;text-wrap:balance;color:var(--maroon);
}
.sec-head p{margin:0;color:var(--ink-2);font-size:18px;}

/* ---- the four doors: an arcade ---- */
.doors{display:grid;gap:20px;grid-template-columns:1fr;}
@media (min-width:640px){ .doors{grid-template-columns:1fr 1fr;} }
@media (min-width:1000px){ .doors{grid-template-columns:repeat(4,1fr);} }
.door{
  position:relative;display:flex;flex-direction:column;text-align:center;
  background:var(--surface);border:1px solid var(--rule-2);
  border-radius:3px;overflow:hidden;
  padding:40px 24px 28px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
/* inner hairline, starting below the braid */
.door::before{
  content:"";position:absolute;left:9px;right:9px;top:24px;bottom:9px;
  border:1px solid var(--rule);border-radius:2px;pointer-events:none;
}
/* the braid crown: the same woven band that runs under the header */
.door::after{
  content:"";position:absolute;left:0;right:0;top:0;height:15px;pointer-events:none;
  background:var(--maroon-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='15' viewBox='0 0 34 15'%3E%3Cg fill='none' stroke='%23C69936' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M0 10.5C4.25 10.5 4.25 4.5 8.5 4.5S12.75 10.5 17 10.5 21.25 4.5 25.5 4.5 29.75 10.5 34 10.5'/%3E%3Cpath d='M0 4.5C4.25 4.5 4.25 10.5 8.5 10.5S12.75 4.5 17 4.5 21.25 10.5 25.5 10.5 29.75 4.5 34 4.5'/%3E%3C/g%3E%3Cg fill='%23C69936'%3E%3Ccircle cx='8.5' cy='7.5' r='1'/%3E%3Ccircle cx='25.5' cy='7.5' r='1'/%3E%3C/g%3E%3C/svg%3E") repeat-x center;
}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gilt);}
@media (prefers-reduced-motion:reduce){ .door:hover{transform:none;} }
.door .cross{color:var(--gilt);margin:0 auto 12px;display:block;}
.door h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:25px;
  line-height:1.15;margin:0 0 12px;color:var(--maroon);
}
.door p{margin:0 0 20px;color:var(--ink-2);font-size:16.5px;line-height:1.55;flex:1;text-align:left;}
.door .go{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15.5px;
  letter-spacing:.05em;color:var(--gold-ink);
}
.door:hover .go{color:var(--maroon);text-decoration:underline;}

/* ===================== TODAY + WELCOME ===================== */
.band{background:var(--surface-2);border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);}
.duo{display:grid;gap:26px;grid-template-columns:1fr;align-items:stretch;}
@media (min-width:900px){ .duo{grid-template-columns:1.05fr 1fr;} }

.panel{
  background:var(--surface);border:1px solid var(--rule-2);
  box-shadow:var(--shadow-sm);position:relative;
  background-image:var(--gesso);
}
.panel::after{
  content:"";position:absolute;inset:7px;border:1px solid var(--rule);pointer-events:none;
}

.today{padding:34px 34px 28px;display:flex;flex-direction:column;}
.today .date{font-family:"Cardo",serif;font-size:15.5px;color:var(--gold-ink);letter-spacing:.04em;margin:0 0 6px;}
.today h3, .today h2.ph{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:28px;
  line-height:1.18;margin:0 0 18px;color:var(--maroon);
  display:flex;align-items:center;gap:12px;
}
.today h3 svg, .today h2.ph svg{color:var(--gilt);flex:none;}
.today .comm{font-family:"Cardo",Georgia,serif;font-size:20.5px;line-height:1.5;color:var(--ink);margin:0 0 24px;}
.today dl{
  display:grid;grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 24px;
  padding-top:18px;border-top:1px solid var(--rule);
}
.today dt{
  font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;padding-top:6px;
}
.today dd{margin:0;color:var(--ink);font-family:"Cardo",serif;font-size:19px;}
.today .fastline{color:var(--maroon-2);font-weight:700;}
.today .weeklink{
  font-family:"Source Sans 3",sans-serif;font-size:16px;font-weight:600;
  margin:auto 0 0;padding-bottom:18px;
}
.today .weeklink a{color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);}
.today .weeklink a:hover{border-color:var(--maroon);}
.today .src{font-size:13.5px;color:var(--ink-3);margin:0;padding-top:18px;border-top:1px solid var(--rule);}
.today .src a{color:var(--ink-3);}

.welcome{display:flex;flex-direction:column;overflow:hidden;}
.welcome .imgwrap{position:relative;padding:7px 7px 0;}
.welcome img{
  width:100%;height:232px;object-fit:cover;object-position:center 72%;
  filter:saturate(.7) sepia(.22) contrast(1.03);
}
:root[data-theme="dark"] .welcome img{filter:saturate(.62) sepia(.26) brightness(.82);}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .welcome img{filter:saturate(.62) sepia(.26) brightness(.82);}
}
.welcome .wb{padding:26px 34px 30px;display:flex;flex-direction:column;flex:1;position:relative;z-index:1;}
.welcome h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:28px;line-height:1.18;margin:0 0 14px;color:var(--maroon);}
.welcome p{margin:0 0 20px;color:var(--ink-2);font-size:17.5px;}
.welcome .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;}
.mini{
  font-family:"Source Sans 3",sans-serif;display:inline-block;text-decoration:none;
  font-weight:600;font-size:15.5px;letter-spacing:.04em;padding:12px 20px;border-radius:3px;min-height:44px;
  border:1px solid var(--rule-2);color:var(--ink);background:var(--surface);
}
.mini:hover{background:var(--surface-2);border-color:var(--gilt);}
.mini.solid{background:var(--maroon);border-color:var(--maroon);color:var(--on-maroon);}
.mini.solid:hover{background:var(--maroon-deep);border-color:var(--maroon-deep);color:#fff;}
:root[data-theme="dark"] .mini.solid{color:#1B100F;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .mini.solid{color:#1B100F;} }

/* ===================== STORY ===================== */
.story{display:grid;gap:40px;grid-template-columns:1fr;align-items:center;}
@media (min-width:840px){ .story{grid-template-columns:310px 1fr;} }
.story figure{margin:0;}
.story .frame{
  padding:9px;background:var(--surface);border:1px solid var(--rule-2);
  border-radius:150px 150px 3px 3px;box-shadow:var(--shadow);
}
.story .frame img{border-radius:142px 142px 2px 2px;width:100%;}
.story figcaption{font-size:14px;color:var(--ink-3);margin-top:14px;font-style:italic;text-align:center;}
.story h2{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(27px,3.6vw,39px);
  line-height:1.14;margin:0 0 18px;color:var(--maroon);
}
.story .lbl{display:block;margin-bottom:12px;}
.story p{color:var(--ink-2);font-size:17.5px;max-width:62ch;}
.story .pull{
  font-family:"Cardo",Georgia,serif;font-size:22px;line-height:1.5;color:var(--ink);
  border-left:3px solid var(--gilt);padding-left:22px;margin:0 0 22px;
}
.story a.more{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16.5px;color:var(--maroon);}

/* ===================== FOOTER ===================== */
footer.site{background:var(--maroon-deep);color:#E8D6BC;padding:56px 0 30px;}
footer.site a{color:#E8D6BC;}
.fgrid{display:grid;gap:38px;grid-template-columns:1fr;}
@media (min-width:720px){ .fgrid{grid-template-columns:1.3fr 1fr 1fr;} }
@media (min-width:1000px){ .fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr;} }
.fgrid img.flogo{height:104px;width:auto;margin-bottom:20px;filter:brightness(1.4) saturate(.7);}
.fgrid h4{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.19em;
  text-transform:uppercase;font-weight:600;color:var(--gilt);margin:0 0 16px;
  padding-bottom:10px;border-bottom:1px solid rgba(198,153,54,.4);
}
.fgrid ul{list-style:none;margin:0;padding:0;}
.fgrid li{margin-bottom:10px;font-size:16.5px;}
.fgrid a{text-decoration:none;}
.fgrid a:hover{text-decoration:underline;color:#fff;}
.fgrid p{font-size:16.5px;color:#CBB49A;margin:0 0 10px;line-height:1.6;}
.ftimes{font-size:16.5px;color:#E8D6BC;}
.ftimes div{margin-bottom:9px;}
.ftimes b{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:18px;color:#fff;}
.fbot{
  margin-top:46px;padding-top:22px;border-top:1px solid rgba(232,214,188,.18);
  display:flex;flex-wrap:wrap;gap:10px 26px;font-size:14.5px;color:#AD947B;
  font-family:"Source Sans 3",sans-serif;
}
.fbot a{color:#AD947B;text-decoration:none;}
.fbot a:hover{text-decoration:underline;}

/* ==========================================================
   INTERIOR PAGES
   ========================================================== */
.pagehead{position:relative;overflow:hidden;background:#1B0C0C;}
.pagehead-img{position:absolute;inset:0;background-size:cover;background-position:center 62%;filter:saturate(.8) sepia(.1);}
.pagehead-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,12,12,.62),rgba(24,10,11,.86));}
.pagehead-body{position:relative;padding-block:clamp(54px,9vw,104px);}
.pagehead .kicker{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;color:var(--gilt);margin:0 0 14px;
}
.pagehead h1{
  font-family:"Tiller",Georgia,serif;font-weight:400;
  font-size:clamp(32px,5.6vw,58px);line-height:1.06;color:#FDF6E7;
  margin:0 0 14px;max-width:22ch;text-wrap:balance;
}
.pagehead p{font-size:clamp(17px,1.7vw,19.5px);color:rgba(253,246,231,.92);max-width:58ch;margin:0;}

/* crumb */
.crumb{
  font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);
  padding-block:16px;border-bottom:1px solid var(--rule);
}
.crumb a{color:var(--ink-2);text-decoration:none;}
.crumb a:hover{color:var(--maroon);text-decoration:underline;}

/* the three short answers */
.answers{display:grid;gap:18px;margin:0;}
@media (min-width:760px){ .answers{grid-template-columns:repeat(3,1fr);} }
.answer{
  background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--gilt);
  border-radius:3px;padding:24px 26px;box-shadow:var(--shadow-sm);
}
.answer h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:23px;line-height:1.2;margin:0 0 10px;color:var(--maroon);}
.answer p{margin:0;color:var(--ink-2);font-size:16.5px;line-height:1.55;}
.answer p + p{margin-top:9px;}
.answer a{color:var(--maroon);}

/* Ment's six points */
.points{counter-reset:pt;list-style:none;padding:0;margin:0 auto;max-width:76ch;}
.points > li{
  counter-increment:pt;position:relative;
  padding:30px 0 30px 62px;border-top:1px solid var(--rule);margin:0;
}
.points > li:first-child{border-top:0;padding-top:6px;}
.points.one > li{padding-left:0;}
.points.one > li::before{display:none;}
.points > li::before{
  content:counter(pt);position:absolute;left:0;top:32px;
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:"Tiller",Georgia,serif;font-size:19px;
  color:var(--maroon);background:var(--surface);border:1px solid var(--gilt);
}
.points > li:first-child::before{top:8px;}
.points h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:26px;
  line-height:1.18;margin:0 0 10px;color:var(--maroon);
}
.points p{margin:0 0 12px;font-size:18px;max-width:64ch;}
.points p:last-child{margin-bottom:0;}
@media (max-width:560px){
  .points > li{padding-left:0;padding-top:52px;}
  .points > li:first-child{padding-top:46px;}
  .points > li::before{top:0;} .points > li:first-child::before{top:0;}
}

/* sunday timeline */
.timeline{list-style:none;padding:0;margin:0 auto;max-width:74ch;}
.timeline li{
  display:grid;grid-template-columns:150px 1fr;gap:20px;margin:0;
  padding:18px 0;border-top:1px solid var(--rule);
}
.timeline li:first-child{border-top:0;}
.timeline .when{
  font-family:"Tiller",Georgia,serif;font-size:20px;color:var(--maroon);
  font-variant-numeric:tabular-nums;line-height:1.2;
}
.timeline .when small{display:block;font-family:"Source Sans 3",sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:2px;}
.timeline .what b{display:block;font-weight:600;margin-bottom:3px;font-size:18px;}
.timeline .what span{color:var(--ink-2);font-size:16.5px;}
@media (max-width:560px){
  .timeline li{grid-template-columns:1fr;gap:4px;}
}

/* Q & A */
.qa{margin:0;}
.qa details{
  border-top:1px solid var(--rule);
}
.qa details:last-of-type{border-bottom:1px solid var(--rule);}
.qa summary{
  cursor:pointer;padding:17px 34px 17px 0;position:relative;list-style:none;
  font-size:18.5px;font-weight:600;color:var(--ink);
}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{
  content:"";position:absolute;right:6px;top:26px;
  width:9px;height:9px;border-right:1.5px solid var(--gilt);border-bottom:1.5px solid var(--gilt);
  transform:rotate(45deg);transition:transform .18s ease;
}
.qa details[open] summary::after{transform:rotate(-135deg);}
.qa summary:hover{color:var(--maroon);}
.qa .body{padding:0 0 20px;}
.qa .body p{margin:0 0 12px;color:var(--ink-2);font-size:17.5px;}
.qa .body p:last-child{margin-bottom:0;}
@media (prefers-reduced-motion:reduce){ .qa summary::after{transition:none;} }

/* draft marker — remove once Fr has reviewed */
.review{
  display:inline-block;font-family:"Source Sans 3",sans-serif;
  font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;
  color:var(--maroon);border:1px dashed var(--maroon);border-radius:3px;
  padding:3px 8px;margin-left:10px;vertical-align:middle;
}

/* closing call to action */
.closer{background:var(--surface-2);border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);}
.band + .closer{background:var(--parchment);border-top:0;}
.closer .inner{max-width:60ch;}
@media (min-width:900px){
  .closer .inner{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 56px;align-items:center;}
  .closer h2{grid-column:1;margin:0;}
  .closer p{grid-column:1;max-width:52ch;margin:0;}
  .closer .actions{grid-column:2;grid-row:1/span 2;flex-direction:column;align-items:stretch;min-width:260px;}
  .closer .inner.pic{grid-template-columns:minmax(0,1fr) auto 300px;}
  .closer .inner.pic figure{grid-column:3;grid-row:1/span 2;margin:0;}
}
.closer h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(27px,3.6vw,38px);line-height:1.15;margin:0 0 14px;color:var(--maroon);}
.closer p{font-size:18px;color:var(--ink-2);margin:0 0 22px;}
.closer .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;}
.closer .actions .mini{display:flex;align-items:center;}

/* this-week list, fed by Google Calendar when configured */
.week{list-style:none;padding:0;margin:0;}
.week li{
  display:grid;grid-template-columns:150px 1fr;gap:18px;
  padding:14px 0;border-top:1px solid var(--rule);margin:0;font-size:17px;
}
.week li:first-child{border-top:0;}
.week .d{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:15.5px;letter-spacing:.02em;}
.week .s b{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:19px;}
.week .s span{color:var(--ink-2);}
@media (max-width:560px){ .week li{grid-template-columns:1fr;gap:2px;} }

/* utility */
.prose{max-width:66ch;}
.prose p{font-size:18px;}
.lede{font-size:20.5px;line-height:1.55;color:var(--ink);max-width:62ch;}
.mt0{margin-top:0;}

/* ==========================================================
   SERVICES + FASTING
   ========================================================== */

/* the standing weekly rhythm */
.rhythm{
  display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);
  border-radius:3px;overflow:hidden;margin:0;
}
@media (min-width:700px){ .rhythm{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1040px){ .rhythm{grid-template-columns:repeat(3,1fr);} }
.rhythm > div{background:var(--surface);padding:20px 22px;}
.rhythm dt{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 9px;
}
.rhythm dd{margin:0;font-size:17px;color:var(--ink-2);line-height:1.5;}
.rhythm dd b{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:19.5px;
  color:var(--ink);display:inline;
}
.rhythm dd span{font-variant-numeric:tabular-nums;}
.rhythm dd + dd{margin-top:7px;}

/* a quiet aside — footnotes, caveats, the source of a number */
.note{
  border-left:3px solid var(--gilt);background:var(--surface);
  padding:16px 20px;margin:26px auto 0;max-width:74ch;border-radius:0 3px 3px 0;
}
.note p{margin:0 0 8px;font-size:16px;color:var(--ink-2);line-height:1.55;}
.note p:last-child{margin-bottom:0;}

/* the four fasts */
.fasts{display:grid;gap:18px;margin:0;}
@media (min-width:780px){ .fasts{grid-template-columns:repeat(2,1fr);} }
.fast{
  background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--gilt);
  border-radius:3px;padding:24px 26px;box-shadow:var(--shadow-sm);
}
.fast h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:25px;line-height:1.15;
  margin:0 0 4px;color:var(--maroon);
}
.fast .season{
  font-family:"Source Sans 3",sans-serif;font-size:13.5px;color:var(--ink-3);
  margin:0 0 16px;
}
.fast dl{margin:0;}
.fast dt{
  font-family:"Source Sans 3",sans-serif;font-weight:700;font-size:13px;
  letter-spacing:.06em;color:var(--gold-ink);margin:0 0 3px;
}
.fast dd{margin:0 0 13px;font-size:16.5px;color:var(--ink-2);line-height:1.5;}
.fast dd:last-child{margin-bottom:0;}

/* today's fast, stated plainly */
.fasttoday{
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;
  padding:26px 28px;box-shadow:var(--shadow-sm);max-width:74ch;margin:0 auto;
  position:relative;
}
.fasttoday .date{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 12px;
}
.fasttoday .comm{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(23px,3vw,30px);
  line-height:1.15;color:var(--maroon);margin:0 0 16px;
}
.fasttoday dl{margin:0;padding-top:16px;border-top:1px solid var(--rule);}
.fasttoday dt{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 6px;
}
.fasttoday dd{
  margin:0;font-family:"Cardo",Georgia,serif;font-size:clamp(20px,2.6vw,25px);
  line-height:1.3;color:var(--ink);
}
.fasttoday .src{
  margin:18px 0 0;font-size:14px;color:var(--ink-3);
  font-family:"Source Sans 3",sans-serif;
}
.fasttoday .src a{color:var(--gold-ink);}

/* a card that points at another page */
.onward{
  display:grid;gap:22px;align-items:center;background:var(--surface);
  border:1px solid var(--rule-2);border-radius:3px;padding:26px 28px;
  box-shadow:var(--shadow-sm);
}
@media (min-width:760px){ .onward{grid-template-columns:1fr auto;} }
.onward h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:26px;line-height:1.18;
  margin:0 0 8px;color:var(--maroon);
}
.onward p{margin:0;color:var(--ink-2);font-size:17px;max-width:62ch;}
.onward p+p{margin-top:12px;}

/* a second service on the same day sits under the first, undated */
.week li.same{border-top:0;padding-top:0;margin-top:-6px;}

/* ==========================================================
   FORMS
   ========================================================== */
.form{max-width:44rem;margin:0 auto;}
.field{margin:0 0 20px;}
.field label{
  display:block;font-family:"Source Sans 3",sans-serif;font-weight:600;
  font-size:15.5px;color:var(--ink);margin:0 0 6px;
}
.field .hint{
  display:block;font-family:"Source Sans 3",sans-serif;font-weight:400;
  font-size:14px;color:var(--ink-3);margin:0 0 7px;
}
.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field input[type=number],
.field select,
.field textarea{
  width:100%;box-sizing:border-box;
  font-family:"Source Serif 4",Georgia,serif;font-size:17px;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;
  padding:11px 13px;line-height:1.4;
}
.field textarea{min-height:110px;resize:vertical;}
.field select{
  appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold-ink) 50%),
                   linear-gradient(135deg,var(--gold-ink) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 2px), calc(100% - 13px) calc(50% + 2px);
  background-size:6px 6px, 6px 6px;background-repeat:no-repeat;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--gilt);outline-offset:1px;border-color:var(--gilt);
}
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"]{border-color:var(--maroon);}
.field .err{
  display:none;font-family:"Source Sans 3",sans-serif;font-size:14px;
  color:var(--maroon);margin-top:6px;font-weight:600;
}
.field.bad .err{display:block;}
.check{display:flex;gap:10px;align-items:flex-start;}
.check input{margin-top:4px;width:17px;height:17px;accent-color:var(--maroon);flex:none;}
.check label{font-weight:400;font-family:"Source Serif 4",Georgia,serif;font-size:17px;}
.row2{display:grid;gap:20px;}
@media (min-width:620px){ .row2{grid-template-columns:1fr 1fr;} }
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:26px;}
.form-actions .note-inline{
  font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);
}
button.cta{border:0;cursor:pointer;font-family:"Source Sans 3",sans-serif;font-weight:700;font-size:16.5px;letter-spacing:.045em;line-height:normal;}
button.cta[disabled]{opacity:.6;cursor:progress;}
.formmsg{
  margin:24px 0 0;padding:18px 22px;border-radius:3px;
  border-left:3px solid var(--gilt);background:var(--surface);
}
.formmsg h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;
  margin:0 0 8px;color:var(--maroon);
}
.formmsg p{margin:0 0 10px;color:var(--ink-2);font-size:17px;}
.formmsg p:last-child{margin:0;}
.formmsg.bad{border-left-color:var(--maroon);}

/* a set of fields that only applies to some visitors */
.orthodox-block{
  border:1px solid var(--rule-2);border-left:3px solid var(--gilt);
  background:var(--surface-2);border-radius:0 3px 3px 0;
  padding:20px 22px 4px;margin:0 0 22px;
}
.orthodox-block .ob-head{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700;color:var(--gold-ink);margin:0 0 6px;
}
.orthodox-block .ob-note{
  font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);
  margin:0 0 16px;line-height:1.5;
}
.orthodox-block .ob-note a{color:var(--gold-ink);}

/* Paired fields share their row heights, so labels, hints and boxes sit
   straight across from each other however long the hint runs. */
.field .opt{font-weight:400;color:var(--ink-3);font-size:14px;}
.field .hint:empty{margin:0;height:0;}
@media (min-width:620px){
  .row2 > .field{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:start;}
  .row2 > .field > label{align-self:end;}
  .row2 > .field > .hint{margin:0;align-self:start;}
  .row2 > .field > input,
  .row2 > .field > select,
  .row2 > .field > textarea{align-self:end;}
}
.orthodox-block .field:last-of-type{margin-bottom:8px;}
@media (min-width:620px){ .row2{row-gap:6px;column-gap:20px;} }

/* ==========================================================
   MEMBERS AREA
   Signed-in pages: the directory, birthdays and anniversaries,
   and each household's own listing. Same palette, a touch more
   room, and everything printable.
   ========================================================== */

/* the masthead wears a members nav instead of the public one */
.masthead .who{
  display:none;font-family:"Source Sans 3",sans-serif;font-size:15px;color:var(--on-maroon);
  opacity:.9;white-space:nowrap;
}
@media (min-width:1120px){ .masthead .who{display:inline-block;} }
.masthead .who b{font-weight:600;opacity:1;}
.btn-out{
  font-family:"Source Sans 3",sans-serif;display:inline-flex;align-items:center;text-decoration:none;
  background:transparent;color:var(--on-maroon);font-weight:600;font-size:15px;letter-spacing:.04em;
  padding:11px 18px;border-radius:3px;border:1px solid rgba(243,228,203,.55);white-space:nowrap;
  cursor:pointer;min-height:44px;
}
.btn-out:hover{background:rgba(255,255,255,.13);color:#fff;}
@media (max-width:979px){ .btn-out{display:none;} }
.brandrow{display:flex;align-items:center;flex:none;margin-right:auto;}
.brandrow .brand{margin-right:0;}
.members-tag{
  display:inline-block;text-decoration:none;font-family:"Source Sans 3",sans-serif;font-size:10.5px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gilt);border:1px solid rgba(198,153,54,.55);
  border-radius:2px;padding:3px 8px;margin-left:12px;vertical-align:middle;
}
a.members-tag:hover{background:rgba(198,153,54,.18);}
@media (max-width:520px){ .members-tag{display:none;} }

/* slimmer page head for signed-in pages */
.mhead{background:var(--surface-2);border-bottom:1px solid var(--rule-2);padding:34px 0 30px;}
.mhead .kicker{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 8px;
}
.mhead h1{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(30px,4.6vw,46px);
  line-height:1.08;color:var(--maroon);margin:0;text-wrap:balance;
}
.mhead p{margin:10px 0 0;color:var(--ink-2);font-size:18px;max-width:60ch;}
.mhead .row{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-end;justify-content:space-between;}

/* --- sign-in card --- */
.signin{max-width:34rem;margin:0 auto;}
.signin .card{
  background:var(--surface);border:1px solid var(--rule-2);box-shadow:var(--shadow-sm);
  padding:34px 36px 30px;position:relative;background-image:var(--gesso);
}
.signin .card::after{content:"";position:absolute;inset:7px;border:1px solid var(--rule);pointer-events:none;}
.signin .card > *{position:relative;z-index:1;}
.signin h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:29px;line-height:1.15;margin:0 0 10px;color:var(--maroon);}
.signin p{margin:0 0 20px;color:var(--ink-2);font-size:17px;}
.signin .field{margin-bottom:16px;}
.signin .code{
  font-family:"Source Sans 3",sans-serif !important;font-size:34px !important;letter-spacing:.42em;
  text-align:center;padding:12px 8px 12px 16px !important;font-variant-numeric:tabular-nums;
}
.signin .form-actions{margin-top:14px;}
.signin .again{
  font-family:"Source Sans 3",sans-serif;font-size:15px;color:var(--ink-3);margin:22px 0 0;
  padding-top:16px;border-top:1px solid var(--rule);
}
.signin .again a, .signin .again button{color:var(--maroon);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;}
.signin .sent{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--ink);}
.signin .whyline{
  display:flex;gap:12px;align-items:flex-start;margin:26px auto 0;max-width:34rem;
  font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);line-height:1.5;
}
.signin .whyline svg{flex:none;color:var(--gilt);margin-top:2px;}

/* --- members home --- */
.mgrid{display:grid;gap:26px;grid-template-columns:1fr;}
@media (min-width:900px){ .mgrid{grid-template-columns:1.1fr .9fr;} }
.mdoors{display:grid;gap:14px;align-content:start;}
.mdoor{
  display:flex;gap:18px;align-items:center;text-decoration:none;color:inherit;
  background:var(--surface);border:1px solid var(--rule-2);border-left:3px solid var(--gilt);
  border-radius:0 3px 3px 0;padding:18px 22px;box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mdoor:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-left-color:var(--maroon);}
@media (prefers-reduced-motion:reduce){ .mdoor:hover{transform:none;} }
.mdoor svg{flex:none;color:var(--gilt);}
.mdoor h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:23px;line-height:1.15;margin:0 0 4px;color:var(--maroon);}
.mdoor p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.5;}
.mdoor .go{margin-left:auto;color:var(--gold-ink);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:22px;}

/* this month: birthdays and anniversaries */
.month{padding:30px 32px 26px;}
.month h3, .month h2.ph{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:27px;line-height:1.18;
  margin:0 0 4px;color:var(--maroon);
}
.month .sub{font-family:"Cardo",serif;font-size:15.5px;color:var(--gold-ink);letter-spacing:.04em;margin:0 0 18px;}
.month h4{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-ink);margin:18px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--rule);
}
.month ul{list-style:none;margin:0;padding:0;}
.month li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:6px 0;font-size:17px;align-items:baseline;}
.month li .d{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:15px;letter-spacing:.02em;}
.month li .n{color:var(--ink);}
.month li .n small{color:var(--ink-3);font-size:15px;}
.month li.today .d{color:#fff;background:var(--maroon);border-radius:3px;text-align:center;padding:1px 0;}
.month .empty{color:var(--ink-3);font-style:italic;font-size:16px;margin:4px 0 0;}
.month .more{margin:22px 0 0;font-family:"Source Sans 3",sans-serif;font-size:15.5px;font-weight:600;}
.month .more a{color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);}

/* --- toolbar: search, letters, print --- */
.dirbar{position:sticky;top:84px;z-index:40;background:var(--parchment);background-image:var(--gesso);border-bottom:1px solid var(--rule);padding:14px 0;}

.dirbar .wrap{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;}
.search{position:relative;flex:1 1 260px;max-width:460px;}
.search input{
  width:100%;box-sizing:border-box;font-family:"Source Sans 3",sans-serif;font-size:17px;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:11px 40px 11px 42px;line-height:1.3;
}
.search input:focus{outline:2px solid var(--gilt);outline-offset:1px;border-color:var(--gilt);}
.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none;}
.search .clear{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;
  color:var(--ink-3);font-size:22px;line-height:1;padding:6px 8px;display:none;
}
.search.has .clear{display:block;}
.letters{display:flex;flex-wrap:wrap;gap:2px;}
.letters button{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--maroon);
  background:none;border:1px solid transparent;border-radius:3px;min-width:28px;height:30px;padding:0 5px;cursor:pointer;
}
.letters button:hover{background:var(--surface-2);border-color:var(--rule-2);}
.letters button[disabled]{color:var(--rule-2);cursor:default;background:none;border-color:transparent;}
.dirbar .count{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);margin-left:auto;white-space:nowrap;}
.dirbar .print{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14.5px;color:var(--ink-2);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:8px 14px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
}
.dirbar .print:hover{border-color:var(--gilt);color:var(--maroon);}

/* --- the directory itself --- */
/* letter groups; inside each, one household per row, with the same
   four columns every time: photo, who, where, how to reach them */
.dirgroups{margin:0;}
.lgroup{margin:0 0 40px;padding:0;scroll-margin-top:170px;}
.lgroup.hide{display:none;}
.lhead{
  display:flex;align-items:center;gap:16px;margin:0 0 6px;
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:30px;line-height:1;color:var(--maroon);
}
.lhead span{
  display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border:1px solid var(--rule-2);border-radius:50%;background:var(--surface);color:var(--gilt);
}
.lhead::after{content:"";flex:1;height:1px;background:var(--rule-2);}
.dir{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--rule-2);box-shadow:var(--shadow-sm);}
.hh{
  display:grid;grid-template-columns:96px minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.25fr);gap:6px 28px;
  align-items:start;padding:22px 26px;border-top:1px solid var(--rule);scroll-margin-top:170px;position:relative;
}
.hh:first-child{border-top:0;}
.hh.hide{display:none;}
.hh .photo{
  width:96px;height:96px;border-radius:50%;overflow:hidden;position:relative;border:1px solid var(--rule-2);
  background:var(--surface-2);margin:0;
}
.hh .photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.92);}
.hh .photo.none{display:flex;align-items:center;justify-content:center;}
.hh .photo.none span{font-family:"Tiller",Georgia,serif;font-size:34px;color:var(--gold);line-height:1;}
.hh .photo button{position:absolute;inset:0;width:100%;background:none;border:0;cursor:zoom-in;border-radius:50%;}
.hh .photo button:focus-visible{outline:3px solid var(--gilt);}
.hh h3, .hh h2.ph{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;line-height:1.1;margin:0;color:var(--maroon);
}
.hh h3 small{
  display:block;font-family:"Source Serif 4",Georgia,serif;font-size:17px;color:var(--ink);margin-top:5px;line-height:1.45;
}
.hh .who{display:grid;gap:8px;align-content:start;}
.hh .kids{margin:0;font-size:16px;color:var(--ink-2);line-height:1.5;}
.hh .kids b{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-right:6px;}
.hh .where{display:grid;gap:8px;align-content:start;padding-top:4px;}
.hh address{font-style:normal;font-size:16px;line-height:1.5;color:var(--ink);margin:0;}
.hh address a{color:inherit;text-decoration:none;}
.hh address a:hover{color:var(--maroon);text-decoration:underline;}
.hh .anniv{margin:0;font-family:"Cardo",serif;font-size:15px;color:var(--gold-ink);letter-spacing:.02em;}
.hh .how{padding-top:4px;}
.hh .contacts{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:16px;}
.hh .contacts li{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:baseline;}
.hh .contacts .w{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hh .contacts .bits{display:flex;flex-wrap:wrap;gap:2px 14px;}
.hh .contacts a{color:var(--maroon);text-decoration:none;overflow-wrap:anywhere;}
.hh .contacts a:hover{text-decoration:underline;}
.hh .notes{font-size:15px;color:var(--ink-2);font-style:italic;margin:0;}
.hh .roles{margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:15px;color:var(--ink-2);}
.hh .roles .rp{white-space:nowrap;}
.hh .roles .rn{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-3);}
@media (max-width:1000px){
  .hh{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);}
  .hh .photo{width:80px;height:80px;}
  .hh .how{grid-column:2/-1;padding-top:8px;border-top:1px solid var(--rule);margin-top:4px;}
}
@media (max-width:640px){
  .hh{grid-template-columns:64px minmax(0,1fr);gap:4px 16px;padding:18px 18px;}
  .hh .photo{width:64px;height:64px;}
  .hh .photo.none span{font-size:26px;}
  .hh h3{font-size:22px;}
  .hh .where{grid-column:2;padding-top:6px;}
  .hh .how{grid-column:1/-1;margin-top:10px;padding-top:12px;border-top:1px solid var(--rule);}
  .hh .contacts{font-size:15px;}
  .hh .contacts li{grid-template-columns:60px 1fr;}
}
.chip{
  display:inline-block;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-ink);background:var(--surface-2);border:1px solid var(--rule-2);
  border-radius:2px;padding:2px 7px;margin:0 0 0 6px;vertical-align:2px;white-space:nowrap;
}
.dir-empty{
  text-align:center;padding:60px 20px;color:var(--ink-3);font-size:18px;
  background:var(--surface);border:1px dashed var(--rule-2);
}
.dir-loading{text-align:center;padding:50px 20px;color:var(--ink-3);font-family:"Source Sans 3",sans-serif;}

/* lightbox for a photo */
dialog.lightbox{
  border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:96vh;
}
dialog.lightbox::backdrop{background:rgba(24,10,11,.86);backdrop-filter:blur(4px);}
dialog.lightbox img{max-width:min(96vw,1100px);max-height:86vh;width:auto;height:auto;border:6px solid #FFFCF5;box-shadow:0 30px 80px rgba(0,0,0,.6);}
dialog.lightbox figcaption{
  text-align:center;color:#FDF6E7;font-family:"Tiller",Georgia,serif;font-size:22px;margin:14px 0 0;
}
dialog.lightbox button{
  position:fixed;top:16px;right:16px;width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:rgba(24,10,11,.6);border:1px solid rgba(243,228,203,.55);color:#FDF6E7;font-size:22px;line-height:1;
}

/* --- dates page --- */
.months{display:grid;gap:22px;grid-template-columns:1fr;}
@media (min-width:700px){ .months{grid-template-columns:1fr 1fr;} }
@media (min-width:1060px){ .months{grid-template-columns:1fr 1fr 1fr;} }
.mon{background:var(--surface);border:1px solid var(--rule-2);box-shadow:var(--shadow-sm);padding:22px 24px 20px;scroll-margin-top:110px;}
.mon.now{border-color:var(--gilt);box-shadow:0 0 0 3px rgba(198,153,54,.18), var(--shadow-sm);}
.mon h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:26px;line-height:1.1;margin:0 0 4px;color:var(--maroon);
  display:flex;align-items:baseline;gap:10px;
}
.mon h3 .now{font-family:"Source Sans 3",sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:700;}
.mon h4{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-ink);margin:16px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--rule);
}
.mon ul{list-style:none;margin:0;padding:0;}
.mon li{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:4px 0;font-size:16.5px;align-items:baseline;}
.mon li .d{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:14.5px;}
.mon li small{color:var(--ink-3);font-size:14.5px;}
.mon .empty{color:var(--ink-3);font-style:italic;font-size:15.5px;margin:4px 0 0;}
.jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px;}
.jump a{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;color:var(--maroon);text-decoration:none;
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:6px 11px;
}
.jump a:hover{border-color:var(--gilt);}

/* --- my listing (editor) --- */
.editor{max-width:52rem;margin:0 auto;}
.editor fieldset{border:1px solid var(--rule-2);border-left:3px solid var(--gilt);background:var(--surface);padding:22px 26px 8px;margin:0 0 24px;border-radius:0 3px 3px 0;}
.editor legend{
  font-family:"Tiller",Georgia,serif;font-size:24px;color:var(--maroon);padding:0 10px;margin-left:-10px;
}
.editor .fs-note{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);margin:-4px 0 18px;line-height:1.5;}
.row3{display:grid;gap:20px;}
@media (min-width:620px){ .row3{grid-template-columns:2fr 1fr 1fr;row-gap:6px;} .row3 > .field{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:start;} .row3 > .field > label{align-self:end;} .row3 > .field > .hint{margin:0;} }
.person{
  border:1px solid var(--rule);background:var(--parchment);background-image:var(--gesso);border-radius:3px;
  padding:16px 18px 2px;margin:0 0 14px;position:relative;
}
.person .ptop{display:flex;align-items:center;gap:12px;margin:0 0 12px;}
.person .ptop .lbl{margin:0;}
.person .ptop .pt{margin-left:auto;display:flex;gap:10px;align-items:center;}
.person .ptop select{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14.5px;color:var(--ink);
  padding:7px 32px 7px 12px;background-color:var(--surface);border:1px solid var(--rule-2);border-radius:3px;
  appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold-ink) 50%),linear-gradient(135deg,var(--gold-ink) 50%,transparent 50%);
  background-position:calc(100% - 17px) calc(50% + 1px), calc(100% - 11px) calc(50% + 1px);
  background-size:6px 6px, 6px 6px;background-repeat:no-repeat;
}
.person .remove{
  background:none;border:1px solid transparent;color:var(--ink-3);font-family:"Source Sans 3",sans-serif;font-size:14px;
  font-weight:600;cursor:pointer;padding:6px 10px;border-radius:3px;
}
.person .remove:hover{color:var(--maroon);border-color:var(--rule-2);background:var(--surface);}
.person .field{margin-bottom:14px;}
.person .field input, .person .field select{padding:9px 12px;font-size:16px;}
.person .field label{font-size:14.5px;margin-bottom:4px;}
.row4{display:grid;gap:14px;}
@media (min-width:620px){ .row4{grid-template-columns:1.3fr 1fr 1fr;} }
.rowmd{display:grid;gap:14px;grid-template-columns:1fr 1fr;}
@media (min-width:620px){ .rowmd{grid-template-columns:1.3fr 1fr;} }
.editor .addp{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15px;color:var(--maroon);
  background:var(--surface);border:1px dashed var(--rule-2);border-radius:3px;padding:12px 18px;cursor:pointer;width:100%;
  margin:0 0 16px;
}
.editor .addp:hover{border-color:var(--gilt);background:var(--surface-2);}
.editor .nolisting{
  background:var(--surface);border:1px solid var(--rule-2);border-left:3px solid var(--gilt);padding:22px 26px;
}
.editor .nolisting h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;margin:0 0 8px;color:var(--maroon);}
.editor .nolisting p{margin:0 0 10px;color:var(--ink-2);}
.mday{display:grid;grid-template-columns:1fr 78px;gap:8px;}
.mday select{padding-right:30px !important;}

@media (max-width:719px){
  .dirbar{position:static;}
  .letters{flex-wrap:wrap;width:100%;gap:2px 0;}
  .letters button{flex:none;min-width:30px;height:32px;}
}

/* --- footer note on every members page --- */
.mfoot{
  font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);text-align:center;
  padding:8px 22px 40px;max-width:60ch;margin:0 auto;line-height:1.55;
}
.mfoot a{color:var(--ink-2);}

/* --- print: the directory as a compact paper list --- */
@media print{
  header.site, footer.site, .braid, .dirbar, .mhead p, .mfoot, .skip, .hh .photo button, dialog{display:none !important;}
  body{background:#fff !important;color:#000;font-size:11pt;}
  .mhead{background:none;border:0;padding:0 0 10pt;}
  .mhead h1{font-size:22pt;color:#000;}
  section{padding:0;}
  .wrap{max-width:none;padding:0;}
  .dirgroups{column-count:2;column-gap:28pt;column-fill:auto;}
  .lgroup{margin:0 0 6pt;break-inside:auto;}
  .lhead{font-size:14pt;color:#000;margin:8pt 0 2pt;gap:8pt;}
  .lhead span{width:auto;height:auto;border:0;background:none;color:#000;}
  .lhead::after{background:#999;}
  .dir{display:block;border:0;box-shadow:none;background:none;}
  .hh{display:block;break-inside:avoid;border:0;border-top:1px solid #999;padding:6pt 0 8pt;margin:0;}
  .hh.hide{display:none !important;}
  .hh .photo{display:none !important;}
  .hh .who, .hh .where, .hh .how{display:block;padding:0;margin:0;border:0;}
  .hh .where, .hh .how{margin-top:2pt;}
  .hh h3{font-size:13pt;color:#000;}
  .hh h3 small{font-size:10.5pt;margin-top:1pt;}
  .hh .kids, .hh address, .hh .contacts, .hh .anniv, .hh .notes{font-size:10pt;color:#000;}
  .hh .contacts{gap:1pt;}
  .hh .contacts a, .hh address a{color:#000;text-decoration:none;}
  .hh .contacts .w{font-size:9pt;color:#555;}
  .hh .roles{font-size:9pt;}
  .chip{border-color:#999;color:#333;background:none;font-size:7.5pt;}
  .dir-empty, .dir-loading{display:none;}
  .months{display:block;column-count:3;column-gap:20pt;}
  .mon{break-inside:avoid;border:0;box-shadow:none;padding:0 0 12pt;}
  .mon h3, .mon li .d{color:#000;}
  .jump{display:none;}
}

/* ==========================================================
   THE ORTHODOX FAITH
   Twelve readings. A sticky index keeps its place beside the
   text on wide screens and becomes a strip of chips on phones.
   Each reading opens with its first sentence set large, and a
   faint numeral sits behind the heading like a chapter mark.
   ========================================================== */
.faithhead .pagehead-img{background-position:center 42%;}
.faithhead h1{font-size:clamp(36px,6.4vw,66px);}
.faith{padding:56px 0 70px;}
.faith-grid{display:grid;gap:48px;grid-template-columns:minmax(0,1fr);align-items:start;}
.faith-grid > *{min-width:0;}
@media (min-width:960px){ .faith-grid{grid-template-columns:230px minmax(0,1fr);gap:56px;} }

/* index */
.faith-nav{position:sticky;top:104px;}
.faith-nav .lbl{margin:0 0 12px;}
.faith-nav ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule);}
.faith-nav li{margin:0;}
.faith-nav a{
  display:flex;gap:10px;align-items:baseline;text-decoration:none;color:var(--ink-2);
  font-family:"Source Sans 3",sans-serif;font-size:15px;line-height:1.35;padding:6px 14px;
  border-left:2px solid transparent;margin-left:-1px;
}
.faith-nav a .n{font-family:"Cardo",serif;font-size:12.5px;color:var(--gold-ink);min-width:22px;letter-spacing:.04em;}
.faith-nav a:hover{color:var(--maroon);}
.faith-nav a.on{color:var(--maroon);border-left-color:var(--gilt);font-weight:600;}
@media (max-width:959px){
  .faith-nav{position:sticky;top:99px;z-index:30;background:var(--parchment);background-image:var(--gesso);
    margin:0 -22px;padding:10px 22px 10px;border-bottom:1px solid var(--rule);}
  .faith-nav .lbl{display:none;}
  .faith-nav ol{display:flex;gap:6px;overflow-x:auto;border:0;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .faith-nav ol::-webkit-scrollbar{display:none;}
  .faith-nav a{flex:none;white-space:nowrap;border:1px solid var(--rule-2);border-radius:999px;padding:6px 12px;margin:0;font-size:13.5px;background:var(--surface);}
  .faith-nav a.on{border-color:var(--gilt);background:var(--surface-2);}
  .faith-nav a .n{min-width:0;}
}

/* readings */
.faith-body{max-width:76ch;}
.tenet{position:relative;padding:34px 0 40px;border-top:1px solid var(--rule);scroll-margin-top:110px;}
.tenet:first-child{border-top:0;padding-top:6px;}
.tenet::before{
  content:attr(data-n);position:absolute;right:0;top:10px;
  font-family:"Tiller",Georgia,serif;font-size:clamp(84px,12vw,150px);line-height:1;
  color:var(--rule-2);opacity:.22;pointer-events:none;user-select:none;
}
@media (min-width:1240px){ .tenet::before{right:-120px;opacity:.4;} }
@media (max-width:959px){ .tenet::before{font-size:64px;top:-6px;opacity:.14;} }
.tenet-head{position:relative;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center;margin:0 0 20px;}
.tenet-head .glyph{grid-row:1/3;color:var(--gilt);}
.tenet-head .num{
  grid-column:2;margin:0;font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:600;color:var(--gold-ink);
}
.tenet-head h2{
  grid-column:2;margin:0;font-family:"Tiller",Georgia,serif;font-weight:400;
  font-size:clamp(28px,3.6vw,38px);line-height:1.1;color:var(--maroon);
}
.tenet-body p{margin:0 0 18px;font-size:18.5px;line-height:1.7;color:var(--ink);}
.tenet-body p:last-child{margin-bottom:0;}
.tenet-body .first{font-family:"Cardo",Georgia,serif;font-size:1.28em;line-height:1.45;color:var(--maroon-deep);}
:root[data-theme="dark"] .tenet-body .first{color:var(--maroon);}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tenet-body .first{color:var(--maroon);} }
.tenet-body .parts{display:grid;gap:22px;margin-top:26px;}
.tenet-body .part{
  background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--gilt);
  padding:22px 26px 24px;box-shadow:var(--shadow-sm);
}
.tenet-body .part h3{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;line-height:1.15;margin:0 0 10px;color:var(--maroon);
}
.tenet-body .part p{font-size:17.5px;}
.tenet-body .part .first{font-size:1.16em;}
.faith-end{margin-top:40px;padding-top:36px;border-top:1px solid var(--rule);text-align:center;}
.faith-end p{max-width:56ch;margin:0 auto;font-size:18px;color:var(--ink-2);}

/* home-page invitation to the readings */
.faithband{background:var(--maroon-deep);color:var(--on-maroon);position:relative;overflow:hidden;}
.faithband::before{
  content:"";position:absolute;inset:0;background:url("/assets/iconostasis.417e74ac.jpg") center 45%/cover no-repeat;
  opacity:.16;filter:saturate(.6);
}
.faithband section{position:relative;padding:64px 0;}
.faithband .inner{display:grid;gap:26px;grid-template-columns:1fr;align-items:center;}
@media (min-width:860px){ .faithband .inner{grid-template-columns:1.2fr .8fr;gap:48px;} }
.faithband .kicker{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;color:var(--gilt);margin:0 0 12px;
}
.faithband h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(30px,4.2vw,44px);line-height:1.1;margin:0 0 12px;color:#FDF6E7;}
.faithband p{margin:0;font-size:18px;line-height:1.6;color:rgba(253,246,231,.9);max-width:56ch;}
.faithband .topics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.faithband .topics a{
  font-family:"Source Sans 3",sans-serif;font-size:14px;font-weight:600;text-decoration:none;color:#FDF6E7;
  border:1px solid rgba(243,228,203,.4);border-radius:999px;padding:7px 13px;
}
.faithband .topics a:hover{border-color:var(--gilt);background:rgba(201,162,75,.16);}
.faithband .cta{margin-top:22px;}

/* --- your own row in the directory, and the photo editor --- */
.hh.mine{background:var(--parchment);background-image:var(--gesso);box-shadow:inset 3px 0 0 var(--gilt);}
.hh .mine-bar{
  grid-column:1/-1;display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap;
  margin-top:10px;padding-top:12px;border-top:1px dashed var(--rule-2);
}
.hh .mine-bar .lbl{margin:0;}
.hh .mine-bar .mini{padding:8px 16px;font-size:14.5px;min-height:0;}
.photo-edit{display:grid;gap:18px 24px;grid-template-columns:150px 1fr;align-items:start;margin:0 0 18px;}
@media (max-width:520px){ .photo-edit{grid-template-columns:1fr;} }
.pe-preview{
  width:150px;height:150px;border-radius:50%;overflow:hidden;border:1px solid var(--rule-2);
  background:var(--surface-2);display:flex;align-items:center;justify-content:center;
}
.pe-preview img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.pe-preview span{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);}
.pe-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:8px;}
.pe-actions .mini{cursor:pointer;}
.pe-actions .mini.busy{opacity:.6;cursor:progress;}
.pe-status{flex-basis:100%;margin:0;font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-2);min-height:1.4em;}
@media print{ .hh .mine-bar{display:none;} .hh.mine{background:none;box-shadow:none;} }

/* --- members home: the side column --- */
.mside{display:grid;gap:18px;align-content:start;}
.mside .thisweek.secretary{margin-top:0;padding:26px 26px 20px;}
.month.soon li a{display:grid;grid-template-columns:52px 1fr;gap:12px;text-decoration:none;color:inherit;align-items:baseline;}
.month.soon li{display:block;padding:7px 0;border-bottom:1px solid var(--rule);}
.month.soon li:last-child{border-bottom:0;}
.month.soon li .d{white-space:nowrap;}
.month.soon li .n small{color:var(--ink-3);font-size:14.5px;white-space:nowrap;}
.month.soon li .n small.cnt{color:var(--gold-ink);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;}
.month.soon li a:hover .n{color:var(--maroon);}

/* --- editor: birthday / name day / show row --- */
.rowdates{display:grid;gap:14px;grid-template-columns:1fr 1fr;}
@media (min-width:620px){ .rowdates{grid-template-columns:1fr 1fr .8fr;} }

/* ==========================================================
   the parish calendar
   ========================================================== */
.calbar{position:sticky;top:84px;z-index:40;background:var(--parchment);background-image:var(--gesso);border-bottom:1px solid var(--rule);padding:12px 0;}
.calbar .wrap{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;}
.calnav{display:flex;align-items:center;gap:4px;}
.calnav h2{
  font-family:"Tiller",Georgia,serif;font-weight:400;font-size:26px;line-height:1;color:var(--maroon);margin:0 6px;
  min-width:11.5ch;text-align:center;
}
.calnav button{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:22px;line-height:1;color:var(--maroon);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;width:38px;height:36px;cursor:pointer;
}
.calnav button:hover{border-color:var(--gilt);}
.calnav .todaybtn{width:auto;font-size:14px;padding:0 12px;margin-left:8px;letter-spacing:.04em;}
.calfilters{display:flex;flex-wrap:wrap;gap:6px;}
.calfilter{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:20px;padding:6px 12px 6px 9px;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;
}
.calfilter i{width:10px;height:10px;border-radius:50%;background:var(--rule-2);flex:none;}
.calfilter[aria-pressed="true"]{color:var(--ink);border-color:var(--gilt);}
.calfilter[aria-pressed="true"].services i{background:var(--maroon);}
.calfilter[aria-pressed="true"].events i{background:var(--gilt);}
.calfilter[aria-pressed="true"].church i{background:#B8862B;background:var(--gold-ink);}
.calfilter[aria-pressed="true"].people i{background:#7A8F6A;}
.calfilter[aria-pressed="false"]{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rule-2);}
.calviews{margin-left:auto;display:inline-flex;border:1px solid var(--rule-2);border-radius:3px;overflow:hidden;}
.calviews button{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);background:var(--surface);border:0;
  padding:8px 14px;cursor:pointer;
}
.calviews button + button{border-left:1px solid var(--rule-2);}
.calviews button[aria-pressed="true"]{background:var(--maroon);color:var(--on-accent);}

.cal{position:relative;}
.cal.busy .calgrid, .cal.busy .callist{opacity:.45;transition:opacity .2s;}
.wrap.wide{max-width:1480px;}
.calwrap{display:grid;gap:26px;grid-template-columns:1fr;}
@media (min-width:1000px){ .calwrap{grid-template-columns:minmax(0,1fr) 320px;align-items:start;} .calday{position:sticky;top:158px;} }
@media (min-width:1300px){ .calwrap{gap:32px;grid-template-columns:minmax(0,1fr) 360px;} }
.calmain{min-width:0;}

/* the month grid */
.calgrid{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--rule-2);border:1px solid var(--rule-2);
  box-shadow:var(--shadow-sm);
}
.calgrid .dow{
  background:var(--surface-2);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-ink);text-align:center;padding:8px 0;
}
.calgrid .cell{
  position:relative;background:var(--surface);min-height:136px;padding:8px 7px 10px;text-align:left;border:0;cursor:pointer;
  font:inherit;color:inherit;display:flex;flex-direction:column;gap:3px;align-items:stretch;
}
.calgrid .cell.pad{background:var(--parchment);cursor:default;}
.calgrid .cell:hover:not(.pad){background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--rule-2);}
.calgrid .cell:focus-visible{outline:2px solid var(--gilt);outline-offset:-2px;z-index:1;}
.calgrid .cell.sel{box-shadow:inset 0 0 0 3px var(--gilt) !important;background:var(--surface-2);}
.calgrid .cell.sel .num{background:var(--gilt);color:#2B1E19;}
.calgrid .num{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15.5px;color:var(--ink-2);line-height:1;
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;margin:0 0 2px;
}
.calgrid .cell.today .num{background:var(--maroon);color:var(--on-accent);}
.calgrid .fastmark{
  position:absolute;top:9px;right:8px;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-ink);opacity:.8;
}
.calgrid .pills{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pill{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  font-family:"Source Sans 3",sans-serif;font-size:14px;line-height:1.25;padding:2px 6px;border-radius:2px;
  color:var(--ink-2);border-left:3px solid var(--rule-2);overflow-wrap:break-word;hyphens:auto;
}
.pill b{font-weight:600;margin-right:4px;color:inherit;font-variant-numeric:tabular-nums;}
.pill.service{border-left-color:var(--maroon);color:var(--ink);}
.pill.service.special{background:var(--maroon);color:var(--on-accent);border-left-color:var(--gilt);}
.pill.event{background:rgba(198,153,54,.16);border-left-color:var(--gilt);color:var(--ink);}
.pill.feast{border-left-color:var(--gold-ink);color:var(--gold-ink);font-family:"Cardo",serif;font-size:14.5px;font-style:italic;}
.pill.people{border-left-color:#7A8F6A;color:var(--ink-2);}
.pill.more{border-left-color:transparent;color:var(--ink-3);font-size:12.5px;padding-top:0;}
.calgrid .dots{display:none;gap:3px;flex-wrap:wrap;}
.calgrid .dots i{width:6px;height:6px;border-radius:50%;background:var(--rule-2);}
.calgrid .dots i.service{background:var(--maroon);}
.calgrid .dots i.event{background:var(--gilt);}
.calgrid .dots i.feast{background:var(--gold-ink);}
.calgrid .dots i.people{background:#7A8F6A;}
@media (max-width:999px){ .pill{font-size:13px;} .calgrid .cell{min-height:118px;} }
@media (max-width:760px){
  .calgrid .cell{min-height:58px;padding:5px 4px 6px;align-items:center;}
  .calgrid .pills{display:none;}
  .calgrid .dots{display:flex;justify-content:center;}
  .calgrid .fastmark{position:static;font-size:8px;opacity:.7;}
  .calgrid .num{width:24px;height:24px;font-size:13px;}
  .calgrid .dow{font-size:10px;letter-spacing:.1em;}
}

/* the list (agenda) view, and print */
.callist{display:none;background:var(--surface);border:1px solid var(--rule-2);box-shadow:var(--shadow-sm);}
.cal.list .calgrid{display:none;}
.cal.list .callist{display:block;}
.lday{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px 18px 14px 14px;border-bottom:1px solid var(--rule);cursor:pointer;}
.lday:last-child{border-bottom:0;}
.lday:hover{background:var(--surface-2);}
.lday .dnum{text-align:center;padding-top:2px;}
.lday .dnum b{display:block;font-family:"Tiller",Georgia,serif;font-weight:400;font-size:30px;line-height:1;color:var(--maroon);}
.lday .dnum span{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);}
.lday.today .dnum b{color:var(--on-accent);background:var(--maroon);border-radius:50%;width:44px;height:44px;line-height:44px;margin:0 auto 2px;font-size:24px;}
.items{list-style:none;margin:0;padding:0;}
.item{padding:5px 0 5px 12px;border-left:3px solid var(--rule-2);margin:0 0 6px;font-size:16px;}
.item.service{border-left-color:var(--maroon);}
.item.event{border-left-color:var(--gilt);}
.item.feast{border-left-color:var(--gold-ink);}
.item.birthday, .item.nameday, .item.anniv{border-left-color:#7A8F6A;}
.item.fastnote{border-left-color:transparent;color:var(--gold-ink);font-family:"Cardo",serif;font-style:italic;font-size:15px;padding-top:0;}
.item .ihead{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;}
.item .when{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;color:var(--maroon);white-space:nowrap;font-variant-numeric:tabular-nums;}
.item .ititle{color:var(--ink);}
.item.feast .ititle{font-family:"Cardo",serif;font-style:italic;color:var(--gold-ink);font-size:17px;}
.item .chip{margin:0;vertical-align:1px;}
.item .cnt{display:block;font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--gold-ink);font-weight:600;letter-spacing:.03em;margin-top:1px;}

/* the day panel */
.calday{
  background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--gilt);box-shadow:var(--shadow-sm);
  padding:22px 24px 24px;min-height:200px;scroll-margin-top:160px;
}
.calday .pick, .calday .empty{color:var(--ink-3);font-style:italic;font-size:16px;margin:0;}
.calday .kicker{
  font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 4px;
}
.calday h3, .calday h2.ph{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:30px;line-height:1.1;margin:0 0 12px;color:var(--maroon);}
.calday .church{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0 8px;margin:0 0 6px;}
.calday .church p{margin:0 0 4px;font-family:"Cardo",serif;font-size:16.5px;line-height:1.4;color:var(--ink-2);}
.calday .church .fastline{color:var(--gold-ink);font-style:italic;font-size:15.5px;}
.calday .church .fastline.free{color:var(--ink-3);}
.calday details.saints{margin-top:4px;}
.calday details.saints summary{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;color:var(--gold-ink);cursor:pointer;letter-spacing:.04em;}
.calday details.saints ul{margin:6px 0 4px;padding-left:18px;font-size:14.5px;color:var(--ink-2);line-height:1.45;}
.calday h4{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-ink);margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule);
}
.calday .item{font-size:16.5px;margin-bottom:10px;}
.calday .item .ititle{font-weight:600;}
.calday .item.service .ititle{font-weight:400;}
.calday .item p{margin:4px 0 0;font-size:15.5px;color:var(--ink-2);line-height:1.5;}
.calday .item .where{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);}
.calday .item .link a{color:var(--maroon);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14.5px;text-decoration:none;border-bottom:1.5px solid var(--gilt);}

/* head counts */
.rsvp{margin:10px 0 2px;padding:12px 14px;background:var(--parchment);background-image:var(--gesso);border:1px solid var(--rule);border-radius:3px;font-family:"Source Sans 3",sans-serif;}
.rsvp .going{font-size:14.5px;color:var(--ink-2);}
.rsvp .going.none{display:block;color:var(--ink-3);font-style:italic;}
.rsvp details.going summary{cursor:pointer;font-weight:600;color:var(--gold-ink);letter-spacing:.03em;}
.rsvp details.going ul{margin:6px 0 2px;padding-left:18px;line-height:1.5;}
.rsvp details.going small{color:var(--ink-3);}
.rsvp .mine{margin:8px 0 0;font-weight:600;color:var(--ink);font-size:15.5px;}
.rsvp .acts{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:8px;}
.rsvp .lnk{background:none;border:0;padding:0;font:inherit;font-weight:600;font-size:14.5px;color:var(--maroon);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.cta.small{padding:9px 16px;font-size:14px;}
.rsvpform{margin-top:8px;}
.rsvpform label{display:block;font-weight:600;font-size:14px;color:var(--ink-2);margin:8px 0 0;}
.rsvpform label .opt{font-weight:400;color:var(--ink-3);}
.rsvpform input{
  display:block;width:100%;box-sizing:border-box;margin-top:4px;font-family:"Source Sans 3",sans-serif;font-size:16px;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:8px 10px;
}
.rsvpform input[type=number]{max-width:110px;}
.rsvpform input:focus{outline:2px solid var(--gilt);outline-offset:1px;border-color:var(--gilt);}
.rsvpform .err{color:var(--maroon);font-size:14px;margin:8px 0 0;}

.calnote{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);margin:12px 0 0;font-style:italic;}
.callegend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--ink-3);}
.callegend span{display:inline-flex;align-items:center;gap:7px;}
.callegend span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--rule-2);}
.callegend .service::before{background:var(--maroon);}
.callegend .event::before{background:var(--gilt);}
.callegend .feast::before{background:var(--gold-ink);}
.callegend .people::before{background:#7A8F6A;}
.callegend .fastkey::before{display:none;}
.callegend .fastkey{font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);}
.calfoot{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);margin:26px 0 0;line-height:1.55;max-width:70ch;}
.calfoot a{color:var(--maroon);}

@media (max-width:719px){
  .calbar{position:static;}
  .calviews{margin-left:0;}
  .calnav h2{font-size:22px;min-width:9.5ch;}
}
@media print{
  .calbar, .calday, .callegend, .calnote, .calfoot, .mhead .print{display:none !important;}
  .cal .calgrid{display:none !important;}
  .cal .callist{display:block !important;border:0;box-shadow:none;}
  .lday{break-inside:avoid;padding:6pt 0;border-bottom:1px solid #999;}
  .lday .dnum b, .item .when{color:#000;}
  .lday.today .dnum b{background:none;color:#000;width:auto;height:auto;line-height:1;}
  .item{border-left-color:#999;font-size:10.5pt;padding:2pt 0 2pt 8pt;margin:0 0 3pt;}
  .item .cnt{color:#333;}
  .mhead h1::after{content:" — " attr(data-month);}
}
.cal.list .calwrap{grid-template-columns:1fr;}
.cal.list .calday{display:none;}
.calday .church .alsofeast{color:var(--gold-ink);}

/* the calendar's third view: the whole year of dates */
.calviews .short{display:none;}
@media (max-width:719px){ .calviews .long{display:none;} .calviews .short{display:inline;} }
body.view-dates .calnav, body.view-dates .calfilters{display:none;}
body.view-dates .calviews{margin-left:0;}
.caldates{margin:0;}
@media print{
  body.view-dates .callist{display:none !important;}
  body.view-dates .caldates .row p, body.view-dates .jump{display:none;}
  body.view-dates .caldates h2{font-size:18pt;color:#000;}
}
.calwrap[hidden], .caldates[hidden]{display:none !important;}
body.view-dates .callegend, body.view-dates .calnote{display:none;}

/* --- members home: this week's email --- */
.thisweek{padding:26px 30px 24px;margin-top:8px;}
.mdoors > .thisweek.actions:first-child{margin-top:0;margin-bottom:14px;}
.thisweek h3, .thisweek h2.ph{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:27px;line-height:1.18;margin:0 0 2px;color:var(--maroon);}
.thisweek .sub{font-family:"Cardo",serif;font-size:15.5px;color:var(--gold-ink);letter-spacing:.04em;margin:0 0 14px;}
.thisweek .hymn{
  margin:0 0 6px;padding:14px 18px;border-left:3px solid var(--gilt);background:var(--parchment);background-image:var(--gesso);
  font-family:"Cardo",serif;font-style:italic;font-size:17px;line-height:1.55;color:var(--ink-2);
}
.thisweek h4{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-ink);margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule);
}
.thisweek p{margin:0 0 8px;font-size:16.5px;line-height:1.55;color:var(--ink);}
.thisweek .svc b{color:var(--maroon);}
.thisweek .ann{list-style:none;margin:0;padding:0;}
.thisweek .ann li{padding:7px 0 7px 14px;border-left:3px solid var(--rule-2);margin:0 0 8px;font-size:16.5px;line-height:1.5;color:var(--ink);}
.thisweek .ann li b{color:var(--maroon);}
.thisweek a{color:var(--maroon);}
.thisweek details.feat{border:1px solid var(--rule);border-radius:3px;margin:0 0 8px;background:var(--parchment);}
.thisweek details.feat summary{
  cursor:pointer;padding:10px 14px;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15.5px;color:var(--maroon);list-style:none;
  display:flex;align-items:center;gap:10px;
}
.thisweek details.feat summary::-webkit-details-marker{display:none;}
.thisweek details.feat summary::before{content:"\203A";font-size:20px;line-height:1;color:var(--gold-ink);transition:transform .15s;}
.thisweek details.feat[open] summary::before{transform:rotate(90deg);}
.thisweek details.feat > div{padding:2px 16px 14px;}
.thisweek details.feat img{display:block;max-width:100%;height:auto;margin:10px auto 0;border:1px solid var(--rule);}
.thisweek .more{margin:18px 0 0;font-family:"Source Sans 3",sans-serif;font-size:15.5px;font-weight:600;}
.thisweek .more a{color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);}
.thisweek .empty{color:var(--ink-3);font-style:italic;font-size:16px;margin:4px 0 0;}

/* calendar: notes from the office, and dates the email mentions */
.pill.note{border-left-color:var(--rule-2);color:var(--ink-3);font-style:italic;}
.pill.mention{border-left:3px dashed var(--gilt);color:var(--ink-2);background:rgba(198,153,54,.08);}
.item.note{border-left-color:var(--rule-2);}
.item.note .ititle{color:var(--ink-2);font-style:italic;font-weight:400 !important;}
.item.mention{border-left:3px dashed var(--gilt);}
.item.mention .quote{font-family:"Cardo",serif;font-style:italic;color:var(--ink-2);}
.item.mention .quote a{font-family:"Source Sans 3",sans-serif;font-style:normal;font-weight:600;font-size:14px;color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);margin-left:4px;}
.calday .regular{margin:16px 0 0;font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);font-style:italic;}
.callegend .mention::before{background:none;border:2px dashed var(--gilt);width:8px;height:8px;}
.thisweek .others{list-style:none;margin:0;padding:0;}
.thisweek .others li{padding:6px 0;border-bottom:1px solid var(--rule);font-size:16px;}
.thisweek .others li:last-child{border-bottom:0;}
.thisweek .others a{color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);}
.thisweek .others small{color:var(--ink-3);font-size:14px;margin-left:6px;}

/* the day panel: readings and tone */
.calday .church .week{font-family:"Cardo",serif;font-size:14.5px;letter-spacing:.03em;color:var(--gold-ink);margin:0 0 2px;}
.calday .rows{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 6px;align-items:baseline;}
.calday .rows .r{display:contents;}
.calday .rows .l{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);}
.calday .rows .v{font-family:"Cardo",serif;font-size:17px;color:var(--ink);}
.calday details.saints li small{color:var(--ink-3);font-family:"Source Sans 3",sans-serif;font-size:12.5px;letter-spacing:.02em;margin-right:4px;}

/* --- members home: the stream --- */
.watch{padding:22px 26px 22px;}
.watch.top{margin:0 0 26px;border-top:3px solid var(--maroon);}
.watch .whead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 14px;}
.watch h3, .watch h2.ph{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:26px;line-height:1.18;margin:0;color:var(--maroon);}
.watch .badge{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-ink);border:1px solid var(--rule-2);border-radius:20px;padding:4px 11px;display:inline-flex;align-items:center;gap:7px;
}
.watch .badge.live{color:#fff;background:#B3261E;border-color:#B3261E;}
.watch .badge.live i{width:8px;height:8px;border-radius:50%;background:#fff;animation:sg-pulse 1.4s ease-in-out infinite;}
@keyframes sg-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.7);}}
@media (prefers-reduced-motion:reduce){ .watch .badge.live i{animation:none;} }
.watch .badge.soon{color:var(--maroon);border-color:var(--gilt);}
.watch .frame{
  position:relative;aspect-ratio:16/9;background:#1B100F center/cover no-repeat;border:1px solid var(--rule-2);overflow:hidden;
}
.watch .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(24,10,11,.35), rgba(24,10,11,0) 50%);pointer-events:none;}
.watch .frame.playing::after{display:none;}
.watch .play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;cursor:pointer;z-index:1;
  background:rgba(110,26,32,.92);color:#FDF6E7;border:2px solid rgba(243,228,203,.7);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .15s, background .15s;
}
.watch .play svg{margin-left:4px;width:34px;height:34px;}
.watch .play:hover{transform:translate(-50%,-50%) scale(1.06);background:rgba(142,42,46,.95);}
.watch .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.watch .vtitle{margin:12px 0 4px;font-size:17px;color:var(--ink);line-height:1.4;}
.watch .vlinks{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-family:"Source Sans 3",sans-serif;font-size:14.5px;font-weight:600;}
.watch .vlinks a{color:var(--maroon);text-decoration:none;border-bottom:1.5px solid var(--gilt);}
.watch .empty{color:var(--ink-3);font-style:italic;font-size:16px;margin:4px 0 0;}
.watch .empty a{color:var(--maroon);}
.watch.islive{border-color:#B3261E;}
.watch.top .frame{max-width:960px;}

/* --- Our Parish: clergy and servers roster --- */
.lineage{margin:0 auto 40px;text-align:center;}
.lineage p{font-family:"Source Serif 4","Cardo",Georgia,serif;font-size:18px;line-height:1.6;color:var(--ink-2);margin:0;}
.lineage a{color:var(--maroon);}
.roster{max-width:1040px;margin:0 auto;}
.rlabel{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-ink);margin:38px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--rule-2);display:flex;align-items:center;gap:12px;
}
.rlabel::before{content:"";width:22px;height:1px;background:var(--gilt);}
.roster .rlabel:first-child{margin-top:0;}
.rnote{margin:-4px 0 18px;color:var(--ink-2);font-size:16.5px;line-height:1.55;max-width:70ch;}
.pgrid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:700px){ .pgrid{grid-template-columns:repeat(4,minmax(0,1fr));} }
.pgrid.one{grid-template-columns:1fr;}
.pcard{
  background:var(--surface);border:1px solid var(--rule-2);border-top:3px solid var(--gilt);border-radius:3px;
  padding:22px 16px 18px;text-align:center;box-shadow:var(--shadow-sm);
}
.pcard h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:21px;line-height:1.15;margin:12px 0 4px;color:var(--maroon);text-wrap:balance;}
.pcard .role{
  margin:0;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);
}
.pphoto{
  display:block;margin:0 auto;width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:center 30%;
  border:3px solid var(--surface);box-shadow:0 0 0 1px var(--rule-2), var(--shadow-sm);background:var(--surface-2);
}
.pphoto.mono{
  font-family:"Tiller",Georgia,serif;font-size:34px;line-height:98px;color:var(--gold-ink);letter-spacing:.04em;text-align:center;
  background:var(--surface-2);background-image:var(--gesso);
}
.pcard.featured{display:flex;gap:26px;align-items:center;text-align:left;padding:24px 28px;}
.pcard.featured .pphoto{width:132px;height:132px;flex:none;margin:0;}
.pcard.featured .pphoto.mono{font-size:42px;line-height:126px;}
.pcard.featured h3{font-size:26px;margin:0 0 4px;}
.pcard.featured .blurb{margin:10px 0 0;color:var(--ink-2);font-size:16.5px;line-height:1.55;}
@media (max-width:520px){
  .pcard.featured{flex-direction:column;text-align:center;}
  .pgrid{gap:12px;}
  .pcard{padding:18px 10px 14px;}
  .pcard h3{font-size:18px;}
  .pphoto{width:84px;height:84px;}
  .pphoto.mono{font-size:28px;line-height:78px;}
}

/* --- the Parish Council's page --- */
.mhead.council{border-bottom-color:var(--maroon);background:linear-gradient(to bottom, var(--surface-2), var(--parchment));}
.mhead.council .kicker{color:var(--maroon);}
.mdoor.council{border-left-color:var(--maroon);}
.mdoor.council svg{color:var(--maroon);}
#sg-councilRoster li{grid-template-columns:auto 1fr;}
#sg-councilRoster li .d .chip{margin:0;}
#sg-councilRoster li .n small{display:block;font-size:14px;}
#sg-councilRoster li .n small a{color:var(--ink-3);text-decoration:none;}
#sg-councilDates li{display:block;padding:7px 0;border-bottom:1px solid var(--rule);}
#sg-councilDates li:last-child{border-bottom:0;}
#sg-councilDates li a{display:grid;grid-template-columns:52px 1fr;gap:12px;text-decoration:none;color:inherit;align-items:baseline;}
#sg-councilDates li .n small{color:var(--ink-3);font-size:14.5px;white-space:nowrap;}
.mhead .cta, section .cta.primary{display:inline-block;text-decoration:none;}

/* ==========================================================
   the Governance Manual
   ========================================================== */
.manual .mhead .row{align-items:flex-start;}
.mhead .mver{font-family:"Source Sans 3",sans-serif;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);margin-top:14px;}
.mhead-actions{display:flex;gap:10px;flex-wrap:wrap;}
.mhead-actions .print{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--rule-2);
  border-radius:3px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;
}
.mhead-actions .print:hover{border-color:var(--gilt);color:var(--maroon);}

/* the search row, then the two columns: section menu on the left, the manual on the right */
.mbar{position:sticky;top:99px;z-index:40;padding:12px 0;background:var(--parchment);background-image:var(--gesso);border-bottom:1px solid var(--rule);}
.mbar .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.mbar .search input{padding-top:10px;padding-bottom:10px;}
.mbar .search input::-webkit-search-cancel-button, .mbar .search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none;}
.mbar .search{max-width:560px;flex:1 1 320px;}
.mbar .tcount{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0;white-space:nowrap;}
.mlayout-sec{padding-top:28px;}
.mlayout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:0 48px;align-items:start;}
.mnav{position:sticky;top:176px;align-self:start;max-height:calc(100vh - 196px);overflow-y:auto;scrollbar-width:thin;padding:0 0 12px;}
.mnav .kicker{font-family:"Source Sans 3",sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 10px 12px;}
.mnav ul{list-style:none;margin:0;padding:0;}
.mnav li{margin:0;}
.mnav a{
  display:flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--ink-2);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14.5px;line-height:1.3;
  padding:7px 12px;border-left:2px solid transparent;border-radius:0 3px 3px 0;
}
.mnav a small{font-family:"Cardo",serif;font-size:12px;color:var(--gold-ink);letter-spacing:.06em;min-width:22px;}
.mnav a span{flex:1;}
.mnav a .n{flex:none;font-family:"Source Sans 3",sans-serif;font-size:12px;font-weight:600;color:var(--on-maroon);background:var(--maroon);border-radius:999px;min-width:20px;padding:0 6px;line-height:20px;text-align:center;}
.mnav.filtering a.dim{opacity:.4;}
.mnav.filtering a.dim:hover{opacity:.8;}
.mnav a:hover{color:var(--maroon);background:var(--surface);}
.mnav a.on{color:var(--maroon);border-left-color:var(--maroon);background:var(--surface);}
.mbody{min-width:0;}
.mpanel{scroll-margin-top:170px;padding:0 0 44px;}
.mpanel + .mpanel{padding-top:44px;border-top:1px solid var(--rule);}
@media (max-width:899px){
  .mlayout{display:block;}
  .mbar{padding:10px 0;}
  .mbar .wrap{flex-wrap:nowrap;gap:12px;}
  .mbar .search{flex:1 1 auto;min-width:0;max-width:none;}
  .mbar .tcount{font-size:11px;letter-spacing:.12em;}
  .mnav{position:sticky;top:160px;z-index:30;max-height:none;overflow:visible;margin:0 -22px 26px;padding:6px 22px 0;background:var(--parchment);background-image:var(--gesso);border-bottom:1px solid var(--rule);}
  .mnav a .n{line-height:18px;min-width:18px;font-size:11px;}
  .mnav .kicker{display:none;}
  .mnav ul{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:0;}
  .mnav ul::-webkit-scrollbar{display:none;}
  .mnav li{flex:none;}
  .mnav a{border-left:0;border-bottom:3px solid transparent;border-radius:0;padding:8px 10px 9px;white-space:nowrap;font-size:13.5px;background:none;}
  .mnav a:hover{background:none;}
  .mnav a.on{background:none;border-bottom-color:var(--maroon);}
  .mpanel{scroll-margin-top:210px;}
  details.topic{scroll-margin-top:220px;}
}

.mpanels[hidden], .mresults[hidden]{display:none;}
.msec-head{margin:0 0 22px;}
.msec-head .ttl{display:flex;align-items:center;gap:18px;}
.msec-head h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(26px,3.6vw,36px);line-height:1.12;margin:0;color:var(--maroon);flex:none;max-width:100%;}
.msec-head .rule{flex:1;height:1px;background:var(--rule-2);min-width:24px;}
.msec-head .tag{flex:none;font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);}
@media (max-width:640px){ .msec-head .ttl{flex-wrap:wrap;gap:8px 14px;} .msec-head .rule{display:none;} .msec-head .tag{width:100%;order:-1;} }
.msec-head .tagline{font-family:"Cardo",serif;font-style:italic;font-size:18px;color:var(--ink-2);margin:8px 0 0;}
.mintro{max-width:74ch;margin:0 0 26px;}
.mintro p, .tbody p{font-size:17px;line-height:1.62;color:var(--ink);margin:0 0 12px;}
.mintro ul, .tbody ul{margin:0 0 14px;padding-left:22px;}
.mintro li, .tbody li{font-size:16.5px;line-height:1.58;color:var(--ink);margin:0 0 8px;}
.tbody h3, .mintro h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:22px;color:var(--maroon);margin:18px 0 8px;}
.mnote{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);line-height:1.5;margin:18px 0 0;}
cite.ref{
  font-style:normal;font-family:"Source Sans 3",sans-serif;font-size:12.5px;letter-spacing:.02em;color:var(--gold-ink);
  background:var(--surface-2);border:1px solid var(--rule);border-radius:3px;padding:0 6px;white-space:nowrap;
}
@media (max-width:640px){ cite.ref{white-space:normal;} }

/* topics */
.tops-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0 0 12px;font-family:"Source Sans 3",sans-serif;}
.tops-bar .tcount{font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-right:auto;}
.tops-bar .lnk{background:none;border:0;padding:0;font:inherit;font-weight:600;font-size:14px;color:var(--maroon);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.topics{display:grid;gap:10px;}
details.topic{background:var(--surface);border:1px solid var(--rule-2);border-left:3px solid var(--gilt);border-radius:0 3px 3px 0;box-shadow:var(--shadow-sm);scroll-margin-top:180px;}
details.topic[open]{border-left-color:var(--maroon);}
details.topic summary:hover{background:var(--parchment);}
details.topic summary:focus-visible{outline:2px solid var(--gilt);outline-offset:-2px;}
details.topic summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:14px 18px;
  font-family:"Tiller",Georgia,serif;font-size:21px;line-height:1.2;color:var(--maroon);
}
details.topic summary::-webkit-details-marker{display:none;}
details.topic summary::before{content:"\203A";font-size:24px;line-height:1;color:var(--gold-ink);transition:transform .15s;flex:none;width:14px;}
details.topic[open] summary::before{transform:rotate(90deg);}
details.topic summary .ttitle{flex:1;}
details.topic summary{flex-wrap:wrap;}
details.topic summary .tsnip{flex-basis:100%;margin:-4px 0 0 28px;font-family:"Source Serif 4",Georgia,serif;font-size:15px;line-height:1.5;color:var(--ink-2);}
details.topic[open] summary .tsnip{display:none;}
.mpanel.filtering .mintro:not(.hit){display:none;}

details.topic .tbody{padding:2px 22px 18px 46px;}
details.topic .tbody > :first-child{margin-top:0;}
details.topic.flash{box-shadow:0 0 0 3px rgba(198,153,54,.35), var(--shadow-sm);}
@media (max-width:640px){ details.topic summary{font-size:18px;padding:12px 14px;} details.topic .tbody{padding:0 14px 14px 14px;} }

.mbox{background:var(--parchment);background-image:var(--gesso);border:1px solid var(--rule);border-left:3px solid var(--gilt);border-radius:0 3px 3px 0;padding:16px 20px 6px;margin:0 0 14px;}
.mbox h4{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:20px;color:var(--maroon);margin:0 0 8px;}
.mcols{display:grid;gap:14px;}
@media (min-width:760px){ .mcols{grid-template-columns:1fr 1fr;} }

/* tables */
.tscroll{overflow-x:auto;margin:0 0 16px;}
.manual table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--rule-2);font-size:16px;}
.manual th, .manual td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--rule);line-height:1.5;}
.manual thead th{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);background:var(--surface-2);}
.manual tbody th{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);width:30%;}
.manual tbody tr:last-child td, .manual tbody tr:last-child th{border-bottom:0;}
.manual table.glance th{width:26%;}
.manual .mjump{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12.5px;color:var(--maroon);text-decoration:none;border:1px solid var(--rule-2);border-radius:3px;padding:1px 7px;margin-left:6px;white-space:nowrap;}
.manual .mjump:hover{border-color:var(--gilt);}
@media (max-width:640px){
  .manual table, .manual thead, .manual tbody, .manual tr, .manual td, .manual th{display:block;}
  .manual thead{display:none;}
  .manual tr{border-bottom:2px solid var(--rule-2);padding:6px 0;}
  .manual td, .manual tbody th{border:0;padding:6px 14px;width:auto;}
  .manual td::before{content:attr(data-l);display:block;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:2px;}
}

/* search results */
.mresults .dir-empty{margin:0 0 26px;}
.mresults .rcount{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 16px;}
.rgroup{margin:0 0 26px;}
.rgroup h3{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule);}
.rhit{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--rule-2);border-left:3px solid var(--gilt);border-radius:0 3px 3px 0;padding:12px 16px;margin:0 0 8px;}
.rhit:hover{border-left-color:var(--maroon);box-shadow:var(--shadow-sm);}
.rhit .rtitle{display:block;font-family:"Tiller",Georgia,serif;font-size:19px;color:var(--maroon);margin:0 0 3px;}
.rhit .rsnip{display:block;font-size:15px;color:var(--ink-2);line-height:1.5;}
.manual mark{background:rgba(198,153,54,.32);color:inherit;padding:0 1px;border-radius:2px;}
.manual mark.hl{background:rgba(198,153,54,.42);}

@media print{
  .mbar, .mnav, .mhead-actions, .tops-bar, .calfoot, .mresults, .tsnip{display:none !important;}
  .mlayout{display:block;}
  .mpanels[hidden]{display:block !important;}
  .mpanel{display:block !important;break-before:page;border:0;padding:0;}
  .mpanel:first-child{break-before:auto;}
  details.topic{border:0;border-top:1px solid #999;box-shadow:none;break-inside:avoid;}
  details.topic summary{font-size:15pt;color:#000;padding:8pt 0 2pt;}
  details.topic summary::before{display:none;}
  details.topic .tbody{padding:0 0 8pt;}
  .mintro p, .tbody p, .tbody li, .mintro li{font-size:10.5pt;color:#000;}
  cite.ref{border:0;background:none;color:#333;font-size:8.5pt;}
  .mbox{border:1px solid #999;background:none;}
  .manual table{font-size:9.5pt;}
}

/* ==========================================================
   the minutes archive
   ========================================================== */
.files{display:flex;flex-wrap:wrap;gap:6px 8px;margin:8px 0 0;}
.fchip{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;line-height:1;
  color:var(--maroon);background:var(--surface);border:1px solid var(--rule-2);border-radius:999px;padding:7px 12px 7px 9px;white-space:nowrap;
}
.fchip:hover{border-color:var(--gilt);box-shadow:var(--shadow-sm);}
.fchip small{font-weight:400;color:var(--ink-3);font-size:12px;}
.fchip .fk{width:9px;height:9px;border-radius:50%;background:var(--gilt);flex:none;}
.fchip.minutes .fk{background:var(--maroon);}
.fchip.agenda .fk{background:var(--gilt);}
.fchip.financial .fk{background:#4E7A5A;}
.fchip.report .fk{background:#6C7BA6;}
.fchip.other .fk{background:var(--ink-3);}
.fchip.minutes{border-color:rgba(94,26,34,.35);}

/* the Council page's "latest minutes" panel */
.thisweek.minutes ul{list-style:none;margin:0;padding:0;}
.thisweek.minutes li{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:10px 0;border-top:1px solid var(--rule);align-items:start;}
.thisweek.minutes li:first-child{border-top:0;}
.thisweek.minutes li .d{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:15px;line-height:1.2;}
.thisweek.minutes li .d small{display:block;font-weight:400;color:var(--ink-3);font-size:12.5px;}
.thisweek.minutes li .n{font-family:"Tiller",Georgia,serif;font-size:19px;color:var(--ink);line-height:1.25;}
.thisweek.minutes .more{margin:14px 0 0;}

/* the archive page */
.archive .mbar .years{display:flex;gap:6px;flex-wrap:wrap;}
.ychip{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--rule-2);
  border-radius:999px;padding:7px 13px;cursor:pointer;
}
.ychip:hover{border-color:var(--gilt);color:var(--maroon);}
.ychip.on{background:var(--maroon);border-color:var(--maroon);color:var(--on-accent);}
.latest{
  background:var(--surface);border:1px solid var(--rule-2);border-left:4px solid var(--maroon);border-radius:0 4px 4px 0;box-shadow:var(--shadow-sm);
  padding:24px 28px 22px;margin:0 0 36px;
}
.latest .kicker{font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 6px;}
.latest h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(24px,3vw,32px);line-height:1.15;margin:0;color:var(--maroon);}
.latest .when{font-family:"Cardo",serif;font-style:italic;font-size:17px;color:var(--ink-2);margin:4px 0 0;}
.latest .files{margin-top:16px;gap:8px 10px;}
.latest .fchip{font-size:15px;padding:10px 16px 10px 12px;}
.latest .drive{margin:14px 0 0;font-family:"Source Sans 3",sans-serif;font-size:14px;}
.latest .drive a{color:var(--ink-3);}
.ayear{margin:0 0 34px;}
.ayear .msec-head{margin-bottom:12px;}
.meetings{list-style:none;margin:0;padding:0;}
.meeting{
  display:grid;grid-template-columns:64px 1fr;gap:18px;padding:16px 0;border-top:1px solid var(--rule);align-items:start;
}
.meeting:first-child{border-top:0;}
.meeting .date{
  text-align:center;background:var(--surface);border:1px solid var(--rule-2);border-radius:4px;padding:6px 0 8px;line-height:1;
}
.meeting .date .mo{display:block;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);}
.meeting .date .dd{display:block;font-family:"Tiller",Georgia,serif;font-size:26px;color:var(--maroon);margin-top:3px;}
.meeting.annual .date{border-color:var(--gilt);background:var(--surface-2);}
.meeting .body{position:relative;min-width:0;}
.meeting h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:22px;line-height:1.2;margin:0;color:var(--maroon);padding-right:70px;}
.meeting .sub{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);margin:3px 0 0;}
.meeting .drive{position:absolute;top:2px;right:0;font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--ink-3);text-decoration:none;border:1px solid var(--rule-2);border-radius:3px;padding:2px 7px;}
.meeting .drive:hover{color:var(--maroon);border-color:var(--gilt);}
@media (max-width:640px){
  .meeting{grid-template-columns:52px 1fr;gap:12px;}
  .meeting .date .dd{font-size:22px;}
  .meeting h3{font-size:19px;padding-right:0;}
  .meeting .drive{position:static;display:inline-block;margin-top:8px;}
  .latest{padding:18px 18px 16px;}
  .fchip{white-space:normal;}
}

/* ==========================================================
   action items and the Secretary's tools (Council page)
   ========================================================== */
.thisweek.actions h4, .thisweek.secretary h4{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);
  margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--rule);
}
.thisweek.actions .mineBox{background:var(--surface-2);border:1px solid var(--rule);border-left:3px solid var(--maroon);border-radius:0 3px 3px 0;padding:4px 16px 8px;margin:0 0 6px;}
.thisweek.actions .mineBox h4{margin-top:10px;color:var(--maroon);}
.thisweek.actions .none{font-family:"Cardo",serif;font-style:italic;color:var(--ink-3);font-size:16px;margin:0 0 6px;}
.alist{list-style:none;margin:0;padding:0;}
.alist .ai{padding:11px 0;border-top:1px solid var(--rule);}
.alist .ai:first-child{border-top:0;}
.alist .ahead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-family:"Source Sans 3",sans-serif;font-size:13.5px;margin:0 0 4px;}
.alist .who{font-weight:600;color:var(--maroon);}
.alist .due, .alist .mtg{color:var(--ink-3);}
.alist .mtg{font-weight:600;color:var(--gold-ink);}
.alist .edit{margin-left:auto;}
.alist .st{font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:3px 9px;line-height:1;}
.alist .st.open{background:var(--surface);border:1px solid var(--rule-2);color:var(--ink-2);}
.alist .st.prog{background:rgba(201,162,75,.22);border:1px solid var(--gilt);color:#6E5312;}
.alist .st.done{background:#4E7A5A;border:1px solid #4E7A5A;color:#fff;}
.alist .atext{margin:0;font-size:16.5px;line-height:1.5;color:var(--ink);}
.alist .ai.done .atext{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--rule-2);}
.alist .upd{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2);padding-left:12px;border-left:2px solid var(--gilt);}
.alist .upd b{color:var(--maroon);font-weight:600;font-family:"Source Sans 3",sans-serif;font-size:13.5px;}
.adone{margin-top:14px;}
.adone summary{cursor:pointer;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);}
.adone[open] summary{margin-bottom:6px;}
.lnk{background:none;border:0;padding:0;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;color:var(--maroon);cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
.aform{margin:10px 0 2px;padding:12px 14px;background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;}
.aform .sts{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:"Source Sans 3",sans-serif;font-size:15px;margin:0 0 8px;}
.aform .sts label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.aform textarea, .sform input[type=text], .sform input[type=date], .sform input[type=url], .sform textarea{
  width:100%;box-sizing:border-box;font-family:"Source Serif 4",Georgia,serif;font-size:16px;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:9px 11px;line-height:1.4;
}
.aform textarea:focus, .sform input:focus, .sform textarea:focus{outline:2px solid var(--gilt);outline-offset:1px;border-color:var(--gilt);}
.srow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px;}
.srow .smsg{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);}
.cta.primary.small{padding:8px 14px;font-size:14px;}
.stool{border-top:1px solid var(--rule);padding:10px 0 4px;}
.stool summary{cursor:pointer;font-family:"Tiller",Georgia,serif;font-size:19px;color:var(--maroon);padding:4px 0;}
.sform{padding:6px 0 10px;}
.sform label{display:block;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);margin:0 0 10px;}
.sform label i{font-weight:400;color:var(--ink-3);}
.sform label input, .sform label textarea{margin-top:4px;font-weight:400;}
.sform .two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sform label.chk{display:flex;align-items:center;gap:8px;font-weight:400;font-size:15px;}
.sform label.chk input{width:auto;margin:0;}
@media (max-width:480px){ .sform .two{grid-template-columns:1fr;} }

/* ==========================================================
   council votes
   ========================================================== */
.thisweek.votes{border-left:4px solid var(--maroon);}
.thisweek.votes .vhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.thisweek.votes .vhead .sub{margin-bottom:6px;}
.vform{margin:8px 0 18px;padding:14px 16px 6px;background:var(--surface-2);border:1px solid var(--rule);border-radius:3px;}
.vote{margin:16px 0 0;padding:18px 20px 14px;background:var(--surface);border:1px solid var(--rule-2);border-radius:4px;box-shadow:var(--shadow-sm);}
.vote header h4{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;line-height:1.15;margin:0;color:var(--maroon);letter-spacing:0;text-transform:none;border:0;padding:0;}
.vote .vmeta{font-family:"Source Sans 3",sans-serif;font-size:13.5px;color:var(--ink-3);margin:4px 0 0;}
.vote .vmeta b{color:var(--maroon);font-weight:600;}
.vdetails{margin:12px 0 0;padding:12px 16px;background:var(--surface-2);border-left:3px solid var(--gilt);border-radius:0 3px 3px 0;}
.vdetails p{margin:0 0 10px;font-size:16px;line-height:1.55;color:var(--ink);}
.vdetails p:last-child{margin-bottom:0;}
.vresult{margin:12px 0 0;font-family:"Source Sans 3",sans-serif;font-size:15px;color:var(--ink-2);}
.vresult b{color:var(--maroon);}
.vopts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;}
.vopt{display:grid;grid-template-columns:1fr;gap:4px;}
.vopt .vlabel{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;cursor:pointer;
  background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:10px 14px;color:var(--ink);
}
.vopt span.vlabel{cursor:default;}
.vopt button.vlabel:hover{border-color:var(--gilt);}
.vopt .vmark{width:16px;height:16px;border-radius:50%;border:2px solid var(--rule-2);flex:none;background:var(--surface);}
.vopt.mine .vlabel{border-color:var(--maroon);background:var(--surface-2);}
.vopt.mine .vmark{border-color:var(--maroon);background:radial-gradient(circle,var(--maroon) 45%,transparent 50%);}
.vopt .vtext{flex:1;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16px;}
.vopt.abstain .vtext{font-weight:400;color:var(--ink-2);}
.vopt .vn{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:14px;color:var(--maroon);background:var(--surface-2);border-radius:999px;min-width:26px;text-align:center;padding:2px 8px;}
.vopt .vbar{display:block;height:3px;background:var(--rule);border-radius:2px;overflow:hidden;margin:0 2px;}
.vopt .vbar i{display:block;height:100%;background:var(--gilt);}
.vopt.mine .vbar i{background:var(--maroon);}
.vopt .vnames{font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--ink-3);padding:0 4px;}
.vote.closed .vopt .vlabel{opacity:.85;}
.vcount{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);margin:12px 0 0;line-height:1.5;}
.vcount .vwait{color:var(--ink-3);}
.vcomments{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--rule);}
.vcomments h5{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 8px;}
.vcomments ul{list-style:none;margin:0 0 10px;padding:0;}
.vcomments li{padding:8px 0 8px 12px;border-left:2px solid var(--gilt);margin:0 0 8px;}
.vcomments li b{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:14px;}
.vcomments li small{font-family:"Source Sans 3",sans-serif;color:var(--ink-3);font-size:12.5px;margin-left:6px;}
.vcomments li p{margin:3px 0 0;font-size:15.5px;line-height:1.5;color:var(--ink);}
.vcomments .none{font-family:"Cardo",serif;font-style:italic;color:var(--ink-3);font-size:15px;margin:0 0 8px;}
.cform{margin:8px 0 0;}
.cform textarea{width:100%;box-sizing:border-box;font-family:"Source Serif 4",Georgia,serif;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:9px 11px;line-height:1.4;}
.cform textarea:focus{outline:2px solid var(--gilt);outline-offset:1px;border-color:var(--gilt);}
.vadmin{margin:12px 0 0;font-size:14px;}
.vpast{margin-top:18px;}
.vpast summary{cursor:pointer;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);}
.vpast .vote{background:var(--surface-2);}
@media (max-width:640px){ .vote{padding:14px 14px 12px;} .vote header h4{font-size:21px;} }

/* ==========================================================
   give (Tithe.ly form on our own page)
   ========================================================== */
.givegrid{display:grid;gap:26px;grid-template-columns:1fr;align-items:start;}
@media (min-width:960px){ .givegrid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);} }
.givecard{background:var(--surface);border:1px solid var(--rule-2);border-top:4px solid var(--maroon);border-radius:4px;box-shadow:var(--shadow);padding:26px 28px 18px;}
.givehead h2{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:clamp(24px,3vw,32px);line-height:1.15;margin:0 0 6px;color:var(--maroon);}
.givehead p{margin:0 0 16px;font-size:16px;line-height:1.55;color:var(--ink-2);}
.giveframe{position:relative;background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden;}
.giveframe iframe{display:block;width:100%;height:920px;border:0;}
.givefoot{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);margin:12px 0 0;}
.giveaside{display:grid;gap:18px;}
.giveaside .answer p:last-child{margin-bottom:0;}
.giveaside .addr{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);line-height:1.5;}
.answers.four{grid-template-columns:1fr;}
@media (min-width:760px){ .answers.four{grid-template-columns:1fr 1fr;} }
#pledge .prose h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:24px;color:var(--maroon);margin:24px 0 8px;}
@media (max-width:640px){ .givecard{padding:18px 14px 14px;} .giveframe iframe{height:980px;} }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .giveframe{background:#fff;} }

/* our hierarchs (Our Parish) */
.hier{display:grid;gap:30px;align-items:center;margin:0 auto 44px;}
@media (min-width:860px){ .hier{grid-template-columns:minmax(0,1fr) 440px;gap:48px;} }
.hier .kicker{font-family:"Source Sans 3",sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin:0 0 10px;}
.hier-text p:not(.kicker){font-family:"Source Serif 4","Cardo",Georgia,serif;font-size:18px;line-height:1.6;color:var(--ink-2);margin:0;max-width:60ch;}
.hier-text a{color:var(--maroon);}
.hier-pics{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.hier-pics figure{margin:0;}
.hier-pics .frame{padding:7px;background:var(--surface);border:1px solid var(--rule-2);border-radius:120px 120px 3px 3px;box-shadow:var(--shadow);}
.hier-pics .frame img{display:block;width:100%;height:auto;border-radius:114px 114px 2px 2px;}
.hier-pics figcaption{text-align:center;margin-top:12px;}
.hier-pics figcaption b{display:block;font-family:"Tiller",Georgia,serif;font-weight:400;font-size:17px;color:var(--maroon);line-height:1.2;}
.hier-pics figcaption span{display:block;font-family:"Source Sans 3",sans-serif;font-size:13px;color:var(--ink-3);margin-top:3px;line-height:1.35;}
@media (max-width:480px){ .hier-pics{gap:12px;} .hier-pics .frame{border-radius:80px 80px 3px 3px;} .hier-pics .frame img{border-radius:74px 74px 2px 2px;} }

/* ===================== FINANCIALS (members home) ===================== */
.fin{padding:0;overflow:hidden;}
.fin::after{display:none;}
.fin > summary{
  list-style:none;display:flex;align-items:center;gap:16px;padding:20px 22px 20px 24px;cursor:pointer;
  border-left:4px solid var(--gilt);
}
.fin > summary::-webkit-details-marker{display:none;}
.fin > summary > svg{flex:none;color:var(--gilt);}
.fin-t h3, .fin-t h2.ph{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:23px;line-height:1.15;margin:0 0 3px;color:var(--maroon);}
.fin-t p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.45;}
.fin-priv{
  margin-left:auto;flex:none;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-ink);border:1px solid var(--rule-2);border-radius:999px;padding:4px 10px;background:var(--parchment);
}
.fin .chev{flex:none;width:11px;height:11px;border-right:2px solid var(--gold-ink);border-bottom:2px solid var(--gold-ink);transform:rotate(45deg);margin:-4px 4px 0 2px;transition:transform .18s ease;}
.fin[open] .chev{transform:rotate(-135deg);margin-top:4px;}
.fin > summary:hover{background:var(--parchment);}
.fin > summary:focus-visible{outline:2px solid var(--gilt);outline-offset:-2px;}
.fin-body{padding:4px 22px 22px 24px;border-top:1px solid var(--rule);}
.fin-note{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);margin:12px 0 14px;}
.fin-grid{display:grid;gap:12px;grid-template-columns:1fr;}
@media (min-width:640px){ .fin-grid{grid-template-columns:1fr 1fr;} .fin-grid .pledge{grid-column:1/-1;} }
.fin-card{
  display:block;text-align:left;width:100%;position:relative;background:var(--parchment);border:1px solid var(--rule-2);border-radius:3px;
  padding:16px 18px 16px;color:inherit;text-decoration:none;font:inherit;cursor:default;
}
.fin-card .lbl{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 8px;display:flex;align-items:center;gap:8px;}
.fin-card h4{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:21px;line-height:1.15;margin:0 0 6px;color:var(--maroon);}
.fin-card p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.5;}
.fin-card .go{display:inline-block;margin-top:10px;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--gold-ink);}
.fin-card.give{cursor:pointer;transition:border-color .18s ease,transform .18s ease;}
.fin-card.give:hover{border-color:var(--gilt);transform:translateY(-2px);}
.fin-card.give:hover .go{color:var(--maroon);text-decoration:underline;}
.fin-card.soon{cursor:pointer;}
.fin-card.soon h4, .fin-card.soon > p{color:var(--ink-3);}
.fin-card.soon:hover{border-color:var(--gilt);}
.fin-card .tag{font-size:10.5px;letter-spacing:.1em;color:var(--on-maroon);background:var(--gold);border-radius:999px;padding:2px 8px;font-weight:600;}
.fin-card .meter{height:8px;background:var(--surface-2);border:1px solid var(--rule-2);border-radius:999px;overflow:hidden;margin:10px 0 10px;}
.fin-card .meter i{display:block;height:100%;background:repeating-linear-gradient(135deg,var(--rule-2) 0 6px,var(--surface-2) 6px 12px);}
.fin-soonmsg{margin:12px 0 0;padding:10px 14px;background:var(--surface-2);border-left:3px solid var(--gilt);font-size:15px;color:var(--ink-2);line-height:1.5;}
/* the pledge card */
.pledge .big{font-family:"Tiller",Georgia,serif;font-size:34px;line-height:1.1;color:var(--maroon);margin:2px 0 2px;}
.pledge .big small{font-family:"Source Serif 4",Georgia,serif;font-size:17px;color:var(--ink-2);margin-left:6px;}
.pledge .yr{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);margin:0 0 10px;}
.pledge .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.pform{margin-top:12px;display:grid;gap:12px;}
.pform .row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;}
.pform label.f{display:grid;gap:4px;font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);}
.pform .amt{position:relative;}
.pform .amt b{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-weight:400;}
.pform .amt input{padding-left:26px;width:150px;}
.pform input[type=number], .pform input[type=text]{
  font:inherit;font-size:17px;padding:9px 12px;border:1px solid var(--rule-2);border-radius:3px;background:var(--surface);color:var(--ink);
}
.pform .amt input[type=number]{padding-left:26px;}
.pform .seg{display:inline-flex;border:1px solid var(--rule-2);border-radius:3px;overflow:hidden;background:var(--surface);}
.pform .seg label{padding:9px 14px;font-family:"Source Sans 3",sans-serif;font-size:15px;cursor:pointer;color:var(--ink-2);border-right:1px solid var(--rule-2);}
.pform .seg label:last-child{border-right:0;}
.pform .seg input{position:absolute;opacity:0;pointer-events:none;}
.pform .seg input:checked + span{color:var(--on-maroon);}
.pform .seg label:has(input:checked){background:var(--maroon);color:var(--on-maroon);}
.pform .calc{font-family:"Source Sans 3",sans-serif;font-size:15px;color:var(--ink-2);margin:0;}
.pform .calc b{color:var(--maroon);}
.pform .pnote{max-width:420px;}
.pform .pnote input{width:100%;}
.pform .err{color:var(--maroon-2);font-family:"Source Sans 3",sans-serif;font-size:14px;margin:0;}

/* ===================== ARROWS ===================== */
/* The → glyph isn't in the webfont subset, so draw it: same colour and weight as its link */
.arr{
  display:inline-block;width:.9em;height:.6em;margin-left:.3em;vertical-align:-.02em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M1 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.arr.ext{transform:rotate(-45deg) translateY(-.05em);width:.8em;}
a:hover .arr, .door:hover .arr, .mdoor:hover .arr, .fin-card:hover .arr{transform:translateX(2px);}
a:hover .arr.ext{transform:rotate(-45deg) translate(1px,-1px);}

/* when orthocal can't be reached the fallback sentence is a note, not a headline */
.degraded .comm{font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.55;color:var(--ink-2);}

/* ===================== PAIRED COLUMNS (desktop density) ===================== */
/* a lone column gets a partner above 1000px: a framed photo, a ledger, or an aside.
   DOM order is main then side, so phones read exactly as before. */
.pair{display:grid;gap:36px;grid-template-columns:minmax(0,1fr);align-items:start;}
.pair > *{min-width:0;}
.pair .frame, .formlayout .frame{
  padding:9px;background:var(--surface);border:1px solid var(--rule-2);
  border-radius:150px 150px 3px 3px;box-shadow:var(--shadow);margin:0;
}
.pair .frame img, .formlayout .frame img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:142px 142px 2px 2px;}
.pair .frame figcaption, .formlayout .frame figcaption{font-size:14px;color:var(--ink-3);margin-top:14px;font-style:italic;text-align:center;}
.pair .side{display:grid;gap:18px;}
@media (min-width:1000px){
  .pair{grid-template-columns:minmax(0,1fr) 380px;gap:64px;}
  .pair.narrow{grid-template-columns:minmax(0,1fr) 320px;}
  .pair .side, .pair > figure{position:sticky;top:110px;}
  .pair.still .side{position:static;}                  /* a side as tall as its text has nothing to follow */
  .pair .prose, .pair .timeline, .pair .points{margin-left:0;}
}
/* six short points in two columns of three at desktop */
@media (min-width:1000px){
  .points.cols{max-width:none;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:0 64px;}
  .points.cols > li:nth-child(4){border-top:0;padding-top:6px;}
  .points.cols > li:nth-child(4)::before{top:8px;}
}
/* a ledger of figures beside prose (Fr. Nicola's ministry) */
.ledger{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-2);}
.ledger li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule);}
.ledger b{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:32px;line-height:1;color:var(--maroon);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ledger span{font-size:16.5px;color:var(--ink-2);line-height:1.4;}
.ledger + p{margin-top:18px;}
/* form pages: the form in a main column, the related cards in a sticky side column */
.formlayout{display:grid;gap:40px;grid-template-columns:minmax(0,1fr);align-items:start;}
.formlayout > *{min-width:0;}
@media (min-width:1000px){
  .formlayout{grid-template-columns:minmax(0,1fr) 340px;gap:64px;}
  .formlayout .form{margin:0;}
  .formlayout .answers{grid-template-columns:1fr;position:sticky;top:110px;}
  .formlayout .side{position:sticky;top:110px;display:grid;gap:18px;}
}
/* give: side cards ride alongside the giving frame */
@media (min-width:960px){ .giveaside{position:sticky;top:110px;} }
/* give: "Why pledge?" in two columns at desktop */
@media (min-width:960px){
  .pledge2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 64px;align-items:start;}
  .pledge2 > *{min-width:0;}
}
/* roster: clergy and chanters share a row at desktop */
.rrow{display:grid;gap:16px;}
.rrow .rlabel{margin-top:0;}
.pgrid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (min-width:900px){
  .rrow{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px 24px;}
  /* the clergy card stands as tall as the chanters' cards beside it */
  .rrow .rcol{display:flex;flex-direction:column;}
  .rrow .rcol .pgrid{flex:1;}
  .rrow .pcard.featured{box-sizing:border-box;height:100%;}
}

/* every disclosure in the members area uses the same chevron */
body[data-members] main details > summary{list-style:none;cursor:pointer;}
body[data-members] main details > summary::-webkit-details-marker{display:none;}
body[data-members] main details:not(.fin):not(.feat):not(.topic) > summary::after{
  content:"";display:inline-block;width:9px;height:9px;margin-left:10px;vertical-align:middle;
  border-right:2px solid var(--gold-ink);border-bottom:2px solid var(--gold-ink);transform:rotate(45deg) translateY(-3px);transition:transform .18s ease;
}
body[data-members] main details:not(.fin):not(.feat):not(.topic)[open] > summary::after{transform:rotate(-135deg) translateY(2px);}

/* ===================== TYPE SCALE FOR PANEL TITLES AND "MORE" LINKS ===================== */
:root{--h3-s:22px;--h3-m:26px;--h3-l:30px;}
.pcard h3, .answer h3, .mdoor h3, .formmsg h3, .fin-card h4{font-size:var(--h3-s);}
.door h3, .fast h3, .points h3, .onward h3, .watch h3, .watch h2.ph, .month h3, .month h2.ph, .thisweek h3, .thisweek h2.ph, .fin-t h3, .fin-t h2.ph, .hh h3, .hh h2.ph{font-size:var(--h3-m);}
.today h3, .today h2.ph, .welcome h3, .calday h3, .calday h2.ph{font-size:var(--h3-l);}
.pcard.featured h3{font-size:var(--h3-m);}
/* one "more" idiom: sans, maroon, on a gilt hairline */
.story a.more, .door .go, .month .more a, .today .weeklink a, .answer p > a:only-child, .fin-card .go, .thisweek .more a{
  font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:16px;letter-spacing:.03em;color:var(--maroon);
  text-decoration:none;border-bottom:1.5px solid var(--gilt);padding-bottom:1px;
}
.story a.more:hover, .door:hover .go, .month .more a:hover, .today .weeklink a:hover, .answer p > a:only-child:hover, .fin-card:hover .go, .thisweek .more a:hover{border-bottom-color:var(--maroon);text-decoration:none;color:var(--maroon);}
.fast dt{font-size:11.5px;letter-spacing:.19em;font-weight:600;}
.si .lbl{color:var(--gold-ink);}

/* ============================ NOTICES (banner) ============================
   Put in by the worker above the masthead when an admin has posted one.
   Three tones; the X remembers the dismissal in this browser only. */
.notice{background:var(--maroon-deep);color:#FDF6E7;font-family:"Source Sans 3",sans-serif;font-size:15.5px;line-height:1.4;}
.notice .wrap{display:flex;gap:14px;align-items:center;padding:9px 20px;}
.notice p, .thisweek .notice p{margin:0;flex:1;text-align:center;color:inherit;font-size:inherit;line-height:inherit;}
.notice a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(253,246,231,.6);}
.notice a:hover{text-decoration-color:currentColor;}
.notice .x{flex:none;background:none;border:0;color:inherit;opacity:.72;font-size:22px;line-height:1;cursor:pointer;padding:0 2px;font-family:inherit;}
.notice .x:hover{opacity:1;}
.notice .x:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
.notice.important{background:var(--gilt);color:#2B1A0C;}
.notice.important a{text-decoration-color:rgba(43,26,12,.5);}
.notice.festal{background:#7A5A14;color:#FDF6E7;}
@media (max-width:600px){ .notice{font-size:14.5px;} .notice .wrap{padding:8px 14px;gap:10px;} .notice p{text-align:left;} }

/* ============================ ADMIN PAGE ============================ */
.mhead.admin{border-bottom-color:var(--maroon);background:linear-gradient(to bottom,var(--surface-2),var(--parchment));}
.mhead.admin .kicker{color:var(--maroon);}
.mdoor .cnt, .anav .cnt{display:inline-block;min-width:22px;padding:0 7px;border-radius:999px;background:var(--maroon);color:var(--on-maroon);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13px;line-height:22px;text-align:center;vertical-align:3px;margin-left:6px;}
.mdoor.admin h3 .cnt{vertical-align:4px;}

/* the glance strip */
.glance .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.glance .si{padding:16px 0;}
.glance .si .big{font-size:19px;}
.glance .si .small{font-size:14.5px;}
.glance .si:nth-child(3), .glance .si:nth-child(4){display:none;}
.glance .si:nth-child(1), .glance .si:nth-child(2){border-bottom:0;}
@media (min-width:860px){
  .glance .wrap{grid-template-columns:repeat(4,1fr);gap:0 36px;}
  .glance .si{padding:18px 0;border-bottom:0;}
  .glance .si:nth-child(3), .glance .si:nth-child(4){display:block;}
  .glance .si .big{font-size:20px;}
  .glance .si .small{font-size:15px;}
}
.glance .si[hidden]{display:none !important;}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#7A8F6A;margin-right:7px;vertical-align:1px;}
.dot.warn{background:var(--gilt);} .dot.bad{background:var(--maroon);}

/* side nav + one panel at a time */
.adm{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);align-items:start;}
.adm > *{min-width:0;}
@media (min-width:1000px){.adm{grid-template-columns:230px minmax(0,1fr);gap:34px;}}
.anav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.anav::-webkit-scrollbar{display:none;}
@media (min-width:1000px){.anav{flex-direction:column;gap:2px;position:sticky;top:110px;overflow:visible;}}
.anav a{display:flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:var(--ink-2);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15.5px;padding:10px 14px;border-radius:3px;border:1px solid transparent;}
.anav a svg{flex:none;color:var(--gold-ink);}
.anav a:hover{background:var(--surface);border-color:var(--rule-2);}
.anav a.on{background:var(--surface);border-color:var(--rule-2);border-left:3px solid var(--maroon);color:var(--maroon);}
.anav a.on svg{color:var(--maroon);}
.anav a:focus-visible{outline:2px solid var(--gilt);outline-offset:2px;}
.anav .you{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:14px 14px 4px;font-weight:600;font-family:"Source Sans 3",sans-serif;}
@media (max-width:999px){.anav .you{display:none;}}
.anav .cnt{margin-left:auto;}
.anav .soon{margin-left:auto;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-maroon);background:var(--gold);border-radius:999px;padding:2px 8px;font-weight:600;}
@media (max-width:999px){.anav .cnt, .anav .soon{margin-left:2px;}}
.apanel{display:none;} .apanel.on{display:block;}
.apanel > .panel{margin-bottom:22px;}
.apanel .panel.thisweek h3{font-family:"Tiller",Georgia,serif;font-weight:400;font-size:var(--h3-m,26px);line-height:1.18;margin:0 0 4px;color:var(--maroon);}
.apanel .panel .sub{font-family:"Cardo",serif;font-size:15.5px;color:var(--gold-ink);letter-spacing:.04em;margin:0 0 18px;}
.apanel .empty{color:var(--ink-3);font-style:italic;margin:0;}
.apanel .meta{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-3);margin:10px 0 0;}
.apanel .meta a{color:var(--maroon);}

/* the admin forms: a few more pieces than .sform has */
.sform fieldset{border:0;margin:0 0 12px;padding:0;min-width:0;}
.sform legend{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:13.5px;color:var(--ink-2);padding:0;margin:0 0 6px;}
.sform .seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--rule-2);border-radius:3px;overflow:hidden;background:var(--surface);}
.sform .seg label{position:relative;margin:0;padding:8px 14px;font-weight:400;font-size:15px;cursor:pointer;color:var(--ink-2);border-right:1px solid var(--rule-2);display:inline-block;}
.sform .seg label:last-child{border-right:0;}
.sform .seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;}
.sform .seg label:has(input:checked){background:var(--maroon);color:var(--on-maroon);}
.sform .seg label:has(input:focus-visible){outline:2px solid var(--gilt);outline-offset:-2px;}
.sform .chks{display:flex;gap:18px;flex-wrap:wrap;margin:0;}
.sform .chks label.chk{margin:0;}
.sform .three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media (max-width:600px){.sform .three, .sform .two{grid-template-columns:1fr;}}
.sform .counter{font-weight:400;color:var(--ink-3);float:right;font-variant-numeric:tabular-nums;}
.sform .counter.over{color:var(--maroon);}
.sform .lnk{background:none;border:0;color:var(--maroon);font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15px;cursor:pointer;padding:6px 2px;text-decoration:underline;text-underline-offset:3px;}
.preview{border:1px dashed var(--rule-2);border-radius:3px;padding:12px;margin:4px 0 14px;background:var(--parchment);}
.preview .lbl{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;}
.preview .notice .wrap{padding:9px 14px;}
.preview .notice .x{opacity:.6;}

/* notices: what's up now, and the quick ones */
.ncards{display:grid;gap:12px;grid-template-columns:1fr;}
@media (min-width:760px){.ncards{grid-template-columns:1fr 1fr;}}
.ncard{background:var(--surface);border:1px solid var(--rule-2);border-radius:3px;padding:16px 18px;}
.ncard .lbl{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 8px;}
.ncard .live{display:block;background:var(--maroon-deep);color:#FDF6E7;font-size:15px;line-height:1.4;padding:9px 12px;border-radius:2px;margin:0 0 10px;font-family:"Source Sans 3",sans-serif;}
.ncard .live.important{background:var(--gilt);color:#2B1A0C;}
.ncard .live.festal{background:#7A5A14;}
.ncard .live a{color:inherit;}
.ncard .meta{margin:0;}
.ncard .meta .lnk{font-size:14px;padding:0;}
.quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.quick button{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:15px;padding:10px 16px;border-radius:3px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);cursor:pointer;}
.quick button.now{background:var(--maroon);color:var(--on-maroon);border-color:var(--maroon);}
.quick button:hover{border-color:var(--gilt);}
.quick button.now:hover{background:var(--maroon-2);border-color:var(--maroon-2);}
.quick button[disabled]{opacity:.6;cursor:default;}
.quick button.now.arm{background:var(--gilt);color:#2B1A0C;border-color:var(--gilt);}
#sg-quickMsg{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);margin:10px 0 0;min-height:1.2em;}

/* events */
.elist{list-style:none;margin:0;padding:0;}
.elist li{display:grid;grid-template-columns:56px 1fr;gap:6px 14px;align-items:start;padding:12px 0;border-top:1px solid var(--rule);}
.elist li:first-child{border-top:0;}
@media (min-width:640px){.elist li{grid-template-columns:56px 1fr auto;gap:14px;}}
.elist .d{font-family:"Source Sans 3",sans-serif;font-weight:600;color:var(--maroon);font-size:14px;line-height:1.25;letter-spacing:.02em;}
.elist .d b{display:block;font-size:20px;}
.elist .t{font-size:17px;color:var(--ink);}
.elist .t small{display:block;color:var(--ink-3);font-size:14.5px;margin-top:2px;font-family:"Source Sans 3",sans-serif;}
.elist .acts{display:flex;gap:6px;grid-column:2;}
@media (min-width:640px){.elist .acts{grid-column:auto;}}
.elist .acts button{font-family:"Source Sans 3",sans-serif;font-size:14px;font-weight:600;color:var(--maroon);background:var(--surface);text-decoration:none;border:1px solid var(--rule-2);border-radius:3px;padding:5px 10px;cursor:pointer;}
.elist .acts button:hover{border-color:var(--gilt);}
.elist .acts button.arm{background:var(--maroon);color:var(--on-maroon);border-color:var(--maroon);}
.elist li.editing{background:var(--surface);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:3px;}
.flag{display:inline-block;font-family:"Source Sans 3",sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);border:1px solid var(--gilt);border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:2px;}
.flag.c{color:var(--maroon);border-color:var(--maroon);}
.elist h4{font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:18px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--rule);}

/* member requests */
.appr{list-style:none;margin:0;padding:0;}
.appr li{border:1px solid var(--rule-2);border-left:3px solid var(--gilt);border-radius:0 3px 3px 0;background:var(--surface);padding:16px 18px;margin:0 0 12px;}
.appr .who{font-family:"Tiller",Georgia,serif;font-size:21px;color:var(--maroon);margin:0 0 2px;}
.appr .em{font-family:"Source Sans 3",sans-serif;font-size:14.5px;color:var(--ink-3);margin:0 0 8px;overflow-wrap:anywhere;}
.appr .say{margin:0 0 12px;color:var(--ink-2);font-size:16px;}
.appr .say i{color:var(--ink-3);}
.appr .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.appr select{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--rule-2);border-radius:3px;background:var(--surface);color:var(--ink);flex:1 1 220px;min-width:0;max-width:100%;}
@media (min-width:640px){.appr select{flex:0 1 320px;}}
.appr .cta.small{padding:8px 14px;font-size:14px;}
.appr .cta.quiet{background:transparent;color:var(--maroon);border:1px solid var(--rule-2);}
.appr .cta.quiet:hover{border-color:var(--gilt);}
.appr .cta.quiet.arm{background:var(--maroon);color:var(--on-maroon);border-color:var(--maroon);}
.appr .smsg{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);}

/* site health */
.health{list-style:none;margin:0;padding:0;}
.health li{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--rule);font-size:16px;}
.health li:first-child{border-top:0;}
.health .n{color:var(--ink);} .health .n small{display:block;color:var(--ink-3);font-size:14px;margin-top:1px;font-family:"Source Sans 3",sans-serif;}
.health .st{font-family:"Source Sans 3",sans-serif;font-size:14px;color:var(--ink-2);white-space:nowrap;}
.health button{font-family:"Source Sans 3",sans-serif;font-size:13.5px;font-weight:600;color:var(--maroon);background:transparent;border:1px solid var(--rule-2);border-radius:3px;padding:6px 12px;cursor:pointer;}
.health button:hover{border-color:var(--gilt);}
@media (max-width:600px){.health li{grid-template-columns:1fr auto;} .health .st{grid-column:1;}}

/* ============================ MEMBERS HOME: the parish photo ============================
   The photo sits behind the greeting; the whole picture area is a button that
   opens it full size in a viewer you can drag around and zoom. */
.mhead.photo{position:relative;overflow:hidden;background:#1B0C0C;border-bottom:3px solid var(--gilt);padding:0;}
.mhead.photo .ph{position:absolute;inset:0;border:0;padding:0;margin:0;cursor:zoom-in;display:block;width:100%;
  background:url("/members/img/parish-2026.jpg") center 38%/cover no-repeat;filter:saturate(.85);transition:filter .25s ease,transform .6s ease;}
.mhead.photo .ph:hover{filter:saturate(1);}
.mhead.photo .ph:focus-visible{outline:3px solid var(--gilt);outline-offset:-3px;}
.mhead.photo .scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to right,rgba(28,12,12,.88) 0%,rgba(28,12,12,.72) 38%,rgba(28,12,12,.16) 70%,rgba(28,12,12,.04) 100%),linear-gradient(to top,rgba(24,10,11,.55),rgba(24,10,11,0) 45%);}
.mhead.photo .wrap{position:relative;pointer-events:none;padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(40px,7vw,96px);}
.mhead.photo .kicker{color:var(--gilt);}
.mhead.photo h1{color:#FDF6E7;}
.mhead.photo p{color:rgba(253,246,231,.92);max-width:52ch;}
.mhead.photo .cap{position:absolute;right:22px;bottom:12px;pointer-events:none;display:inline-flex;align-items:center;gap:6px;
  font-family:"Source Sans 3",sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(253,246,231,.8);}
@media (max-width:640px){
  .mhead.photo .ph{background-position:center 30%;}
  .mhead.photo .scrim{background:linear-gradient(to top,rgba(28,12,12,.92) 0%,rgba(28,12,12,.78) 45%,rgba(28,12,12,.28) 100%);}
  .mhead.photo .wrap{padding-top:150px;padding-bottom:28px;}
  .mhead.photo .cap{right:14px;bottom:8px;font-size:11px;}
}
@media (prefers-reduced-motion:reduce){ .mhead.photo .ph{transition:none;} }

/* the viewer */
dialog.pview{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#120808;color:#FDF6E7;overflow:hidden;}
dialog.pview::backdrop{background:rgba(18,8,8,.96);}
dialog.pview .stage{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;}
dialog.pview .stage.dragging{cursor:grabbing;}
dialog.pview .stage img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;will-change:transform;-webkit-user-drag:none;}
dialog.pview .stage.loading::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid rgba(253,246,231,.25);border-top-color:var(--gilt);border-radius:50%;animation:pspin .9s linear infinite;}
@keyframes pspin{to{transform:rotate(360deg);}}
dialog.pview .pbar{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 18px;
  background:linear-gradient(to bottom,rgba(18,8,8,.85),rgba(18,8,8,0));pointer-events:none;}
dialog.pview .pbar > *{pointer-events:auto;}
dialog.pview .pcap{font-family:"Cardo",serif;font-style:italic;font-size:16px;color:rgba(253,246,231,.9);margin-right:auto;}
dialog.pview .pzoom{display:inline-flex;border:1px solid rgba(253,246,231,.35);border-radius:3px;overflow:hidden;}
dialog.pview .pzoom button{background:rgba(253,246,231,.08);border:0;color:#FDF6E7;font-size:20px;line-height:1;width:40px;height:36px;cursor:pointer;}
dialog.pview .pzoom button + button{border-left:1px solid rgba(253,246,231,.35);}
dialog.pview .pzoom button:hover{background:rgba(253,246,231,.18);}
dialog.pview .close{background:rgba(253,246,231,.08);border:1px solid rgba(253,246,231,.35);border-radius:3px;color:#FDF6E7;font-size:24px;line-height:1;width:40px;height:36px;cursor:pointer;}
dialog.pview .close:hover{background:rgba(253,246,231,.18);}
dialog.pview button:focus-visible{outline:2px solid var(--gilt);outline-offset:2px;}
dialog.pview .phint{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:"Source Sans 3",sans-serif;font-size:13px;letter-spacing:.06em;color:rgba(253,246,231,.65);pointer-events:none;transition:opacity .4s;}
dialog.pview .phint.gone{opacity:0;}

/* ============================ FR. NICOLA: photographs ============================ */
.archive{margin-top:30px;}
.prose .archive{max-width:none;}
.archive .lbl{display:block;font-family:"Source Sans 3",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 12px;}
.photostrip{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;gap:14px;align-items:end;}
.photostrip figure{margin:0;}
.pair .photostrip .frame, .photostrip .frame{background:var(--surface);border:1px solid var(--rule-2);padding:7px;box-shadow:var(--shadow);border-radius:2px;}
.pair .photostrip img, .photostrip img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:fill;border-radius:0;filter:sepia(.12) contrast(1.02);}
.photostrip figcaption{font-family:"Cardo",serif;font-style:italic;font-size:15px;line-height:1.4;color:var(--ink-2);margin:9px 2px 0;}
@media (max-width:760px){ .photostrip{grid-template-columns:1fr 1fr;align-items:end;} .photostrip figure:nth-child(2){grid-column:1/-1;order:3;} }
.pair .frames2{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-self:start;}
.pair .frames2 .frame{padding:7px;}
.pair .frames2 .frame img{border-radius:142px 142px 2px 2px;}
.pair .frames2 figcaption{font-family:"Cardo",serif;font-style:italic;font-size:14.5px;line-height:1.4;color:var(--ink-2);margin:8px 2px 0;text-align:left;}
@media (min-width:1000px){ .pair.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);} .pair .frames2{position:sticky;top:110px;} }
