/* ============================================================
   Saskatchewan Herald — "modern broadsheet"
   Ink, newsprint, one gold. Five colour tokens, one spacing
   scale, no radii, no drop shadows.
   Per site-elevation brief references/sask-herald.md.
   ============================================================ */

:root {
  /* the five */
  --ink:    #1C1A17;                 /* press ink */
  --paper:  #FBFAF7;                 /* newsprint */
  --gold:   #8C6A1F;                 /* press gold — ticker, tags, links, progress only */
  --muted:  #77726A;                 /* graphite */
  --line:   rgba(28, 26, 23, .14);   /* hairline column rules */

  /* derived from the five, not new colours */
  --ink-2:      rgba(28, 26, 23, .82);
  --paper-2:    #F4F2ED;
  --line-heavy: rgba(28, 26, 23, .55);
  --gold-wash:  rgba(140, 106, 31, .10);

  /* spacing scale: 8 / 16 / 24 / 40 / 64 / 96 */
  --s1: .5rem;
  --s2: 1rem;
  --s3: 1.5rem;
  --s4: 2.5rem;
  --s5: 4rem;
  --s6: 6rem;

  --measure: 65ch;
  --shell: 74rem;

  --ease-out: cubic-bezier(.22, 1, .36, 1);

  /* The masthead is a fixed dark surface in both themes — Jamie's black bar —
     so these do not flip. Stated once rather than as six scattered greys. */
  --mast-ink:   #1C1A17;
  --mast-nav:   #23201A;
  --mast-paper: #FBFAF7;
  --mast-dim:   rgba(251, 250, 247, .58);
  --mast-mid:   rgba(251, 250, 247, .74);
  --mast-line:  rgba(251, 250, 247, .14);
}

/* dark = the same tokens inverted, gold brightened per brief */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ink:    #F2F0EB;
    --paper:  #16150F;
    --gold:   #D9B35E;
    --muted:  #9A948A;
    --line:   rgba(242, 240, 235, .16);

    --ink-2:      rgba(242, 240, 235, .80);
    --paper-2:    #1E1C16;
    --line-heavy: rgba(242, 240, 235, .60);
    --gold-wash:  rgba(217, 179, 94, .12);
  }
}

:root[data-theme="dark"] {
  --ink:    #F2F0EB;
  --paper:  #16150F;
  --gold:   #D9B35E;
  --muted:  #9A948A;
  --line:   rgba(242, 240, 235, .16);

  --ink-2:      rgba(242, 240, 235, .80);
  --paper-2:    #1E1C16;
  --line-heavy: rgba(242, 240, 235, .60);
  --gold-wash:  rgba(217, 179, 94, .12);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  /* the sticky nav must not cover an anchored heading */
  scroll-padding-top: 4rem;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Source Serif 4", ui-serif, Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.shell {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 var(--s3);
}

/* ---------- type ---------- */

h1, h2, h3, h4, .display {
  font-family: "Source Serif 4", ui-serif, Georgia, serif;
  font-weight: 700;
  letter-spacing: -.014em;
  line-height: 1.05;
  text-wrap: balance;
  margin: 0;
  color: var(--ink);
}

.mono, .kicker, .meta, time, .label {
  font-family: "Libre Franklin", ui-sans-serif, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
}

.kicker {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
}

.meta {
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}

a { color: inherit; text-decoration-color: var(--line); text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--gold); }

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

img { max-width: 100%; height: auto; display: block; }

hr { border: none; border-top: 1px solid var(--line); margin: 0; }

/* the heavy broadsheet rule */
.rule-hard { border: none; border-top: 2.5px solid var(--line-heavy); margin: 0; }

/* ---------- skip link ---------- */
.skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--ink);
  color: var(--paper);
  padding: .7rem 1.1rem;
  z-index: 100;
  font-family: "Libre Franklin", ui-sans-serif, Arial, sans-serif;
  font-size: .8rem;
}
.skip:focus { left: 0; }

/* ---------- prose ---------- */

.prose {
  max-width: var(--measure);
  font-size: 1.16rem;
  line-height: 1.68;
  color: var(--ink-2);
}
/* Spacing lives on one selector only. An earlier `.prose p { margin: 0 }` had
   higher specificity than `.prose > * + *` and silently zeroed every gap. */
