/* ============================================================
   Parish demo site — shared stylesheet
   One file for every page. Palette, type and spacing map 1:1 to a
   WordPress block theme's Styles panel (custom palette colours,
   font pairing, spacing presets) plus a short Additional CSS block,
   so the same look is reproducible on WordPress.com.
   Fonts: Cormorant Garamond (headings) + Source Sans 3 (text).
   ============================================================ */

/* ---------- tokens ---------- */
:root{
  --navy:        #1c2b4b;   /* header, primary buttons          */
  --navy-deep:   #13203a;   /* hovers, footer bottom            */
  --navy-footer: #17253f;   /* footer                           */
  --ivory:       #f7f3ec;   /* page background                  */
  --sand:        #ece5d7;   /* alternating band                 */
  --card:        #fffdf9;   /* panels                           */
  --gold:        #b8933f;   /* accent, used sparingly           */
  --gold-soft:   #dcc17a;   /* accent on dark backgrounds       */
  --ink:         #17191d;
  --ink-soft:    #2e3138;
  --ink-mute:    #5d6069;
  --line:        rgba(28,43,75,.14);
  --ok:          #2f6b3a;
  --live:        #b3261e;

  --content: 740px;
  --wide:    1200px;
  --gutter:  clamp(20px, 4vw, 40px);

  --s20: 0.44rem;  --s30: 0.67rem;  --s40: 1rem;
  --s50: 1.5rem;   --s60: 2.25rem;  --s70: 3.38rem;  --s80: 5.06rem;

  /* WordPress spacing presets — content exported from WordPress uses these */
  --wp--preset--spacing--20: var(--s20);
  --wp--preset--spacing--30: var(--s30);
  --wp--preset--spacing--40: var(--s40);
  --wp--preset--spacing--50: var(--s50);
  --wp--preset--spacing--60: var(--s60);
  --wp--preset--spacing--70: var(--s70);
  --wp--preset--spacing--80: var(--s80);

  /* WordPress palette slugs (Styles > Colours > Palette > Custom) */
  --wp--preset--color--parish-primary: var(--navy);
  --wp--preset--color--parish-accent:  var(--gold);
  --wp--preset--color--parish-bg:      var(--card);
  --wp--preset--color--parish-bg-alt:  var(--sand);
  --wp--preset--color--parish-fg:      var(--ink);
  --wp--preset--color--parish-inverse: var(--ivory);

  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-text:    "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --fs-small:  clamp(0.85rem, 0.8rem + 0.2vw, 1rem);
  --fs-medium: clamp(1.02rem, 0.98rem + 0.25vw, 1.2rem);

  --radius:    10px;
  --radius-lg: 16px;
  --shadow:    0 2px 4px rgba(20,30,55,.05), 0 12px 28px rgba(20,30,55,.08);
  --shadow-lg: 0 6px 12px rgba(20,30,55,.08), 0 22px 48px rgba(20,30,55,.14);
  --header-h:  76px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:calc(var(--header-h) + 1rem);}
body{overflow-x:clip;}
body{
  margin:0;background-color:var(--ivory);color:var(--ink-soft);
  font-family:var(--font-text);font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.12;margin:0 0 .5em;font-weight:600;letter-spacing:-.005em;}
