/*
 * Grimshaw components, mapped onto WordPress block markup.
 * Every colour reads a --gw-* token (assets/css/tokens.css); sizes follow the
 * design system's type, spacing and radius tokens.
 */

:root {
	--gw-gutter: clamp(16px, 4vw, 24px);
	--gw-section-y: 96px;
	--gw-ease: 160ms ease-out;
}

@media (max-width: 600px) {
	:root {
		--gw-section-y: 64px;
	}

	/* Phone steps from the type scale. Defined on body so they beat the :root presets. */
	body {
		--wp--preset--font-size--display: 48px;
		--wp--preset--font-size--heading-2: 30px;
		--wp--preset--font-size--lead: 19px;
	}
}

/* ---------- Base ---------- */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}

::selection {
	background: var(--gw-brand-muted);
	color: var(--gw-text);
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
}

/* Header, main and footer meet edge to edge; bands carry their own padding. */
.wp-site-blocks > * {
	margin-block: 0;
}

.gw-bands > * + * {
	margin-block-start: 0;
}

/* The same in the Site Editor, where template parts sit in the editor's root container. */
.is-root-container > .wp-block-template-part,
.is-root-container > .wp-block-template-part + *,
.is-root-container > * + .wp-block-template-part {
	margin-block: 0;
}

/* Post editor: left-align the title with the content, as on the site. */
.editor-visual-editor__post-title-wrapper > .wp-block-post-title {
	margin-inline-start: 0 !important;
	max-width: var(--wp--custom--width--content) !important;
}

/* Links: 1px underline at a 0.2em offset, 2px on hover. */
a {
	text-underline-offset: 0.2em;
	transition: color var(--gw-ease), text-decoration-thickness var(--gw-ease), background-color var(--gw-ease), border-color var(--gw-ease);
}

a:where(:not(.wp-element-button)):hover {
	text-decoration-thickness: 2px !important;
}

.gw-band a:where(:not(.wp-element-button)) {
	color: var(--gw-on-brand);
}

/* Focus is always visible: a 2px gap, then a 2px ring. White on the crimson band. */
.wp-site-blocks *:focus:not(:focus-visible) {
	outline: none;
}

:where(.wp-site-blocks) :focus-visible,
.skip-link:focus-visible {
	outline: 2px solid transparent;
	outline-offset: 0;
	box-shadow: var(--gw-focus-ring);
	border-radius: 2px;
}

.gw-band :focus-visible {
	box-shadow: var(--gw-focus-ring-on-band);
}

.skip-link.screen-reader-text:focus {
	background: var(--gw-surface);
	color: var(--gw-text);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 600;
	border-radius: 4px;
}

/* ---------- Type styles ---------- */

.is-style-display {
	font-size: var(--wp--preset--font-size--display);
	line-height: 0.974;
	font-weight: 700;
	letter-spacing: -0.03em;
}

@media (max-width: 600px) {
	.is-style-display {
		line-height: 1.0833;
		letter-spacing: -0.025em;
	}
}

.is-style-lead,
.is-style-lead p {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.5;
	max-width: 34em;
	text-wrap: pretty;
}

.is-style-lead p {
	margin: 0;
}

.is-style-meta,
.gw-meta {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--meta);
	line-height: 20px;
	color: var(--gw-text-tertiary);
	font-variant-numeric: tabular-nums;
}

/* Eyebrow: mono caps after a 24px rule in gold. Also used on Post Terms. */
.is-style-eyebrow,
.gw-eyebrow,
.gw-label,
.gw-facts dt {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--eyebrow);
	line-height: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gw-text-tertiary);
}

.is-style-eyebrow::before,
.gw-eyebrow::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 24px;
	height: 1px;
	margin: -2px 12px 0 0;
	background: var(--gw-accent);
}

.is-style-eyebrow a,
.gw-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.is-style-eyebrow a:hover,
.gw-eyebrow a:hover {
	color: var(--gw-text);
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
}

