/* 2.8: typography belongs to the block, not its surrounding section. */
.wp-block-heading.is-style-mosaiek-display {
  margin: 0; color: var(--ink); font-family: var(--serif); font-style: italic;
  font-weight: 900; font-size: clamp(88px, 15vw, 220px); line-height: .82; letter-spacing: -.1em;
}
.wp-block-heading.is-style-mosaiek-script,
.wp-block-heading.is-style-mosaiek-script-light {
  margin: 0 0 clamp(32px, 5vw, 64px); color: var(--blue); font-family: var(--serif);
  font-style: italic; font-weight: 900; font-size: clamp(70px, 13vw, 190px);
  line-height: .85; letter-spacing: -.1em; pointer-events: auto; max-width: none;
}
.wp-block-heading.is-style-mosaiek-title {
  margin: 0 0 24px; font-family: var(--sans); font-style: normal; font-weight: 900;
  font-size: clamp(62px, 8vw, 136px); line-height: .9; letter-spacing: -.045em;
}
.wp-block-heading.is-style-mosaiek-subheading {
  margin: 0 0 18px; font-family: var(--sans); font-style: normal; font-weight: 900;
  font-size: clamp(34px, 5vw, 72px); line-height: .95; letter-spacing: -.065em;
}
p.is-style-mosaiek-lead { font-family: var(--sans); font-size: clamp(26px, 3.2vw, 47px); line-height: 1.08; font-weight: 850; }
p.is-style-mosaiek-intro { font-family: var(--sans); font-size: clamp(18px, 2vw, 27px); line-height: 1.25; }
p.is-style-mosaiek-body { font-family: var(--sans); font-size: clamp(18px, 1.35vw, 21px); font-weight: 500; line-height: 1.34; letter-spacing: 0; }
p.is-style-mosaiek-note { color: var(--muted); font-family: var(--sans); font-size: 12px; font-weight: 650; font-style: normal; line-height: 1.25; letter-spacing: 0; }

/* Native columns retain Gutenberg's saved widths. The section handles menu clearance. */
.wp-block-group.mosaiek-layout-section { display: block; }
.wp-block-columns.mosaiek-columns,
.mosaiek-block-page .wp-block-columns.mosaiek-columns,
.mosaiek-block-content .wp-block-columns.mosaiek-columns {
  display: flex; flex-wrap: nowrap; gap: var(--wp--style--block-gap, clamp(24px, 4vw, 64px));
  min-width: 0; grid-template-columns: none;
}
.wp-block-columns.mosaiek-columns > .wp-block-column { max-width: none; min-width: 0; flex-grow: 1; flex-shrink: 1; overflow-wrap: break-word; }
.wp-block-columns.mosaiek-columns > .wp-block-column:not([style*="flex-basis"]) { flex-basis: 0; }
.wp-block-columns.mosaiek-columns.contact-hero-copy { align-items: flex-end; padding-left: 0; }
.wp-block-columns.mosaiek-columns.about-hero-notes { align-items: flex-start; }
.wp-block-columns.mosaiek-columns > .wp-block-column > :first-child { margin-top: 0; }
.wp-block-columns.mosaiek-columns > .wp-block-column > :last-child { margin-bottom: 0; }
@media (max-width: 781px) {
  .wp-block-columns.mosaiek-columns:not(.is-not-stacked-on-mobile),
  .mosaiek-block-page .wp-block-columns.mosaiek-columns:not(.is-not-stacked-on-mobile),
  .mosaiek-block-content .wp-block-columns.mosaiek-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap; }
  .wp-block-columns.mosaiek-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
  .wp-block-heading.is-style-mosaiek-display { font-size: clamp(76px, 24vw, 150px); }
  .wp-block-heading.is-style-mosaiek-script,
  .wp-block-heading.is-style-mosaiek-script-light { font-size: clamp(60px, 18vw, 120px); }
}

/* Loose blocks remain clear of navigation after a section is ungrouped. */
.mosaiek-block-page > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote):not(.alignfull),
.mosaiek-block-page > .wp-block-columns:not(.article-section):not(.alignfull) {
  margin-left: calc(var(--side) + var(--gutter));
  margin-right: var(--gutter);
}
@media (max-width: 860px) {
  .mosaiek-block-page > :is(h1, h2, h3, h4, h5, h6, p, ul, ol, blockquote):not(.alignfull),
  .mosaiek-block-page > .wp-block-columns:not(.article-section):not(.alignfull) { margin-left: var(--gutter); }
}

.wp-block-heading.is-style-mosaiek-script-light { color: white; }
