:root {
  --parish-brown: #77543d;
  --parish-deep: #3f2b20;
  --parish-gold: #b8875b;
  --parish-cream: #f7f2eb;
  --parish-paper: #fffaf4;
  --parish-ink: #30251f;
  --parish-muted: #6e6258;
  --parish-line: #decfbe;
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}
body {
  margin: 0;
  background: var(--parish-cream);
  color: var(--parish-ink);
  font-family: Georgia, "Times New Roman", serif;
}
body, p, li { line-height: 1.7; }
body, button, input, select, textarea { font-family: Georgia, "Times New Roman", serif; }
a { color: var(--parish-brown); text-underline-offset: .2em; }
a:hover { color: var(--parish-deep); }
img { max-width: 100%; height: auto; }
.wp-site-blocks { gap: 0; overflow: clip; }
.wp-site-blocks > .wp-block-template-part { margin-block: 0 !important; }
.wp-site-blocks > .wp-block-template-part:has(> .parish-site-header) { position: sticky; z-index: 50; top: 0; }
.wp-site-blocks > main { margin-block-start: 0 !important; }
.parish-main > .wp-block-group { margin-block: 0 !important; }
h1, h2, h3 { color: var(--parish-deep); font-weight: 400; line-height: 1.12; }
h2 { margin: 0 0 20px; font-size: clamp(2.1rem, 5vw, 3.5rem); letter-spacing: -.035em; }
h2 em, h1 em { color: var(--parish-brown); font-weight: 400; }
.parish-kicker, .parish-card-label {
  margin: 0 0 12px;
  color: var(--parish-brown);
  font: 700 .7rem/1.5 Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.parish-site-header {
  position: relative;
  border-bottom: 1px solid var(--parish-line);
  background: rgba(255, 250, 244, .97);
  box-shadow: 0 4px 18px rgba(63, 43, 32, .05);
}
.parish-header-inner {
  max-width: 1320px !important;
  min-height: 98px;
  margin: 0 auto !important;
  padding: 8px 26px;
  gap: 18px;
}
.parish-brand { gap: 12px; }
.parish-brand .wp-block-site-logo { flex: 0 0 68px; width: 68px; margin: 0; }
.parish-brand .wp-block-site-logo img { display: block; width: 68px; height: 68px; object-fit: contain; }
.parish-site-title { margin: 0; color: var(--parish-deep); font: 600 1.05rem/1.25 Georgia, serif; }
.parish-site-title a { color: inherit; text-decoration: none; }
.parish-site-subtitle { margin: 3px 0 0; color: var(--parish-muted); font: .65rem/1.4 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.parish-primary-navigation { font: 700 .76rem/1.4 Arial, sans-serif; }
.parish-primary-navigation .wp-block-navigation-item__content { padding: 10px 7px; color: var(--parish-deep); text-decoration: none; }
.parish-primary-navigation .wp-block-navigation-item__content:hover,
.parish-primary-navigation .wp-block-navigation-item__content:focus-visible { color: #8b672d; }
.parish-primary-navigation .wp-block-navigation__submenu-container {
  z-index: 60;
  min-width: 220px;
  padding: 8px;
  border: 1px solid var(--parish-line);
  border-radius: 3px;
  background: var(--parish-paper);
  box-shadow: 0 12px 28px rgba(63, 43, 32, .16);
}
.parish-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block;
  padding: 10px 12px;
  color: var(--parish-deep);
  white-space: normal;
}
.parish-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.parish-primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
  background: #f2e9dd;
  color: #8b672d;
}
.parish-primary-navigation .wp-block-navigation-submenu__toggle {
  min-width: 32px;
  min-height: 36px;
  color: var(--parish-deep);
}
.parish-primary-navigation .wp-block-navigation__submenu-icon {
  color: currentColor;
}
.parish-primary-navigation .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; background: var(--parish-paper) !important; color: var(--parish-deep) !important; }
.parish-primary-navigation .wp-block-navigation__responsive-container-open,
.parish-primary-navigation .wp-block-navigation__responsive-container-close { color: var(--parish-deep); }
.parish-primary-navigation .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--parish-line); }
.parish-hero {
  display: flex;
  min-height: min(650px, 82svh);
  align-items: center;
  padding: 70px 24px;
  background-color: #231711;
  color: white;
}
.parish-hero > .wp-block-cover__image-background { object-position: 50% 42%; }
.parish-hero-inner { width: 100%; }
.parish-hero .parish-kicker { color: #e2c987; }
.parish-hero-title {  margin: 0; color: white; font-size: clamp(3.6rem, 9vw, 7.5rem); letter-spacing: -.055em; line-height: .98; }
.parish-hero-title em { color: #e2c987; }
.parish-hero-copy { margin: 22px 0 28px; color: #e4eee8; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.parish-hero-actions { gap: 12px; }
.parish-button .wp-block-button__link {
  padding: 13px 20px;
  border: 1px solid var(--parish-gold);
  border-radius: 2px;
  background: var(--parish-gold);
  color: var(--parish-deep);
  font: 700 .75rem/1.4 Arial, sans-serif;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}
.parish-button .wp-block-button__link:hover,
.parish-button .wp-block-button__link:focus-visible { background: #d4ad87; color: var(--parish-deep); }
.parish-button-outline .wp-block-button__link { border-color: rgba(255,255,255,.65); background: transparent; color: white; }
.parish-button-outline .wp-block-button__link:hover,
.parish-button-outline .wp-block-button__link:focus-visible { border-color: white; background: rgba(255,255,255,.1); color: white; }
.parish-schedule, .parish-sacraments, .parish-resources { padding: 88px 24px; background: var(--parish-paper); }
.parish-schedule-grid, .parish-sacrament-grid, .parish-community-grid, .parish-resources-grid { gap: 18px; margin-top: 35px; }
.parish-info-card { height: 100%; box-sizing: border-box; padding: 27px; border: 1px solid var(--parish-line); background: var(--parish-paper); }
.parish-info-card h3, .parish-resources-grid h3, .parish-sacrament-grid h3 { margin: 8px 0 10px; font-size: 1.4rem; }
.parish-info-card p:last-child, .parish-sacrament-grid p, .parish-resources-grid p { margin-bottom: 0; color: var(--parish-muted); font-size: .96rem; }
.parish-schedule .parish-kicker, .parish-sacraments .parish-kicker, .parish-announcements .parish-kicker, .parish-resources .parish-kicker { margin-top: 0; }
.parish-schedule-note { margin-top: 22px; color: var(--parish-muted); font-size: .86rem; }
.parish-welcome { padding: 96px 24px; background: var(--parish-cream); }
.parish-welcome-grid, .parish-giving-grid, .parish-visit-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: center; gap: clamp(35px, 7vw, 100px); }
.parish-welcome-grid > div:first-child > p:not(.parish-kicker) { max-width: 630px; color: var(--parish-muted); }
.parish-priest-welcome, .parish-project-note, .parish-contact-card { padding: clamp(26px, 4vw, 44px); border-left: 3px solid var(--parish-gold); background: var(--parish-paper); box-shadow: 0 12px 38px rgba(63,43,32,.08); }
.parish-priest-welcome > p:nth-child(2) { margin: 5px 0 22px; color: var(--parish-deep); font-size: clamp(1.3rem, 2.3vw, 1.8rem); font-style: italic; line-height: 1.45; }
.parish-priest-signoff { margin: 0; color: var(--parish-deep); font-weight: 700; }
.parish-priest-signoff span { color: var(--parish-muted); font-size: .82rem; font-weight: 400; }
.parish-announcements { padding: 88px 24px; background: var(--parish-deep); color: #f8f1e9; }
.parish-announcements h2, .parish-announcements h3 { color: white; }
.parish-announcements h2 em { color: #e2c987; }
.parish-announcements > .wp-block-group > .wp-block-paragraph:not(.parish-kicker) { max-width: 650px; margin-bottom: 30px; color: #e8d9ca; }
.parish-announcements .parish-kicker { color: #e2c987; }
.parish-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 28px 0 0; padding: 0; list-style: none; }
.parish-post-grid > li { min-width: 0; }
.parish-post-card { height: 100%; box-sizing: border-box; padding: 0 22px 24px; background: var(--parish-paper); color: var(--parish-ink); }
.parish-post-card .wp-block-post-featured-image { margin: 0 -22px 20px; aspect-ratio: 16 / 9; overflow: hidden; background: #e9ded0; }
.parish-post-card .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.parish-post-date { margin: 0; color: var(--parish-brown); font: 700 .68rem/1.4 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.parish-post-title { margin: 8px 0; font-size: 1.35rem; }
.parish-post-title a { color: var(--parish-deep); text-decoration: none; }
.parish-post-card p:last-child { color: var(--parish-muted); font-size: .9rem; }
.parish-empty-state { padding: 22px; border: 1px solid rgba(255,255,255,.25); color: #e4eee8; }
.parish-section-action { margin-top: 24px; }
.parish-button-dark .wp-block-button__link { border-color: var(--parish-gold); background: var(--parish-gold); }
.parish-sacraments { background: #f2e9dd; }
.parish-sacrament-grid .wp-block-column { padding: 18px 21px; border-top: 2px solid var(--parish-gold); }
.parish-community { padding: 88px 24px; background: var(--parish-paper); }
.parish-community-grid .parish-info-card { border-top: 3px solid var(--parish-brown); }
.parish-community-grid .parish-info-card h3 { font-size: 1.3rem; }
.parish-giving { padding: 92px 24px; background: #ede1d2; }
.parish-giving-grid > div:first-child > p:not(.parish-kicker) { color: var(--parish-muted); }
.parish-notice { padding: 13px 16px; border-left: 2px solid #9d6a27; background: #fff8e8; color: #58431f !important; font-size: .88rem; }
.parish-project-note { border-color: var(--parish-brown); }
.parish-project-note h3, .parish-contact-card h3 { margin: 8px 0; font-size: 1.7rem; }
.parish-resources-grid .wp-block-column { padding: 23px 0; border-top: 1px solid var(--parish-line); }
.parish-visit { padding: 92px 24px; background: var(--parish-brown); color: #f8f1e9; }
.parish-visit h2 { color: white; }
.parish-visit h2 em, .parish-visit .parish-kicker { color: #e2c987; }
.parish-visit-grid > div:first-child > p:not(.parish-kicker) { color: #f0e3d6; }
.parish-visit a { color: #f1d897; }
.parish-contact-card { border-color: var(--parish-gold); color: var(--parish-ink); }
.parish-contact-card h3 { color: var(--parish-deep); }
.parish-contact-card > p:not(.parish-card-label) { color: var(--parish-muted); }
.parish-site-footer { padding: 38px 24px 25px; background: #2e1e17; color: #e8d9ca; text-align: center; }
.parish-footer-inner { max-width: 1160px !important; }
.parish-site-footer h2 { margin: 0 0 8px; color: white; font-size: 1.4rem; letter-spacing: 0; }
.parish-site-footer p { margin-top: 6px; font-size: .9rem; }
.parish-footer-navigation { justify-content: center; margin: 20px 0; font: .74rem Arial, sans-serif; }
.parish-footer-navigation .wp-block-navigation-item__content { padding: 8px 12px; color: #e8d9ca; text-decoration: none; }
.parish-footer-navigation .wp-block-navigation-item__content:hover { color: #e2c987; }
.parish-footer-note { color: #e2c987; font-style: italic; }
.parish-copyright { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.15); color: #b5c8bc; font: .68rem Arial, sans-serif; }
.parish-main :focus-visible, .parish-site-header :focus-visible, .parish-site-footer :focus-visible { outline: 3px solid #e2c987; outline-offset: 3px; }
.parish-content-template { min-height: 55vh; padding: 70px 24px 90px; }
.parish-content-template > .wp-block-post-content { max-width: 760px; margin-right: auto; margin-left: auto; }
.parish-content-template > .wp-block-post-content h2 { margin-top: 2rem; padding-bottom: .35em; border-bottom: 1px solid var(--parish-line); }
.parish-content-template > .wp-block-post-content h3 { margin-top: 1.75rem; color: var(--parish-brown); font-size: 1.4rem; }
.parish-content-template > .wp-block-post-content p { max-width: 72ch; color: var(--parish-muted); }
@media (max-width: 900px) {
  .parish-header-inner { flex-wrap: nowrap; }
  .parish-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parish-schedule-grid, .parish-community-grid { flex-wrap: wrap; }
  .parish-schedule-grid > .wp-block-column, .parish-community-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
}
@media (max-width: 700px) {
  :root { scroll-padding-top: 76px; }
  .parish-header-inner { min-height: 78px; padding: 7px 16px; }
  .parish-brand .wp-block-site-logo { flex-basis: 54px; width: 54px; }
  .parish-brand .wp-block-site-logo img { width: 54px; height: 54px; }
  .parish-site-title { max-width: 235px; font-size: .95rem; }
  .parish-site-subtitle { font-size: .56rem; }
  .parish-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 13px 12px; color: var(--parish-deep); font-size: 1.1rem; }
  .parish-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    position: static;
    min-width: 0;
    margin: 2px 0 8px;
    padding: 4px 0 4px 14px;
    border: 0;
    border-left: 2px solid var(--parish-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .parish-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 10px 12px;
    font-size: 1rem;
  }
  .parish-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { min-height: 48px; }
  .parish-hero { min-height: 560px; padding: 60px 22px; }
  .parish-hero[style] { min-height: 560px !important; }
  .parish-hero-title { font-size: clamp(3.25rem, 15vw, 5.7rem); }
  .parish-hero-actions { align-items: stretch; flex-direction: column; max-width: 300px; }
  .parish-hero-actions .wp-block-button, .parish-hero-actions .wp-block-button__link { width: 100%; box-sizing: border-box; }
  .parish-schedule, .parish-sacraments, .parish-resources, .parish-community, .parish-announcements, .parish-welcome, .parish-giving, .parish-visit { padding: 65px 20px; }
  .parish-welcome-grid, .parish-giving-grid, .parish-visit-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .parish-schedule-grid, .parish-community-grid, .parish-sacrament-grid, .parish-resources-grid { flex-direction: column; gap: 14px; }
  .parish-schedule-grid > .wp-block-column, .parish-community-grid > .wp-block-column { flex-basis: 100% !important; }
  .parish-post-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .parish-footer-navigation { align-items: center; flex-direction: column; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
