/** Mivama shared theme foundation and composition. */
:root {
	--mivama-block-content-width: min(100%, 1280px);
	--mivama-block-radius: 1.5rem;
	--mivama-block-focus: 0 0 0 3px var(--wp--preset--color--signal), 0 0 0 5px var(--wp--preset--color--ink);
}

body { background: var(--wp--preset--color--paper); }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: none; box-shadow: var(--mivama-block-focus); }
.wp-site-blocks { overflow: clip; }
.wp-block-template-part > .wp-block-group { max-width: var(--mivama-block-content-width); margin-inline: auto; }
.mivama-site-header { padding-block: 1.5rem; }
.mivama-site-header .wp-block-site-title { font-size: 1.15rem; font-weight: 700; letter-spacing: -0.04em; }
.mivama-site-header .wp-block-navigation a { font-size: .9rem; text-decoration: none; }
.mivama-home > .wp-block-query { margin-top: clamp(3rem, 8vw, 7rem); }
.mivama-site-footer { margin-top: clamp(4rem, 10vw, 10rem); padding-block: 2rem 3rem; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 15%, transparent); }
.mivama-site-footer .wp-block-site-title { font-size: 1.15rem; font-weight: 700; letter-spacing: -0.04em; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