/* Tag: a non-interactive mono label in a pill. */
.is-style-tag {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: fit-content;
	min-height: 26px;
	padding: 0 12px;
	border-radius: 9999px;
	background: var(--gw-surface);
	color: var(--gw-text-secondary);
	box-shadow: inset 0 0 0 1px var(--gw-border);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	line-height: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.gw-band .is-style-tag {
	background: transparent;
	color: var(--gw-on-brand);
	box-shadow: inset 0 0 0 1px var(--gw-on-band-muted);
}

/* ---------- Buttons ---------- */

.wp-element-button,
.wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	white-space: nowrap;
	transition: background-color var(--gw-ease), border-color var(--gw-ease), color var(--gw-ease);
}

.wp-block-button:not(.is-style-outline):not(.is-style-on-band) > .wp-block-button__link:active {
	background-color: var(--gw-brand-active);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: var(--gw-surface);
	border-color: var(--gw-text);
	color: var(--gw-text);
}

.wp-block-button.is-style-outline > .wp-block-button__link:active {
	background-color: var(--gw-surface-sunken);
}

.wp-block-button.is-style-on-band > .wp-block-button__link {
	background-color: var(--gw-band-action);
	color: var(--gw-on-band-action);
}

.wp-block-button.is-style-on-band > .wp-block-button__link:hover {
	background-color: var(--gw-band-action-hover);
	color: var(--gw-on-band-action);
}

/* ---------- Mark and lockup ---------- */

.gw-mark {
	display: block;
	flex: none;
	width: auto;
}

.gw-mark--auto { color: var(--gw-mark); }
.gw-mark--argent { color: var(--gw-on-brand); }
.gw-mark--crimson { color: var(--gw-crimson-600); }
.gw-mark--sable { color: var(--gw-ash-950); }

.gw-lockup {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	text-decoration: none;
	border-radius: 4px;
}

.gw-lockup__name {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 19px;
	line-height: 24px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--gw-text);
}

.gw-band .gw-lockup__name {
	color: var(--gw-on-brand);
}

.gw-lockup:hover .gw-lockup__name {
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.2em;
}

/* ---------- Site header ---------- */

.gw-header:not(.gw-band) {
	border-bottom: 1px solid var(--gw-border-subtle);
}

/* The crimson header and hero read as one field: overlap the seam so no sub-pixel line shows. */
.gw-header.gw-band {
	position: relative;
	z-index: 1;
	box-shadow: 0 1px 0 0 var(--gw-brand-band);
}

.gw-header__row {
	gap: 16px 24px;
	padding-block: 24px;
}

.wp-block-navigation.gw-nav,
.wp-block-navigation.gw-nav .wp-block-navigation__container {
	gap: 4px;
}

.gw-nav .wp-block-navigation-item__content {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 12px !important;
	border-radius: 4px;
	color: inherit;
	text-decoration: none;
	text-underline-offset: 0.35em;
}

.gw-header:not(.gw-band) .gw-nav .wp-block-navigation-item__content {
	color: var(--gw-text);
}

.gw-nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
}

.gw-nav .wp-block-navigation-item__content[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 2px !important;
}

@media (max-width: 600px) {
	.gw-header__row {
		padding-block: 16px;
	}

	/* When the nav wraps under the lockup, align its text with the gutter. */
	.gw-header__row > .wp-block-navigation.gw-nav {
		margin-inline-start: -12px;
	}

	/* A mark-only lockup (the home page) leaves room for the nav on the same row. */
	.gw-header__row:has(.gw-lockup[aria-label]) {
		column-gap: 8px;
	}

	.gw-header__row:has(.gw-lockup[aria-label]) > .wp-block-navigation.gw-nav {
		margin-inline: -8px;
	}

	.gw-header__row:has(.gw-lockup[aria-label]) .gw-nav .wp-block-navigation-item__content {
		padding: 0 8px !important;
	}

	.gw-header__row:has(.gw-lockup[aria-label]) .wp-block-navigation.gw-nav .wp-block-navigation__container {
		gap: 0;
	}
}

/* ---------- Hero ---------- */

.gw-hero {
	padding-block: 48px 96px;
}

.gw-hero__inner > * + * {
	margin-block-start: 24px;
}

.gw-hero__inner > .wp-block-buttons {
	margin-block-start: 32px;
}

.gw-hero .is-style-lead {
	color: var(--gw-on-brand);
}

