/* Pxl main styles — keep under ~20KB */
:root{
	--pxl-radius:0;
}

a:not(.wp-element-button){color:#111}
a:not(.wp-element-button):hover{color:#111;text-decoration:underline}
.wp-element-button,
.wp-block-button__link{
	background-color:#111;
	color:#fff;
	border:1px solid #111;
	text-decoration:none;
}
.wp-element-button:hover,
.wp-element-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus{
	background-color:#000;
	border-color:#000;
	color:#fff;
}
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link{
	background-color:transparent;
	color:#111;
	border:1px solid #111;
}
.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover{
	background-color:#111;
	color:#fff;
}

.pxl-breadcrumbs{margin:0 0 1.25rem;font-size:.875rem;color:#555}
.pxl-breadcrumbs__list{display:flex;flex-wrap:wrap;gap:.35rem .5rem;list-style:none;margin:0;padding:0}
.pxl-breadcrumbs__item+ .pxl-breadcrumbs__item::before{content:"/";margin-right:.5rem;color:#999;speak:none}
.pxl-breadcrumbs a{color:#111;text-decoration:none}
.pxl-breadcrumbs a:hover{text-decoration:underline}

.pxl-post-dates{font-size:.875rem;color:#555;margin:.5rem 0 1.25rem}

.pxl-toc{margin:0 0 1.75rem;padding:1rem 1.25rem;background:#F7F7F7;border-left:4px solid #111}
.pxl-toc__title{margin:0 0 .75rem;font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace;font-weight:700;font-size:.875rem}
.pxl-toc__list{margin:0;padding-left:1.25rem}
.pxl-toc__list a{color:#111;text-decoration:none}
.pxl-toc__list a:hover{text-decoration:underline}
.pxl-toc__sub{margin-left:1rem}

.pxl-author-box{display:flex;gap:1rem;align-items:flex-start;margin:2.5rem 0;padding:1.25rem;background:#F7F7F7;border:1px solid #E5E5E5}
.pxl-author-box__avatar{display:block;border-radius:0;width:96px;height:96px}
.pxl-author-box__label{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#555;font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace}
.pxl-author-box__name{margin:.25rem 0 .5rem;font-size:1.25rem}
.pxl-author-box__name a{color:#111;text-decoration:none}
.pxl-author-box__name a:hover{text-decoration:underline}
.pxl-author-box__bio{margin:0 0 .75rem;color:#555}
.pxl-author-box__link{margin:0;font-size:.875rem}
.pxl-author-box__link a{color:#111}

.pxl-tldr p:last-child{margin-bottom:0}

.pxl-faq details{margin:0 0 .75rem;padding:.75rem 1rem;background:#F7F7F7;border:1px solid #E5E5E5}
.pxl-faq summary{cursor:pointer;font-weight:700;font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace}
.pxl-faq details[open] summary{margin-bottom:.5rem}
.pxl-faq details p{margin:0;color:#111}

.pxl-comparison-table table{width:100%;border-collapse:collapse}
.pxl-comparison-table th,
.pxl-comparison-table td{border:1px solid #E5E5E5;padding:.6rem .75rem;text-align:left}
.pxl-comparison-table thead th{background:#F7F7F7;font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace;font-size:.875rem}

.pxl-how-to li{margin-bottom:.65rem}

.pxl-sources__list{padding-left:1.25rem}
.pxl-sources__list li{margin-bottom:.5rem}

/* Digital identity visual references */
.pxl-identity-gallery{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1.25rem 1rem;
	margin-top:1.5rem;
}
.pxl-identity-card{
	margin:0;
	text-align:center;
}
.pxl-identity-card picture,
.pxl-identity-card img{
	display:block;
	width:100%;
	height:auto;
	margin:0 auto;
}
.pxl-identity-card__caption{
	margin:.65rem 0 0;
	font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace;
	font-size:.875rem;
	font-weight:700;
}

@media (max-width:900px){
	.pxl-identity-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
	.pxl-identity-gallery{grid-template-columns:1fr}
}

.wp-block-post-content > * + *{margin-block-start:1.25rem}
.wp-block-post-featured-image{margin-block:1rem 1.5rem}
.wp-block-post-featured-image img{width:100%;height:auto;object-fit:cover}

/* Home landing */
.pxl-home-hero .pxl-home-lead{max-width:42rem;margin-top:.75rem}
.pxl-home-kicker{margin:0 0 .75rem}
.pxl-home-explore-list{list-style:none;padding:0;margin:1.25rem 0 0}
.pxl-home-explore-list li{margin:0 0 1.25rem;padding:0 0 1.25rem;border-bottom:1px solid #E5E5E5;line-height:1.55}
.pxl-home-explore-list li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.pxl-home-explore-list a{
	display:inline-block;
	color:#111;
	font-family:"Pixelify Sans","Pixelify Sans Fallback",ui-monospace,monospace;
	font-weight:700;
	font-size:1.125rem;
	line-height:1.3;
	text-decoration:none;
}
.pxl-home-explore-list a:hover{text-decoration:underline}
.pxl-home-explore-list .pxl-home-explore-desc{display:block;margin-top:.35rem;color:#555;font-size:1rem;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.pxl-home-section-title a{color:#111;text-decoration:none}
.pxl-home-section-title a:hover{text-decoration:underline}
.pxl-home-post .wp-block-post-title{margin:0 0 .35rem}
.pxl-home-post .wp-block-post-title a{color:#111;text-decoration:none}
.pxl-home-post .wp-block-post-title a:hover{text-decoration:underline}
.pxl-home-post .wp-block-post-excerpt{margin:.5rem 0 0}
.pxl-home .wp-block-button .wp-block-button__link{
	background:#111;
	color:#fff;
	border:1px solid #111;
	text-decoration:none;
}
.pxl-home .wp-block-button .wp-block-button__link:hover{
	background:#000;
	border-color:#000;
	color:#fff;
}
.pxl-home .wp-block-button.is-style-outline .wp-block-button__link{
	background:transparent;
	color:#111;
	border:1px solid #111;
}
.pxl-home .wp-block-button.is-style-outline .wp-block-button__link:hover{
	background:#111;
	color:#fff;
}

/* Clickable heading links sitewide */
.wp-block-post-title a,
.wp-block-query .wp-block-post-title a{
	color:#111;
	text-decoration:none;
}
.wp-block-post-title a:hover,
.wp-block-query .wp-block-post-title a:hover{
	text-decoration:underline;
}
a.wp-block-heading,
.wp-block-heading a{
	color:#111;
	text-decoration:none;
}
a.wp-block-heading:hover,
.wp-block-heading a:hover{
	text-decoration:underline;
}

/* Header + mobile navigation */
.pxl-site-header__inner{
	width:100%;
	gap:1.25rem;
	align-items:center;
}
.pxl-site-header .pxl-site-logo,
.pxl-site-header .wp-block-site-logo{
	flex:0 0 auto;
	min-width:0;
	line-height:0;
}
.pxl-site-header .pxl-site-logo__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
}
.pxl-site-header .pxl-site-logo__img,
.pxl-site-header .wp-block-site-logo img{
	display:block;
	width:auto;
	height:56px;
	max-width:min(220px,70vw);
	max-height:56px;
}
.pxl-site-header .wp-block-navigation{
	flex:0 1 auto;
	width:100%;
	justify-content:center;
}
.pxl-site-header .wp-block-navigation__responsive-container-open{
	margin-inline:auto;
	align-items:center;
	justify-content:center;
	min-width:44px;
	min-height:44px;
	padding:.5rem;
	border:1px solid #E5E5E5;
	background:#fff;
	color:#111;
}
.pxl-site-header .wp-block-navigation__responsive-container-open:hover,
.pxl-site-header .wp-block-navigation__responsive-container-open:focus-visible{
	border-color:#111;
	color:#111;
}
.pxl-site-header .wp-block-navigation__responsive-container-close{
	min-width:44px;
	min-height:44px;
	display:flex;
	align-items:center;
	justify-content:center;
	top:.5rem;
	right:.5rem;
	padding:.5rem;
	border:1px solid #E5E5E5;
	background:#fff;
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open{
	padding:.75rem 1.25rem 1.25rem!important;
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	padding-top:2.5rem!important; /* only space for the close button */
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
	gap:0;
	width:100%;
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
	width:100%;
	border-bottom:1px solid #E5E5E5;
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
	display:block;
	width:100%;
	padding:.85rem 0;
	font-size:1.0625rem;
	line-height:1.35;
}
.pxl-site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item .wp-block-navigation-item__label{
	text-decoration:underline;
}

/*
 * Keep hamburger until tablet landscape: 8 long labels do not fit comfortably
 * before ~960px. WordPress default overlay breakpoint is 600px.
 *
 * Desktop: logo centered above centered menu.
 * Mobile: [logo left] ........ [hamburger right]
 */
@media (max-width:959px){
	.pxl-site-header{
		padding-top:.75rem!important;
		padding-bottom:.75rem!important;
	}
	.pxl-site-header__inner,
	.pxl-site-header__inner.is-layout-flex,
	.pxl-site-header__inner.is-vertical{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) auto;
		align-items:center!important;
		justify-items:stretch;
		column-gap:.75rem!important;
		row-gap:0!important;
		width:100%!important;
		flex-direction:unset!important;
		flex-wrap:unset!important;
	}
	.pxl-site-header .wp-block-site-logo,
	.pxl-site-header .pxl-site-logo{
		grid-column:1;
		justify-self:start!important;
		align-self:center!important;
		display:block!important;
		width:auto!important;
		max-width:100%!important;
		margin:0!important;
		text-align:left!important;
	}
	.pxl-site-header .pxl-site-logo__link,
	.pxl-site-header .wp-block-site-logo a{
		display:inline-flex!important;
		justify-content:flex-start!important;
		margin:0!important;
	}
	.pxl-site-header .pxl-site-logo__img,
	.pxl-site-header .wp-block-site-logo img{
		height:40px;
		max-height:40px;
		max-width:140px;
		margin:0!important;
	}
	.pxl-site-header .wp-block-navigation{
		grid-column:2;
		justify-self:end!important;
		align-self:center!important;
		width:auto!important;
		max-width:none!important;
		margin:0!important;
		flex:unset!important;
	}
	.pxl-site-header .wp-block-navigation__responsive-container-open:not(.always-shown){
		display:flex!important;
		margin:0!important;
	}
	.pxl-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
		display:none;
		position:fixed;
		inset:0;
		background-color:#fff;
		width:100%;
	}
}
@media (min-width:960px){
	.pxl-site-header__inner,
	.pxl-site-header__inner.is-layout-flex,
	.pxl-site-header__inner.is-vertical{
		display:flex!important;
		flex-direction:column!important;
		align-items:center!important;
		justify-content:center!important;
	}
	.pxl-site-header .pxl-site-logo,
	.pxl-site-header .wp-block-site-logo{
		margin-left:auto;
		margin-right:auto;
	}
	.pxl-site-header .wp-block-navigation{
		width:100%;
		justify-content:center;
		margin-left:0;
	}
	.pxl-site-header .wp-block-navigation__responsive-container-open:not(.always-shown){
		display:none;
	}
	.pxl-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
		display:block;
		position:relative;
		width:100%;
		background-color:inherit;
		z-index:auto;
	}
	.pxl-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{
		display:none;
	}
}

/* Footer: menu above, copyright below */
.pxl-site-footer__inner{
	width:100%;
	gap:.85rem;
	align-items:center;
}
.pxl-site-footer .wp-block-navigation{
	width:100%;
	justify-content:center;
}
.pxl-site-footer .wp-block-navigation__container{
	flex-wrap:wrap;
	justify-content:center;
	row-gap:.65rem;
}

@media (max-width:600px){
	.pxl-author-box{flex-direction:column}
	.pxl-author-box__avatar{width:72px;height:72px}
	.pxl-home-hero{
		padding-top:0!important;
		padding-bottom:2rem!important;
	}
	.pxl-home .wp-block-buttons{
		width:100%;
	}
	.pxl-home .wp-block-button,
	.pxl-home .wp-block-button__link{
		width:100%;
	}
}

@media (prefers-reduced-motion:reduce){
	*{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
