/* Component and layout styles that theme.json can't express. Colors, type, and spacing come from theme.json presets. */

:root {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Small uppercase mono label used above headings ("eyebrow"). */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-soft);
}

.site-header {
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.site-header .wp-block-site-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.site-header .wp-block-navigation a {
	text-decoration: none;
}

.site-header .wp-block-navigation__submenu-container {
	min-width: 260px;
	padding: 0.5rem 0;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: var(--wp--custom--radius--small);
	box-shadow: 0 16px 32px -16px rgba(15, 15, 26, 0.25);
}

.site-header .wp-block-navigation__submenu-container a {
	padding: 0.45rem 1rem;
}

@media (max-width: 781px) {
	.site-header__cta {
		display: none;
	}
}

.site-footer {
	border-top: 1px solid var(--wp--preset--color--rule);
	color: var(--wp--preset--color--ink-mute);
}

.site-footer a {
	color: inherit;
}

.site-footer__label,
.site-office__label {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	margin-bottom: 0.5rem;
}

.site-footer .wp-block-navigation {
	gap: 0.4rem 1.25rem;
}

.site-offices {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1.5rem;
}

.site-office p {
	margin: 0;
}

.site-footer__base {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--rule);
}

/* Contact form (markup from the site-core mu-plugin). */
.site-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.25rem;
}

.site-form__row {
	display: grid;
	gap: 0.35rem;
	margin: 0 0 1rem;
}

.site-form__row--full,
.site-form__notice {
	grid-column: 1 / -1;
}

.site-form label {
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
}

.site-form label span {
	font-weight: 400;
	color: var(--wp--preset--color--ink-mute);
}

.site-form input,
.site-form textarea {
	font: inherit;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: var(--wp--custom--radius--small);
	background: var(--wp--preset--color--base);
}

.site-form input:focus,
.site-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--brand-soft);
	outline-offset: 1px;
}

.site-form__notice {
	padding: 0.9rem 1rem;
	border-radius: var(--wp--custom--radius--small);
	margin-bottom: 1rem;
}

.site-form__notice--ok {
	background: var(--wp--preset--color--brand-tint);
}

.site-form__notice--error {
	background: #FDECEC;
	color: #8A1C1C;
}

@media (max-width: 600px) {
	.site-form {
		grid-template-columns: 1fr;
	}
}

:where(.wp-site-blocks) :focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-soft);
	outline-offset: 2px;
}