.gw-hero .wp-block-heading {
	color: var(--gw-on-brand);
}

@media (max-width: 600px) {
	.gw-hero {
		padding-block: 32px 64px;
	}
}

/* ---------- Section bands ---------- */

.gw-section {
	padding-block: var(--gw-section-y);
}

.gw-section--title {
	padding-block-end: 64px;
}

@media (max-width: 600px) {
	.gw-section--title {
		padding-block-end: 48px;
	}
}

.gw-section__inner > .is-style-eyebrow + .wp-block-heading,
.gw-section__inner > .gw-eyebrow + .wp-block-post-title,
.gw-section__inner > .is-style-eyebrow + .wp-block-query-title {
	margin-block-start: 12px;
}

.gw-section__inner > .wp-block-heading + *,
.gw-section__inner > .wp-block-query-title + *,
.gw-section__inner > .gw-entry__title + * {
	margin-block-start: 24px;
}

.gw-section__inner > p:not(.is-style-eyebrow):not(.is-style-tag),
.gw-section__inner > .wp-block-term-description {
	max-width: var(--wp--style--global--content-size);
}

.gw-section__inner > .wp-block-query,
.gw-section__inner > .gw-field,
.gw-section__inner > .gw-filter-links,
.gw-section__inner > .wp-block-search {
	margin-block-start: 40px;
}

.gw-section__inner > .wp-block-heading + .wp-block-query {
	margin-block-start: 40px;
}

.gw-section__inner > .gw-section__actions {
	margin-block-start: 48px;
}

.gw-section__inner > p + .gw-section__actions {
	margin-block-start: 32px;
}

.gw-section__inner > .wp-block-term-description p {
	margin: 0;
}

.wp-block-query-title {
	margin-block: 0;
}

/* ---------- Cards (PostCard, and the project variant) ---------- */

.wp-block-post-template.gw-card-grid {
	gap: 56px 32px;
}

@media (max-width: 600px) {
	.wp-block-post-template.gw-card-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 48px;
	}
}

.gw-card-grid > li {
	display: grid;
	align-content: start;
	gap: 16px;
	min-width: 0;
	margin: 0;
}

.gw-card-grid > li > * {
	margin-block: 0;
}

.gw-card__media {
	aspect-ratio: 3 / 2;
	max-width: 100%;
	overflow: hidden;
	border-radius: 8px;
	background: var(--gw-brand-band);
}

.gw-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.gw-card__media > a {
	display: block;
	height: 100%;
}

/* Projects use owned screenshots, untreated, on a quiet ground with a hairline. */
.gw-card__media--project {
	background: var(--gw-surface);
	outline: 1px solid var(--gw-border-subtle);
	outline-offset: -1px;
}

/* Typographic card: the mark and the title, used when there is no image. */
.gw-typecard {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	height: 100%;
	padding: 24px;
	color: var(--gw-on-brand);
	text-decoration: none;
}

.gw-typecard__title {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 26px;
	line-height: 30px;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-wrap: balance;
	max-width: 16em;
}

.gw-card__media--project .gw-typecard {
	color: var(--gw-text);
}

.gw-card__media--project .gw-typecard__title {
	font-weight: 600;
}

.gw-typecard__stack {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 15px;
	line-height: 22px;
	font-weight: 500;
	color: var(--gw-text-secondary);
}

.gw-typecard__stack li::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 1px;
	margin: -2px 10px 0 0;
	background: var(--gw-accent);
}

.gw-card__body > * {
	margin-block: 0;
}

.gw-card__body > * + * {
	margin-block-start: 8px;
}

.gw-card__meta {
	gap: 0 8px;
}

.gw-card__meta > * {
	margin: 0;
}

.gw-card__title {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: 1.2083;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.gw-card__title a {
	color: var(--gw-text);
	text-decoration: none;
	border-radius: 2px;
}

.gw-card-grid > li:hover .gw-card__title a,
.gw-card__title a:hover {
	color: var(--gw-link);
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.18em;
}

.gw-card__excerpt,
.gw-card__excerpt p {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.5625;
	color: var(--gw-text-secondary);
}

.gw-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

/* ---------- Also built: smaller projects as a compact list ---------- */

/* A hairline marks the band when it follows another band on the page ground. */
.gw-also {
	border-top: 1px solid var(--gw-border-subtle);
}

.gw-row-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--gw-border);
}

