*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
img { max-inline-size: 100%; block-size: auto; }
a { text-underline-offset: 0.2em; }
button, input, select, textarea { font: inherit; }
input, select, textarea { max-inline-size: 100%; }
button, input[type="submit"] { cursor: pointer; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.site-container {
	inline-size: min(calc(100% - 2 * var(--wp--preset--spacing--40)), var(--wp--style--global--wide-size, 1200px));
	margin-inline: auto;
}
.site-header, .site-footer { background: var(--wp--preset--color--surface); }
.site-header { border-block-end: 1px solid var(--wp--preset--color--line); }
.site-header__inner, .site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--40);
	padding-block: var(--wp--preset--spacing--40);
}
.site-title { font-size: var(--wp--preset--font-size--medium); font-weight: 700; text-decoration: none; color: inherit; }
.custom-logo-link { display: block; }
.custom-logo { display: block; max-inline-size: 200px; max-block-size: 64px; inline-size: auto; }
.primary-navigation ul, .site-footer nav ul { list-style: none; padding: 0; margin: 0; }
.primary-navigation > ul, .site-footer nav ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); }
.primary-navigation li { position: relative; }
.primary-navigation a, .site-footer nav a { display: block; padding-block: 0.25rem; color: inherit; }
.primary-navigation .sub-menu { padding-inline-start: var(--wp--preset--spacing--30); }
.site-main { padding-block: var(--wp--preset--spacing--60); min-block-size: 55vh; }
.page-heading { margin-block-end: var(--wp--preset--spacing--50); }
.page-heading h1 { margin-block-start: 0; }
.entry-content > :where(:not(.alignfull)) { padding-inline: var(--wp--preset--spacing--40); }
.entry-content > :where(.alignwide) { box-sizing: border-box; }
.post-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--wp--preset--spacing--50); }
.post-summary { padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--large); }
.post-summary img { inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--wp--custom--radius--small); }
.post-summary h2 { font-size: var(--wp--preset--font-size--medium); }
.post-summary h2 a { color: inherit; }
.site-footer { border-block-start: 1px solid var(--wp--preset--color--line); margin-block-start: var(--wp--preset--spacing--50); }
.site-footer p { margin: 0; }
.search-form { max-inline-size: 36rem; }
.search-form label { display: block; margin-block-end: var(--wp--preset--spacing--20); }
.search-form__controls { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); }
.search-form input { flex: 1 1 10rem; min-inline-size: 0; }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
	padding: 0.75rem 1rem; color: inherit; background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line); border-radius: var(--wp--custom--radius--small);
}
:where(button:not(.wp-block-button__link), input[type="submit"]) {
	padding: 0.75rem 1.25rem; color: var(--wp--preset--color--surface); background: var(--wp--preset--color--accent);
	border: 1px solid transparent; border-radius: var(--wp--custom--radius--small);
}
.navigation.pagination, .post-navigation, .comments-area { margin-block-start: var(--wp--preset--spacing--50); }
.nav-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--wp--preset--spacing--30); }
.screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link:focus { clip-path: none; inline-size: auto; block-size: auto; margin: 0; padding: 1rem; inset-block-start: 0.5rem; inset-inline-start: 0.5rem; z-index: 10000; background: var(--wp--preset--color--surface); }
@media (min-width: 48rem) {
	.menu-toggle { display: none; }
	.primary-navigation .sub-menu { display: none; position: absolute; inset-block-start: 100%; inset-inline-start: 0; min-inline-size: 12rem; padding: 1rem; z-index: 10; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); }
	.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: block; }
	.primary-navigation .sub-menu .sub-menu { position: static; border: 0; padding: 0; padding-inline-start: 1rem; }
}
@media (max-width: 47.999rem) {
	.primary-navigation { flex-basis: 100%; }
	.primary-navigation > ul { flex-direction: column; gap: var(--wp--preset--spacing--20); }
	.menu-toggle:not([hidden])[aria-expanded="false"] + .primary-navigation { display: none; }
	.site-footer__inner { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
