/* Хэсэд Ариэль · WordPress layer: header panel, content from the editor, posts, pages, comments.
 * Built only from the tokens in tokens.css. All lines are solid. */

/* ---------- script-only blocks ---------- */
.js-only { display: none !important; }
.has-js .js-only { display: grid !important; }
.has-js .js-only[hidden] { display: none !important; }

/* ---------- header bar and the all-sections panel ---------- */
.nav__list { list-style: none; display: flex; gap: var(--space-3xs); margin: 0; padding: 0; }
.menu-btn__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 30em) { .menu-btn__label { position: static; width: auto; height: auto; overflow: visible; clip: auto; } }
@media (min-width: 60em) and (max-width: 74.99em) { .brand__sub { display: none; } }
.site-header { z-index: 70; }
/* while the all-sections panel is open the page behind it does not scroll (the scrollbar's
   room stays reserved, so nothing jumps sideways when it disappears) */
html { scrollbar-gutter: stable; }
html.menu-open { overflow: hidden; }
.mobile-nav { max-height: calc(100vh - var(--bar-h)); max-height: calc(100dvh - var(--bar-h)); overflow-y: auto; overscroll-behavior: contain;
  box-shadow: 0 24px 40px -28px var(--color-ink-40); }
.mobile-nav__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-sm) var(--space-lg); }
.mobile-nav ul { padding: 0; }
.mobile-nav .mobile-nav__quick { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding: 0; }
.mobile-nav__quick a { display: inline-flex; align-items: center; gap: var(--space-2xs); min-height: 44px; padding: 0 var(--space-sm);
  border: 1px solid var(--color-rule-strong); border-radius: var(--radius-pill); font-size: var(--text-sm); font-weight: 600; text-decoration: none; }
.mobile-nav__quick li:first-child a { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-ink); }
.mobile-nav__quick .icon { width: 1.05rem; height: 1.05rem; }
.mobile-nav__list { list-style: none; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.mobile-nav__list > li { border-bottom: var(--rule-hair); }
.mobile-nav__list > li > a { display: flex; align-items: center; min-height: 48px; font-family: var(--font-display); font-weight: 700;
  font-size: var(--text-md); text-decoration: none; border-bottom: 0; }
.mobile-nav__list .sub-menu { list-style: none; display: grid; padding: 0 0 var(--space-xs) var(--space-sm); }
.mobile-nav__list .sub-menu a { display: flex; align-items: center; min-height: 40px; font-size: var(--text-sm); font-family: var(--font-body);
  font-weight: 400; color: var(--color-text-soft); text-decoration: none; border-bottom: 0; padding-block: var(--space-3xs); line-height: 1.35; }
.mobile-nav__list a:hover { text-decoration: underline; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; }
.mobile-nav__list .current-menu-item > a, .mobile-nav__list .current_page_item > a { color: var(--color-text); font-weight: 600; }
@media (min-width: 48em) {
  .mobile-nav__list { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); column-gap: var(--space-lg); align-items: start; }
  .mobile-nav__list > li { border-bottom: 0; border-top: 1px solid var(--color-rule-strong); padding-top: var(--space-2xs); }
  .mobile-nav__list > li > a { min-height: 44px; font-size: var(--text-base); }
  .mobile-nav__list .sub-menu { padding-left: 0; }
}

/* ---------- search form ---------- */
.search-form { display: flex; gap: var(--space-2xs); max-width: 34rem; }
.search-form input[type="search"] { flex: 1; min-width: 0; min-height: 3rem; padding: 0 var(--space-sm); border: 1.5px solid var(--color-rule-strong);
  border-radius: var(--radius-pill); background: var(--color-paper); font-size: 1rem; }
.search-form input[type="search"]:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; border-color: var(--color-ink); }
.search-form .btn { min-height: 3rem; padding-inline: var(--space-md); }
.search-form .btn .icon { width: 1.1rem; height: 1.1rem; }
.page-search { margin-top: var(--space-md); }

/* ---------- small shared pieces ---------- */
.more-link { margin-top: var(--space-md); }
.section--tight { padding-block: var(--space-lg); }
.section--spacer { height: var(--space-2xl); }
.section--ask { padding-top: var(--space-xl); }
.ask { border-radius: var(--radius-lg); padding: var(--space-xl) var(--space-md); }
@media (min-width: 48em) { .ask { padding: var(--space-xl) var(--space-xl); } }