.gw-row-list > li {
	display: grid;
	gap: 4px;
	margin: 0;
	padding-block: 24px;
	border-top: 1px solid var(--gw-border);
}

.gw-row-list > li > * {
	margin: 0;
}

/* Facts in a mono column on the left; the name and sentence on the right. */
@media (min-width: 701px) {
	.gw-row-list > li {
		grid-template-columns: 200px minmax(0, 1fr);
		column-gap: 32px;
	}

	.gw-row-list > li > .wp-block-grimshaw-project-meta {
		grid-row: 1 / span 2;
		padding-top: 2px;
	}

	.gw-row-list > li > :not(.wp-block-grimshaw-project-meta) {
		grid-column: 2;
	}
}

.gw-meta__stack {
	display: block;
}

.gw-row__title {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--heading-4);
	line-height: 1.263;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.gw-row__title a {
	color: var(--gw-text);
	text-decoration: none;
	border-radius: 2px;
}

.gw-row__title a:hover {
	color: var(--gw-link);
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 0.18em;
}

.gw-row__excerpt,
.gw-row__excerpt p {
	margin: 0;
	max-width: var(--wp--style--global--content-size);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.5625;
	color: var(--gw-text-secondary);
}

.gw-row__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

/* ---------- Pagination ---------- */

.gw-pagination {
	margin-block-start: 64px;
	padding-block-start: 24px;
	border-top: 1px solid var(--gw-border);
	font-family: var(--wp--preset--font-family--sans);
}

.gw-pagination a,
.gw-pagination .page-numbers {
	color: var(--gw-text);
	text-decoration: none;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	padding: 0 8px;
	border-radius: 4px;
}

.gw-pagination a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
}

.gw-pagination .page-numbers.current {
	text-decoration: underline;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 0.35em;
}

/* ---------- Filter (FilterSelect, or links when there are few options) ---------- */

.gw-field {
	display: grid;
	gap: 8px;
	max-width: 320px;
}

.gw-select {
	position: relative;
}

.gw-select select {
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 0 40px 0 16px;
	border: 1px solid var(--gw-border-strong);
	border-radius: 4px;
	background: var(--gw-surface);
	color: var(--gw-text);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	line-height: 20px;
	font-weight: 500;
	cursor: pointer;
	transition: border-color var(--gw-ease);
}

.gw-select select:hover {
	border-color: var(--gw-text-secondary);
}

.gw-select select:focus-visible {
	outline: 2px solid transparent;
	border-color: var(--gw-text-secondary);
	box-shadow: var(--gw-focus-ring);
}

.gw-select svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--gw-text-secondary);
	pointer-events: none;
}

.gw-filter-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 0 -12px;
	padding: 0;
	list-style: none;
}

.gw-filter-links a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 12px;
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	line-height: 20px;
	font-weight: 500;
	color: var(--gw-text);
	text-decoration: none;
	text-underline-offset: 0.35em;
}

.gw-filter-links a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px !important;
}

.gw-filter-links a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 2px !important;
}

/* ---------- Social links ---------- */

.gw-social {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gw-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	color: var(--gw-text-secondary);
}

.gw-social a:hover {
	color: var(--gw-brand);
}

.gw-social a:focus-visible {
	border-radius: 9999px;
}

.gw-social svg {
	display: block;
	width: 24px;
	height: 24px;
}

.gw-contact__actions .gw-social {
	margin-inline-start: 4px;
}

/* ---------- Footer ---------- */

.gw-footer {
	border-top: 1px solid var(--gw-border-subtle);
}

.gw-footer__row {
	gap: 16px 24px;
	padding-block: 48px;
}

.gw-footer__sign {
	gap: 12px;
	min-width: 0;
}

.gw-footer__sign p {
	margin: 0;
}

.gw-footer .gw-social {
	margin-inline-end: -8px;
}

@media (max-width: 600px) {
	.gw-footer__row {
		padding-block: 40px;
	}
}

/* ---------- Single post, page and project ---------- */