.prose > * { margin: 0 0 1.35rem; }

/* Drop cap on the lead paragraph, per the broadsheet brief. Sized off the
   body leading so the cap sits on the third baseline rather than floating. */
.prose > p:first-of-type { color: var(--ink); }
.prose > p:first-of-type::first-letter {
  float: left;
  font-family: "Source Serif 4", ui-serif, Georgia, serif;
  font-weight: 700;
  font-size: 3.9em;
  line-height: .82;
  padding: .06em .09em 0 0;
  color: var(--ink);
}
.prose > *:last-child { margin-bottom: 0; }
.prose strong { color: var(--ink); font-weight: 600; }
.prose em { font-style: italic; }
.prose a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); }

.prose > h2, .prose > h3 {
  margin-top: 2.7rem;
  margin-bottom: .75rem;
  color: var(--ink);
}
.prose h2 { font-size: 1.5rem; }
.prose h3 { font-size: 1.2rem; }

.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li + li { margin-top: .45rem; }

.prose blockquote {
  padding-left: 1.3rem;
  border-left: 3px solid var(--gold);
  font-style: italic;
  color: var(--ink);
}

.prose > p > img,
.prose > img {
  margin: 2rem auto;
  border: 1px solid var(--line);
}

.prose figcaption,
.prose .wp-caption-text {
  font-family: "Libre Franklin", ui-sans-serif, Arial, sans-serif;
  font-size: .74rem;
  line-height: 1.45;
  color: var(--muted);
}

/* ============================================================
   MOTION LAYER
   All motion is scroll-driven CSS — no animation library, no
   scroll listeners, no added JavaScript. Everything sits behind
   @supports so browsers without scroll timelines get the static
   page exactly as it was, with nothing hidden.
   ============================================================ */

/* Reveals latch: they play once and stay put. Guarded behind .js-motion so
   nothing is ever hidden when the script has not run. */
.js-motion [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s var(--ease-out), transform .65s var(--ease-out);
}
.js-motion [data-reveal].is-in { opacity: 1; transform: none; }

/* Bottom-up wipe for images, 600ms, once. */
.js-motion [data-reveal="wipe"] {
  opacity: 1;
  transform: none;
  clip-path: inset(100% 0 0 0);
  transition: clip-path .6s var(--ease-out);
}
.js-motion [data-reveal="wipe"].is-in { clip-path: inset(0 0 0 0); }


/* A parallax frame: the image is oversized inside a clipping box and
   drifts against the scroll. Scale is on the image at rest too, so
   the crop never changes when motion is off. */
.m-parallax {
  overflow: hidden;
  position: relative;
}
.m-parallax > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}

/* When the source is far taller than its frame there is already plenty of
   vertical overflow to drift through, so no zoom is needed — and no zoom means
   nothing is cropped horizontally. Used for the front-page scan, whose own
   masthead runs edge to edge. */
.m-parallax.m-parallax--tall > img { transform: none; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .m-parallax.m-parallax--tall > img {
      transform: none;
      animation: m-drift-tall linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
    @keyframes m-drift-tall {
      from { transform: translateY(-6%); }
      to   { transform: translateY(6%); }
    }
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .m-parallax > img {
      transform: scale(1.08);
      animation: m-drift linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
    @keyframes m-drift {
      from { transform: translateY(-3%) scale(1.08); }
      to   { transform: translateY(3%) scale(1.08); }
    }
  }
}

/* One entrance on load: the masthead settles, then the hero. Nothing else
   animates in, so it reads as the page arriving rather than as decoration. */
@media (prefers-reduced-motion: no-preference) {
  .m-enter {
    animation: m-enter .85s var(--ease-out) both;
  }
  .m-enter-late { animation-delay: .1s; }
  @keyframes m-enter {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: none; }
  }
}

/* ---------- gradient type ----------
   Ink into harvest gold, drifting slowly. Guarded: without background-clip
   the text would be transparent, i.e. invisible, so the colour only goes
   away inside the @supports. */
/* background-clip: text paints only inside the element's background box. With
   the h1 line-height at 1.05 the descenders of p, y, g fall outside it and get
   no paint, so they render as cut off. Extra bottom padding grows the paint
   area; the looser leading keeps two-line headings off each other. */
