/* ==========================================================
   St George Kearney — site stylesheet
   One file, cached by the browser, shared by every page.
   ========================================================== */
@font-face{
  font-family:"Tiller";
  src:url("/assets/tiller.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:#F7F1E3;      /* page ground — gesso / gold-leaf ivory */
  --surface:#FFFCF5;        /* icon panel */
  --surface-2:#F0E7D2;
  --maroon:#6E1A20;         /* the curtain behind the royal doors */
  --maroon-2:#8E2A2E;
  --maroon-deep:#4E1116;
  --brand-bar:#6E1A20;
  --gold:#A08460;           /* exact logo gold */
  --gilt:#B98F3E;           /* 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:#8B7768;
  --rule:#E1D3B4;
  --rule-2:#CDB98F;
  --on-maroon:#F3E4CB;
  --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;
    --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;
  --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%;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;}
.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='%23C9A24B' 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='%23C9A24B'%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(201,162,75,.55), inset 0 -1px 0 rgba(201,162,75,.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 i+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;filter:brightness(1.45) saturate(.75);}
@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;}
.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){ .hero{height:47vh;min-height:340px;max-height:410px;} }
.hero-frames{position:absolute;inset:0;}
.hero-frames div{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.7s ease-in-out;
}
.hero-frames div.on{opacity:1;}
.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);}
.mock-note{
  position:absolute;left:16px;bottom:16px;z-index:3;font-family:"Source Sans 3",sans-serif;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  color:rgba(243,228,203,.75);border:1px dashed rgba(243,228,203,.4);
  border-radius:3px;padding:5px 10px;background:rgba(24,10,11,.45);
}
@media (max-width:640px){ .mock-note{display:none;} }

/* ===================== 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 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:112px 112px 4px 4px;
  padding:30px 24px 28px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.door::before{
  content:"";position:absolute;left:9px;right:9px;top:9px;bottom:9px;
  border:1px solid var(--rule);border-radius:104px 104px 2px 2px;pointer-events:none;
}
.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{
  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{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(185,143,62,.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,2vw,21px);color:rgba(253,246,231,.92);max-width:52ch;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 > 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:108px 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:21px;color:var(--maroon);
  font-variant-numeric:tabular-nums;
}
.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);}
.closer .inner{max-width:60ch;}
.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;}
