/*!
Theme Name: Home Power Matrix
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.15.34
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: home-power-matrix
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Home Power Matrix is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
	- Design tokens
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/* Design tokens
--------------------------------------------- */
:root {
	--color-ink: #15171a;
	--color-muted: #5b6470;
	--color-soft: #f6f3ec;
	--color-surface: #fffdf8;
	--color-line: #ded7ca;
	--color-grid: rgba(21, 23, 26, 0.08);
	--color-power: #1f9d64;
	--color-sun: #f3a72f;
	--color-alert: #c84a2d;
	--color-focus: #2458d6;

	--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--font-serif: Georgia, "Times New Roman", serif;
	--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4.5rem;

	--radius-sm: 4px;
	--radius-md: 8px;
	--shadow-soft: 0 20px 50px rgba(21, 23, 26, 0.08);
	--max-page: 1300px;
	--max-content: 760px;
	--transition-fast: 160ms ease;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	color: var(--color-ink);
	font-family: var(--font-serif);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.12;
	margin: 0 0 var(--space-4);
}

h1 {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

h2 {
	font-size: clamp(1.8rem, 3vw, 3rem);
}

h3 {
	font-size: clamp(1.4rem, 2vw, 2rem);
}

h4,
h5,
h6 {
	font-family: var(--font-sans);
	line-height: 1.25;
}

p {
	margin: 0 0 var(--space-5);
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	border-left: 4px solid var(--color-power);
	color: var(--color-muted);
	font-family: var(--font-serif);
	font-size: 1.2rem;
	line-height: 1.5;
	margin: var(--space-6) 0;
	padding: var(--space-2) 0 var(--space-2) var(--space-5);
}

address {
	margin: 0 0 var(--space-5);
}

pre {
	background: #1e2228;
	border-radius: var(--radius-md);
	color: #f8f5ec;
	font-family: var(--font-mono);
	line-height: 1.6;
	margin: 0 0 var(--space-6);
	max-width: 100%;
	overflow: auto;
	padding: var(--space-5);
}

code,
kbd,
tt,
var {
	font-family: var(--font-mono);
	font-size: 0.92em;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: rgba(243, 167, 47, 0.24);
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background:
		linear-gradient(90deg, var(--color-grid) 1px, transparent 1px),
		linear-gradient(180deg, var(--color-grid) 1px, transparent 1px),
		var(--color-soft);
	background-size: 48px 48px;
}

hr {
	background-color: var(--color-line);
	border: 0;
	height: 1px;
	margin: var(--space-7) 0;
}

ul,
ol {
	margin: 0 0 var(--space-5) var(--space-6);
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 var(--space-5) var(--space-5);
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: var(--space-6) 0;
}

table {
	border-collapse: collapse;
	margin: 0 0 var(--space-6);
	width: 100%;
}

th,
td {
	border-bottom: 1px solid var(--color-line);
	padding: var(--space-3);
	text-align: left;
}

/* Links
--------------------------------------------- */
a {
	color: var(--color-power);
	text-decoration-color: rgba(166, 166, 171, 0.55);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
	transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover,
a:focus,
a:active {
	color: var(--color-alert);
	text-decoration-color: rgba(190, 190, 194, 0.8);
}

a:focus {
	outline: 2px solid var(--color-focus);
	outline-offset: 3px;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: var(--color-ink);
	border: 1px solid var(--color-ink);
	border-radius: var(--radius-sm);
	color: var(--color-surface);
	cursor: pointer;
	font-weight: 700;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: var(--color-power);
	border-color: var(--color-power);
	color: #fff;
}

button:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible,
input[type="submit"]:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 0;
}

button:focus:not(:focus-visible),
input[type="button"]:focus:not(:focus-visible),
input[type="reset"]:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible) {
	outline: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	color: var(--color-ink);
	padding: 0.7rem 0.8rem;
	width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	border-color: var(--color-focus);
	color: var(--color-ink);
	outline: 2px solid rgba(36, 88, 214, 0.16);
	outline-offset: 1px;
}