.grad-text {
  color: var(--ink);
  padding-bottom: .14em;
  line-height: 1.12;
}

@supports (-webkit-background-clip: text) or (background-clip: text) {
  .grad-text {
    /* Gold band sits inside the visible window at every position, so the
       heading reads as a gradient the moment it paints rather than only
       part-way through the drift. */
    background-image: linear-gradient(
      96deg,
      var(--ink) 0%,
      var(--gold) 34%,
      var(--gold) 52%,
      var(--gold) 68%,
      var(--ink) 100%
    );
    background-size: 155% 100%;
    background-position: 0% 0;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
  @media (prefers-reduced-motion: no-preference) {
    .grad-text { animation: grad-drift 16s ease-in-out infinite alternate; }
    @keyframes grad-drift {
      to { background-position: 100% 0; }
    }
  }
}

/* ---------- print grain ----------
   A newspaper is printed on paper. Barely-there tooth over the whole page,
   sitting under the nav so chrome stays crisp. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .03;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body::after { opacity: .05; }
}
:root[data-theme="dark"] body::after { opacity: .05; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  /* the blunt reset above does not stop a scroll timeline */
  .m-draw, .m-parallax > img, .m-parallax.m-parallax--tall > img { animation-timeline: none !important; }
  .m-parallax.m-parallax--tall > img { transform: none !important; }
  .m-enter { animation: none !important; opacity: 1 !important; transform: none !important; }
  .grad-text { animation: none !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .m-draw { transform: none !important; }
}
.mast-shell[data-astro-cid-v3lsk6py] {
  position: sticky;
  top: 0;
  z-index: 40;
}

.mast[data-astro-cid-v3lsk6py] {
  background: var(--mast-ink);
}

.mast-bar[data-astro-cid-v3lsk6py], .logo[data-astro-cid-v3lsk6py] {
  transition: padding .3s var(--ease-out), width .3s var(--ease-out);
}

.is-compact[data-astro-cid-v3lsk6py] .mast-bar[data-astro-cid-v3lsk6py] {
  padding: var(--s1) 0;
}

.is-compact[data-astro-cid-v3lsk6py] .logo[data-astro-cid-v3lsk6py] {
  width: clamp(12rem, 28vw, 19rem);
}

.mast-bar[data-astro-cid-v3lsk6py] {
  background: var(--mast-ink);
  padding: var(--s3) 0 0;
}

.mast-inner[data-astro-cid-v3lsk6py] {
  display: flex;
  justify-content: center;
}

.dateline[data-astro-cid-v3lsk6py] {
  margin: var(--s2) auto 0;
  padding: .8rem var(--s3);
  max-width: var(--shell);
  border-top: 1px solid var(--mast-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0 .85rem;
  font-family: Libre Franklin, ui-sans-serif, Arial, sans-serif;
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mast-dim);
  font-variant-numeric: tabular-nums;
}

.motto[data-astro-cid-v3lsk6py] {
  font-weight: 700;
  color: var(--mast-mid);
  white-space: nowrap;
}

.dateline-sep[data-astro-cid-v3lsk6py] {
  color: var(--mast-dim);
}

.dateline-date[data-astro-cid-v3lsk6py] {
  white-space: nowrap;
}

@media (width <= 720px) {
  .dateline[data-astro-cid-v3lsk6py] {
    gap: .15rem;
    padding: .7rem var(--s3);
  }

  .dateline-sep[data-astro-cid-v3lsk6py] {
    display: none;
  }

  .motto[data-astro-cid-v3lsk6py], .dateline-date[data-astro-cid-v3lsk6py] {
    flex-basis: 100%;
    text-align: center;
  }

  .motto[data-astro-cid-v3lsk6py] {
    font-size: .66rem;
  }

  .dateline-date[data-astro-cid-v3lsk6py] {
    font-size: .62rem;
  }
}

.mast-date[data-astro-cid-v3lsk6py], .mast-place[data-astro-cid-v3lsk6py] {
  font-family: Libre Franklin, ui-sans-serif, Arial, sans-serif;
  font-size: .66rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mast-dim);
  white-space: nowrap;
}

.mast-place[data-astro-cid-v3lsk6py] {
  text-align: right;
  color: var(--gold);
}