h1{font-size:clamp(2.3rem,4.6vw,3.6rem);}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem);}
h3{font-size:clamp(1.3rem,2vw,1.6rem);}
h4{font-size:1.15rem;font-family:var(--font-text);font-weight:700;}
p{margin:0 0 1em;}
a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;overflow-wrap:anywhere;}
a:hover{color:var(--navy-deep);text-decoration-thickness:2px;}
strong{font-weight:700;color:var(--ink);}
hr{border:0;border-top:1px solid var(--line);margin:var(--s60) 0;}
ul,ol{padding-left:1.25em;margin:0 0 1em;}
li{margin-bottom:.3em;}
table{border-collapse:collapse;width:100%;margin:0 0 var(--s50);font-size:.98rem;}
th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;}
th{font-weight:700;color:var(--ink);background:var(--sand);}
address{font-style:normal;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.6rem 1rem;z-index:100;border-radius:0 0 6px 0;}
.skip:focus{left:0;}
.eyebrow,.kicker{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem;}
.lede{font-size:var(--fs-medium);color:var(--ink-mute);max-width:60ch;}
.muted{color:var(--ink-mute);}
.center{text-align:center;}
.small{font-size:var(--fs-small);}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter);}
.wrap--content{max-width:var(--content);}
.band{padding-block:clamp(2.75rem,6vw,5rem);}
.band--alt{background-color:var(--sand);}
.band--dark{background-color:var(--navy);color:var(--ivory);}
.band--dark h2,.band--dark h3,.band--dark p{color:inherit;}
.band--dark a{color:#fff;}
.band--dark .eyebrow{color:var(--gold-soft);}
.section-head{max-width:64ch;margin-bottom:var(--s50);}
.section-head--center{margin-inline:auto;text-align:center;}
.section-head h2{margin-bottom:.35em;}
.section-head p{color:var(--ink-mute);font-size:var(--fs-medium);margin:0;}
.stack > * + *{margin-top:var(--s50);}

/* ---------- buttons (WP: Buttons block) ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.7rem;margin:var(--s40) 0 var(--s50);}
.wp-block-buttons.is-content-justification-center{justify-content:center;}
.wp-block-button{margin:0;}
.wp-block-button__link,.btn{
  display:inline-block;background-color:var(--navy);color:#fff;
  font-family:var(--font-text);font-size:.86rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.8rem 1.4rem;border-radius:6px;border:1.5px solid var(--navy);
  text-decoration:none;line-height:1.2;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.wp-block-button__link:hover,.btn:hover{background-color:var(--navy-deep);border-color:var(--navy-deep);color:#fff;transform:translateY(-1px);}
.is-style-outline .wp-block-button__link,.btn--outline{background:transparent;color:var(--navy);}
.is-style-outline .wp-block-button__link:hover,.btn--outline:hover{background:var(--navy);color:#fff;}
.btn--gold,.wp-block-button.is-style-gold .wp-block-button__link{background-color:var(--gold);border-color:var(--gold);color:#1a1200;}
.btn--gold:hover,.wp-block-button.is-style-gold .wp-block-button__link:hover{background-color:#c9a24b;border-color:#c9a24b;color:#1a1200;}
.btn--light,.wp-block-button.is-style-light .wp-block-button__link{background:#fff;border-color:#fff;color:var(--navy);}
.btn--light:hover,.wp-block-button.is-style-light .wp-block-button__link:hover{background:var(--ivory);border-color:var(--ivory);color:var(--navy);}
.band--dark .is-style-outline .wp-block-button__link,.hero .is-style-outline .wp-block-button__link,.cta .is-style-outline .wp-block-button__link,.has-parish-primary-background-color .is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.7);}
.band--dark .is-style-outline .wp-block-button__link:hover,.hero .is-style-outline .wp-block-button__link:hover,.cta .is-style-outline .wp-block-button__link:hover,.has-parish-primary-background-color .is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--navy);}
.btn--small{padding:.55rem 1rem;font-size:.78rem;}
.text-link{font-weight:700;text-decoration:none;color:var(--navy);}
.text-link::after{content:" \2192";}
.text-link:hover{text-decoration:underline;}


/* ---------- utility bar ---------- */
.utility-bar{background:var(--navy-deep);color:rgba(247,243,236,.85);font-size:.82rem;}
.utility-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:36px;}
.utility-bar p{margin:0;}
.utility-bar__links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.2rem;}
.utility-bar__links li{margin:0;display:flex;}
.utility-bar a{color:#fff;text-decoration:none;}
.utility-bar a:hover{text-decoration:underline;color:var(--gold-soft);}
.utility-bar svg{width:15px;height:15px;fill:currentColor;}
.header-tools{display:flex;align-items:center;gap:.5rem;order:3;}
.search-toggle{background:none;border:1px solid rgba(247,243,236,.35);border-radius:50%;width:40px;height:40px;color:var(--ivory);cursor:pointer;display:grid;place-items:center;}
.search-toggle svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;fill:none;}
.search-toggle:hover,.search-toggle[aria-expanded="true"]{background:rgba(255,255,255,.12);}
.search{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.1);padding:var(--s40) 0 var(--s50);}
.search__form{display:flex;gap:.5rem;align-items:center;}
.search__label{position:absolute;left:-9999px;}
.search__input{flex:1;font:inherit;font-size:1.05rem;padding:.7rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#fff;color:var(--ink);}
.search__close{background:none;border:1px solid rgba(247,243,236,.35);border-radius:8px;color:#fff;font-size:1.5rem;line-height:1;width:44px;height:44px;cursor:pointer;}
.search__results{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.25rem;}
.search__results li{margin:0;}
.search__results a{display:block;color:#fff;text-decoration:none;padding:.55rem .8rem;border-radius:6px;}
.search__results a:hover,.search__results a:focus{background:rgba(255,255,255,.1);}
.search__section{color:var(--gold-soft);font-size:.85rem;}
.search__desc{display:block;font-size:.85rem;color:rgba(247,243,236,.7);}
.search__none{color:rgba(247,243,236,.8);padding:.5rem .8rem;}
@media (max-width:1000px){ .site-header__inner{flex-wrap:wrap;} .header-tools{margin-left:auto;} }
@media (max-width:860px){ .utility-bar{display:none;} }

/* ============================================================
   HEADER   (WP: header template part, sticky)
   ============================================================ */
.site-header{position:sticky;top:0;z-index:60;background-color:var(--navy);color:var(--ivory);box-shadow:0 1px 0 rgba(255,255,255,.06);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s50);min-height:var(--header-h);}
.site-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.05;letter-spacing:.01em;white-space:nowrap;}
.site-title a{color:#fff;text-decoration:none;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.7rem;}
.site-title__mark{width:38px;height:38px;grid-row:1/3;}
.site-title span{display:block;grid-column:2;font-family:var(--font-text);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.75;margin-top:.15rem;}

/* ---------- nav ---------- */
.nav ul{list-style:none;margin:0;padding:0;}
.nav{margin-left:auto;}
.nav > ul{display:flex;align-items:center;gap:clamp(12px,1.7vw,24px);font-size:.95rem;}
.nav li{position:relative;margin:0;}
.nav a{color:var(--ivory);text-decoration:none;display:inline-block;padding:.35rem 0;white-space:nowrap;font-weight:600;}
.nav > ul > li > a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background-color:var(--gold-soft);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.nav > ul > li:hover > a::after,.nav > ul > li:focus-within > a::after,.nav > ul > li > a[aria-current]::after{transform:scaleX(1);}
.nav .caret{display:inline-block;width:.68em;margin-left:.32em;vertical-align:.05em;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .18s ease;}
.nav ul ul{
  position:absolute;top:100%;left:0;min-width:16rem;background-color:var(--navy);padding:var(--s30) 0;
  border-top:2px solid var(--gold);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 14px 32px rgba(0,0,0,.3);
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.nav ul ul a{display:block;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;white-space:nowrap;}
.nav ul ul a:hover,.nav ul ul a[aria-current]{background-color:rgba(255,255,255,.1);}
.nav ul ul a::after{display:none;}
.nav ul ul a{display:flex;align-items:center;justify-content:space-between;gap:.9rem;}
.nav ul ul .caret{transform:rotate(-90deg);margin-left:0;flex:none;}
.nav ul ul li:hover > a > .caret,.nav ul ul li:focus-within > a > .caret{transform:rotate(-90deg);}
.nav ul ul ul{top:0;left:100%;border-radius:var(--radius);border-top-width:0;border-left:2px solid var(--gold);}
.nav ul ul.flip-left{left:auto;right:0;}
.nav ul ul ul.flip-left{left:auto;right:100%;border-left-width:0;border-right:2px solid var(--gold);}
.nav li:hover > ul,.nav li:focus-within > ul{opacity:1;visibility:visible;transform:translateY(0);}
.nav li:hover > a > .caret,.nav li:focus-within > a > .caret{transform:rotate(180deg);}
.nav__cta{margin-left:.3rem;}
.nav__cta a{background-color:var(--gold);color:#1a1200;border-radius:6px;padding:.55rem 1.05rem;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:background-color .18s ease;}
.nav__cta a:hover{background-color:#c9a24b;}
.nav__cta a::after{display:none;}
.nav-toggle{display:none;background:none;border:1px solid rgba(247,243,236,.45);border-radius:6px;color:var(--ivory);padding:.55rem .7rem;cursor:pointer;line-height:0;}
.nav-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;}
.nav-sub-toggle{display:none;}

/* ============================================================
   HOME HERO   (WP: Cover block + Heading + Paragraph + Buttons)
   ============================================================ */
.hero{
  position:relative;isolation:isolate;background-color:#2b3444;
  background-image:var(--hero-img);background-size:cover;background-position:center 30%;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(30rem,84vh,48rem);padding-block:var(--s80) clamp(3rem,7vw,5.5rem);
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(12,20,38,.86) 0%,rgba(12,20,38,.5) 42%,rgba(12,20,38,.12) 72%,rgba(12,20,38,.3) 100%);}
.hero__inner{position:relative;text-align:center;color:#fff;}
.hero__eyebrow{color:var(--gold-soft);font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:.8rem;}
.hero__title{color:#fff;font-size:clamp(2.7rem,7.2vw,5.8rem);font-weight:600;line-height:.98;letter-spacing:-.01em;margin:0;text-shadow:0 2px 28px rgba(0,0,0,.45);}
.hero__title em{font-style:italic;font-weight:500;color:var(--gold-soft);}
.hero__lede{max-width:48ch;margin:var(--s50) auto 0;color:rgba(255,255,255,.94);font-size:clamp(1.05rem,1.6vw,1.3rem);text-shadow:0 1px 12px rgba(0,0,0,.5);}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:var(--s60);}
.hero__actions .wp-block-buttons{margin:0;justify-content:center;}

/* Notice bar (optional; a Group block on WordPress) */
.notice{background-color:var(--gold);color:#1a1200;font-size:.95rem;text-align:center;padding:.6rem var(--gutter);}
.notice a{color:inherit;font-weight:700;}

/* "Next Mass" strip under the hero */
.next-mass{background-color:var(--navy-deep);color:var(--ivory);}
.next-mass__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 2rem;padding-block:.85rem;font-size:.95rem;}
.next-mass strong{color:var(--gold-soft);}
.next-mass a{color:#fff;}
.next-mass .live{display:inline-flex;align-items:center;gap:.4em;font-weight:700;}
.next-mass .live::before{content:"";width:.6em;height:.6em;border-radius:50%;background:var(--live);box-shadow:0 0 0 3px rgba(179,38,30,.3);}

/* ============================================================
   PAGE HERO   (sub-pages: title band)
   ============================================================ */
.page-hero{background-color:var(--navy);color:var(--ivory);padding-block:clamp(2.75rem,6vw,4.5rem) clamp(2.5rem,5vw,4rem);position:relative;isolation:isolate;}
.page-hero--image{background-image:var(--hero-img);background-size:cover;background-position:center 35%;min-height:clamp(16rem,36vh,24rem);display:flex;align-items:flex-end;}
.page-hero--image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(12,20,38,.88) 0%,rgba(12,20,38,.55) 55%,rgba(12,20,38,.25) 100%);}
.page-hero .eyebrow{color:var(--gold-soft);margin-bottom:.5rem;}
.page-hero .eyebrow a{color:inherit;text-decoration:none;}
.page-hero .eyebrow a:hover{text-decoration:underline;}
.page-hero .eyebrow .sep{opacity:.5;margin-inline:.4em;}
.page-hero h1{color:#fff;margin-bottom:0;}
.page-hero__lede{max-width:60ch;margin:.8rem 0 0;font-size:var(--fs-medium);color:rgba(255,255,255,.88);}
.page-body{padding-block:clamp(2rem,4vw,3rem) clamp(3.5rem,7vw,6rem);}

/* "In this section" */
.section-nav{margin:0 0 var(--s60);padding:.9rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;font-size:.92rem;}
.section-nav__title{margin:0;font-weight:700;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;}
.section-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;}
.section-nav li{margin:0;}
.section-nav a{text-decoration:none;color:var(--navy);padding:.25rem 0;display:inline-block;}
.section-nav a[aria-current]{font-weight:700;color:var(--ink);border-bottom:2px solid var(--gold);}

/* ============================================================
   ENTRY CONTENT — WordPress core blocks
   ============================================================ */
/* constrained layout — like WordPress's "Inner blocks use content width" */
.entry-content > *{max-width:var(--content);margin-left:auto;margin-right:auto;}
.entry-content > .alignwide{max-width:var(--wide);}
.entry-content > .alignfull{max-width:none;}
.entry-content h2{margin-top:var(--s60);}
.entry-content h3{margin-top:var(--s50);}
.entry-content > :first-child{margin-top:0;}
.entry-content .wp-block-image img{border-radius:var(--radius);}
.entry-content .wp-block-image figcaption,.wp-block-image figcaption{font-size:.85rem;color:var(--ink-mute);text-align:center;margin:.5rem 0 0;}
.wp-block-image{margin:0 0 var(--s50);}
.wp-block-image.alignleft{float:left;margin:0 var(--s50) var(--s40) 0;max-width:46%;}
.wp-block-image.alignright{float:right;margin:0 0 var(--s40) var(--s50);max-width:46%;}
.wp-block-image.aligncenter{margin-inline:auto;}
.has-custom-border img{border:6px solid #fff;box-shadow:var(--shadow);}
.wp-block-separator{border:0;border-top:1px solid var(--line);margin:var(--s60) auto;max-width:6rem;}
.wp-block-separator.is-style-wide{max-width:none;}
.wp-block-spacer{height:var(--s60);}
.wp-block-quote{border-left:3px solid var(--gold);margin:var(--s50) 0;padding:.4rem 0 .4rem 1.3rem;font-family:var(--font-display);font-size:1.35rem;line-height:1.4;color:var(--ink);}
.wp-block-quote cite{display:block;margin-top:.6rem;font-family:var(--font-text);font-size:.9rem;font-style:normal;color:var(--ink-mute);}
.wp-block-pullquote{border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);padding:var(--s50) 0;text-align:center;font-family:var(--font-display);font-size:1.5rem;}
.wp-block-table table{margin:0;}
.wp-block-table{margin:0 0 var(--s50);overflow-x:auto;}
.wp-block-embed{margin:0 0 var(--s50);}
.wp-block-embed__wrapper{position:relative;border-radius:var(--radius);overflow:hidden;background:#000;}
.wp-block-embed__wrapper iframe{width:100%;height:100%;border:0;}
.wp-block-embed.is-type-video .wp-block-embed__wrapper{aspect-ratio:16/9;}
.wp-block-embed.map .wp-block-embed__wrapper{aspect-ratio:16/8;background:var(--sand);box-shadow:var(--shadow);}
.wp-block-file{margin:0 0 var(--s40);display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;}
.wp-block-file a:first-child{font-weight:700;}
.wp-block-file__button{font-size:.76rem;padding:.45rem .9rem;}
.wp-block-list{margin-bottom:var(--s50);}
.wp-block-group.has-background{padding:var(--s50);border-radius:var(--radius-lg);}
.has-parish-bg-background-color{background-color:var(--card);}
.has-parish-bg-alt-background-color{background-color:var(--sand);}
.has-parish-primary-background-color{background-color:var(--navy);color:var(--ivory);}
.has-parish-primary-background-color h2,.has-parish-primary-background-color h3,.has-parish-primary-background-color p{color:inherit;}
.has-parish-primary-background-color a{color:#fff;}
.has-parish-accent-background-color{background-color:var(--gold);color:#1a1200;}
.has-parish-accent-color{color:var(--gold);}
.has-parish-primary-color{color:var(--navy);}
.has-parish-inverse-color{color:var(--ivory);}
.has-small-font-size{font-size:var(--fs-small);}
.has-medium-font-size{font-size:var(--fs-medium);}
.has-large-font-size{font-size:clamp(1.25rem,2vw,1.5rem);}
.has-text-align-center{text-align:center;}
.wp-block-columns{display:flex;gap:var(--s50);margin:0 0 var(--s50);}
.wp-block-column{flex:1 1 0;min-width:0;}
.wp-block-columns.are-vertically-aligned-center{align-items:center;}
.wp-block-column.is-vertically-aligned-center{align-self:center;}
.wp-block-columns .wp-block-image{margin-bottom:0;}
.wp-block-group.is-layout-flex{display:flex;flex-wrap:wrap;gap:var(--s40);}
.wp-block-group.is-layout-flex.is-vertical{flex-direction:column;}
.wp-block-details{margin:0 0 .6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:0 1.1rem;}
.wp-block-details summary{cursor:pointer;font-weight:700;color:var(--ink);padding:.9rem 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.wp-block-details summary::-webkit-details-marker{display:none;}
.wp-block-details summary::after{content:"+";font-family:var(--font-display);font-size:1.5rem;line-height:1;color:var(--gold);flex:none;transition:transform .18s ease;}
.wp-block-details[open] summary::after{transform:rotate(45deg);}
.wp-block-details[open] summary{border-bottom:1px solid var(--line);margin-bottom:.8rem;}
.wp-block-details > :not(summary){margin-bottom:1rem;}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s50);margin:0 0 var(--s50);}
.card-grid--2{grid-template-columns:repeat(2,1fr);}
.card-grid--4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.card > .wp-block-image,.card__img{margin:0;}
.card > .wp-block-image img,.card__img img{border-radius:0;aspect-ratio:3/2;object-fit:cover;width:100%;}
.card__body{padding:var(--s50);display:flex;flex-direction:column;flex:1;}
.card__body h3{margin-bottom:.4rem;font-size:1.35rem;}
.card__body p{color:var(--ink-mute);font-size:.98rem;}
.card__body > :last-child{margin-top:auto;margin-bottom:0;}
.card--flat{box-shadow:none;}
.card--flat:hover{transform:none;box-shadow:none;}
.card__meta{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}

/* quick-link tiles (home) */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s40);}
.tile{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s50);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--ink);}
.tile__icon{display:block;width:44px;height:44px;color:var(--gold);margin-bottom:var(--s40);}
.tile__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.tile h3{font-size:1.3rem;margin-bottom:.25rem;}
.tile p{margin:0;color:var(--ink-mute);font-size:.95rem;}
.tile__note{display:block;margin-top:.7rem;font-size:.82rem;font-weight:700;color:var(--navy);}
.tiles--3{grid-template-columns:repeat(3,1fr);}

/* schedule cards (Mass times) */
.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s40);margin:0 0 var(--s50);}
.schedule__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s50);box-shadow:var(--shadow);}
.schedule__card h3{font-size:1.25rem;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:2px solid var(--gold);display:inline-block;}
.times-list{list-style:none;padding:0;margin:0;}
.times-list li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed var(--line);margin:0;font-size:.98rem;}
.times-list li:last-child{border-bottom:0;}
.times-list time,.times-list .t{font-weight:700;color:var(--ink);white-space:nowrap;}
.times-list .lang{font-size:.8rem;color:var(--ink-mute);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-left:.4em;}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s40);margin:0 0 var(--s50);}
.day{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1rem;}
.day h4{margin:0 0 .4rem;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.day p{margin:0;font-size:.95rem;}

/* event cards */
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s50);margin:0 0 var(--s50);}
.event{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--s50);display:grid;grid-template-columns:auto 1fr;gap:var(--s40);align-items:start;}
.event__date{background:var(--navy);color:#fff;border-radius:var(--radius);text-align:center;padding:.5rem .7rem;min-width:4.2rem;line-height:1.1;}
.event__date .m{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);}
.event__date .d{display:block;font-family:var(--font-display);font-size:1.9rem;font-weight:700;}
.event__body h3{font-size:1.25rem;margin-bottom:.3rem;}
.event__body p{margin:0 0 .5rem;font-size:.95rem;color:var(--ink-mute);}
.event__when{font-size:.88rem;font-weight:700;color:var(--ink);}
.event__links{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.88rem;margin-top:.5rem;}
.event--featured{grid-column:1/-1;grid-template-columns:auto 1fr;background:var(--navy);color:var(--ivory);}
.event--featured h3,.event--featured p,.event--featured .event__when{color:inherit;}
.event--featured .event__date{background:var(--gold);color:#1a1200;}
.event--featured .event__date .m{color:#1a1200;}
.event--featured a{color:#fff;}
.add-cal{font-size:.85rem;}
.add-cal::before{content:"+ ";font-weight:700;color:var(--gold);}

/* people cards */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s50);margin:0 0 var(--s50);}
.person{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);text-align:center;}
.person .wp-block-image{margin:0;}
.person .wp-block-image img{border-radius:0;aspect-ratio:1/1;object-fit:cover;object-position:center top;width:100%;}
.person__body{padding:var(--s50);}
.person__body h3{font-size:1.3rem;margin-bottom:.1rem;}
.person__role{color:var(--gold);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;}
.person__body p{font-size:.95rem;color:var(--ink-mute);margin-bottom:.5rem;}
.person__body p:last-child{margin-bottom:0;}
.person--compact{display:flex;text-align:left;align-items:center;align-self:start;}
.person--compact .wp-block-image{width:110px;flex:none;}
.person--compact .wp-block-image img{aspect-ratio:1/1;}
.person--compact .person__body{padding:var(--s40) var(--s50);}

