/* Frontend and editor share theme.json tokens. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.wp-site-blocks > * { margin-block-start: 0; }
.senthero-header { border-bottom: 1px solid rgb(245 240 233 / 14%); }
.senthero-header__bar { min-height: 108px; gap: 2rem; padding-block: .75rem; }
.senthero-brand { flex: 0 0 auto; margin: 0; width: 170px; }
.senthero-brand a { display: block; }
.senthero-brand img { display: block; width: 100%; height: auto; }
.senthero-navigation { margin-left: auto; }
.wp-block-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
.wp-block-navigation a:hover { text-decoration: underline; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--ivory) !important;
	padding: clamp(1.5rem, 6vw, 4rem);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.5rem; }
.senthero-main { padding-block: var(--wp--preset--spacing--60); min-height: 50vh; }
.senthero-footer { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.senthero-footer .wp-block-columns { gap: var(--wp--preset--spacing--50); }
.senthero-footer__label {
	font-family: var(--wp--preset--font-family--body);
	font-size: .875rem; font-weight: 600; line-height: 1.5; letter-spacing: .03em;
}
.senthero-footer p { max-width: 32ch; font-size: .875rem; }
.senthero-footer__bottom { border-top: 1px solid rgb(245 240 233 / 18%); margin-top: 3rem; padding-top: 1.5rem; }
.senthero-footer__bottom p { max-width: none; }
.wp-element-button { min-height: 44px; transition: transform 180ms ease, box-shadow 180ms ease; }
.wp-element-button:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgb(21 21 19 / 12%); }
.senthero-eyebrow { font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.senthero-section { padding-block: var(--wp--preset--spacing--70); }
.senthero-card { border-radius: var(--wp--custom--radius--small); overflow: hidden; }
.senthero-reveal-image { overflow: hidden; }
.senthero-reveal-image img { display: block; }
@media (max-width: 900px) {
	/* Core retains keyboard and focus handling. */
	.senthero-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.senthero-navigation .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (min-width: 901px) {
	.senthero-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
	.senthero-navigation .wp-block-navigation__responsive-container-open { display: none !important; }
}
@media (max-width: 600px) {
	.senthero-header__bar { min-height: 88px; gap: 1rem; }
	.senthero-brand { width: 144px; }
	.senthero-footer .wp-block-columns { gap: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; }
	.wp-element-button { transition: none; }
	.wp-element-button:hover { transform: none; }
}

/* Slight overscan prevents empty edges during desktop parallax. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
	.senthero-parallax { overflow: hidden; }
	.senthero-parallax img { scale: 1.06; }
}