.gw-entry__inner > * + * {
	margin-block-start: 24px;
}

.gw-entry__inner > .gw-entry__meta + .gw-entry__title,
.gw-entry__inner > .gw-eyebrow + .gw-entry__title {
	margin-block-start: 16px;
}

.gw-entry__title {
	text-wrap: balance;
}

.gw-entry__inner > .gw-entry__feature {
	max-width: var(--wp--custom--width--content);
	margin-block-start: 48px;
	border-radius: 8px;
	overflow: hidden;
}

.gw-entry__feature img {
	display: block;
	border-radius: 0;
}

.gw-entry__feature--project {
	outline: 1px solid var(--gw-border-subtle);
	outline-offset: -1px;
}

.gw-entry__inner > .gw-entry__content {
	margin-block-start: 48px;
}

.gw-entry__inner > .gw-entry__title + .gw-entry__content,
.gw-entry__inner > .gw-entry__content:first-child {
	margin-block-start: 32px;
}

.gw-entry__inner > .wp-block-grimshaw-project-meta {
	margin-block-start: 40px;
}

/* Project facts: a row of labelled values between hairlines. */
.gw-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 24px 32px;
	margin: 0;
	padding-block: 24px;
	border-block: 1px solid var(--gw-border);
}

.gw-facts > div {
	min-width: 0;
}

.gw-facts dd {
	margin: 8px 0 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	line-height: 22px;
	font-weight: 500;
	color: var(--gw-text);
}

.gw-link {
	color: var(--gw-link);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	border-radius: 2px;
}

.gw-link:hover {
	color: var(--gw-link-hover);
}

.gw-link__ext {
	display: inline-block;
	margin-left: 0.15em;
	font-size: 0.85em;
	text-decoration: none;
}

/* Running text in posts, pages and projects. */
.gw-entry__content > * + * {
	margin-block-start: 16px;
}

.gw-entry__content > h2,
.gw-entry__content > h3,
.gw-entry__content > h4 {
	margin-block-start: 48px;
}

.gw-entry__content > h2 + *,
.gw-entry__content > h3 + *,
.gw-entry__content > h4 + * {
	margin-block-start: 12px;
}

.gw-entry__content h2 {
	font-size: 30px;
	line-height: 34px;
}

.gw-entry__content strong {
	font-weight: 600;
	color: var(--gw-text);
}

.gw-entry__content ul,
.gw-entry__content ol {
	padding-inline-start: 1.25em;
}

.gw-entry__content li::marker {
	color: var(--gw-text-tertiary);
}

.gw-entry__content > .wp-block-quote,
.gw-entry__content > .wp-block-pullquote,
.gw-entry__content > figure,
.gw-entry__content > .wp-block-separator,
.gw-entry__content > hr {
	margin-block: 40px;
}

/* Columns and groups in posts usually hold running text, so they follow the
   paragraph rhythm. Spacing set on the block itself (like a zero margin or a
   zero column gap from the old theme) would otherwise run text into its neighbours. */
.gw-entry__content > .wp-block-columns,
.gw-entry__content > .wp-block-group {
	margin-block: 16px 0 !important;
}

.gw-entry__content .wp-block-columns {
	column-gap: var(--wp--preset--spacing--6) !important;
}

.gw-entry__content img {
	border-radius: 8px;
	height: auto;
}

.gw-entry__content figcaption {
	margin-block-start: 8px;
}

.gw-entry__content :not(pre) > code {
	padding: 0.1em 0.3em;
	border-radius: 4px;
	background: var(--gw-surface-sunken);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.85em;
	color: var(--gw-text);
}

.gw-entry__content hr,
.gw-entry__content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--gw-border-subtle);
	opacity: 1;
}

.gw-entry__content .wp-block-spacer {
	display: none;
}

.gw-entry__content table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}

.gw-entry__content th,
.gw-entry__content td {
	padding: 8px 12px 8px 0;
	border-bottom: 1px solid var(--gw-border);
	text-align: left;
}

/* ---------- Search ---------- */

.gw-search {
	max-width: 480px;
}

.gw-search .wp-block-search__button {
	min-height: 44px;
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
	}
}