/* ---------- volunteer credit under the final ask band (home page) ---------- */
.credit { display: grid; gap: var(--space-sm); align-items: center; grid-template-columns: minmax(0, 1fr); margin-top: var(--space-sm);
  padding: var(--space-md); border-radius: var(--radius-lg); background: var(--color-stone); color: var(--color-ink); }
.credit__ini { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--color-ink); color: var(--color-gold);
  font-family: var(--font-display); font-size: var(--text-md); font-weight: 600; line-height: 1; }
.credit__body { display: grid; gap: var(--space-3xs); min-width: 0; }
.credit__title { font-family: var(--font-display); font-size: var(--text-md); line-height: 1.3; color: var(--color-ink); margin: 0; }
.credit__body p { margin: 0; font-family: var(--font-body); font-size: var(--text-sm); color: var(--color-muted); max-width: 64ch; }
.credit__link { justify-self: start; color: var(--color-ink); }
.credit__link:hover { background: var(--color-ink-wash); }
@media (min-width: 40em) { .credit { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-md); } .credit__link { grid-column: 2; } }
@media (min-width: 60em) { .credit { grid-template-columns: auto minmax(0, 1fr) auto; padding: var(--space-md) var(--space-lg); } .credit__link { grid-column: auto; } }
.crumbs a { text-decoration-color: var(--color-rule-strong); }
.page-head .crumbs { margin-bottom: var(--space-sm); }
.page-head--article { padding-bottom: var(--space-md); }
.page-head--article h1 { max-width: 24ch; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); }
.post-meta { margin-bottom: var(--space-2xs); }
.pnav { margin-top: var(--space-md); }
.other-sum__label { font-weight: 600; color: var(--color-text); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; clip: auto; margin: 0; }

/* ---------- donate: two steps ---------- */
.form-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-sm); flex-wrap: wrap; }
.step-tag { font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-soft); }
.impact-line a { color: inherit; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; }
.pay-step { scroll-margin-top: calc(var(--bar-h) + var(--space-sm)); }
.pay-steps { display: grid; gap: var(--space-2xs); padding-left: 1.3rem; font-size: var(--text-sm); }
.pay-steps li { padding-left: var(--space-3xs); }
.pay-steps li::marker { font-weight: 600; color: var(--color-ink); }
.pay-steps b { font-weight: 600; }
.pay-steps .copy-btn { margin-top: var(--space-3xs); }
.payframe { border-radius: var(--radius-md); overflow: hidden; background: var(--color-paper); min-height: 12rem; }
.payframe iframe, .payframe__frame { display: block; width: 100%; height: 900px; border: 0; background: var(--color-paper); }
@media (max-width: 29.99em) { .payframe iframe, .payframe__frame { height: 800px; } }

/* ---------- content from the editor ---------- */
.entry { max-width: 44rem; font-size: var(--text-base); line-height: var(--leading-body); padding-bottom: var(--space-xl); }
.entry > * + * { margin-top: var(--space-sm); }
/* paragraphs keep the gap above them (the rule above); only the bottom margin is reset */
.entry p { margin-bottom: 0; }
.entry > :first-child { margin-top: 0; }
/* old pages: «Label:» openers in bold (lines that started with a dash are a plain list now) */
.entry .entry-label { font-weight: 600; color: var(--color-text); }

/* pages and news posts read in one centred column, headline aligned with the text */
.page-article > .container, .post-article:not(.post-article--chronicle) > .container, .single-post .comments-wrap { max-width: calc(44rem + 2 * var(--gutter)); }
.page-article .entry-cover, .post-article .entry-cover { margin-inline: auto; }