.logo-wrap[data-astro-cid-v3lsk6py] {
  display: block;
  margin: 0;
  justify-self: center;
  line-height: 0;
}

.logo[data-astro-cid-v3lsk6py] {
  width: clamp(17rem, 46vw, 33rem);
  height: auto;
}

a[data-astro-cid-v3lsk6py].logo-wrap {
  transition: opacity .15s;
}

a[data-astro-cid-v3lsk6py].logo-wrap:hover {
  opacity: .78;
}

.mast-nav[data-astro-cid-v3lsk6py] {
  background: var(--mast-nav);
  border-top: 1px solid var(--mast-line);
  border-bottom: 1px solid var(--mast-line);
}

.nav-inner[data-astro-cid-v3lsk6py] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.nav-menu[data-astro-cid-v3lsk6py] {
  position: relative;
}

.nav-menu[data-astro-cid-v3lsk6py] summary[data-astro-cid-v3lsk6py] {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  cursor: pointer;
  list-style: none;
}

.nav-menu[data-astro-cid-v3lsk6py] summary[data-astro-cid-v3lsk6py]::-webkit-details-marker {
  display: none;
}

.chev[data-astro-cid-v3lsk6py] {
  width: .5rem;
  height: auto;
  transition: transform .2s var(--ease-out);
}

.nav-menu[data-astro-cid-v3lsk6py][open] .chev[data-astro-cid-v3lsk6py] {
  transform: rotate(180deg);
}

.nav-menu[data-astro-cid-v3lsk6py][open] > summary[data-astro-cid-v3lsk6py] {
  color: var(--gold);
}

.nav-pop[data-astro-cid-v3lsk6py] {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  min-width: 15rem;
  padding: .4rem 0;
  background: var(--mast-nav);
  border: 1px solid var(--mast-line);
  text-align: left;
}

.nav-pop[data-astro-cid-v3lsk6py] ul[data-astro-cid-v3lsk6py] {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-pop[data-astro-cid-v3lsk6py] a[data-astro-cid-v3lsk6py] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s2);
  padding: .5rem .9rem;
  font-family: Libre Franklin, ui-sans-serif, Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--mast-mid);
  white-space: nowrap;
}

.nav-pop[data-astro-cid-v3lsk6py] a[data-astro-cid-v3lsk6py]:hover {
  color: var(--mast-paper);
  background: #fbfaf70f;
}

.pop-n[data-astro-cid-v3lsk6py] {
  color: var(--mast-dim);
  font-variant-numeric: tabular-nums;
}

.pop-all[data-astro-cid-v3lsk6py] {
  border-top: 1px solid var(--mast-line);
  margin-top: .35rem;
  padding-top: .6rem !important;
  color: var(--gold) !important;
}

.nav-cat-link[data-astro-cid-v3lsk6py] {
  display: none;
}

@media (width <= 720px) {
  .nav-menu[data-astro-cid-v3lsk6py] {
    display: none;
  }

  .nav-cat-link[data-astro-cid-v3lsk6py] {
    display: inline-flex;
  }

  .nav-inner[data-astro-cid-v3lsk6py] {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x proximity;
    -webkit-mask-image: linear-gradient(90deg, #0000, #000 1.25rem calc(100% - 1.25rem), #0000);
    mask-image: linear-gradient(90deg, #0000, #000 1.25rem calc(100% - 1.25rem), #0000);
  }

  .nav-inner[data-astro-cid-v3lsk6py]::-webkit-scrollbar {
    display: none;
  }

  .nav-link[data-astro-cid-v3lsk6py] {
    flex: none;
    scroll-snap-align: start;
    padding: .75rem .7rem;
    font-size: .68rem;
    letter-spacing: .1em;
  }

  .nav-link[data-astro-cid-v3lsk6py]:first-child {
    margin-left: .55rem;
  }

  .nav-link[data-astro-cid-v3lsk6py]:last-child {
    margin-right: .55rem;
  }
}

.nav-link[data-astro-cid-v3lsk6py] {
  font-family: Libre Franklin, ui-sans-serif, Arial, sans-serif;
  font-size: .74rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--mast-mid);
  padding: .8rem 1.3rem;
  border-bottom: 2px solid #0000;
}

.nav-link[data-astro-cid-v3lsk6py]:hover {
  color: var(--mast-paper);
}

.nav-link[data-astro-cid-v3lsk6py].on {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

.nav-link[data-astro-cid-v3lsk6py] span[data-astro-cid-v3lsk6py] {
  display: inline-block;
  position: relative;
}

.nav-link[data-astro-cid-v3lsk6py] span[data-astro-cid-v3lsk6py]:after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -.32rem;
  height: 1px;
  background: var(--gold);
  transition: left .3s var(--ease-out), right .3s var(--ease-out);
}

.nav-link[data-astro-cid-v3lsk6py]:hover span[data-astro-cid-v3lsk6py]:after {
  left: 0;
  right: 0;
}

.nav-link[data-astro-cid-v3lsk6py].on span[data-astro-cid-v3lsk6py]:after {
  display: none;
}

.nav-progress[data-astro-cid-v3lsk6py] {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    .nav-progress[data-astro-cid-v3lsk6py] {
      display: block;
      position: absolute;
      left: 0;
      bottom: -1px;
      height: 2px;
      width: 100%;
      background: var(--gold);
      transform-origin: 0;
      animation: linear both nav-progress;
      animation-timeline: scroll(root);
    }

    @keyframes nav-progress {
      from {
        transform: scaleX(0);
      }

      to {
        transform: scaleX(1);
      }
    }
  }
}