select {
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	color: var(--color-ink);
	padding: 0.65rem 0.8rem;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.site {
	background: var(--color-surface);
	box-shadow: var(--shadow-soft);
	margin: 0 auto;
	min-height: 100vh;
	width: min(100%, 1440px);
}

.site-header,
.site-main,
.widget-area,
.site-footer {
	padding-left: clamp(var(--space-4), 4vw, var(--space-7));
	padding-right: clamp(var(--space-4), 4vw, var(--space-7));
}

.site-header {
	align-items: center;
	border-bottom: 1px solid var(--color-line);
	display: grid;
	gap: var(--space-4);
	grid-template-columns: 1fr;
	padding-bottom: var(--space-5);
	padding-top: var(--space-5);
}

.site-main {
	margin: 0 auto;
	max-width: var(--max-page);
	padding-bottom: var(--space-8);
	padding-top: var(--space-7);
}

.site-branding {
	display: grid;
	gap: var(--space-1);
}

.site-title {
	font-family: var(--font-serif);
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1;
	margin: 0;
}

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

.site-description {
	color: var(--color-muted);
	font-size: 0.95rem;
	margin: var(--space-2) 0 0;
	max-width: 42rem;
}

.site-footer {
	border-top: 1px solid var(--color-line);
	color: var(--color-muted);
	font-size: 0.9rem;
	padding-bottom: var(--space-6);
	padding-top: var(--space-6);
}

.site-info {
	margin: 0 auto;
	max-width: var(--max-page);
}

@media screen and (min-width: 48em) {

	.site-header {
		grid-template-columns: minmax(18rem, 1fr) auto;
	}
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	gap: var(--space-4);
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	background: var(--color-surface);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	float: left;
	padding: var(--space-2);
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 220px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	color: var(--color-ink);
	display: block;
	font-weight: 700;
	padding: var(--space-2) 0;
	text-decoration: none;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--color-power);
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

.menu-toggle {
	justify-self: start;
}

@media screen and (min-width: 43.8125em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
		justify-content: flex-end;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.site-main .post,
.site-main .page {
	margin: 0 0 var(--space-7);
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: var(--space-5) 0 0;
	max-width: var(--max-content);
}

.entry-header,
.page-header,
.entry-footer,
.comments-area,
.post-navigation,
.posts-navigation,
.comment-navigation {
	max-width: var(--max-content);
}

.entry-title {
	margin-bottom: var(--space-3);
}

.entry-title a {
	color: var(--color-ink);
	text-decoration: none;
}

.entry-title a:hover,
.entry-title a:focus {
	color: var(--color-power);
}

.entry-meta,
.entry-footer {
	color: var(--color-muted);
	font-size: 0.9rem;
}

.entry-meta a,
.entry-footer a {
	color: inherit;
}

.read-more-link {
	font-weight: 700;
	margin-top: var(--space-4);
}

.page-links {
	clear: both;
	margin: 0 0 var(--space-5);
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 var(--space-6);
}

.widget select {
	max-width: 100%;
}

.widget-title {
	font-family: var(--font-sans);
	font-size: 1rem;
	margin-bottom: var(--space-3);
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: var(--space-5);
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	color: var(--color-muted);
	font-size: 0.9rem;
	margin: var(--space-2) 0 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: var(--space-5);
	display: grid;
	grid-gap: var(--space-4);
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Home Power Matrix design direction
--------------------------------------------------------------*/
:root {
	--color-ink: #f4f3f1;
	--color-muted: #a8a8ac;
	--color-soft: #08080a;
	--color-surface: #0c0c0e;
	--color-panel: #111114;
	--color-line: rgba(255, 255, 255, 0.08);
	--color-power: #f6c324;
	--color-power-dark: #d99a0a;
	--color-focus: #f6c324;
	--font-sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--font-display: "Saira Condensed", Impact, "Arial Narrow", sans-serif;
	--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

html {
	scroll-behavior: smooth;
}

body {
	background:
		radial-gradient(1200px 600px at 78% -8%, rgba(246, 195, 36, 0.1), transparent 60%),
		#08080a;
	color: var(--color-ink);
	font-family: var(--font-sans);
}

::selection {
	background: var(--color-power);
	color: #08080a;
}

.site {
	background: transparent;
	box-shadow: none;
	max-width: none;
	width: 100%;
}

.site-header {
	background: linear-gradient(180deg, rgba(8, 8, 10, 0.58), rgba(8, 8, 10, 0.42));
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	display: block;
	left: 0;
	margin: 0 auto;
	padding: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
	z-index: 50;
}

.site-header.site-header--scrolled {
	background: linear-gradient(180deg, rgba(8, 8, 10, 0.9), rgba(8, 8, 10, 0.78));
	border-bottom-color: rgba(255, 255, 255, 0.13);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: clamp(1rem, 2vw, 1.75rem);
	margin: 0 auto;
	max-width: var(--max-page);
	padding: 0.875rem clamp(1rem, 4vw, 1.75rem);
	position: relative;
	width: 100%;
}

.admin-bar .site-header {
	top: 32px;
}

.site-branding {
	flex: 0 0 auto;
	min-width: 0;
}

.site-title {
	font-family: var(--font-display);
	font-size: 1rem;
	line-height: 1;
	margin: 0;
}

.site-title a {
	align-items: center;
	color: var(--color-ink);
	display: flex;
	gap: 0.75rem;
	text-decoration: none;
}

.site-brand-mark {
	display: inline-flex;
	flex: 0 0 auto;
	width: 3.5rem;
}

.site-brand-mark img {
	display: block;
	height: auto;
	width: 100%;
}

.site-brand-wordmark {
	display: flex;
	flex-direction: column;
	font-family: var(--font-display);
	line-height: 0.98;
	text-transform: uppercase;
}

.site-brand-wordmark__home,
.site-brand-wordmark__power {
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.site-brand-wordmark__home {
	color: #e9e8e5;
	font-weight: 500;
}

.site-brand-wordmark__power {
	color: var(--color-power);
}

.site-brand-wordmark__matrix {
	color: #a2a2a8;
	display: flex;
	font-size: 0.68rem;
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 0;
	margin-top: 0.3rem;
	width: 100%;
}

.site-description {
	display: none;
}

.main-navigation {
	flex: 1 1 auto;
	width: auto;
}

.main-navigation .menu {
	width: 100%;
}

.main-navigation ul {
	gap: 0.25rem;
	justify-content: center;
	margin: 0;
}

.main-navigation a {
	border-radius: 6px;
	color: #e7e6e3;
	font-family: var(--font-display);
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 0.55rem 0.7rem;
	text-transform: uppercase;
}

.main-navigation a:hover,
.main-navigation a:focus {
	background: rgba(246, 195, 36, 0.12);
	color: var(--color-power);
}

.menu-toggle {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	color: var(--color-ink);
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	width: 2.75rem;
}

.menu-toggle:hover,
.menu-toggle:focus {
	background: rgba(246, 195, 36, 0.12);
	border-color: var(--color-power);
	color: var(--color-power);
}

.menu-toggle:focus:not(:focus-visible) {
	outline: 0;
}

.menu-toggle__bars,
.menu-toggle__bars::before,
.menu-toggle__bars::after {
	background: currentColor;
	border-radius: 999px;
	display: block;
	height: 2px;
	width: 1.15rem;
}

.menu-toggle__bars {
	position: relative;
}

.menu-toggle__bars::before,
.menu-toggle__bars::after {
	content: "";
	left: 0;
	position: absolute;
}

.menu-toggle__bars::before {
	top: -6px;
}

.menu-toggle__bars::after {
	top: 6px;
}

.site-header__search {
	flex: 0 0 clamp(13rem, 18vw, 17rem);
}

.site-header__search .search-form {
	align-items: center;
	background: rgba(8, 8, 10, 0.34);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	display: flex;
	gap: 0.35rem;
	padding: 0.25rem;
}

.site-header__search label {
	flex: 1 1 auto;
	min-width: 0;
}

.site-header__search .search-field {
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--color-ink);
	font-family: var(--font-sans);
	font-size: 0.82rem;
	padding: 0.5rem 0.55rem 0.5rem 0.8rem;
	width: 100%;
}

.site-header__search .search-field::placeholder {
	color: rgba(244, 243, 241, 0.6);
}

input[type="search"]::-webkit-search-cancel-button {
	cursor: pointer;
	filter: grayscale(1);
	opacity: 0.62;
}

.site-header__search .search-field:focus {
	border: 0;
	outline: 0;
}

.site-header__search .search-form:focus-within {
	background: rgba(8, 8, 10, 0.56);
	border-color: rgba(246, 195, 36, 0.72);
	box-shadow: 0 0 0 3px rgba(246, 195, 36, 0.14);
}

.site-header__search .search-submit {
	background: var(--color-power);
	border: 0;
	border-radius: 999px;
	color: #0a0a0a;
	flex: 0 0 auto;
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 0.6rem 0.85rem;
	text-transform: uppercase;
}

.site-header__search .search-submit:hover,
.site-header__search .search-submit:focus {
	background: var(--color-power-dark);
	color: #0a0a0a;
	outline: 0;
}

.mobile-menu-support {
	display: none;
}

.site-main {
	color: var(--color-ink);
}

.site-main:not(.site-main--front) {
	padding-top: clamp(7rem, 12vw, 9rem);
}

.site-main--front {
	margin: 0;
	max-width: none;
	padding: 0;
}

/* Archive, search, and utility pages. */
body.archive,
body.search,
body.error404,
body.page-template-default {
	background: #09090b;
}

body.archive .site,
body.search .site,
body.error404 .site,
body.page-template-default .site {
	background: #09090b;
}

body.archive .site-header:not(.site-header--scrolled),
body.search .site-header:not(.site-header--scrolled),
body.error404 .site-header:not(.site-header--scrolled),
body.page-template-default .site-header:not(.site-header--scrolled) {
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	background: linear-gradient(180deg, rgba(8, 8, 10, 0.38), rgba(8, 8, 10, 0.22));
}

.site-main.listing-page,
.site-main.utility-page {
	--listing-header-offset: 5.625rem;
	background: #f7f7f5;
	color: #23231f;
	margin: 0;
	max-width: none;
	padding: var(--listing-header-offset) 0 0;
}

.listing-page .posts-navigation,
.listing-page .no-results,
.utility-page .page-content {
	max-width: none;
}

.listing-hero {
	background:
		radial-gradient(circle at 76% 18%, rgba(246, 195, 36, 0.09), transparent 34%),
		linear-gradient(115deg, #08080a 0%, #0d0d10 62%, #15120c 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-top: calc(-1 * var(--listing-header-offset));
}

.listing-hero__inner {
	margin: 0 auto;
	max-width: var(--max-page);
	padding: calc(clamp(2.75rem, 5vw, 4.75rem) + var(--listing-header-offset)) clamp(1rem, 4vw, 1.75rem) clamp(2.75rem, 5vw, 4.75rem);
}

.listing-page__eyebrow,
.utility-page__eyebrow {
	color: var(--color-power);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 0.65rem;
	text-transform: uppercase;
}

.listing-page .page-title,
.utility-page .page-title {
	color: #f8f7f3;
	font-family: var(--font-display);
	font-size: clamp(3rem, 4.8vw, 4.75rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.94;
	margin: 0;
	text-transform: uppercase;
}

.listing-page .page-title span {
	color: #f8f7f3;
}

.listing-page .archive-description {
	color: #c8c7c4;
	font-size: 1rem;
	line-height: 1.6;
	margin-top: 0.85rem;
	max-width: 44rem;
}

.listing-page .archive-description > :last-child {
	margin-bottom: 0;
}

.listing-reading-band {
	background: #f7f7f5;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.listing-layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) 17rem;
	margin: 0 auto;
	max-width: var(--max-page);
	padding: 0 clamp(1rem, 4vw, 1.75rem);
}

.listing-content-column {
	min-width: 0;
}

.listing-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-grid > article {
	background: #fff;
	border: 1px solid #dfdfdc;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	padding: 1.5rem;
	transition: border-color 180ms ease;
}

.listing-grid > article:hover,
.listing-grid > article:focus-within {
	border-color: rgba(246, 195, 36, 0.85);
}

.listing-grid > .home-post-card {
	background: #fff;
	border-color: #dfdfdc;
	border-radius: 8px;
	padding: 0;
}

.listing-grid .home-post-card__media {
	background: #e9e9e5;
	border-bottom-color: #dfdfdc;
}

.listing-grid .home-post-card__placeholder {
	background: repeating-linear-gradient(135deg, #eeeeeb 0, #eeeeeb 20px, #e7e7e3 20px, #e7e7e3 40px);
	color: #777772;
}

.listing-grid .home-post-card__body {
	padding: 1.35rem 1.4rem 1.55rem;
}

.listing-grid .home-post-card__title {
	color: #23231f;
	font-size: clamp(1.55rem, 2.5vw, 1.9rem);
}

.listing-grid .home-post-card__title a,
.listing-grid .home-post-card__title a:visited {
	color: #23231f;
}

.listing-grid .home-post-card__title a:hover,
.listing-grid .home-post-card__title a:focus {
	color: #23231f;
	text-decoration: underline;
	text-decoration-color: #777872;
	text-underline-offset: 0.14em;
}

.listing-grid .home-post-card__meta {
	color: #74746f;
}

.listing-grid .home-post-card__excerpt {
	color: #5a5a56;
	font-size: 0.94rem;
}

.listing-grid .entry-header,
.listing-grid .entry-content,
.listing-grid .entry-summary,
.listing-grid .entry-footer {
	max-width: none;
}

.listing-grid .entry-header {
	order: 2;
}

.listing-grid .post-thumbnail {
	aspect-ratio: 16 / 8;
	border-radius: 6px;
	display: block;
	margin: -0.5rem -0.5rem 1.25rem;
	order: 1;
	overflow: hidden;
}

.listing-grid .post-thumbnail img {
	height: 100%;
	object-fit: cover;
	transition: transform 260ms ease;
	width: 100%;
}

.listing-grid > article:hover .post-thumbnail img,
.listing-grid > article:focus-within .post-thumbnail img {
	transform: scale(1.06);
}

.listing-grid .entry-title {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 3vw, 2rem);
	line-height: 1.05;
	margin: 0;
	text-transform: uppercase;
}

.listing-grid .entry-title a,
.listing-grid .entry-title a:visited {
	color: #23231f;
}

.listing-grid .entry-title a:hover,
.listing-grid .entry-title a:focus {
	color: #946d08;
}

.listing-grid .entry-meta {
	color: #74746f;
	font-family: var(--font-display);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	margin-top: 0.65rem;
	text-transform: uppercase;
}

.listing-grid .entry-content,
.listing-grid .entry-summary {
	color: #5a5a56;
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0.85rem 0 0;
	order: 3;
}

.listing-grid .entry-content > :first-child,
.listing-grid .entry-summary > :first-child {
	margin-top: 0;
}

.listing-grid .entry-footer {
	border-top: 1px solid #e7e7e3;
	color: #6b6b66;
	margin-top: auto;
	order: 4;
	padding-top: 0.85rem;
}

.listing-grid .read-more-link {
	margin: 1rem 0 0;
}

.listing-grid .read-more-link a,
.listing-grid .read-more-link a:visited {
	color: #805f08;
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.listing-grid .read-more-link a:hover,
.listing-grid .read-more-link a:focus {
	color: #23231f;
}

.listing-page .posts-navigation {
	margin: 2rem 0 0;
}

.listing-page .posts-navigation .nav-links {
	gap: 1rem;
	justify-content: space-between;
}

.listing-page .posts-navigation a,
.listing-page .posts-navigation a:visited {
	background: #23231f;
	border: 1px solid #23231f;
	border-radius: 6px;
	color: var(--color-power);
	display: inline-block;
	font-family: var(--font-display);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.75rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.listing-page .posts-navigation a:hover,
.listing-page .posts-navigation a:focus {
	background: var(--color-power);
	border-color: var(--color-power);
	color: #0a0a0a;
}

.listing-page .no-results,
.utility-page .error-404 {
	background: #fff;
	border: 1px solid #dfdfdc;
	border-radius: 8px;
	padding: clamp(1.5rem, 4vw, 3rem);
}

.listing-page .no-results .page-title {
	color: #202124;
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1;
}

.listing-page .no-results .page-content,
.utility-page .page-content {
	color: #5a5a56;
	line-height: 1.6;
	margin-top: 1rem;
}

.listing-page .search-form,
.utility-page .search-form {
	align-items: stretch;
	display: flex;
	gap: 0.5rem;
	margin-top: 1.25rem;
	max-width: 36rem;
}

.listing-page .search-form label,
.utility-page .search-form label {
	flex: 1;
}

.listing-page .search-field,
.utility-page .search-field {
	-webkit-text-fill-color: #23231f;
	background: #fff;
	border: 1.5px solid #cfcfca;
	border-radius: 6px;
	caret-color: #23231f;
	color: #23231f;
	height: 100%;
	width: 100%;
}

.listing-page .search-field::placeholder,
.utility-page .search-field::placeholder {
	-webkit-text-fill-color: #686862;
	color: #686862;
	opacity: 1;
}

.listing-page .search-submit,
.utility-page .search-submit {
	background: var(--color-power);
	border-color: var(--color-power);
	border-radius: 6px;
	color: #0a0a0a;
	font-family: var(--font-display);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.listing-page .search-submit:hover,
.listing-page .search-submit:focus,
.utility-page .search-submit:hover,
.utility-page .search-submit:focus {
	background: var(--color-power-dark);
	border-color: var(--color-power-dark);
	color: #0a0a0a;
}

.utility-page .error-404 {
	margin: 0;
	max-width: none;
}

.utility-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.utility-button,
.utility-button:visited {
	border: 1px solid #23231f;
	border-radius: 6px;
	font-family: var(--font-display);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.8rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.utility-button--primary,
.utility-button--primary:visited {
	background: var(--color-power);
	border-color: var(--color-power);
	color: #0a0a0a;
}

.utility-button--ghost,
.utility-button--ghost:visited {
	background: transparent;
	color: #23231f;
}

.utility-button:hover,
.utility-button:focus {
	background: #23231f;
	border-color: #23231f;
	color: var(--color-power);
}

.utility-page__links {
	border-top: 1px solid #e1e1dd;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	margin-top: 2rem;
	padding-top: 1.25rem;
}

.utility-page__links a,
.utility-page__links a:visited {
	color: #494944;
	font-family: var(--font-display);
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
}

.utility-page__links a:hover,
.utility-page__links a:focus {
	color: #805f08;
}

body.archive .site-footer,
body.search .site-footer,
body.error404 .site-footer,
body.page-template-default .site-footer {
	margin-top: 0;
}

@media screen and (max-width: 64em) {
	.site-main.listing-page,
	.site-main.utility-page {
		--listing-header-offset: 7.95rem;
	}

	.listing-layout { grid-template-columns: minmax(0, 1fr) 15rem; }
}

@media screen and (max-width: 50em) {
	.listing-layout { grid-template-columns: 1fr; }
	.listing-sidebar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}
	.listing-sidebar .single-sidebar__widgets { display: contents; }
}

@media screen and (max-width: 43.75em) {
	.site-main.listing-page,
	.site-main.utility-page {
		--listing-header-offset: 4.25rem;
		padding-bottom: 3rem;
	}
	.listing-hero__inner { padding-bottom: 2.25rem; padding-top: calc(1.75rem + var(--listing-header-offset)); }
	.listing-grid { grid-template-columns: 1fr; }
	.listing-page .page-title,
	.utility-page .page-title { font-size: 2.8rem; }
	.listing-sidebar { grid-template-columns: 1fr; }
	.listing-page .search-form,
	.utility-page .search-form { flex-direction: column; }
	.listing-page .search-submit,
	.utility-page .search-submit { width: 100%; }
}

.home-hero {
	isolation: isolate;
	min-height: clamp(600px, 72vh, 760px);
	overflow: hidden;
	position: relative;
}

.home-hero__media {
	background-image: var(--home-hero-image);
	background-position: center 42%;
	background-size: cover;
	inset: 0;
	position: absolute;
	z-index: -3;
}

.home-hero__shade {
	inset: 0;
	position: absolute;
	z-index: -2;
}

.home-hero__shade--top {
	background: linear-gradient(180deg, rgba(5, 5, 7, 0.9) 0%, rgba(5, 5, 7, 0.56) 20%, rgba(5, 5, 7, 0.1) 48%, rgba(5, 5, 7, 0.18) 100%);
}

.home-hero__shade--side {
	background: linear-gradient(90deg, rgba(5, 5, 7, 0.64) 0%, rgba(5, 5, 7, 0.18) 34%, transparent 60%);
}

.home-hero__inner {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	max-width: var(--max-page);
	min-height: inherit;
	padding: clamp(7.5rem, 12vw, 9rem) clamp(1rem, 4vw, 1.75rem) 0;
	position: relative;
	width: 100%;
}

.home-hero__copy {
	max-width: 39rem;
}

.home-hero__eyebrow,
.front-section__header p {
	color: var(--color-power);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.home-hero__title {
	color: #f8f7f3;
	font-family: var(--font-display);
	font-size: clamp(3.35rem, 5.6vw, 5.25rem);
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 0.9;
	margin: 0;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.55);
	text-transform: uppercase;
}

.home-hero__title span {
	color: var(--color-power);
	display: block;
}

.home-hero__dek {
	color: #e4e3e0;
	font-size: clamp(1rem, 1.5vw, 1.12rem);
	line-height: 1.55;
	margin: 1.2rem 0 1.65rem;
	max-width: 31rem;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9), 0 2px 18px rgba(0, 0, 0, 0.75);
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

.button {
	align-items: center;
	border-radius: 10px;
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	gap: 0.5rem;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 1rem 1.55rem;
	text-decoration: none;
	text-transform: uppercase;
}

.button--primary,
.button--primary:visited {
	background: var(--color-power);
	color: #0a0a0a;
}

.button--primary:hover,
.button--primary:focus {
	background: var(--color-power-dark);
	color: #0a0a0a;
}

.button--ghost,
.button--ghost:visited {
	-webkit-backdrop-filter: blur(6px) saturate(105%);
	background: rgba(8, 8, 10, 0.24);
	backdrop-filter: blur(6px) saturate(105%);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
}

.button--ghost:hover,
.button--ghost:focus {
	background: rgba(246, 195, 36, 0.18);
	border-color: var(--color-power);
	color: var(--color-power);
}

.home-hero .button--ghost:hover,
.home-hero .button--ghost:focus {
	background: rgba(8, 8, 10, 0.24);
}

.home-power-strip {
	display: none;
}

.home-power-strip__stats {
	display: flex;
	flex: 0 0 auto;
	gap: clamp(1.25rem, 3vw, 2.2rem);
}

.home-power-strip__stats div {
	display: grid;
	gap: 0.35rem;
}

.home-power-strip__stats strong,
.home-power-strip__icon {
	color: var(--color-power);
	font-family: var(--font-display);
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1;
}

.home-power-strip__stats span {
	color: #9a9a9f;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.home-power-strip__quiz {
	align-items: center;
	background: #111114;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 12px;
	color: var(--color-ink);
	display: flex;
	flex: 1 1 auto;
	gap: 1rem;
	margin-left: auto;
	min-width: 18rem;
	padding: 0.75rem 1rem;
	text-decoration: none;
}

.home-power-strip__quiz:visited {
	color: var(--color-ink);
}

.home-power-strip__quiz:hover,
.home-power-strip__quiz:focus {
	border-color: rgba(246, 195, 36, 0.5);
	color: var(--color-ink);
}

.home-power-strip__quiz strong {
	display: block;
	font-family: var(--font-display);
	font-size: 1.05rem;
	letter-spacing: 0.03em;
	line-height: 1;
	text-transform: uppercase;
}

.home-power-strip__quiz em {
	color: var(--color-muted);
	display: block;
	font-size: 0.82rem;
	font-style: normal;
	line-height: 1.35;
	margin-top: 0.25rem;
}

.home-power-strip__quiz b {
	background: var(--color-power);
	border-radius: 9px;
	color: #0a0a0a;
	flex: 0 0 auto;
	font-family: var(--font-display);
	font-size: 0.86rem;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 0.7rem 1rem;
	text-transform: uppercase;
}

.front-section {
	margin: 0 auto;
	max-width: var(--max-page);
	padding: clamp(2.75rem, 5vw, 4rem) clamp(1rem, 4vw, 1.75rem) 0;
}

.front-section__header {
	margin-bottom: 1.4rem;
}

.front-section__header h2 {
	color: var(--color-ink);
	font-family: var(--font-display);
	font-size: clamp(2rem, 3vw, 2.5rem);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.front-post-grid {
	display: grid;
	gap: 1.125rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.front-section .posts-navigation {
	margin: 0;
	padding-top: 1.5rem;
}

.front-section .posts-navigation .nav-links {
	display: grid;
	gap: 0.75rem;
}

.front-section .posts-navigation .nav-previous,
.front-section .posts-navigation .nav-next {
	text-align: left;
}

.front-section .posts-navigation a,
.front-section .posts-navigation a:visited {
	color: var(--color-power);
}

.front-section .posts-navigation a:hover,
.front-section .posts-navigation a:focus-visible,
.front-section .posts-navigation a:visited:hover,
.front-section .posts-navigation a:visited:focus-visible {
	color: #b6b5b2;
}

.front-post-grid .post {
	background: #111114;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
}

.front-post-grid .home-post-card {
	background: #101012;
	border-color: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	min-width: 0;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.home-post-card {
	position: relative;
}

.home-post-card__link,
.home-post-card__link:visited {
	color: inherit;
	text-decoration: none;
}

.home-post-card__link::after {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.home-post-card__link:focus {
	outline: none;
}

.home-post-card__link:focus-visible::after {
	border-radius: inherit;
	box-shadow: inset 0 0 0 3px var(--color-power);
}

.front-post-grid .home-post-card:hover,
.front-post-grid .home-post-card:focus-within {
	border-color: var(--color-power);
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(246, 195, 36, 0.16);
}

.home-post-card__media {
	aspect-ratio: 16 / 10;
	background: #1a1a1f;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	overflow: hidden;
	position: relative;
}

.home-post-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
	width: 100%;
}

.home-post-card:hover .home-post-card__media img,
.home-post-card:focus-within .home-post-card__media img {
	transform: scale(1.07);
}

.home-post-card__placeholder {
	align-items: center;
	background: repeating-linear-gradient(135deg, #1d1d23 0, #1d1d23 20px, #18181e 20px, #18181e 40px);
	color: #67676e;
	display: flex;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	width: 100%;
}

.home-post-card__category,
.home-post-card__category:visited {
	background: var(--color-power);
	border-radius: 6px;
	bottom: 0.9rem;
	color: #0b0b0c;
	font-family: var(--font-display);
	font-size: 0.78rem;
	font-weight: 800;
	left: 0.9rem;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0.65rem 0.85rem;
	position: absolute;
	text-decoration: none;
	text-transform: uppercase;
	z-index: 2;
}

.home-post-card__category:hover,
.home-post-card__category:focus {
	background: var(--color-power-dark);
	color: #0b0b0c;
}

.home-post-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.15rem 1.1rem 1.3rem;
}

.home-post-card__title {
	font-family: var(--font-display);
	font-size: 1.45rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
	text-transform: uppercase;
}

.home-post-card__title {
	color: #f4f3f1;
}

.front-post-grid .home-post-card__title .home-post-card__link,
.front-post-grid .home-post-card__title .home-post-card__link:visited,
.front-post-grid .home-post-card__title .home-post-card__link:hover,
.front-post-grid .home-post-card__title .home-post-card__link:focus,
.front-post-grid .home-post-card__title .home-post-card__link:active {
	color: #f4f3f1;
}

.home-post-card__meta {
	align-items: center;
	color: #78787f;
	display: flex;
	flex-wrap: wrap;
	font-family: var(--font-display);
	font-size: 0.72rem;
	font-weight: 600;
	gap: 0.35rem;
	letter-spacing: 0.05em;
	margin-top: 0.8rem;
	text-transform: uppercase;
}

.home-post-card__excerpt {
	color: #a4a4aa;
	font-size: 0.94rem;
	line-height: 1.55;
	margin: 1rem 0 0;
}

.front-post-grid .entry-header,
.front-post-grid .entry-content,
.front-post-grid .entry-footer {
	max-width: none;
}

.front-post-grid .entry-header {
	padding: 1rem 1rem 0;
}

.front-post-grid .entry-title {
	font-family: var(--font-display);
	font-size: 1.35rem;
	letter-spacing: 0.01em;
	line-height: 1.08;
	margin: 0 0 0.6rem;
	text-transform: uppercase;
}

.front-post-grid .entry-title a {
	color: var(--color-ink);
}

.front-post-grid .entry-meta,
.front-post-grid .entry-footer {
	color: #7d7d83;
	font-family: var(--font-display);
	font-size: 0.72rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.front-post-grid .entry-content {
	color: #a6a6ab;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0;
	padding: 0 1rem 1rem;
}

.front-post-grid .entry-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	margin-top: auto;
	padding: 0.85rem 1rem 1rem;
}

.read-more-link a {
	font-family: var(--font-display);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.site-footer {
	background: linear-gradient(180deg, #0c0c0e 0%, #08080a 100%);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	color: #8f8f95;
	margin-top: clamp(3rem, 6vw, 4.5rem);
	padding: 0;
}

.site-footer__main,
.site-footer__bottom-inner {
	margin: 0 auto;
	max-width: var(--max-page);
	padding-left: clamp(1rem, 4vw, 1.75rem);
	padding-right: clamp(1rem, 4vw, 1.75rem);
}

.site-footer__main {
	display: grid;
	gap: 2.75rem;
	grid-template-columns: 1.7fr repeat(3, 1fr);
	padding-bottom: 2.5rem;
	padding-top: 3.5rem;
}

.site-footer__logo {
	align-items: center;
	color: var(--color-ink);
	display: inline-flex;
	gap: 0.7rem;
	text-decoration: none;
}

.site-footer__mark {
	display: inline-flex;
	width: 2.875rem;
}

.site-footer__mark img {
	display: block;
	height: auto;
	width: 100%;
}

.site-footer__brand p {
	color: #8f8f95;
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 1.25rem 0 0;
	max-width: 21.25rem;
}

.site-footer__column {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}

.site-footer__column h2 {
	color: var(--color-power);
	font-family: var(--font-mono);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin: 0 0 0.4rem;
	text-transform: uppercase;
}

.site-footer__column a {
	color: #b6b5b2;
	font-size: 0.875rem;
	width: fit-content;
}

.site-footer__menu,
.site-footer__legal-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__menu {
	display: grid;
	gap: 0.7rem;
}

.site-footer__column a:hover,
.site-footer__column a:focus,
.site-footer__legal a:hover,
.site-footer__legal a:focus {
	color: var(--color-power);
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.site-footer__bottom-inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
	justify-content: space-between;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
}

.site-footer__legal {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.site-footer__legal nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.site-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
}

.site-footer__legal a {
	color: #9a9a9f;
	font-family: var(--font-display);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.site-footer__legal p {
	color: #6f6f75;
	font-family: var(--font-display);
	font-size: 0.66rem;
	letter-spacing: 0.05em;
	margin: 0;
}

.site-footer__support {
	align-items: center;
	display: flex;
	font-size: 0.84rem;
	gap: 0.75rem;
	line-height: 1.4;
	max-width: 22.5rem;
}

.site-footer__support img {
	border-radius: 3px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.55);
	flex: 0 0 auto;
	height: auto;
	width: 2.125rem;
}

@media screen and (min-width: 43.8125em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}

	.main-navigation ul ul {
		align-items: stretch;
		flex-direction: column;
		gap: 0.15rem;
		justify-content: flex-start;
		margin: 0;
		min-width: 18.5rem;
		padding: 0.45rem;
	}

	.main-navigation ul ul li,
	.main-navigation ul ul a {
		width: 100%;
	}

	.main-navigation ul ul a {
		line-height: 1.2;
		padding: 0.75rem 0.85rem;
	}

	.main-navigation ul li:hover > ul,
	.main-navigation ul li.focus > ul {
		left: 0;
	}

	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		left: 100%;
	}

	.main-navigation .menu-item-has-children > a,
	.main-navigation .page_item_has_children > a {
		align-items: center;
		display: inline-flex;
		gap: 0.45rem;
	}

	.main-navigation .menu-item-has-children > a::after,
	.main-navigation .page_item_has_children > a::after {
		border-left: 0.28rem solid transparent;
		border-right: 0.28rem solid transparent;
		border-top: 0.32rem solid var(--color-power);
		content: "";
		flex: 0 0 auto;
	}
}

@media screen and (max-width: 64em) {

	.site-header__inner {
		flex-wrap: wrap;
	}

	.main-navigation {
		flex-basis: 100%;
		order: 3;
	}

	.main-navigation ul {
		background: #0f0f12;
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 12px;
		margin-top: 0.75rem;
		padding: 0.6rem;
	}

	.site-header__search {
		margin-left: auto;
	}

	.home-hero__inner {
		padding-top: 13rem;
	}

	.home-power-strip {
		align-items: stretch;
		flex-direction: column;
	}

	.home-power-strip__quiz {
		margin-left: 0;
	}

	.front-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer__main {
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media screen and (min-width: 43.8125em) and (max-width: 64em) {
	.site-footer__brand {
		display: block;
	}

	.site-footer__brand p {
		font-size: 0.875rem;
		margin: 1.25rem 0 0;
		max-width: 34rem;
	}

	.site-header__inner {
		gap: 0.75rem 1.25rem;
		padding: 0.625rem 1.25rem;
	}

	.site-brand-mark {
		width: 2.75rem;
	}

	.site-brand-wordmark__home,
	.site-brand-wordmark__power {
		font-size: 1.15rem;
	}

	.site-brand-wordmark__matrix {
		font-size: 0.55rem;
		margin-top: 0.2rem;
	}

	.main-navigation ul {
		margin-top: 0.25rem;
		padding: 0.4rem;
	}

	.main-navigation a {
		font-size: 0.82rem;
		padding: 0.45rem 0.5rem;
	}

	.home-hero {
		min-height: clamp(28rem, 50vw, 31.5rem);
	}

	.home-hero__media {
		background-position: center top;
		inset: 1rem 0 -1rem;
	}

	.home-hero__inner {
		padding-top: 10.75rem;
		padding-bottom: 2rem;
	}

	.home-hero__eyebrow {
		display: none;
	}
}

@media screen and (min-width: 43.8125em) and (max-width: 56.25em) {

	.home-hero__media {
		inset: 1.75rem 0 -1.75rem;
	}
}

@media screen and (min-width: 64.0625em) {

	.home-hero__inner {
		justify-content: center;
		padding-top: 0;
	}
}

@media screen and (max-width: 43.75em) {
	body.mobile-nav-open {
		overflow: hidden;
	}

	body.mobile-nav-open .site-header {
		backdrop-filter: none;
		background: #0a0a0c;
		height: 100vh;
		height: 100dvh;
		overflow: hidden;
	}

	body.mobile-nav-open .site-header::before {
		background: #0a0a0c;
		content: "";
		height: 9.5rem;
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 51;
	}

	.admin-bar .site-header {
		top: 0;
	}

	.site-header {
		background: linear-gradient(180deg, rgba(8, 8, 10, 0.94) 62%, rgba(8, 8, 10, 0.72));
		backdrop-filter: blur(8px);
		border-bottom-color: transparent;
		padding: 0;
	}

	.site-header__inner {
		gap: 0.75rem;
		justify-content: space-between;
		padding: 0.75rem 1rem;
	}

	.site-brand-mark {
		width: 2.125rem;
	}

	.site-brand-wordmark__home,
	.site-brand-wordmark__power {
		font-size: 1rem;
	}

	.site-brand-wordmark__matrix {
		font-size: 0.5rem;
		margin-top: 0.18rem;
	}

	.site-branding {
		position: relative;
		z-index: 53;
	}

	.main-navigation {
		flex: 0 0 auto;
		margin-left: auto;
		order: 0;
	}

	.menu-toggle {
		border-radius: 10px;
		height: 2.5rem;
		position: relative;
		width: 2.5rem;
		z-index: 54;
	}

	.main-navigation.toggled .menu-toggle__bars {
		background: transparent;
	}

	.main-navigation.toggled .menu-toggle__bars::before {
		top: 0;
		transform: rotate(45deg);
	}

	.main-navigation.toggled .menu-toggle__bars::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.main-navigation > .menu {
		background: #0a0a0c;
		bottom: 0;
		left: 0;
		opacity: 0;
		overflow-y: auto;
		padding: 9.5rem 1.375rem 5.5rem;
		pointer-events: none;
		position: fixed;
		right: 0;
		top: 0;
		transform: translateY(-0.875rem);
		transition: opacity 280ms ease, transform 280ms ease, visibility 280ms ease;
		visibility: hidden;
		width: 100%;
		z-index: 50;
	}

	.main-navigation.toggled > .menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.main-navigation.toggled > .menu > ul {
		align-content: start;
		background: transparent;
		border: 0;
		border-radius: 0;
		counter-reset: mobile-menu;
		display: grid;
		gap: 0;
		justify-content: stretch;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.main-navigation > .menu > ul > li {
		counter-increment: mobile-menu;
		width: 100%;
	}

	.main-navigation > .menu > ul > li > a {
		align-items: center;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 0;
		display: flex;
		font-size: 1.45rem;
		justify-content: space-between;
		letter-spacing: 0.02em;
		min-height: 4.5rem;
		padding: 0.9rem 0.5rem;
		width: 100%;
	}

	.main-navigation > .menu > ul > li > a::before {
		color: var(--color-power);
		content: counter(mobile-menu, decimal-leading-zero);
		font-size: 0.7rem;
		letter-spacing: 0.1em;
		margin-right: 0.75rem;
	}

	.main-navigation > .menu > ul > li > a::after {
		color: #5c5c63;
		content: "\2192";
		font-size: 1rem;
		margin-left: auto;
	}

	.main-navigation.toggled > .menu > ul > li > .sub-menu {
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 0;
		box-shadow: none;
		display: none;
		float: none;
		left: auto;
		margin: 0;
		padding: 0.75rem 0 0.9rem 2.35rem;
		position: static;
		top: auto;
		width: 100%;
	}

	.main-navigation.toggled > .menu > ul > li.focus > .sub-menu,
	.main-navigation.toggled > .menu > ul > li:focus-within > .sub-menu {
		display: grid;
		gap: 0.5rem;
	}

	.main-navigation.toggled > .menu > ul > li.focus > a,
	.main-navigation.toggled > .menu > ul > li:focus-within > a {
		border-bottom-color: transparent;
	}

	.main-navigation.toggled .sub-menu li,
	.main-navigation.toggled .sub-menu a {
		width: 100%;
	}

	.main-navigation.toggled .sub-menu a {
		align-items: center;
		border: 1px solid rgba(255, 255, 255, 0.1);
		border-radius: 7px;
		color: #f1f1f2;
		display: flex;
		font-size: 0.98rem;
		justify-content: space-between;
		min-height: 3.25rem;
		padding: 0.7rem 0.9rem;
	}

	.main-navigation.toggled .sub-menu a::after {
		color: #5c5c63;
		content: "\2192";
		font-size: 0.9rem;
		margin-left: 0.75rem;
	}

	.site-header__search {
		display: none;
	}

	body.mobile-nav-open .site-header__search {
		display: block;
		left: 1.375rem;
		position: fixed;
		right: 1.375rem;
		top: 5.25rem;
		z-index: 52;
	}

	body.mobile-nav-open .site-header__search .search-form {
		background: #111114;
		border-radius: 11px;
	}

	body.mobile-nav-open .mobile-menu-support {
		align-items: center;
		background: #0a0a0c;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		bottom: 0;
		color: #8f8f95;
		display: flex;
		font-size: 0.72rem;
		gap: 0.625rem;
		left: 0;
		line-height: 1.35;
		padding: 0.8rem 1.375rem max(0.8rem, env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		z-index: 53;
	}

	.mobile-menu-support img {
		border-radius: 3px;
		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
		flex: 0 0 auto;
		height: auto;
		width: 1.75rem;
	}

	.home-hero {
		background: #08080a;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto;
		min-height: 0;
		overflow: visible;
	}

	.site-main--front {
		padding-top: 4.25rem;
	}

	.home-hero__media {
		aspect-ratio: 1672 / 941;
		background-position: center 42%;
		grid-column: 1;
		grid-row: 1;
		inset: auto;
		position: relative;
		width: 100%;
		z-index: 0;
	}

	.home-hero__shade {
		display: block;
		grid-column: 1;
		grid-row: 1;
		inset: auto;
		position: relative;
		z-index: 1;
	}

	.home-hero__shade--top {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.86) 0%, rgba(5, 5, 7, 0.58) 58%, rgba(5, 5, 7, 0.12) 100%);
	}

	.home-hero__shade--side {
		display: none;
	}

	.home-hero__inner {
		display: contents;
	}

	.home-hero__copy {
		align-self: center;
		grid-column: 1;
		grid-row: 1;
		padding: 0 1.25rem;
		position: relative;
		z-index: 2;
	}

	.home-hero__eyebrow {
		display: none;
	}

	.home-hero__title {
		font-size: 2.125rem;
		line-height: 0.94;
		padding: 0;
		text-shadow: 0 2px 20px rgba(0, 0, 0, 0.85);
	}

	.home-hero__title span {
		display: inline;
	}

	.home-hero__dek {
		color: #e5e4e1;
		font-size: 0.84rem;
		line-height: 1.45;
		margin: 0.75rem 0 0;
		max-width: 21rem;
		padding: 0;
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.95);
	}

	.home-hero__actions {
		background: #08080a;
		flex-direction: column;
		gap: 0.625rem;
		grid-column: 1;
		grid-row: 2;
		padding: 1rem 1.25rem 0.25rem;
	}

	.home-hero__actions,
	.home-power-strip__stats {
		width: 100%;
	}

	.button {
		border-radius: 11px;
		font-size: 0.94rem;
		justify-content: center;
		min-height: 3rem;
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.home-power-strip {
		padding: 1.25rem 1rem;
	}

	.home-power-strip__stats {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-power-strip__stats strong {
		font-size: 1.45rem;
	}

	.home-power-strip__quiz {
		display: none;
	}

	.front-post-grid {
		grid-template-columns: 1fr;
	}

	.site-footer__main {
		display: grid;
		gap: 2rem 1.25rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-bottom: 1.75rem;
		padding-top: 1.5rem;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__brand p {
		display: block;
		font-size: 0.78rem;
		line-height: 1.55;
		margin: 0.9rem 0 0;
		max-width: 32rem;
	}

	.site-footer__column {
		display: flex;
	}

	.site-footer__column:last-child {
		grid-column: 1 / -1;
	}

	.site-footer__logo {
		gap: 0.55rem;
	}

	.site-footer__mark {
		width: 1.875rem;
	}

	.site-footer__logo .site-brand-wordmark {
		flex-direction: row;
		line-height: 1;
	}

	.site-footer__logo .site-brand-wordmark__home,
	.site-footer__logo .site-brand-wordmark__power {
		font-size: 0.94rem;
		letter-spacing: 0.05em;
	}

	.site-footer__logo .site-brand-wordmark__matrix {
		color: #e9e8e5;
		display: inline;
		font-size: 0.94rem;
		letter-spacing: 0.05em;
		margin: 0;
		width: auto;
	}

	.site-footer__logo .site-brand-wordmark__matrix span {
		display: inline;
	}

	.site-footer__bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
		padding-bottom: 1.875rem;
		padding-top: 0;
	}

	.site-footer__legal nav {
		gap: 0.875rem 1.25rem;
	}

	.site-footer__support {
		border-top: 1px solid rgba(255, 255, 255, 0.07);
		font-size: 0.75rem;
		max-width: none;
		padding-top: 1rem;
		width: 100%;
	}
}

@media screen and (max-width: 43.75em) and (max-height: 46.25em) {
	body.mobile-nav-open .main-navigation > .menu {
		padding-bottom: 4.75rem;
	}

	.main-navigation > .menu > ul > li > a {
		font-size: 1.2rem;
		min-height: 3.5rem;
		padding-bottom: 0.5rem;
		padding-top: 0.5rem;
	}

	body.mobile-nav-open .mobile-menu-support {
		font-size: 0.68rem;
		padding-top: 0.65rem;
	}
}

/*--------------------------------------------------------------
# Single post
--------------------------------------------------------------*/
.site-main.site-main--single {
	max-width: none;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 5.625rem;
}

.site-main .single-article {
	margin: 0;
}

.single-hero {
	background:
		radial-gradient(circle at 72% 20%, rgba(246, 195, 36, 0.08), transparent 34%),
		#09090b;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: clamp(2.5rem, 5vw, 4.75rem) 0;
}

.single-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.88fr) minmax(28rem, 1.12fr);
	margin: 0 auto;
	max-width: var(--max-page);
	padding: 0 clamp(1rem, 4vw, 1.75rem);
}

.single-hero__copy {
	min-width: 0;
}

.single-hero__category {
	color: var(--color-power);
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	margin-bottom: 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.single-hero__title {
	color: #f8f7f3;
	font-family: var(--font-display);
	font-size: clamp(3rem, 4.8vw, 4.75rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.94;
	margin: 0;
	text-transform: uppercase;
}

.single-hero__excerpt {
	color: #d1d0cd;
	font-size: clamp(0.95rem, 1.35vw, 1.08rem);
	line-height: 1.65;
	margin: 1.4rem 0 0;
	max-width: 38rem;
}

.single-hero__meta {
	align-items: center;
	color: #b1b0ad;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.78rem;
	gap: 0.5rem;
	margin-top: 1.6rem;
}

.single-hero__media {
	aspect-ratio: 3 / 2;
	background: #151519;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.36);
	overflow: hidden;
}

.single-hero__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.single-reading-band {
	background: #f7f7f5;
	color: #202124;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.single-layout {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) 17rem;
	margin: 0 auto;
	max-width: var(--max-page);
	padding: 0 clamp(1rem, 4vw, 1.75rem);
}

.single-content-column {
	min-width: 0;
}

.single-entry-content {
	color: #292a2d;
	font-size: 1.03rem;
	line-height: 1.75;
	margin: 0;
	max-width: none;
}

.single-entry-content > :first-child {
	margin-top: 0;
}

.single-entry-content h2,
.single-entry-content h3,
.single-entry-content h4 {
	color: #161719;
	font-family: var(--font-display);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.08;
}

.single-entry-content h2 {
	color: #161719;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	margin: 2.25rem 0 0.9rem;
	scroll-margin-top: 8rem;
}

.single-entry-content hr {
	background: #d99a0a;
	height: 1px;
	margin: 2.25rem 0;
	opacity: 0.6;
}

.single-entry-content h3 {
	font-size: 1.55rem;
	margin: 1.75rem 0 0.75rem;
}

.single-entry-content p {
	margin: 0 0 1.25rem;
}

.hpm-quick-answer {
	background: #ededeb;
	border-left: 4px solid var(--color-power-dark);
	margin: 1.75rem 0 2rem;
	padding: 1.35rem 1.5rem;
}

.hpm-quick-answer p {
	color: #292a2d;
	margin-bottom: 1rem;
}

.hpm-quick-answer__button,
.hpm-quick-answer__button:visited {
	background: var(--color-power);
	border: 1px solid var(--color-power);
	border-radius: 6px;
	color: #121315;
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 800;
	padding: 0.8rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.hpm-quick-answer__button:hover,
.hpm-quick-answer__button:focus-visible {
	background: var(--color-power-dark);
	border-color: var(--color-power-dark);
	color: #121315;
}

.hpm-affiliate-disclosure {
	background: #f3f3f0;
	border-left: 3px solid var(--color-power-dark);
	font-size: 0.92rem;
	padding: 1rem 1.15rem;
}

.hpm-brand-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0 2rem;
}

.hpm-brand-links .hpm-quick-answer__button {
	margin: 0;
}

.hpm-brand-links__secondary,
.hpm-brand-links__secondary:visited {
	border: 1px solid #77787b;
	border-radius: 6px;
	color: #202124;
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 800;
	padding: 0.8rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.hpm-brand-links__secondary:hover,
.hpm-brand-links__secondary:focus-visible {
	border-color: var(--color-power-dark);
	color: #202124;
}

.hpm-calculation {
	background: #1f201d;
	border-left: 4px solid var(--color-power);
	color: #fff;
	margin: 1.75rem 0;
	padding: 1.25rem 1.4rem;
}

.hpm-calculation p {
	color: inherit;
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.45;
	margin: 0;
}

.hpm-calculation p + p {
	color: var(--color-power);
	margin-top: 0.65rem;
}

.entry-content :where(.wp-block-table, div:has(> table)) {
	background: #fff;
	border: 1px solid #d9d9d5;
	border-radius: 8px;
	margin: 2rem 0;
	max-width: 100%;
	overflow-x: auto;
}

.entry-content table {
	background: #fff;
	border: 0;
	border-collapse: collapse;
	color: #242528;
	font-size: 0.94rem;
	margin: 0;
	max-width: 100%;
	min-width: 0;
	table-layout: fixed;
	width: 100%;
}

.entry-content table caption {
	color: #55565a;
	font-size: 0.82rem;
	font-style: italic;
	padding: 0.85rem 1rem;
	text-align: left;
}

.entry-content table th,
.entry-content table td {
	border: 0;
	border-bottom: 1px solid #e3e3df;
	overflow-wrap: anywhere;
	padding: 1rem 1.1rem;
	text-align: left;
	vertical-align: middle;
}

.entry-content table thead th {
	background: #f2f2ef;
	border-bottom: 3px solid var(--color-power);
	color: #18191b;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.entry-content table tbody tr:nth-child(even) {
	background: #f3f3f0;
}

.entry-content table tbody tr {
	transition: background-color 140ms ease;
}

.entry-content table tbody tr:hover {
	background: rgba(246, 195, 36, 0.1);
}

.entry-content table tbody tr:last-child td {
	border-bottom: 0;
}

.entry-content table tbody td:first-child {
	font-weight: 600;
}

.single-entry-content a {
	color: #202124;
	font-weight: 700;
}

.single-entry-content ul,
.single-entry-content ol {
	margin: 1rem 0 1.5rem;
	padding-left: 1.5rem;
}

.single-entry-content li {
	margin-bottom: 0.5rem;
	padding-left: 0.3rem;
}

.single-entry-content li::marker {
	color: #d99a0a;
	font-weight: 800;
}

.single-entry-content blockquote {
	background: #ededeb;
	border-left: 4px solid var(--color-power-dark);
	color: #292a2d;
	margin: 1.75rem 0;
	padding: 1.2rem 1.4rem;
}

.single-entry-content blockquote p,
.single-entry-content blockquote cite {
	color: #292a2d;
}

.single-entry-content blockquote > :last-child {
	margin-bottom: 0;
}

.single-entry-content img {
	border-radius: 4px;
}

.single-author-box {
	align-items: center;
	background: #ededeb;
	border-left: 3px solid var(--color-power-dark);
	margin-top: 3rem;
	padding: 1.25rem;
}

.single-author-box h2 {
	color: #161719;
	font-family: var(--font-display);
	font-size: 1.25rem;
	margin: 0 0 0.25rem;
	text-transform: uppercase;
}

.single-author-box p {
	color: #55565a;
	font-size: 0.85rem;
	line-height: 1.55;
	margin: 0;
}

.single-author-box__name,
.single-author-box__name:visited {
	color: #292a2d;
	font-weight: 700;
	margin-right: 0.15em;
}

.single-author-box__name:hover,
.single-author-box__name:focus-visible {
	color: var(--color-power-dark);
}

.single-entry-footer {
	color: #696a6e;
	font-size: 0.78rem;
	margin-top: 1.5rem;
	max-width: none;
}

.single-entry-footer > span {
	display: block;
}

.single-entry-footer > span + span {
	margin-top: 0.45rem;
}

.single-sidebar {
	display: grid;
	gap: 1.25rem;
	position: sticky;
	top: 7rem;
}

.single-sidebar-card,
.single-sidebar__widgets .widget {
	background: #ececea;
	border: 1px solid #dfdfdc;
	margin: 0;
	padding: 1.25rem;
}

.single-sidebar-card > h2,
.single-sidebar__widgets .widget h2 {
	border-left: 3px solid var(--color-power-dark);
	color: #1b1c1e;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
	margin: 0 0 1rem;
	padding-left: 0.65rem;
	text-transform: uppercase;
}

.single-toc ol {
	counter-reset: toc;
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-toc li {
	counter-increment: toc;
	display: grid;
	grid-template-columns: 1.4rem 1fr;
	margin-bottom: 0.65rem;
}

.single-toc li::before {
	color: #36373a;
	content: counter(toc) ".";
	font-size: 0.72rem;
	font-weight: 800;
}

.single-toc li:last-child {
	margin-bottom: 0;
}

.single-toc a,
.single-toc a:visited {
	border-radius: 4px;
	color: #37383b;
	display: block;
	font-size: 0.75rem;
	line-height: 1.4;
	margin: -0.3rem -0.4rem;
	padding: 0.3rem 0.4rem;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.single-toc a:hover,
.single-toc a:visited:hover,
.single-toc a:focus-visible,
.single-toc a:visited:focus-visible {
	background: rgba(246, 195, 36, 0.16);
	color: #17181a;
	transform: translateX(3px);
}

.single-toc a:focus-visible,
.single-toc a:visited:focus-visible {
	outline: 2px solid var(--color-power-dark);
	outline-offset: 2px;
}

.mobile-toc-trigger,
.mobile-toc {
	display: none;
}

.single-recent__list {
	display: grid;
	gap: 0.9rem;
}

.single-recent__item {
	align-items: center;
	color: #242528;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: 4.25rem 1fr;
	text-decoration: none;
}

.single-recent__item:visited {
	color: #242528;
}

.single-recent__item:hover,
.single-recent__item:focus,
.single-recent__item:visited:hover,
.single-recent__item:visited:focus {
	color: #111;
	text-decoration: none;
}

.single-recent__item:hover strong,
.single-recent__item:focus strong,
.single-recent__item:visited:hover strong,
.single-recent__item:visited:focus strong {
	text-decoration: underline;
	text-decoration-color: #77787c;
	text-underline-offset: 0.16em;
}

.single-recent__thumb {
	aspect-ratio: 1;
	background: #d7d7d3;
	display: block;
	overflow: hidden;
}

.single-recent__thumb img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
	width: 100%;
}

.single-recent__item:hover .single-recent__thumb img,
.single-recent__item:focus .single-recent__thumb img,
.single-recent__item:visited:hover .single-recent__thumb img,
.single-recent__item:visited:focus .single-recent__thumb img {
	transform: scale(1.07);
}

.single-recent__item strong {
	display: block;
	font-size: 0.72rem;
	line-height: 1.35;
}

.single-recent__item time {
	color: #77787c;
	display: block;
	font-size: 0.65rem;
	margin-top: 0.25rem;
}

.listing-calculators__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.listing-calculators__list li {
	border-top: 1px solid #d9d9d6;
	margin: 0;
}

.listing-calculators__list a,
.listing-calculators__list a:visited {
	align-items: center;
	color: #242528;
	display: flex;
	gap: 0.75rem;
	padding: 0.75rem 0;
	text-decoration: none;
}

.listing-calculators__list a:hover,
.listing-calculators__list a:focus-visible,
.listing-calculators__list a:visited:hover,
.listing-calculators__list a:visited:focus-visible {
	color: #111;
}

.listing-calculators__list a:hover strong,
.listing-calculators__list a:focus-visible strong,
.listing-calculators__list a:visited:hover strong,
.listing-calculators__list a:visited:focus-visible strong {
	text-decoration: underline;
	text-decoration-color: #77787c;
	text-underline-offset: 0.16em;
}

.listing-calculators__icon {
	align-items: center;
	background: #fdf3d0;
	border-radius: 6px;
	display: inline-flex;
	flex: 0 0 2.5rem;
	height: 2.25rem;
	justify-content: center;
	width: 2.5rem;
}

.listing-calculators__icon img {
	height: 1.25rem;
	object-fit: contain;
	transition: transform 180ms ease;
	width: 1.25rem;
}

.listing-calculators__list a:hover .listing-calculators__icon img,
.listing-calculators__list a:focus-visible .listing-calculators__icon img {
	transform: scale(1.08);
}

.listing-calculators__list strong {
	font-size: 0.76rem;
	line-height: 1.35;
}

.single-sidebar__widgets {
	display: grid;
	gap: 1.25rem;
}

.single-sidebar__widgets #block-3,
.single-sidebar__widgets #block-4 {
	display: none;
}

.single-sidebar__widgets ul,
.single-sidebar__widgets ol {
	color: #55565a;
	font-size: 0.75rem;
	margin: 0;
	padding-left: 1.1rem;
}

.single-sidebar__widgets li {
	margin-bottom: 0.55rem;
}

.single-sidebar__widgets a {
	color: #4d4e52;
}

.single-sidebar__widgets .search-form {
	display: grid;
	gap: 0.6rem;
}

.single-sidebar__widgets .wp-block-search__label {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.single-sidebar__widgets .search-field,
.single-sidebar__widgets .wp-block-search__input {
	-webkit-text-fill-color: #202124;
	background: #fff;
	border: 1px solid #d0d0cc;
	border-radius: 8px;
	caret-color: #202124;
	color: #202124;
	padding: 0.65rem 0.75rem;
	width: 100%;
}

.single-sidebar__widgets .search-field::placeholder,
.single-sidebar__widgets .wp-block-search__input::placeholder {
	color: #6f7074;
	opacity: 1;
}

.single-sidebar__widgets .search-submit,
.single-sidebar__widgets .wp-block-search__button {
	background: var(--color-power);
	border: 0;
	border-radius: 10px;
	color: #111;
	font-family: var(--font-display);
	font-size: 0.94rem;
	font-weight: 800;
	min-height: 3rem;
	padding: 0.7rem 1rem;
	text-transform: uppercase;
}

.single-sidebar__widgets .search-submit:hover,
.single-sidebar__widgets .search-submit:focus,
.single-sidebar__widgets .wp-block-search__button:hover,
.single-sidebar__widgets .wp-block-search__button:focus {
	background: var(--color-power-dark);
	color: #111;
}

.single-post-extras {
	margin: 3rem auto 0;
	max-width: var(--max-page);
	padding: 0 clamp(1rem, 4vw, 1.75rem);
}

.single-post-extras .post-navigation,
.single-post-extras .comments-area {
	max-width: none;
}

.single-post-extras .post-navigation {
	border-top: 1px solid #dadad6;
	padding-top: 1.5rem;
}

.single-post-extras .comments-title,
.single-post-extras .comment-reply-title,
.single-post-extras label {
	color: #242528;
}

.single-post-extras .comments-title,
.single-post-extras .comment-reply-title {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.single-post-extras .comments-area {
	border-top: 1px solid #d8d8d4;
	margin-top: 2.5rem;
	padding-top: 2rem;
}

.single-post-extras .comments-title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	line-height: 1.08;
	margin: 0 0 1.5rem;
}

.single-post-extras .comment-list,
.single-post-extras .comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.single-post-extras .comment-list {
	display: grid;
	gap: 1rem;
}

.single-post-extras .comment-list .children {
	display: grid;
	gap: 1rem;
	margin: 1rem 0 0 clamp(1rem, 4vw, 2.25rem);
}

.single-post-extras .comment-body {
	background: #fff;
	border: 1px solid #deded9;
	border-left: 3px solid var(--color-power-dark);
	border-radius: 6px;
	padding: 1.1rem 1.25rem;
}

.single-post-extras .comment-author {
	color: #242528;
	font-weight: 700;
}

.single-post-extras .comment-author .says {
	color: #717277;
	font-weight: 400;
}

.single-post-extras .comment-author .avatar,
.single-post-extras .comment-avatar,
.single-post-extras .avatar {
	display: none !important;
}

.single-post-extras .comment-metadata {
	color: #74757a;
	font-size: 0.78rem;
	margin-top: 0.2rem;
}

.single-post-extras .comment-content {
	color: #292a2d;
	margin-top: 0.85rem;
}

.single-post-extras .comment-content > :last-child {
	margin-bottom: 0;
}

.single-post-extras .reply {
	margin-top: 0.85rem;
}

.single-post-extras .comment-reply-link {
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.single-post-extras .comment-respond {
	background: #ececea;
	border: 1px solid #deded9;
	border-radius: 6px;
	margin-top: 2rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.single-post-extras .comment-reply-title {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	font-size: clamp(1.35rem, 2.3vw, 1.75rem);
	gap: 0.45rem;
	line-height: 1.1;
	margin: 0 0 1rem;
}

.single-post-extras #cancel-comment-reply-link {
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.single-post-extras .comment-notes,
.single-post-extras .logged-in-as {
	color: #5f6064;
	font-size: 0.9rem;
	margin-bottom: 1.25rem;
}

.single-post-extras .comment-form > p {
	margin: 0 0 1rem;
}

.single-post-extras .comment-form label {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 0.4rem;
}

.single-post-extras input[type="text"],
.single-post-extras input[type="email"],
.single-post-extras input[type="url"],
.single-post-extras textarea {
	background: #fff;
	border: 1px solid #cfcfcb;
	border-radius: 8px;
	color: #242528;
	padding: 0.8rem;
	width: 100%;
}

.single-post-extras textarea {
	min-height: 11rem;
	resize: vertical;
}

.single-post-extras input[type="submit"] {
	background: var(--color-power);
	border: 0;
	border-radius: 10px;
	color: #111;
	font-family: var(--font-display);
	font-size: 0.94rem;
	font-weight: 800;
	min-height: 3rem;
	padding: 0.85rem 1.4rem;
	text-transform: uppercase;
}

.single-post-extras input[type="submit"]:hover,
.single-post-extras input[type="submit"]:focus {
	background: var(--color-power-dark);
	color: #111;
}

.single-reading-band a,
.single-reading-band a:visited {
	color: #202124;
	font-weight: 700;
}

.single-reading-band a:hover,
.single-reading-band a:focus,
.single-reading-band a:active,
.single-reading-band a:visited:hover,
.single-reading-band a:visited:focus {
	color: #000;
	text-decoration-color: #77787c;
}

.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button),
.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button):visited {
	color: #202124;
	font-weight: 700;
	text-decoration-color: rgba(217, 154, 10, 0.62);
	text-decoration-line: underline;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 0.11em;
	text-underline-offset: 0.2em;
	transition: background-color var(--transition-fast), color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button):hover,
.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button):focus-visible,
.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button):visited:hover,
.single-entry-content a:not(.button):not(.wp-element-button):not(.hpm-quick-answer__button):visited:focus-visible {
	background-color: rgba(246, 195, 36, 0.18);
	color: #000;
	text-decoration-color: var(--color-power-dark);
}

.single-post-extras .nav-subtitle {
	color: #77787c;
	display: block;
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.single-post-extras .nav-title {
	color: #252629;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
}

.single-post .site-footer {
	margin-top: 0;
}

@media screen and (max-width: 64em) {
	.site-main.site-main--single {
		padding-top: 7.95rem;
	}

	.single-hero__inner {
		gap: 2rem;
		grid-template-columns: minmax(0, 0.95fr) minmax(23rem, 1.05fr);
	}

	.single-hero__title {
		font-size: clamp(2.6rem, 5vw, 3.65rem);
	}

	.single-layout {
		grid-template-columns: minmax(0, 1fr) 15rem;
	}

	.single-sidebar > .single-toc {
		display: none;
	}

	.mobile-toc-trigger {
		align-items: center;
		backdrop-filter: blur(10px);
		background: rgba(14, 14, 16, 0.94);
		border: 1px solid rgba(246, 195, 36, 0.55);
		border-radius: 8px;
		bottom: max(1rem, env(safe-area-inset-bottom));
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
		color: #fff;
		display: flex;
		font-family: var(--font-display);
		font-size: 0.9rem;
		font-weight: 800;
		gap: 0.55rem;
		left: 50%;
		letter-spacing: 0.04em;
		padding: 0.75rem 1rem;
		position: fixed;
		text-transform: uppercase;
		transform: translateX(-50%);
		z-index: 80;
	}

	.mobile-toc-trigger:hover,
	.mobile-toc-trigger:focus-visible {
		background: #171719;
		border-color: var(--color-power);
		color: #fff;
	}

	body.mobile-nav-open .mobile-toc-trigger {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}

	.mobile-toc-trigger__icon {
		color: var(--color-power);
		height: 1.05rem;
		width: 1.05rem;
	}

	.mobile-toc {
		display: block;
		inset: 0;
		position: fixed;
		z-index: 1000;
	}

	.mobile-toc[hidden] {
		display: none;
	}

	.mobile-toc__scrim {
		background: rgba(0, 0, 0, 0.55);
		border: 0;
		inset: 0;
		opacity: 0;
		padding: 0;
		position: absolute;
		transition: opacity 280ms ease;
		width: 100%;
	}

	.mobile-toc__sheet {
		background: #f7f7f5;
		border-radius: 14px 14px 0 0;
		bottom: 0;
		box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.4);
		display: flex;
		flex-direction: column;
		left: 0;
		max-height: min(78vh, 42rem);
		max-width: 42rem;
		margin: 0 auto;
		position: absolute;
		right: 0;
		transform: translateY(100%);
		transition: transform 320ms cubic-bezier(0.22, 0.61, 0.36, 1);
	}

	.mobile-toc.is-open .mobile-toc__scrim {
		opacity: 1;
	}

	.mobile-toc.is-open .mobile-toc__sheet {
		transform: translateY(0);
	}

	.mobile-toc__header {
		align-items: center;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		display: flex;
		gap: 0.75rem;
		padding: 1rem 1.25rem;
	}

	.mobile-toc__header h2 {
		border-left: 4px solid var(--color-power);
		color: #1c1c20;
		font-family: var(--font-display);
		font-size: 1.25rem;
		font-weight: 800;
		letter-spacing: 0.02em;
		line-height: 1;
		margin: 0;
		padding-left: 0.7rem;
		text-transform: uppercase;
	}

	.mobile-toc__close {
		align-items: center;
		background: #efefec;
		border: 1px solid #d7d7d3;
		border-radius: 8px;
		color: #26262a;
		display: flex;
		font-size: 1.35rem;
		height: 2.25rem;
		justify-content: center;
		line-height: 1;
		margin-left: auto;
		padding: 0;
		width: 2.25rem;
	}

	.mobile-toc__close:hover,
	.mobile-toc__close:focus-visible {
		background: #e5e5e1;
		color: #111;
	}

	.mobile-toc__close:hover {
		border-color: #b9b9b4;
	}

	.mobile-toc__close:focus-visible {
		border-color: transparent;
		outline: 2px solid var(--color-power);
		outline-offset: 2px;
	}

	.mobile-toc__list {
		counter-reset: mobile-toc;
		list-style: none;
		margin: 0;
		overflow-y: auto;
		padding: 0.35rem 1.25rem max(1.5rem, env(safe-area-inset-bottom));
	}

	.mobile-toc__list li {
		align-items: start;
		border-bottom: 1px solid rgba(0, 0, 0, 0.07);
		counter-increment: mobile-toc;
		display: grid;
		gap: 0.8rem;
		grid-template-columns: 1.75rem minmax(0, 1fr);
		padding: 0.85rem 0;
	}

	.mobile-toc__list li::before {
		color: #927300;
		content: counter(mobile-toc) ".";
		font-family: var(--font-display);
		font-size: 1rem;
		font-weight: 700;
	}

	.mobile-toc__list li:last-child {
		border-bottom: 0;
	}

	.mobile-toc__list a,
	.mobile-toc__list a:visited {
		color: #2a2a30;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.3;
		text-decoration: none;
	}

	.mobile-toc__list a:hover,
	.mobile-toc__list a:focus-visible {
		color: #725900;
		text-decoration: underline;
		text-decoration-color: var(--color-power);
		text-underline-offset: 0.2em;
	}

	body.mobile-toc-open {
		overflow: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-toc a {
		transition: none;
	}

	.single-toc a:hover,
	.single-toc a:visited:hover,
	.single-toc a:focus-visible,
	.single-toc a:visited:focus-visible {
		transform: none;
	}

	.mobile-toc__scrim,
	.mobile-toc__sheet {
		transition: none;
	}
}

@media screen and (max-width: 50em) {
	.single-hero__inner,
	.single-layout {
		grid-template-columns: 1fr;
	}

	.single-hero__media {
		grid-row: 1;
	}

	.single-sidebar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}

	.single-sidebar__widgets {
		display: contents;
	}
}

@media screen and (max-width: 43.75em) {
	.site-main.site-main--single {
		padding-top: 4.25rem;
	}

	.single-hero {
		padding: 1.25rem 0 2rem;
	}

	.single-hero__inner {
		gap: 1.5rem;
	}

	.single-hero__title {
		font-size: 2.6rem;
	}

	.single-hero__excerpt {
		font-size: 0.9rem;
		margin-top: 1rem;
	}

	.single-hero__meta {
		margin-top: 1.1rem;
	}

	.single-reading-band {
		padding: 2.5rem 0;
	}

	.single-entry-content {
		font-size: 0.96rem;
	}

	.single-entry-content h2 {
		scroll-margin-top: 5.25rem;
	}

	.entry-content table {
		font-size: 0.86rem;
		min-width: 0;
	}

	.entry-content table th,
	.entry-content table td {
		padding: 0.8rem 0.9rem;
	}

	.entry-content :where(.wp-block-table, div:has(> table.is-mobile-stacked)) {
		background: transparent;
		border: 0;
		overflow: visible;
	}

	.entry-content table.is-mobile-stacked,
	.entry-content table.is-mobile-stacked tbody,
	.entry-content table.is-mobile-stacked tr,
	.entry-content table.is-mobile-stacked td {
		display: block;
		width: 100%;
	}

	.entry-content table.is-mobile-stacked {
		background: transparent;
	}

	.entry-content table.is-mobile-stacked thead {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.entry-content table.is-mobile-stacked tbody {
		display: grid;
		gap: 0.85rem;
	}

	.entry-content table.is-mobile-stacked tbody tr {
		background: #fff;
		border: 1px solid #d9d9d5;
		border-radius: 8px;
		overflow: hidden;
	}

	.entry-content table.is-mobile-stacked tbody tr:nth-child(even) {
		background: #f7f7f4;
	}

	.entry-content table.is-mobile-stacked tbody td {
		align-items: start;
		display: grid;
		gap: 1rem;
		grid-template-columns: minmax(7rem, 38%) minmax(0, 1fr);
		text-align: right !important;
	}

	.entry-content table.is-mobile-stacked tbody td::before {
		color: #55565a;
		content: attr(data-label);
		font-family: var(--font-display);
		font-size: 0.78rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.25;
		text-align: left;
		text-transform: uppercase;
	}

	.entry-content table.is-mobile-stacked tbody tr:last-child td:not(:last-child) {
		border-bottom: 1px solid #e3e3df;
	}

	.single-sidebar {
		grid-template-columns: 1fr;
	}

	.single-author-box {
		padding: 1rem;
	}
}