/* ministry cards */
.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s40);margin:0 0 var(--s50);}
.ministry-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s50);box-shadow:var(--shadow);display:flex;flex-direction:column;}
.ministry-card h3{font-size:1.25rem;margin-bottom:.35rem;}
.ministry-card p{font-size:.95rem;color:var(--ink-mute);margin-bottom:.6rem;}
.ministry-card .meta{font-size:.84rem;color:var(--ink);margin-bottom:.6rem;}
.ministry-card > :last-child{margin-top:auto;margin-bottom:0;}
.ministry-card .text-link{font-size:.92rem;}

/* media row (image + text) */
.media-row{align-items:center;margin-bottom:var(--s70);}
.media-row .media-row__img img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.media-row--flip{flex-direction:row-reverse;}

/* quote band */
.quote-band{background:var(--navy);color:var(--ivory);text-align:center;padding:clamp(2.75rem,6vw,4.5rem) var(--gutter);}
.quote-band blockquote{border:0;padding:0;margin:0 auto;max-width:52ch;font-family:var(--font-display);font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.35;font-style:italic;color:#fff;}
.quote-band cite{display:block;margin-top:1rem;font-style:normal;font-family:var(--font-text);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);}
.quote-band cite a{color:inherit;}

/* CTA banners */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s50);margin:0 0 var(--s50);}
.cta{position:relative;isolation:isolate;border-radius:var(--radius-lg);overflow:hidden;padding:clamp(2rem,4vw,3rem);color:#fff;background-color:var(--navy);background-image:var(--cta-img);background-size:cover;background-position:center;min-height:16rem;display:flex;flex-direction:column;justify-content:flex-end;}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(12,20,38,.9),rgba(12,20,38,.35));}
.cta h3,.cta h2{color:#fff;margin-bottom:.3rem;}
.cta p{color:rgba(255,255,255,.9);margin-bottom:1rem;max-width:44ch;}
.cta .wp-block-buttons{margin:0;}

/* stats strip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s40);margin:0 0 var(--s50);text-align:center;}
.stat{padding:var(--s50) var(--s40);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);}
.stat strong{display:block;font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--navy);margin-bottom:.3rem;}
.stat span{font-size:.88rem;color:var(--ink-mute);letter-spacing:.04em;}

/* timeline */
.timeline{list-style:none;padding:0;margin:0 0 var(--s50);border-left:2px solid var(--gold);}
.timeline li{position:relative;padding:0 0 var(--s50) var(--s50);margin:0;}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45rem;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--ivory);}
.timeline time{display:block;font-weight:700;color:var(--navy);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;}
.timeline h3{font-size:1.2rem;margin-bottom:.2rem;}
.timeline p{margin:0;color:var(--ink-mute);font-size:.98rem;}

