/* Owner's depth revision: original parish imagery, a carved white frame and
   illuminated blue surfaces. This final layer changes presentation only. */
.modern-parish {
  --depth-ink: #102e4d;
  --depth-blue: #2d6189;
  --depth-gold: #b59555;
  --depth-edge: #7e9fb9;
  background-color: #dceaf6;
}

html:not([data-parish-contrast]) .modern-parish #art-main {
  background: radial-gradient(ellipse at 0 30%, #aecde84d, transparent 46%),
    radial-gradient(ellipse at 100% 45%, #a1c5e43d, transparent 42%), #e4eff8;
}

html:not([data-parish-contrast]) .modern-parish #art-main .brand-hero {
  background: radial-gradient(ellipse at 18% 0, #e8f6ff66, transparent 48%),
    radial-gradient(ellipse at 100% 0, #204e7b38, transparent 57%),
    linear-gradient(180deg, #649dcd 0%, #a4c9e6 56%, #e4eff8 100%);
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-copy .hero-name {
  color: #102e4d;
  font-weight: 500;
  text-shadow: 0 1px 0 #ffffffa6, 0 3px 2px #173a5a25;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-eyebrow {
  color: #143c5e;
  font-weight: 650;
  text-shadow: 0 1px 0 #ffffff7d;
}

/* A substantial perimeter, not a second rectangle inside the artwork. */
html:not([data-parish-contrast]) .modern-parish #art-main .hero-frame {
  --frame-width: 16px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(128deg, #fff 0%, #fff 27%, #e1edf6 55%, #fff 78%, #becfdf 100%);
  box-shadow: 0 1px 0 #fff, 0 7px 0 #6d91ad, 0 8px 0 #c9dce9,
    0 15px 19px #08294445, 0 31px 46px #08294450;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-frame::after {
  border-image: linear-gradient(128deg, #fff 0%, #fff 27%, #e1edf6 55%, #fff 78%, #becfdf 100%) 1;
  box-shadow: inset 0 2px 0 #fff, inset 2px 0 0 #fff,
    inset 0 -4px 0 #a4bbce, inset -2px 0 0 #c1d3e2;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions {
  z-index: 10;
  position: relative;
  border-color: #8faec6;
  background: linear-gradient(180deg, #fcfeff, #e6f1fa 55%, #bed4e5);
  box-shadow: inset 0 2px 0 #ffffffed, inset 0 -3px 0 #8daac1;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a {
  min-height: 64px;
  color: #163b5b;
  font-weight: 650;
  text-shadow: 0 1px 0 #fff;
  background: linear-gradient(135deg, #ffffff80, transparent 65%);
  transition: background-color 160ms ease, box-shadow 160ms ease;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a + a {
  border-left-color: #94b2c9;
  box-shadow: inset 1px 0 0 #ffffffd9;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a > span {
  display: grid;
  place-items: center;
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  border: 1px solid #e8f3fc;
  border-radius: 50%;
  background: linear-gradient(145deg, #376d94, #143955);
  color: white;
  text-shadow: none;
  box-shadow: inset 0 1px 0 #a7c4d9, 0 3px 0 #9bb5c9, 0 4px 7px #173a5a28;
}

html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a:hover {
  background-color: #d1e6f5;
  box-shadow: inset 0 0 20px #94b6d12e;
}

/* A continuous navy plinth beneath the original artwork. */
html:not([data-parish-contrast]) .modern-parish #art-main .parish-navigation {
  background: transparent;
}

html:not([data-parish-contrast]) .modern-parish #art-main .navigation-inner {
  position: relative;
  border: 1px solid #1a496e;
  border-top-color: #8eb6d1;
  border-bottom: 4px solid #061d30;
  background: linear-gradient(180deg, #3d739b 0%, #245276 28%, #143653 64%, #102b46 100%);
  box-shadow: inset 0 2px 0 #b3d1e47a, inset 0 -1px 0 #456783,
    0 5px 0 #96b0c4, 0 12px 20px #092a4438;
}

html:not([data-parish-contrast]) .modern-parish #art-main .navigation-inner .menu-item-line > a {
  color: #fff;
  text-shadow: 0 2px 2px #071d32aa;
  font-weight: 550;
}

html:not([data-parish-contrast]) .modern-parish #art-main .menu-root > .active > .menu-item-line > a {
  color: #fff1cc;
  text-decoration-color: #d9b978;
  text-underline-offset: 7px;
}

html:not([data-parish-contrast]) .modern-parish #art-main .menu-submenu {
  border-top: 3px solid #b59555;
  background: linear-gradient(135deg, #fff, #e8f2fa);
  box-shadow: 0 5px 0 #88a6bf, 0 17px 27px #0c2e4a3b;
}

html:not([data-parish-contrast]) .modern-parish #art-main .menu-submenu .menu-item-line > a {
  color: #143957;
  text-shadow: 0 1px 0 #fff;
}

html:not([data-parish-contrast]) .modern-parish #art-main .menu-submenu .menu-subtoggle {
  color: #1b4e73;
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-panel, .article-main) {
  background: linear-gradient(90deg, #e8f1f8 0%, #fff 4%, #fff 96%, #e8f1f8 100%);
  border-color: #b0c8da;
  box-shadow: inset 1px 0 0 #fff, inset -1px 0 0 #fff,
    0 6px 0 #9cb6ca, 0 23px 40px #143b5c26;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-contact {
  position: relative;
  isolation: isolate;
  border: 1px solid #a8c1d4;
  border-top: 3px solid #d6bd82;
  border-radius: 10px;
  background: radial-gradient(ellipse at 80% 0, #fff 3%, #eef6fc 63%, #dbeaf5 100%);
  box-shadow: inset 0 2px 0 #fff, inset 0 -2px 0 #c2d5e4,
    0 5px 0 #9db7cb, 0 14px 24px #0e355524;
  margin-bottom: 31px;
}

/* An original eight-point light motif; the parish's logo remains unchanged. */
html:not([data-parish-contrast]) .modern-parish #art-main .home-contact::before {
  content: '';
  position: absolute;
  width: 78px;
  height: 78px;
  top: 13px;
  right: 14px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(145deg, #b8a06a4d, #749cb51a);
  clip-path: polygon(50% 0, 57% 32%, 85% 15%, 68% 43%, 100% 50%, 68% 57%, 85% 85%, 57% 68%, 50% 100%, 43% 68%, 15% 85%, 32% 57%, 0 50%, 32% 43%, 15% 15%, 43% 32%);
}

html:not([data-parish-contrast]) .modern-parish #art-main .source-contact img {
  filter: drop-shadow(0 3px 0 #718ca230) drop-shadow(0 9px 11px #1236513b);
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-mass-bar {
  border: 1px solid #224f70;
  border-top-color: #8eb9d5;
  border-bottom: 4px solid #0c2840;
  border-radius: 8px;
  background: radial-gradient(ellipse at 5% 0, #5088ad66, transparent 65%),
    linear-gradient(145deg, #2c5c80, #153652 65%, #112e48);
  box-shadow: inset 0 1px 0 #d4ebfa66, 0 5px 0 #9cb5c9, 0 13px 18px #12365124;
  margin-bottom: 29px;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-introduction nav a {
  color: #254c6c;
  text-decoration-color: #a78b50;
  text-underline-offset: 5px;
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) {
  --depth-card-x: 22px;
  --depth-card-y: 24px;
  position: relative;
  padding: var(--depth-card-y) var(--depth-card-x);
  border: 1px solid #9ebad0;
  border-top: 0;
  border-radius: 10px;
  background: linear-gradient(125deg, #fff 35%, #edf5fb 100%);
  box-shadow: inset 1px 0 0 #fff, inset -1px 0 0 #fff, inset 0 -2px 0 #d0e0ec,
    0 6px 0 #9bb4c8, 0 16px 24px #1139542b;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-intentions {
  background: linear-gradient(125deg, #eff7fe, #fff 65%, #e9f3fb);
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) > .section-heading {
  position: relative;
  margin: calc(-1 * var(--depth-card-y)) calc(-1 * var(--depth-card-x)) 23px;
  padding: 22px var(--depth-card-x) 23px;
  border: 1px solid #416d8c;
  border-top: 2px solid #b2d3e7;
  border-bottom: 3px solid #baa166;
  border-radius: 10px 10px 0 0;
  background: radial-gradient(ellipse at 0 0, #6c9fbd6b, transparent 70%),
    linear-gradient(150deg, #2b5d81, #193d5a 62%, #12314d);
  box-shadow: inset 0 1px 0 #e2f1fb59, inset 0 -2px 0 #0e2b43;
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) .section-heading .eyebrow {
  color: #e3d3ac;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) .section-heading h2 {
  color: #fff;
  font-size: clamp(30px, 2.4vw, 35px);
  text-shadow: 0 2px 1px #071e326b;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-intentions .section-heading h2 em {
  color: #e2eff8;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-intentions .section-heading .text-link {
  color: #fff;
  border-color: #d2b77c;
}

html:not([data-parish-contrast]) .modern-parish #art-main .reading-toggle {
  padding: 13px 15px;
  margin-top: 17px;
  border: 1px solid #a6c2d7;
  border-bottom: 3px solid #6e91ad;
  border-radius: 5px;
  background: linear-gradient(180deg, #fff, #e0edf7);
  color: #173e5d;
  font-weight: 600;
  box-shadow: inset 0 1px 0 #fff, 0 4px 7px #173e5d17;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

html:not([data-parish-contrast]) .modern-parish #art-main .reading-toggle:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 #fff, 0 6px 9px #173e5d2b;
}

html:not([data-parish-contrast]) .modern-parish #art-main .reading-toggle:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 5px #173e5d26;
}

html:not([data-parish-contrast]) .modern-parish #art-main .home-materials > .section-heading {
  padding: 0 0 20px 18px;
  border-left: 4px solid #af945d;
  border-bottom: 1px solid #b6cede;
  box-shadow: 0 2px 0 #ffffff;
}

html:not([data-parish-contrast]) .modern-parish #art-main :is(.parish-calendar, .aside-live) {
  border: 1px solid #a0bbcf;
  border-top: 3px solid #b99d63;
  border-radius: 9px;
  background: linear-gradient(135deg, #fff, #e3eff9);
  box-shadow: inset 0 1px 0 #fff, 0 5px 0 #a5bdcf, 0 14px 22px #12365124;
}

html:not([data-parish-contrast]) .modern-parish #art-main .aside-live {
  padding: 27px 23px;
}

html:not([data-parish-contrast]) .modern-parish #art-main .calendar-days button {
  border-radius: 4px;
  box-shadow: inset 0 1px 0 #ffffffd9, 0 2px 0 #aec6d7;
}

html:not([data-parish-contrast]) .modern-parish #art-main .calendar-days button[aria-pressed='true'] {
  background: linear-gradient(145deg, #3c7297, #163b59);
  color: #fff;
  box-shadow: inset 0 1px 0 #b2d2e7, 0 3px 0 #7d9eb7;
}

.modern-parish #art-main :is(a, button, summary):focus-visible {
  outline: 3px solid #b8892c;
  outline-offset: 4px;
}

@media (max-width: 800px) {
  html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) {
    --depth-card-x: 23px;
  }
}

@media (max-width: 700px) {
  html:not([data-parish-contrast]) .modern-parish #art-main .hero-frame {
    --frame-width: 9px;
    box-shadow: 0 1px 0 #fff, 0 5px 0 #779bb6, 0 6px 0 #c5d9e7,
      0 11px 14px #1236523d, 0 20px 27px #12365230;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a {
    min-height: 65px;
    padding-inline: 9px;
    gap: 7px;
    font-size: 14px;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .hero-actions a > span {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
    font-size: 16px;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .home-contact {
    margin-bottom: 27px;
    box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 #c5d8e7,
      0 4px 0 #a2bbcf, 0 10px 16px #133a5526;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .home-contact::before {
    width: 56px;
    height: 56px;
    top: 9px;
    right: 9px;
    opacity: .65;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) {
    --depth-card-x: 18px;
    --depth-card-y: 22px;
    box-shadow: inset 0 -2px 0 #d0e0ec, 0 4px 0 #9bb4c8, 0 11px 18px #11395426;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main :is(.home-intentions, .home-announcements) > .section-heading {
    padding-block: 20px;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .home-reading-grid {
    gap: 30px;
  }
  html:not([data-parish-contrast]) .modern-parish #art-main .aside-live {
    padding: 25px 20px;
  }
}

/* Opt-in contrast modes deliberately replace the decorative surface layer. */
html[data-parish-contrast] .modern-parish #art-main :is(.brand-hero, .hero-frame, .hero-actions, .navigation-inner, .menu-submenu, .home-panel, .article-main, .home-contact, .home-mass-bar, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live, .calendar-days button) {
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: inherit !important;
  border-color: currentColor !important;
}
html[data-parish-contrast] .modern-parish #art-main .home-contact::before {
  display: none !important;
}
html[data-parish-contrast] .modern-parish #art-main .source-contact img {
  filter: none;
}
html[data-parish-contrast] .modern-parish #art-main .hero-frame::after {
  border-image: none !important;
  border-color: currentColor !important;
  box-shadow: none !important;
}
html[data-parish-contrast] .modern-parish #art-main .navigation-inner :is(button, svg) {
  color: inherit !important;
}
html[data-parish-contrast='1'] .modern-parish #art-main :is(.brand-hero, .hero-frame, .hero-actions, .navigation-inner, .menu-submenu, .home-contact, .home-mass-bar, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live, .calendar-days button) {
  background-color: #000 !important;
  color: #fff !important;
}
html[data-parish-contrast='2'] .modern-parish #art-main :is(.brand-hero, .hero-frame, .hero-actions, .navigation-inner, .menu-submenu, .home-contact, .home-mass-bar, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live, .calendar-days button) {
  background-color: #fff !important;
  color: #000 !important;
}
html[data-parish-contrast='3'] .modern-parish #art-main :is(.brand-hero, .hero-frame, .hero-actions, .navigation-inner, .menu-submenu, .home-contact, .home-mass-bar, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live, .calendar-days button) {
  background-color: #111b30 !important;
  color: #ffff00 !important;
}
@media (prefers-reduced-motion: reduce) {
  .modern-parish #art-main .reading-toggle:hover,
  .modern-parish #art-main .reading-toggle:active {
    transform: none !important;
  }
}
@media (forced-colors: active) {
  .modern-parish #art-main :is(.brand-hero, .hero-frame, .hero-actions, .navigation-inner, .menu-submenu, .home-panel, .article-main, .home-contact, .home-mass-bar, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live, .calendar-days button) {
    background: Canvas !important;
    color: CanvasText !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-color: CanvasText !important;
  }
  .modern-parish #art-main .home-contact::before { display: none; }
  .modern-parish #art-main .hero-frame::after {
    border-image: none !important;
    border-color: CanvasText !important;
    box-shadow: none !important;
  }
  .modern-parish #art-main :is(a, button, summary):focus-visible { outline-color: Highlight; }
}
@media print {
  .modern-parish #art-main :is(.home-panel, .article-main, .home-contact, .home-intentions, .home-announcements, .section-heading, .reading-toggle, .parish-calendar, .aside-live) {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-color: #555 !important;
  }
  .modern-parish #art-main .home-contact::before { display: none; }
  .modern-parish #art-main :is(.home-intentions, .home-announcements) .section-heading :is(h2, em, .eyebrow, .text-link) {
    color: black !important;
    text-shadow: none !important;
  }
}

/* Homepage only: compact current intentions and announcements; retain editorial formatting. */
html .modern-parish.is-home #art-main :is(.home-intentions, .home-announcements) > .section-heading {
  margin-bottom: 12px;
}
html .modern-parish.is-home #art-main :is(.home-intention-entry, .announcement-entry) > h3 {
  margin-top: 0;
  margin-bottom: .6em;
}
html .modern-parish.is-home #art-main :is(.home-intention-entry, .announcement-entry) > .wp-native-content > :first-child,
html .modern-parish.is-home #art-main :is(.home-intention-entry, .announcement-entry) > .wp-native-content > :is(.art-layout-cell, .art-content-layout, .art-content-layout-wrapper, .art-content-layout-row) > :first-child {
  margin-top: 0;
}
html .modern-parish.is-home #art-main :is(.home-intention-entry, .announcement-entry) > .publication-line--footer {
  padding-block: 8px 0;
  margin-block: 12px 0;
}