/* About: the fund's round seal sits beside the first lines instead of on its own row */
.page-about .entry > .wp-block-image:first-child { float: right; width: min(36%, 12rem); margin: 0 0 var(--space-sm) var(--space-md); }
.page-about .entry > .wp-block-image:first-child img { width: 100%; height: auto; }
.page-about .entry > .wp-block-image:first-child + * { margin-top: 0; }
.entry h2 { font-size: var(--text-lg); margin: var(--space-xl) 0 var(--space-xs); }
.entry h3 { font-size: var(--text-md); margin: var(--space-lg) 0 var(--space-2xs); }
.entry h4, .entry h5, .entry h6 { font-size: var(--text-base); margin: var(--space-md) 0 var(--space-2xs); }
.entry a { text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.entry a:hover { text-decoration-color: var(--color-ink); }
.entry ul, .entry ol { padding-left: 1.4rem; display: grid; gap: var(--space-2xs); }
.entry li::marker { color: var(--color-muted); }
.entry img { border-radius: var(--radius-sm); height: auto; }
.entry figure { margin: var(--space-md) 0; max-width: 100%; }
.entry figcaption, .entry .wp-caption-text, .entry .wp-element-caption { font-size: var(--text-sm); color: var(--color-text-soft); padding-top: var(--space-2xs); }
.entry blockquote, .entry .wp-block-quote { margin: var(--space-md) 0; padding: var(--space-2xs) 0 var(--space-2xs) var(--space-md); border-left: 3px solid var(--color-gold); }
.entry blockquote p { font-family: var(--font-display); font-weight: 700; font-size: var(--text-md); line-height: 1.4; }
.entry blockquote cite { display: block; margin-top: var(--space-2xs); font-style: normal; font-size: var(--text-sm); color: var(--color-text-soft); }
.entry hr, .entry .wp-block-separator { border: 0; height: 1px; background: var(--color-rule-strong); margin: var(--space-lg) 0; }
.entry table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); display: block; overflow-x: auto; }
.entry table tbody, .entry table thead { display: table; width: 100%; }
.entry th, .entry td { text-align: left; vertical-align: top; padding: var(--space-xs) var(--space-sm) var(--space-xs) 0; border-bottom: var(--rule-hair); }
.entry th { font-weight: 600; }
.entry .wp-block-table { overflow-x: auto; }
.entry iframe, .entry video, .entry embed, .entry object { max-width: 100%; border: 0; border-radius: var(--radius-md); }
.entry .wp-block-embed__wrapper iframe { width: 100%; }
.entry pre { overflow-x: auto; padding: var(--space-sm); background: var(--color-ink-wash); border-radius: var(--radius-sm); font-size: var(--text-sm); }
.entry strong, .entry b { font-weight: 600; }
.entry .has-text-align-center { text-align: center; }
.entry .has-text-align-right { text-align: right; }
.alignleft { float: left; margin: var(--space-3xs) var(--space-md) var(--space-sm) 0; max-width: 50%; }
.alignright { float: right; margin: var(--space-3xs) 0 var(--space-sm) var(--space-md); max-width: 50%; }
.aligncenter { display: block; margin-inline: auto; }
.entry::after { content: ""; display: table; clear: both; }
@media (max-width: 39.99em) { .alignleft, .alignright { float: none; margin: var(--space-sm) 0; max-width: 100%; } }
.wp-caption { max-width: 100%; }
.entry .wp-block-image img { display: block; }
.entry .wp-block-button__link, .entry .wp-block-file__button { display: inline-flex; align-items: center; min-height: 3rem; padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-pill); background: var(--color-ink); color: var(--color-paper); font-weight: 600; text-decoration: none; }
.entry .wp-block-file { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }

/* galleries: core [gallery] and the gallery block */
.entry .gallery, .entry .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xs); margin: var(--space-md) 0; padding: 0; }
@media (min-width: 40em) { .entry .gallery, .entry .wp-block-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.entry .gallery-item, .entry .wp-block-gallery .wp-block-image, .entry .wp-block-gallery .blocks-gallery-item { margin: 0 !important; width: auto !important; max-width: none !important; }
.entry .gallery img, .entry .wp-block-gallery img { width: 100% !important; height: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); }
.entry .gallery br { display: none; }
.entry .wp-block-gallery figcaption { position: static !important; background: none !important; color: var(--color-text-soft) !important; padding: var(--space-3xs) 0 0 !important; font-size: var(--text-xs) !important; }

/* page-builder layouts (SiteOrigin) keep their own grid; make them sit in our column */
.entry .panel-layout { max-width: 100%; }
.entry .panel-grid { margin-bottom: var(--space-md); }
.entry .panel-grid-cell { min-width: 0; }
.entry .so-panel + .so-panel { margin-top: var(--space-sm); }
.entry .panel-layout img { max-width: 100%; height: auto; }

/* cover image on pages and news posts */
.entry-cover { margin: 0 auto var(--space-lg); }
/* never wider than the file itself: a 587 px cover stays 587 px instead of a soft 704 px */
.entry-cover img { max-width: min(100%, 44rem); height: auto; max-height: 34rem; object-fit: cover; border-radius: var(--radius-lg); }