/* gallery */
.wp-block-gallery,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s40);margin:0 0 var(--s50);}
.wp-block-gallery figure,.gallery figure{margin:0;}
.wp-block-gallery img,.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--radius);box-shadow:var(--shadow);}
.gallery--4{grid-template-columns:repeat(4,1fr);}

/* steps */
.steps{list-style:none;counter-reset:step;padding:0;margin:0 0 var(--s50);display:grid;gap:var(--s40);}
.steps li{counter-increment:step;position:relative;padding:var(--s40) var(--s50) var(--s40) 4.2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;}
.steps li::before{content:counter(step);position:absolute;left:1.1rem;top:1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;display:grid;place-items:center;font-family:var(--font-display);font-size:1.2rem;}
.steps h3{font-size:1.15rem;margin-bottom:.2rem;}
.steps p{margin:0;font-size:.98rem;color:var(--ink-mute);}

/* info box / aside */
.infobox{background:var(--card);border-left:4px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;padding:var(--s40) var(--s50);margin:0 0 var(--s50);box-shadow:var(--shadow);}
.infobox h3{font-size:1.15rem;margin-bottom:.4rem;}
.infobox p:last-child{margin-bottom:0;}
.infobox--dark{background:var(--navy);color:var(--ivory);border-color:var(--gold);}
.infobox--dark h3,.infobox--dark p{color:inherit;}
.infobox--dark a{color:#fff;}

/* request / contact tiles */
.request-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s40);margin:0 0 var(--s50);}
.request-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s50);}
.request-tile h3{font-size:1.15rem;margin-bottom:.3rem;}
.request-tile p{font-size:.95rem;color:var(--ink-mute);margin-bottom:.6rem;}

