*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
img { max-width: 100%; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid #C77D4F;
  outline-offset: 2px;
}
.choice {
  font: inherit; font-weight: 700; padding: 12px 22px; border-radius: 999px; cursor: pointer;
  background: #FFFFFF; color: #2F4858; border: 2px solid #B9AE9C;
}
.choice[aria-pressed="true"] { background: #2F4858; color: #FAF7F2; border-color: #2F4858; }
.form-note { margin: 0; font-size: 15px; line-height: 1.5; opacity: 0.85; }
@media (max-width: 640px) {
  h1 { font-size: 34px !important; }
  h2 { font-size: 26px !important; }
}
button.pray {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-weight: 700; font-size: 16px;
  padding: 10px 16px; border-radius: 999px; cursor: pointer; background: #FFFFFF; color: #2F4858; border: 2px solid #E3DACB;
}
button.pray[aria-pressed="true"] { background: #F6E3D6; color: #8A4A22; border-color: #C77D4F; }
details.mdir > summary::-webkit-details-marker { display: none; }
details.mdir > summary::marker { content: ""; }
details.mdir .mdir-chev { transition: transform 0.2s ease; }
details.mdir[open] .mdir-chev { transform: rotate(180deg); }
details.mdir > summary:focus-visible { outline: 3px solid #C77D4F; outline-offset: -3px; }

/* Interest group cards: description shows on hover (mouse) or tap (touch) */
.grp .grp-desc { display: none; }
.grp .grp-chev { transition: transform 0.2s ease; }
.grp.open .grp-desc { display: block; }
.grp.open .grp-chev { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
  .grp.hover-open .grp-desc, .grp:focus-visible .grp-desc { display: block; }
  .grp.hover-open .grp-chev, .grp:focus-visible .grp-chev { transform: rotate(180deg); }
  .grp:hover { background: #F3EBDD !important; }
}
.grp:focus-visible { outline: 3px solid #C77D4F; outline-offset: 2px; }

/* Interest group cards collapse; click/tap the heading to open */
details.igroup > summary::-webkit-details-marker { display: none; }
details.igroup > summary::marker { content: ""; }
details.igroup .ig-chev { transition: transform 0.2s ease; }
details.igroup[open] .ig-chev { transform: rotate(180deg); }
details.igroup > summary:hover { filter: brightness(1.06); }
details.igroup > summary:focus-visible { outline: 3px solid #C77D4F; outline-offset: -3px; }