/* ---------- the monthly chronicle (posts with slug hronika-*) ---------- */
.chron-cover { margin-bottom: var(--space-xl); }
.chron-cover .print { max-width: 44rem; }
.entry--chronicle { max-width: 48rem; counter-reset: chron; }
.entry--chronicle > * + * { margin-top: 0; }
.chron-intro { font-size: var(--text-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; font-weight: 600; color: var(--color-text-soft);
  padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-rule-strong); }
.chron-event { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs) var(--space-md); padding-block: var(--space-lg); border-bottom: var(--rule-hair); }
@media (min-width: 48em) { .chron-event { grid-template-columns: 3.5rem minmax(0, 1fr); } }
.chron-event__n { font-family: var(--font-display); font-weight: 700; font-size: var(--text-lg); line-height: 1; color: var(--color-ink);
  font-variant-numeric: lining-nums tabular-nums; }
.chron-event__n::after { content: ""; display: block; width: 1.6rem; height: 3px; margin-top: var(--space-2xs); border-radius: 2px; background: var(--color-gold); }
.chron-event__body { display: grid; gap: var(--space-xs); min-width: 0; }
.chron-event__body h2 { margin: 0; font-size: var(--text-lg); line-height: 1.2; }
.chron-event__body p { margin: 0; }
.chron-event__date { justify-self: start; font-size: var(--text-xs); font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase;
  color: var(--color-ink); background: var(--color-gold-wash); border-radius: var(--radius-pill); padding: 0.15rem 0.7rem; }
.chron-event__source { font-size: var(--text-sm); color: var(--color-text-soft); }
.chron-event__source a { color: inherit; text-decoration-color: var(--color-rule-strong); }
.entry .ariadna-gallery.chron-gallery { display: grid !important; gap: var(--space-sm); margin: var(--space-2xs) 0 var(--space-3xs); padding: var(--space-2xs) 0; }
.chron-gallery { align-items: start; }
.chron-gallery img { display: block; width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover;
  object-position: 50% 30%;
  background: var(--color-paper); border: 6px solid var(--color-paper); border-bottom-width: 18px; border-radius: 3px;
  box-shadow: 0 1px 2px rgba(27, 42, 74, 0.16), 0 12px 24px -14px rgba(27, 42, 74, 0.42), inset 0 0 0 1px var(--color-rule);
  transform: rotate(var(--r, 0deg)); }
.chron-gallery--1 { grid-template-columns: minmax(0, 1fr); max-width: 34rem; }
.chron-gallery--1 img { aspect-ratio: 3 / 2; }
/* upright photos keep an upright frame, so nobody loses their head to a landscape crop */
.chron-gallery img.is-portrait { aspect-ratio: 3 / 4; }
.chron-gallery--1 img.is-portrait { max-width: 22rem; }
.chron-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.chron-gallery--3, .chron-gallery--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 40em) { .chron-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .chron-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.chron-gallery img:nth-child(3n+1) { --r: -1deg; }
.chron-gallery img:nth-child(3n+2) { --r: 0.8deg; }
.chron-gallery img:nth-child(3n) { --r: -0.5deg; }
@media (max-width: 47.99em) { .chron-gallery img { --r: 0deg !important; } }
@media (max-width: 39.99em) { .chron-gallery--3 img:first-child:not(.is-portrait) { grid-column: 1 / -1; aspect-ratio: 3 / 2; } }

/* ---------- lists of posts ---------- */
.posts { display: grid; gap: var(--space-lg) var(--space-md); grid-template-columns: minmax(0, 1fr); padding-bottom: var(--space-xl); }
@media (min-width: 48em) { .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 75em) { .posts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pcard { min-width: 0; }
.pcard__link { display: grid; gap: var(--space-sm); height: 100%; text-decoration: none; align-content: start; }
.pcard__img { display: block; overflow: hidden; border-radius: var(--radius-md); background: var(--color-stone); aspect-ratio: 3 / 2; }
.pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }
.pcard__body { display: grid; gap: var(--space-2xs); align-content: start; }
.pcard__title { font-size: var(--text-md); line-height: 1.25; margin: 0; }
.pcard__text { font-size: var(--text-sm); color: var(--color-text-soft); }
@media (hover: hover) and (pointer: fine) {
  .pcard__link:hover .pcard__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: var(--color-gold); }
  .pcard__link:hover .pcard__img img { transform: scale(1.03); }
}
.pcard--text .pcard__link { padding: var(--space-md); border-radius: var(--radius-md); background: var(--color-stone); }
.posts--first .pcard--feature { grid-column: 1 / -1; }
@media (min-width: 60em) {
  .posts--first .pcard--feature .pcard__link { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-xl); align-items: center; }
  .posts--first .pcard--feature .pcard__title { font-size: var(--text-xl); }
  .posts--first .pcard--feature .pcard__text { font-size: var(--text-base); }
}
.posts--list { grid-template-columns: minmax(0, 1fr) !important; max-width: 52rem; gap: 0; border-top: var(--rule-hair); }
/* search results: one row style for every result, with or without a picture */
.posts--list .pcard { border-bottom: var(--rule-hair); padding-block: var(--space-md); }
.posts--list .pcard--text .pcard__link { padding: 0; background: none; border-radius: 0; }
@media (min-width: 48em) {
  .posts--list .pcard__link { grid-template-columns: 14rem minmax(0, 1fr); align-items: start; gap: var(--space-md); }
  .posts--list .pcard--text .pcard__link { grid-template-columns: 14rem minmax(0, 1fr); }
  .posts--list .pcard--text .pcard__body { grid-column: 2; }
}