/* badges */
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;background:var(--sand);color:var(--ink);}
.badge--gold{background:var(--gold);color:#1a1200;}
.badge--navy{background:var(--navy);color:#fff;}

/* language pills */
.pill-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 var(--s50);}
.pill-list li{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.3rem .9rem;font-size:.9rem;margin:0;}

/* bulletin list */
.bulletins{list-style:none;padding:0;margin:0 0 var(--s50);}
.bulletins li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.5rem;}
.bulletins time{font-weight:700;color:var(--ink);}
.bulletins .btn{flex:none;}

/* news list */
.news-list{list-style:none;padding:0;margin:0 0 var(--s50);}
.news-list li{padding:.9rem 0;border-bottom:1px solid var(--line);margin:0;}
.news-list time{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.news-list a{font-weight:700;text-decoration:none;font-size:1.05rem;}
.news-list a:hover{text-decoration:underline;}
.news-list p{margin:.2rem 0 0;font-size:.95rem;color:var(--ink-mute);}

/* month calendar (static demo; WordPress uses a Google Calendar embed here) */
.month-cal{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--s50);margin:0 0 var(--s50);}
.month-cal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:var(--s40);}
.month-cal__month{font-family:var(--font-display);font-size:1.6rem;font-weight:700;margin:0;}
.month-cal__nav{display:flex;gap:.4rem;}
.month-cal__nav button{background:var(--ivory);border:1px solid var(--line);border-radius:6px;width:40px;height:40px;cursor:pointer;color:var(--navy);font-size:1.2rem;display:grid;place-items:center;}
.month-cal__nav button:hover{background:var(--sand);}
.month-cal__nav button:disabled{opacity:.35;cursor:default;}
.month-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.month-cal__dow{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);text-align:center;padding:.3rem 0 .5rem;}
.month-cal__cell{min-height:5.6rem;background:var(--ivory);border-radius:6px;padding:.35rem;font-size:.8rem;display:flex;flex-direction:column;gap:.2rem;}
.month-cal__cell--pad{background:transparent;}
.month-cal__day{font-weight:700;color:var(--ink-mute);font-size:.8rem;}
.month-cal__cell.is-today{outline:2px solid var(--gold);outline-offset:-2px;}
.month-cal__cell.is-today .month-cal__day{color:var(--gold);}
.month-cal__event{display:block;text-decoration:none;color:#fff;background:var(--navy);border-radius:4px;padding:.15rem .4rem;font-size:.74rem;line-height:1.25;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.month-cal__event--youth{background:#3a6b8f;}
.month-cal__event--devotion{background:var(--gold);color:#1a1200;}
.month-cal__event--community{background:#5a7a3b;}
.month-cal__event--formation{background:#7b4a8c;}
.month-cal__event--liturgy{background:#8f3a3a;}
.month-cal__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:var(--s40) 0 0;padding:0;list-style:none;font-size:.82rem;color:var(--ink-mute);}
.month-cal__legend li{display:flex;align-items:center;gap:.4rem;margin:0;}
.month-cal__legend i{width:.8rem;height:.8rem;border-radius:3px;background:var(--navy);display:inline-block;}
.month-cal__legend .youth i{background:#3a6b8f;} .month-cal__legend .devotion i{background:var(--gold);} .month-cal__legend .community i{background:#5a7a3b;} .month-cal__legend .formation i{background:#7b4a8c;} .month-cal__legend .liturgy i{background:#8f3a3a;}
.month-cal__list{display:none;list-style:none;padding:0;margin:0;}
.month-cal__list li{display:grid;grid-template-columns:4.5rem 1fr;gap:.2rem .8rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.95rem;margin:0;}
.month-cal__list-date{font-weight:700;color:var(--ink);}
.month-cal__list-time{grid-column:2;font-size:.85rem;color:var(--ink-mute);}
.month-cal:not(.is-ready) .month-cal__grid{display:none;}
.month-cal__fallback{font-size:.9rem;color:var(--ink-mute);margin:0;}
.month-cal.is-ready .month-cal__fallback{display:none;}
/* Google Calendar embed (WordPress + static) */
.cal-embed .wp-block-embed__wrapper{aspect-ratio:4/3;background:var(--card);}
.cal-embed--agenda .wp-block-embed__wrapper{aspect-ratio:auto;height:34rem;}

/* contact form (Netlify Forms on the static site; Form block on WordPress) */
.contact-form{display:grid;gap:var(--s40);max-width:var(--content);margin:0 0 var(--s50);}
.contact-form label{display:grid;gap:.35rem;font-size:.92rem;font-weight:700;color:var(--ink);}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s40);}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;color:var(--ink-soft);width:100%;padding:.75rem .9rem;border:1px solid rgba(28,43,75,.3);border-radius:8px;background:#fff;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.contact-form textarea{resize:vertical;min-height:8rem;}
.contact-form .btn,.contact-form button{justify-self:start;cursor:pointer;}
.contact-form__note{font-size:.85rem;color:var(--ink-mute);}
.contact-form .hidden-field{display:none;}
.contact-form fieldset{border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;}
.contact-form legend{font-weight:700;font-size:.9rem;padding:0 .4rem;}
.contact-form .check{display:flex;align-items:center;gap:.6rem;font-weight:400;}
.contact-form .check input{width:auto;}

/* ============================================================
   HOME SECTIONS
   ============================================================ */
.home-mass{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s60);align-items:start;}
.home-mass .schedule{grid-template-columns:1fr 1fr;}
.welcome{display:grid;grid-template-columns:1fr 1fr;gap:var(--s70);align-items:center;}
.welcome__img img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;width:100%;}
.welcome__img{position:relative;}
.welcome__img::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:2px solid var(--gold);border-radius:var(--radius-lg);z-index:-1;}
.split-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--s60);}
.arch-news{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s50);}
.arch-news h3{font-size:1.2rem;margin-bottom:var(--s40);}
.home-calendar-links{justify-content:center;margin-top:var(--s50);}
#ministries .media-row{margin-bottom:clamp(2.5rem,5vw,4.5rem);}
#ministries .media-row__img img{aspect-ratio:3/2;}

