/* SCENZ shared refinements: readable display type and fully visible wordmarks. */
body main h1,
body main h2 { letter-spacing: .008em !important; }

/* Headings take the text colour of the section they sit in. Blocksy paints every heading with its
   light palette tone, which made headings vanish on the paper-coloured sections (2026-09-25). */
body main { --theme-headings-color: currentColor; }

/* Line breaks. Body text wraps normally: Safari 26 applies `pretty` by shortening every line of a Chinese paragraph,
   which left paragraphs visibly narrower than their headings (2026-09-26). Headings keep `pretty` so no single
   character is left alone on the last line; browsers skip `balance` when a heading contains a forced break. */
body main,
body .site-footer { text-wrap: wrap; }
body main :is(h1, h2, h3, h4),
body .site-footer :is(h2, h3) { text-wrap: pretty; }
body main :is(h1, h2, h3, h4):has(br) { text-wrap: pretty !important; }
body main a[href^="mailto:"] { white-space: nowrap; }

/* Keep the works statement inside the stage at wide desktop widths. */
body.scenz-works .works-hero h1 {
  max-width: min(100%, 1060px);
  font-size: clamp(3.2rem, 5.2vw, 6rem);
}

/* Decorative SCENZ signatures should read as whole words. */
body.scenz-trends .journal-hero::before {
  right: var(--side);
  bottom: 7rem;
  font-size: min(20vw, 28rem);
  letter-spacing: -.075em;
}
body.scenz-about .about-board-shadow {
  right: .35rem;
  bottom: 0;
  font-size: clamp(4rem, 9vw, 9rem);
  letter-spacing: -.075em;
}
.footer-wordmark {
  right: max(var(--side), calc((100vw - 1500px) / 2));
  bottom: 0;
  font-size: clamp(11rem, 24vw, 27rem);
  letter-spacing: -.075em;
}

/* The three application cards keep their own nodes without a line through the labels. */
body.scenz-works .software-flow::before { display: none; }

@media (max-width: 920px) {
  body.scenz-works .works-hero h1 { font-size: clamp(3.2rem, 7vw, 5rem); }
}

@media (max-width: 640px) {
  .site-footer { display: grid; grid-template-columns: minmax(0, 1fr); }
  body main h1,
  body main h2 { letter-spacing: .025em !important; }
  body.scenz-works .works-hero h1 { font-size: clamp(2.75rem, 10vw, 4rem); }
  body.scenz-about .about-hero h1 { font-size: clamp(1.65rem, 8.35vw, 3.5rem); }
  body.scenz-contact .contact-directions h2 { font-size: clamp(2.25rem, 9vw, 3.8rem); }
  body.scenz-trends .journal-hero::before { right: var(--side); bottom: 6rem; font-size: 19vw; }

  .footer-top { grid-area: 1 / 1; column-gap: 1.1rem; row-gap: 2.5rem; padding-bottom: 1rem; }
  .footer-editorial,
  .footer-contact { grid-column: auto; }
  .footer-contact { align-items: flex-start; }
  .footer-contact p,
  .footer-contact > small,
  .footer-contact .footer-form-link { display: none; }
  .footer-contact .footer-email { max-width: 100%; font-size: .72rem; overflow-wrap: anywhere; }
  .footer-column h2 { margin-bottom: .65rem; }
  .footer-wordmark {
    position: relative;
    grid-area: 1 / 1;
    align-self: end;
    justify-self: center;
    z-index: 0;
    right: auto;
    bottom: auto;
    display: block;
    width: calc(100% - var(--side) * 2);
    margin: 0;
    color: rgba(236, 244, 240, .075);
    font-size: min(20vw, 7rem);
    letter-spacing: -.06em;
    line-height: 1.08;
    text-align: center;
  }
  .footer-bottom { grid-area: 2 / 1; align-items: center; justify-content: center; gap: .45rem; text-align: center; }
  .footer-bottom span { display: block; width: 100%; }
}

/* Search-facing keyword line inside each page H1. The display headline keeps its styling. */
body main h1 > .h1-kicker {
  display: block;
  max-width: 100%;
  margin: 0 0 1.15rem;
  color: inherit !important;
  opacity: .78;
  font-family: var(--font-display);
  font-size: clamp(.9rem, 1.05vw, 1.06rem) !important;
  font-weight: 700;
  letter-spacing: .1em !important;
  line-height: 1.6;
  text-wrap: balance;
}
@media (max-width: 640px) {
  body main h1 > .h1-kicker { margin-bottom: .85rem; font-size: .8rem !important; letter-spacing: .05em !important; }
}