/* pagination */
.pager { padding-bottom: var(--space-xl); }
.pager ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-2xs); padding: 0; margin: 0; }
.pager a, .pager span.page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 var(--space-xs); border-radius: var(--radius-pill);
  border: 1px solid var(--color-rule-strong); text-decoration: none; font-weight: 600; font-variant-numeric: tabular-nums; }
.pager a:hover { background: var(--color-ink-wash); }
.pager .current { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-paper); }
.pager span.dots { border-color: transparent; background: none; min-width: 1.25rem; padding: 0; font-weight: 400; }
.pager svg { width: 1.1rem; height: 1.1rem; }
/* phones: the whole row, arrows included, fits on one line */
@media (max-width: 29.99em) {
  .pager ul { gap: 0.25rem; flex-wrap: nowrap; }
  .pager a, .pager span.page-numbers { min-width: 2.35rem; padding: 0 0.3rem; }
  .pager span.dots { min-width: 1rem; padding: 0; }
}

/* previous and next post */
.post-nav { display: grid; gap: var(--space-sm); grid-template-columns: minmax(0, 1fr); padding-bottom: var(--space-xl); }
@media (min-width: 48em) { .post-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.post-nav__link { display: grid; gap: var(--space-3xs); padding: var(--space-md); border-radius: var(--radius-md); background: var(--color-stone); text-decoration: none; min-height: 44px; }
.post-nav__link--next { text-align: right; }
.post-nav__link .kicker { display: inline-flex; align-items: center; gap: var(--space-3xs); }
.post-nav__link--next .kicker { justify-content: flex-end; }
.post-nav__link svg { width: 1rem; height: 1rem; }
.post-nav__t { font-family: var(--font-display); font-weight: 700; font-size: var(--text-md); line-height: 1.25; }
.post-nav__link:hover .post-nav__t { text-decoration: underline; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; }
.post-tags { font-size: var(--text-sm); padding-bottom: var(--space-lg); }

/* ---------- sub-pages of a section ---------- */
.subpages { list-style: none; display: grid; gap: var(--space-sm); grid-template-columns: minmax(0, 1fr); padding: 0; }
/* rows stay balanced: an odd last card takes the full row, four cards make two by two */
@media (min-width: 40em) and (max-width: 59.99em) {
  .subpages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .subpages > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 60em) {
  .subpages { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .subpages > li { grid-column: span 2; }
  .subpages > li:nth-child(3n+1):nth-last-child(2), .subpages > li:nth-child(3n+1):nth-last-child(2) + li { grid-column: span 3; }
  .subpages > li:nth-child(3n+1):last-child { grid-column: 1 / -1; }
  .subpages > li:first-child:nth-last-child(4), .subpages > li:first-child:nth-last-child(4) ~ li { grid-column: span 3; }
}
.subpages a { position: relative; display: grid; gap: var(--space-xs); align-content: start; height: 100%; padding: var(--space-md) var(--space-xl) var(--space-md) var(--space-md);
  border-radius: var(--radius-md); background: var(--color-paper); text-decoration: none; min-height: 44px; }
.subpages__img { display: block; margin: calc(var(--space-md) * -1) calc(var(--space-xl) * -1) var(--space-2xs) calc(var(--space-md) * -1); overflow: hidden; border-radius: var(--radius-md) var(--radius-md) 0 0; aspect-ratio: 16 / 9; }
.subpages__img img { width: 100%; height: 100%; object-fit: cover; }
.subpages__t { font-family: var(--font-display); font-weight: 700; font-size: var(--text-md); line-height: 1.25; }
.subpages__d { font-size: var(--text-sm); color: var(--color-text-soft); }
.subpages__go { position: absolute; right: var(--space-md); bottom: var(--space-md); width: 1.3rem; height: 1.3rem; color: var(--color-ink-70); transition: transform var(--dur-fast) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .subpages a:hover .subpages__go { transform: translateX(4px); } .subpages a:hover .subpages__t { text-decoration: underline; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; } }
.subpages--links { padding-bottom: var(--space-xl); }
.subpages--links a { background: var(--color-stone); }

/* ---------- 404 ---------- */
.nf { display: grid; gap: var(--space-xl); grid-template-columns: minmax(0, 1fr); align-items: center; padding-block: var(--space-xl) var(--space-lg); }
.nf h1 { font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem); margin-bottom: var(--space-xs); }
.nf__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-md); }
.nf__print { justify-self: center; width: min(100%, 22rem); }
@media (min-width: 48em) { .nf { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }

/* ---------- comments ---------- */
.comments { max-width: 44rem; padding-bottom: var(--space-xl); border-top: 1px solid var(--color-rule-strong); padding-top: var(--space-lg); }
.comments__title { font-size: var(--text-lg); }
.comment-list { list-style: none; padding: 0; display: grid; gap: var(--space-md); margin-bottom: var(--space-lg); }
.comment-list .children { list-style: none; padding-left: var(--space-md); margin-top: var(--space-md); display: grid; gap: var(--space-md); border-left: 2px solid var(--color-rule); }
.comment-body { display: grid; gap: var(--space-2xs); }
.comment-meta { font-size: var(--text-sm); color: var(--color-text-soft); display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-sm); align-items: center; }
.comment-author { display: flex; align-items: center; gap: var(--space-xs); color: var(--color-text); }
.comment-author .avatar { border-radius: 50%; }
.comment-author .says { display: none; }
.comment-metadata a { color: inherit; }
.reply a { font-size: var(--text-sm); font-weight: 600; }
.comment-respond { display: grid; gap: var(--space-sm); }
.comment-reply-title { font-size: var(--text-lg); margin: 0; }
.comment-form { display: grid; gap: var(--space-sm); }
.comment-form p { margin: 0; }
.comment-form-comment, .comment-form-author, .comment-form-email, .comment-form-url { display: grid; gap: var(--space-3xs); }
.comment-form label { font-weight: 600; font-size: var(--text-sm); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
  width: 100%; min-height: 3rem; padding: var(--space-2xs) var(--space-xs); border: 1.5px solid var(--color-rule-strong); border-radius: var(--radius-sm);
  background: var(--color-paper); font-size: 1rem; }