/* Keep every constrained top-level block on the same content axis. Several
   component rules set vertical margins with shorthand, which otherwise resets
   the automatic left and right margins from the entry-content layout. */
.entry-content > :not(.alignfull):not(.alignleft):not(.alignright){margin-left:auto;margin-right:auto;}

/* ============================================================
   FOOTER   (WP: footer template part)
   ============================================================ */
.site-footer{background-color:var(--navy-footer);color:rgba(247,243,236,.85);margin-top:auto;}
.site-footer a{color:#fff;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s60);padding-block:clamp(2.75rem,6vw,4.5rem) var(--s60);}
.site-footer__brand{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .3rem;}
.site-footer__tagline{font-style:italic;font-family:var(--font-display);font-size:1.1rem;color:var(--gold-soft);margin:0 0 var(--s40);}
.site-footer address{line-height:1.7;font-size:.95rem;margin-bottom:var(--s40);}
.site-footer__heading{font-family:var(--font-text);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 .8rem;}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.3rem;font-size:.95rem;}
.site-footer li{margin:0;}
.social{display:flex !important;gap:.6rem;}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);}
.social a:hover{background:var(--gold);border-color:var(--gold);}
.social svg{width:18px;height:18px;fill:#fff;}
.social a:hover svg{fill:#1a1200;}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:var(--s40);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;font-size:.85rem;color:rgba(247,243,236,.7);}
.site-footer__bottom p{margin:0;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (min-width:1001px) and (max-width:1200px){
  .nav > ul{gap:11px;font-size:.86rem;}
  .site-header__inner{gap:var(--s40);}
  .site-title{font-size:1.15rem;}
  .nav__cta a{padding:.5rem .8rem;font-size:.72rem;}
}
@media (max-width:1000px){
  .tiles{grid-template-columns:repeat(2,1fr);}
  .card-grid,.card-grid--4{grid-template-columns:repeat(2,1fr);}
  .events,.people,.ministry-grid,.request-tiles,.schedule{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .site-footer__grid{grid-template-columns:1fr 1fr;}
  .home-mass,.welcome,.split-list{grid-template-columns:1fr;}
  .welcome__img{max-width:30rem;}

  .nav-toggle{display:block;}
  .nav{margin-left:0;}
  .nav{
    display:none;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;
    background-color:var(--navy);padding:var(--s40) var(--gutter) var(--s60);
    box-shadow:0 18px 34px rgba(0,0,0,.32);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .nav.is-open{display:block;}
  body.menu-open{position:fixed;left:0;right:0;overflow:hidden;}
  body.menu-open .site-header{position:fixed;top:0;left:0;right:0;}
  .nav > ul{flex-direction:column;align-items:stretch;gap:0;font-size:1.05rem;}
  .nav > ul > li{border-top:1px solid rgba(247,243,236,.16);}
  .nav > ul > li:first-child{border-top:0;}
  .nav > ul > li > a{padding:.9rem 0;}
  .nav > ul > li > a::after{display:none;}
  .nav ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:none;min-width:0;border:0;border-left:2px solid rgba(184,147,63,.5);padding:0 0 .7rem .9rem;margin-bottom:.5rem;border-radius:0;}
  .nav ul ul a{padding:.65rem 0;white-space:normal;font-size:.98rem;}
  .nav ul ul a[aria-current]{background:none;color:#fff;font-weight:700;}
  .nav ul ul ul{padding-left:.9rem;margin-bottom:.2rem;}
  .nav ul ul li.has-sub{display:flex;flex-wrap:wrap;align-items:center;}
  .nav .caret{display:none;}
  .nav__cta{margin:var(--s40) 0 0;border-top:0 !important;}
  .nav > ul > .nav__cta > a{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:.9rem 1.2rem;font-size:1rem;}
  .nav li.has-sub{display:flex;flex-wrap:wrap;align-items:center;}
  .nav li.has-sub > a{flex:1 1 auto;}
  .nav li.has-sub > ul{flex-basis:100%;display:none;}
  .nav li.has-sub.is-open > ul{display:block;}
  .nav-sub-toggle{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;background:none;border:0;padding:0;color:var(--ivory);opacity:.85;cursor:pointer;}
  .nav-sub-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s ease;}
  .nav li.has-sub.is-open > .nav-sub-toggle svg{transform:rotate(180deg);}
}
@media (max-width:860px){
  .wp-block-columns,.wp-block-columns.are-vertically-aligned-center{flex-direction:column;align-items:stretch;}
  .media-row--flip{flex-direction:column;}
  .wp-block-column{flex-basis:auto;width:100%;}
  .wp-block-image.alignleft,.wp-block-image.alignright{float:none;margin:0 0 var(--s50);max-width:100%;}
  .cta-grid{grid-template-columns:1fr;}
  .gallery,.wp-block-gallery,.gallery--4{grid-template-columns:repeat(2,1fr);}
  .days{grid-template-columns:repeat(2,1fr);}
  .card-grid--2{grid-template-columns:1fr;}
  .event--featured{grid-column:auto;}
  #ministries .media-row{gap:1.5rem;margin-bottom:3rem;}
}
@media (max-width:600px){
  :root{--header-h:62px;}
  body{font-size:1rem;}
  .site-header__inner{flex-wrap:nowrap;gap:.5rem;}
  .site-title{font-size:1.05rem;min-width:0;white-space:normal;}
  .header-tools{flex-shrink:0;}
  .site-title span{font-size:.58rem;}
  .site-title__mark{width:30px;height:30px;}
  .hero{min-height:clamp(24rem,70vh,32rem);padding-top:var(--s60);}
  .hero__title{font-size:clamp(2.4rem,11vw,3.2rem);}
  .tiles,.tiles--3{grid-template-columns:1fr 1fr;gap:.7rem;}
  .tile{padding:1rem;}
  .tile__note{display:none;}
  .tile__icon{width:34px;height:34px;margin-bottom:.6rem;}
  .tile h3{font-size:1.1rem;}
  .tile p{font-size:.85rem;}
  #ministries .media-row__img img{aspect-ratio:16/10;}
  .card-grid,.card-grid--4,.events,.people,.ministry-grid,.request-tiles,.schedule,.home-mass .schedule{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;gap:.7rem;}
  .stat strong{font-size:2rem;}
  .site-footer__grid{grid-template-columns:1fr;gap:var(--s50);}
  .site-footer ul{gap:.15rem;}
  .site-footer ul a{display:inline-block;padding:.35rem 0;}
  .site-footer__bottom{flex-direction:column;}
  .contact-form__row{grid-template-columns:1fr;}
  .wp-block-embed.map .wp-block-embed__wrapper{aspect-ratio:4/3;}
  .month-cal{padding:var(--s40);}
  .month-cal__grid{display:none !important;}
  .month-cal__legend{display:none;}
  .month-cal__list{display:block;}
  .cal-embed .wp-block-embed__wrapper{aspect-ratio:auto;height:30rem;}
  .event{grid-template-columns:1fr;}
  .event__date{display:inline-flex;gap:.4rem;align-items:baseline;min-width:0;justify-self:start;padding:.35rem .7rem;}
  .event__date .d{font-size:1.3rem;}
  .person--compact{flex-direction:column;text-align:center;}
  .person--compact .wp-block-image{width:100%;}
  .person--compact .wp-block-image img{aspect-ratio:3/2;}
  .wp-block-group.has-background{padding:var(--s40);}
  .timeline li{padding-left:var(--s40);}
  .steps li{padding-left:3.6rem;}
}

/* print: just the content */
@media print{
  .site-header,.site-footer,.nav-toggle,.section-nav,.hero__actions,.wp-block-buttons{display:none !important;}
  .page-hero{background:#fff;color:#000;padding:0;}
  .page-hero h1{color:#000;}
  body{background:#fff;color:#000;}
  a{color:#000;text-decoration:none;}
  .card,.schedule__card,.event,.person{box-shadow:none;break-inside:avoid;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}

.ministries-all{justify-content:center;margin-top:var(--s60);}
