/**
 * Base element styles + shared layout primitives used by all blocks.
 */
body {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  color: var(--c-copy);
  background: var(--c-background);
  font-family: var(--f-sans);
  font-size: var(--fs-16);
  font-weight: var(--fw-light);
  line-height: 1.5;
  margin: 0;
  text-align: left;
}

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

a { color: var(--c-links); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--f-sans);
  font-weight: var(--fw-light);
  line-height: 1.1;
  margin: 0 0 var(--spacing-24);
}

button { font-family: inherit; cursor: pointer; }

/* Shared centered container — width steps via --container-width token */
.bx-container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}

/* Section vertical rhythm */
.bx-section {
  padding-top: var(--spacing-64);
  padding-bottom: var(--spacing-64);
}
@media (min-width: 80em) {
  .bx-section { padding-top: var(--spacing-96); padding-bottom: var(--spacing-96); }
}

/* Dark-scheme sections flip semantic tokens, children inherit */
.bx-scheme--dark {
  --c-copy: var(--c-white);
  --c-background: var(--c-black);
  --c-links: var(--c-white);
  --c-graphics: var(--c-white);
  --c-button-copy: var(--c-black);
  --c-button-background: var(--c-white);
  color: var(--c-copy);
  background: var(--c-background);
}

/*
 * Sections butt flush against each other (root blockGap is 0, matching the
 * source). Core-paragraph footnotes emitted between sections keep their own
 * breathing room.
 */
.bx-footnote {
	color: var(--c-footnote);
	margin: var(--spacing-24) auto;
	max-width: var(--container-width);
	padding: 0 var(--spacing-24);
}

/* Screen-reader-only utility */
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute; width: 1px; word-wrap: normal !important;
}

/* Skip main site chrome offset for anchored content */
main { display: block; }

/*
 * Global atomics. Blocks emit this markup through shared PHP helpers
 * (bx_singular_link, bx_section_header), so the styles must load on every
 * page — per-block stylesheets only enqueue when their own block is present.
 */
.bx-singular-link {
	align-items: center;
	color: var(--c-links);
	display: inline-flex;
	font-size: var(--fs-16);
	font-weight: var(--fw-medium);
	gap: var(--spacing-16);
	text-decoration: none;
}

.bx-singular-link:hover {
	text-decoration: none;
}

.bx-singular-link:hover .bx-singular-link__icon svg {
	background: var(--c-graphics);
	border-radius: 50%;
	color: var(--c-background);
}

.bx-singular-link__label {
	line-height: 1.3;
}

.bx-singular-link__icon {
	display: inline-flex;
	flex-shrink: 0;
	height: 2.5rem;
	width: 2.5rem;
}

.bx-singular-link__icon svg {
	height: 100%;
	transition: background 0.25s ease, color 0.25s ease;
	width: 100%;
}

.bx-section-header__eyebrow {
	align-items: center;
	display: flex;
	font-size: var(--fs-14);
	font-weight: var(--fw-semibold);
	letter-spacing: 0.08em;
	margin: 0 0 var(--spacing-16);
	text-transform: uppercase;
}

.bx-section-header__heading {
	font-weight: var(--fw-light);
	line-height: 1.12;
	margin: 0;
}