.comment-form textarea { min-height: 8rem; }
.comment-form input:focus-visible, .comment-form textarea:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; border-color: var(--color-ink); }
.comment-form .comment-form-cookies-consent { display: flex; gap: var(--space-xs); align-items: flex-start; }
.comment-form .comment-form-cookies-consent input { width: 1.25rem; height: 1.25rem; flex: none; margin: 0.2rem 0 0; accent-color: var(--color-ink); }
.comment-form .comment-form-cookies-consent label { font-weight: 400; font-size: var(--text-sm); cursor: pointer; padding-block: 0.25rem; }
.comment-form .form-submit .btn, .comment-form .form-submit input[type="submit"] { min-height: 3rem; padding: var(--space-xs) var(--space-lg); border: 0; border-radius: var(--radius-pill);
  background: var(--color-ink); color: var(--color-paper); font-weight: 600; font-size: var(--text-base); cursor: pointer; }
.comment-form .form-submit { display: block; }
.required { color: var(--color-ink); }
.comment-notes, .logged-in-as { font-size: var(--text-sm); color: var(--color-text-soft); }
.comments-navigation { display: flex; justify-content: space-between; gap: var(--space-sm); font-size: var(--text-sm); font-weight: 600; }

/* ---------- misc WordPress output ---------- */
.page-links { display: flex; flex-wrap: wrap; gap: var(--space-2xs); margin-top: var(--space-lg); font-weight: 600; }
.sticky .pcard__title::before { content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: var(--space-2xs); border-radius: 50%; background: var(--color-gold); vertical-align: 0.2em; }
.bypostauthor > .comment-body .fn { font-weight: 600; }
.gallery-caption { font-size: var(--text-xs); }