@media (width <= 720px) {
  .mast-bar[data-astro-cid-v3lsk6py] {
    padding: .8rem 0 .9rem;
  }

  .mast-inner[data-astro-cid-v3lsk6py] {
    grid-template-columns: 1fr;
    gap: .7rem;
  }

  .mast-date[data-astro-cid-v3lsk6py], .mast-place[data-astro-cid-v3lsk6py] {
    text-align: center;
    font-size: .6rem;
  }

  .logo[data-astro-cid-v3lsk6py] {
    width: min(86vw, 22rem);
  }

  .nav-link[data-astro-cid-v3lsk6py] {
    padding: .8rem .85rem;
    font-size: .68rem;
    letter-spacing: .1em;
  }
}
.foot[data-astro-cid-nns7i3if] {
  margin-top: 5rem;
  background: var(--paper-2);
}

.foot-grid[data-astro-cid-nns7i3if] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--s4);
  padding: var(--s5) 0 var(--s4);
}

.foot-h[data-astro-cid-nns7i3if] {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .9rem;
}

.foot-p[data-astro-cid-nns7i3if] {
  margin: 0 0 .9rem;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 24rem;
}

.foot-dl[data-astro-cid-nns7i3if] {
  margin: 0;
  display: grid;
  gap: .1rem;
}

.foot-dl[data-astro-cid-nns7i3if] dt[data-astro-cid-nns7i3if] {
  margin-top: .6rem;
}

.foot-dl[data-astro-cid-nns7i3if] dt[data-astro-cid-nns7i3if]:first-child {
  margin-top: 0;
}

.foot-dl[data-astro-cid-nns7i3if] dd[data-astro-cid-nns7i3if] {
  margin: 0;
  font-size: .95rem;
  color: var(--ink);
}

.foot-dl[data-astro-cid-nns7i3if] dd[data-astro-cid-nns7i3if].gap {
  color: var(--muted);
  font-style: italic;
  font-size: .88rem;
}

.foot-mail[data-astro-cid-nns7i3if] {
  font-family: Libre Franklin, ui-sans-serif, Arial, sans-serif;
  font-size: .84rem;
  color: var(--ink);
  text-decoration-color: var(--gold);
}

.foot-rss[data-astro-cid-nns7i3if] {
  text-decoration-color: var(--gold);
}

.foot-links[data-astro-cid-nns7i3if] {
  margin: .9rem 0 0;
  font-size: .9rem;
  color: var(--muted);
}

.foot-note[data-astro-cid-nns7i3if] {
  margin: 0 0 1.5rem;
  padding: var(--s3);
  border-left: 3px solid var(--gold);
  background: var(--gold-wash);
  font-size: .88rem;
  color: var(--ink-2);
}

.foot-base[data-astro-cid-nns7i3if] {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1.5rem;
  padding: 1.1rem 0 2.5rem;
  border-top: 1px solid var(--line);
}