/* ---------- footer: link groups as wrapping rows, spaced apart without separator dots ---------- */
.foot-group { margin-bottom: var(--space-sm); }
.foot-links, .foot-menu__list { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-md); padding: 0; margin: 0; }
.foot-links li, .foot-menu__list li { margin: 0; }
.foot-text .foot-lead { margin-bottom: var(--space-sm); }
.site-footer .linklike { min-height: 44px; }

/* ---------- home: the meeting-place photo sits next to the heading ---------- */
@media (min-width: 60em) { .place__photo { margin-top: var(--space-xs); } }

/* ---------- calendar hint ---------- */
.calv__hint { text-align: center; }

/* ---------- chronicle: events list beside the text on wide screens ---------- */
.post-aside { display: none; }
@media (min-width: 75em) {
  .post-layout { display: grid; grid-template-columns: minmax(0, 48rem) minmax(0, 1fr); gap: var(--space-2xl); align-items: start; }
  .post-aside { display: block; height: 100%; }
  /* the donation ask first, then the list of events, which scrolls on its own and fades at the
     bottom so it is clear there is more */
  .post-aside__inner { position: sticky; top: calc(var(--bar-h) + var(--space-md)); display: grid; gap: var(--space-sm); padding: var(--space-sm) 0 var(--space-md); }
  .toc-scroll { max-height: calc(100vh - var(--bar-h) - 17rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
    scrollbar-color: var(--color-rule-strong) transparent; padding-right: var(--space-2xs);
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 3rem), transparent); mask-image: linear-gradient(to bottom, #000 calc(100% - 3rem), transparent); }
  .toc-scroll::-webkit-scrollbar { width: 6px; }
  .toc-scroll::-webkit-scrollbar-thumb { background: var(--color-rule-strong); border-radius: 3px; }
  .toc-scroll.is-end { -webkit-mask-image: none; mask-image: none; }
}
.toc-more { font-size: var(--text-xs); color: var(--color-text-soft); margin: 0; }
.toc { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--color-rule-strong); }
.toc a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-2xs); padding: var(--space-2xs) 0; border-bottom: var(--rule-hair);
  text-decoration: none; font-size: var(--text-sm); line-height: 1.35; min-height: 44px; align-items: start; }
.toc a:hover span:last-child { text-decoration: underline; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; }
.toc__n { font-family: var(--font-display); font-weight: 700; color: var(--color-muted); font-variant-numeric: lining-nums tabular-nums; }
.aside-ask { display: grid; gap: var(--space-xs); padding: var(--space-md); border-radius: var(--radius-md); background: var(--color-stone); font-size: var(--text-sm); }
.chron-event { scroll-margin-top: calc(var(--bar-h) + var(--space-sm)); }

/* ---------- the video archive page: films as cards, like on the home page ---------- */
.entry .films-grid { list-style: none; padding: 0; display: grid; gap: var(--space-sm); grid-template-columns: minmax(0, 1fr); margin: var(--space-lg) 0; }
@media (min-width: 40em) { .entry .films-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.entry .films-grid .film__poster { min-height: 11rem; border-color: transparent; background: radial-gradient(120% 90% at 85% 10%, var(--color-gold-wash), var(--color-shade-0) 60%), var(--color-ink);
  text-decoration: none; }
.entry .films-grid .film__poster:hover .film__title { text-decoration: underline; text-decoration-color: var(--color-gold); text-decoration-thickness: 2px; }
.entry .films-grid .film__title { color: var(--color-paper); }
.entry .films-grid .film__note { margin-top: auto; padding-top: var(--space-xs); font-size: var(--text-sm); color: var(--color-paper-80); }
.entry .films-grid .film--gone .film__poster { background: var(--color-shade-60); }
.page-video .entry { max-width: 52rem; }
.page-video .page-article > .container { max-width: calc(52rem + 2 * var(--gutter)); }

/* ---------- 404: one clear way home ---------- */
.nf__actions .btn--ink { min-width: 12rem; }
