/*
Theme Name: Stoneholt
Author: Season
Author URI: https://seasonstudio.com/
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.0
Version: 1.1.159
Namespace: stn
*/

/* Web fonts */
@font-face {
	font-family: 'Romie';
	src: url('/fonts/Romie-Italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Ghost';
	src: url('/fonts/Ghost-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sharp';
	src: url('/fonts/SharpSerifText-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sharp';
	src: url('/fonts/SharpSerifText-Italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

:root {
	--stn-text-base: 1.8rem;
	--stn-text-xs: 1.5rem;
	--stn-text-sm: 1.6rem;
	--stn-text-md: 2.4rem;
	--stn-text-lg: 3rem;
	--stn-text-xl: 5.6rem;
	--stn-header-bar-height: 6rem;
	--stn-footer-height: 50rem;
	--stn-font-romie: 'Romie', serif;
	--stn-font-ghost: 'Ghost', sans-serif;
	--stn-font-sharp: 'Sharp', serif;
	--stn-font-default: 'Helvetica', sans-serif;
}

html {
	font-size: 62.5%; /* 1rem = 10px (when browser default is 16px) */
	scroll-padding-top: var(--stn-header-bar-height);
}

html:has(body.admin-bar) {
	scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 32px) + var(--stn-header-bar-height));
}

main.wp-block-group {
	min-height: calc(100vh - var(--stn-header-bar-height) - var(--stn-footer-height));
}

@media screen and (max-width: 781px) {
	html:has(body.admin-bar) {
		scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 46px) + var(--stn-header-bar-height));
	}
}

body {
	line-height: 1.33;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-family: var(--stn-font-sharp);
}

/* #region Reset  */
*,
*::before,
*::after {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

blockquote,
body,
dd,
dl,
dt,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
legend,
ol,
p,
pre,
ul {
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
hr {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--med-1);
	width: 100%;
}
svg {
	fill: currentColor;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"] {
	background: #fff;
	border: 1px solid var(--wp--preset--color--med-1);
	border-radius: 3.5px;
	height: 4.4rem;
	font-size: 1.5rem;
	font-family: var(--stn-font-default);
}
input::placeholder,
textarea::placeholder {
	color: var(--wp--preset--color--med-3);
}

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

h1, h2, h3, h4, h5, h6 {
	font-family: var(--stn-font-ghost);
	line-height: var(--wp--custom--line-height--heading, 1.14);
	font-weight: 700;
}

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
	font-family: var(--stn-font-romie);
	font-style: italic;
	font-weight: 400;
}
@media (min-width: 782px) {
	h2 {
		font-size: var(--stn-text-lg);
	}
}

h3, h4, h5, h6 {
	font-size: var(--stn-text-base);
}

ul,
ol {
	padding-left: 2rem;
}
.is-stn-list-disc-small > li {
	list-style: none;
	position: relative;
}
.is-stn-list-disc-small > li::before {
	content: '';
	position: absolute;
	left: -1rem;
	top: 0.55em;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
}
.wp-block-table thead,
.wp-block-table tfoot,
.wp-block-table th {
	border-color: var(--wp--preset--color--med-1) !important;
}


a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 1px;
}
.wp-block-post-content a {
	text-decoration: underline;
}

mark {
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}
/* #endregion */

/* #region Icon block */
.stn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	vertical-align: middle;
}
.stn-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}
/* #endregion */

/* #region Typography */
.is-style-text-hl-sans {
	font-size: 4rem;
	font-family: var(--stn-font-ghost);
	line-height: 114%;
	font-weight: 700;
}
.is-style-text-hl-sans em {
	font-family: var(--stn-font-romie);
	font-style: italic;
	font-weight: 400;
}

.is-style-text-hl-serif {
	font-size: 4rem;
	font-family: var(--stn-font-romie);
	line-height: 114%;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.is-style-text-hl-serif strong,
.is-style-text-hl-serif b {
	font-family: var(--stn-font-ghost);
	font-style: normal;
	font-weight: 700;
}
@media (max-width: 999px) {
	.stn-home-hero .is-style-text-hl-sans {
		font-size: 3rem;
	}
}
@media (min-width: 1000px) {
	.is-style-text-hl-sans,
	.is-style-text-hl-serif {
		font-size: var(--stn-text-xl);
	}
}

.is-style-text-subhead-sans {
	font-size: 2.8rem;
	font-family: var(--stn-font-ghost);
	line-height: 114%;
	font-weight: 700;
}

.is-style-text-subhead-sans em {
	font-family: var(--stn-font-romie);
	font-style: italic;
	font-weight: 400;
}

.is-style-text-subhead-serif {
	font-size: 2.8rem;
	font-family: var(--stn-font-romie);
	line-height: 114%;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.is-style-text-subhead-serif strong,
.is-style-text-subhead-serif b {
	font-family: var(--stn-font-ghost);
	font-style: normal;
	font-weight: 700;
}

@media (min-width: 1000px) {
	.is-style-text-subhead-sans,
	.is-style-text-subhead-serif {
		font-size: var(--stn-text-lg);
	}
}

.is-style-text-body {
	font-size: var(--stn-text-base);
	font-family: var(--stn-font-sharp);
}

strong, b,
.is-style-text-body strong,
.is-style-text-body b,
.is-style-text-body-bold {
	font-family: var(--stn-font-ghost);
	font-size: var(--stn-text-sm);
	font-weight: 700;
}

.is-style-text-tiny {
	font-size: var(--stn-text-xs);
	font-family: var(--stn-font-default);
}

.is-style-text-body-large {
	font-size: var(--stn-text-md);
	font-family: var(--stn-font-sharp);
	line-height: 1.33;
	letter-spacing: -0.01em;
	font-weight: normal;
}
/* #endregion */

/* #region Forms */

input,
select,
textarea {
	padding: 0 2rem;
	width: 100%;
}

input:focus,
textarea:focus {
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

/* Search clear (WebKit/Blink): mask + fill color so palette vars apply. */
input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	width: 1.25rem;
	height: 1.25rem;
	margin-inline-end: 0.2rem;
	cursor: pointer;
	background-color: var(--wp--preset--color--med-3);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

input[type="search"]:hover::-webkit-search-cancel-button {
	background-color: var(--wp--preset--color--contrast);
}
/* #endregion */

/* #region Buttons */
/* Wrapper: intrinsic width on desktop so editor + front match (link min-width drives size). !important beats stale inline width:% from block attributes. */
@media (min-width: 782px) {
	/*
	 * Core block-library: .wp-block-buttons > .wp-block-button.wp-block-button__width-* outranks
	 * a plain .wp-block-button { width } rule — neutralize width presets (25–100%) for theme sizing.
	 */
	.wp-block-buttons > .wp-block-button[class*="wp-block-button__width"],
	.wp-block-buttons > .wp-block-button.has-custom-width {
		width: fit-content !important;
		flex-basis: auto !important;
		max-width: 100% !important;
		--wp--block-button--width: unset !important;
	}

	.wp-block-buttons.is-vertical > .wp-block-button[class*="wp-block-button__width"] {
		width: fit-content !important;
	}

	.wp-block-buttons > .wp-block-button.has-custom-width :is(.wp-block-button__link, .wp-block-button__button) {
		width: auto !important;
		max-width: 100% !important;
	}

	.wp-block-button {
		width: fit-content !important;
		max-width: 100%;
		box-sizing: border-box;
	}
}

a.wp-block-button__link,
button.wp-block-button__button {
	background-color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--med-2);
	color: var(--wp--preset--color--contrast);
	border-radius: .8rem;
	padding: 0 1.4rem;
	font-family: var(--stn-font-ghost);
	font-size: var(--stn-text-sm);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 20rem;
	height: 3.8rem;
	box-sizing: border-box;
}
.wp-block-button__link:not(:disabled):hover,
.wp-block-button__button:not(:disabled):hover {
	cursor: pointer;
	border-color: var(--wp--preset--color--med-3);
}

@media (max-width: 781px) {
	.wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}
	.wp-block-buttons .wp-block-button {
		width: 100%;
	}
	.wp-block-button__link,
	.wp-block-button__button {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}
	.stn-header .wp-block-button__link,
	.stn-header .wp-block-button__button {
		width: auto;
		max-width: none;
	}
	.stn-essays-grid__pagination .wp-block-button__button {
		width: auto;
		max-width: none;
	}
	/* Wrappers used outside core Buttons block (e.g. pricing panels, essays pager). */
	.stn-btn-primary {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.stn-essays-grid__pagination .stn-btn-primary {
		width: auto;
		max-width: none;
	}
	.stn-cta-lets-chat .wp-block-buttons {
		width: 100%;
		align-self: stretch;
	}
}
/* #endregion */

/* #region Utility */
/* Responsive visibility — core Columns breakpoint (782px) */
.is-style-hidden-md-up {
	display: inline;
}
.is-style-hidden-md-down {
	display: none;
}
@media (min-width: 782px) {
	.is-style-hidden-md-up {
		display: none !important;
	}
	.is-style-hidden-md-down {
		display: inline !important;
	}
}
@media only screen and (max-width: 781px) {
	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}
}

.wp-block-group.stn-grow-separator,
.wp-block-spacer.stn-grow-separator {
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	min-height: 0;
}
.wp-block-spacer.stn-grow-separator {
	height: auto !important;
}

@media (max-width: 781px) {
	.is-layout-constrained > .alignwide,
	.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 54rem;
	}
}
/* #endregion */

/* #region Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--base);
}

body.admin-bar .site-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media screen and (max-width: 781px) {
	body.admin-bar .site-header {
		top: var(--wp-admin--admin-bar--height, 46px);
	}
}

.stn-header {
	padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
	padding-right: calc(var(--wp--preset--spacing--medium) + 24px + var(--wp--preset--spacing--medium));
	border-bottom: 1px solid var(--wp--preset--color--med-1);
	height: var(--stn-header-bar-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.stn-header__logo {
	align-items: center;
	color: var(--wp--preset--color--contrast);
	display: flex;
	gap: 10px;
	text-decoration: none;
}
.stn-header__logo svg {
	width: 16.8rem;
	height: auto;
}
@media (min-width: 782px) {
	.stn-header__logo svg {
		width: 22.5rem;
	}
}
.stn-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

/*
 * Hamburger → X (pattern stn/hamburger-menu-button): core/button link + ::before/::after.
 * Touch target 24×24px (matches legacy SVG); bars 20×2px, 10px gap; open state = aria-expanded (nav-overlay.js).
 */
.wp-block-button.stn-hamburger-toggle .wp-block-button__link,
.wp-block-button.stn-hamburger-toggle button.wp-block-button__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.4rem !important;
	height: 2.4rem !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: inherit;
	overflow: visible;
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link::before,
.wp-block-button.stn-hamburger-toggle .wp-block-button__link::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 2rem;
	height: .2rem;
	background-color: currentColor;
	transition: transform 0.25s ease, top 0.25s ease, background-color 0.25s ease;
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link::before {
	top: calc(50% - 6px);
	transform: translate(-50%, -50%);
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link::after {
	top: calc(50% + 6px);
	transform: translate(-50%, -50%);
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link[aria-expanded="true"]::before {
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link[aria-expanded="true"]::after {
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wp-block-button.stn-hamburger-toggle .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-button.stn-hamburger-toggle .wp-block-button__link::before,
	.wp-block-button.stn-hamburger-toggle .wp-block-button__link::after {
		transition: none;
	}
}
/* Header bar: core/navigation (when used in header patterns) */
.stn-header__actions .wp-block-navigation,
.stn-header > .wp-block-navigation {
	font-size: inherit;
	min-width: 0;
	display: none;
}
@media (min-width: 1000px) {
	.stn-header__actions .wp-block-navigation,
	.stn-header > .wp-block-navigation {
		display: block;
	}
}
.stn-header__actions .wp-block-navigation .wp-block-navigation__container,
.stn-header > .wp-block-navigation .wp-block-navigation__container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1.6rem;
}
.stn-header > .wp-block-navigation a {
	font-family: var(--stn-font-ghost);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-size: var(--stn-text-sm);
}
.stn-header > .wp-block-navigation .stn-button a,
.wp-block-post-content .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--med-2);
	color: var(--wp--preset--color--contrast);
	border-radius: 0.8rem;
	padding: 0 1.4rem;
	font-family: var(--stn-font-ghost);
	font-size: var(--stn-text-sm);
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3.8rem;
	box-sizing: border-box;
	text-decoration: none;
}

.stn-header-root {
	position: relative;
}

.stn-site-chrome__hamburger {
	position: fixed;
	top: max(1.8rem, env(safe-area-inset-top, 0px));
	right: max(2rem, env(safe-area-inset-right, 0px));
	z-index: 1010;
	margin: 0;
	pointer-events: auto;
}

body.admin-bar .stn-site-chrome__hamburger {
	top: calc(var(--wp-admin--admin-bar--height, 32px) + 1.8rem);
}

@media screen and (max-width: 781px) {
	body.admin-bar .stn-site-chrome__hamburger {
		top: calc(var(--wp-admin--admin-bar--height, 46px) + 1.8rem);
	}
}

.stn-site-chrome__hamburger .wp-block-buttons {
	margin-bottom: 0;
}

/* Bars use currentColor; override theme.json default button (.wp-element-button) for closed vs open overlay */
.stn-site-chrome__hamburger .wp-block-button.stn-hamburger-toggle .wp-block-button__link,
.stn-site-chrome__hamburger .wp-block-button.stn-hamburger-toggle button.wp-block-button__link {
	color: var(--wp--preset--color--contrast);
	transition: color 0.25s ease;
}

body.stn-nav-open .stn-site-chrome__hamburger .wp-block-button.stn-hamburger-toggle .wp-block-button__link,
.stn-site-chrome__hamburger .wp-block-button.stn-hamburger-toggle .wp-block-button__link[aria-expanded="true"] {
	color: #fff;
}

.stn-header-root .stn-header {
	padding-right: calc(2rem + 2.4rem + 2rem); /* 6.4rem — inset + hamburger width + inset (matches fixed chrome) */
}
/* #endregion */

/* #region Navigation overlay */
.stn-nav-overlay {
	position: fixed;
	inset: 0;
	z-index: 1000;
	pointer-events: none;
	visibility: hidden;
	transition: visibility 0.3s ease;
}
.stn-nav-overlay.is-open {
	pointer-events: auto;
	visibility: visible;
}

.stn-nav-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: #000;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.stn-nav-overlay.is-open .stn-nav-overlay__backdrop {
	opacity: .2;
}

.stn-nav-overlay__panel .stn-nav-overlay__divider {
	opacity: 0.1;
}

.stn-nav-overlay__panel {
	background: #07150c;
	bottom: 0;
	color: #fff;
	margin: 0;
	max-width: 100%;
	overflow-y: auto;
	padding: 6rem var(--wp--preset--spacing--medium);
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	width: min(32rem, 85vw);
}
.stn-nav-overlay.is-open .stn-nav-overlay__panel {
	transform: translateX(0);
}

.stn-nav-overlay__primary {
	margin-top: 3rem;
}

.stn-nav-overlay__primary-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.stn-nav-overlay__primary-list a {
	display: block;
	color: var(--wp--preset--color--base);
	transition: color 0.15s ease;
}
.stn-nav-overlay__primary-list a:hover {
	color: var(--wp--preset--color--primary);
}

/* core/navigation in nav-overlay-default template part (theme locations stn-primary / stn-about / stn-specialties) */
.stn-nav-overlay__primary.wp-block-navigation .wp-block-navigation__container {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.stn-nav-overlay__primary.wp-block-navigation .wp-block-navigation-item:not(.has-child) .wp-block-navigation-item__content,
.stn-nav-overlay__primary.wp-block-navigation .wp-block-navigation-item:not(.has-child) a {
	display: block;
	color: var(--wp--preset--color--base);
	transition: color 0.15s ease;
}
.stn-nav-overlay__primary.wp-block-navigation .wp-block-navigation-item:not(.has-child) .wp-block-navigation-item__content:hover,
.stn-nav-overlay__primary.wp-block-navigation .wp-block-navigation-item:not(.has-child) a:hover {
	color: var(--wp--preset--color--primary);
}
.stn-nav-overlay__secondary-list {
	color: var(--wp--preset--color--med-2);
}
.stn-nav-overlay__secondary-list .wp-block-navigation__container {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.stn-nav-overlay__secondary-list a {
	transition: color 0.15s ease;
}
.stn-nav-overlay__secondary-list a:hover {
	color: var(--wp--preset--color--primary) !important;
}

.stn-nav-overlay__section-heading {
	color: var(--wp--preset--color--med-3);
	opacity: .5;
}

.stn-nav-overlay__secondary-list {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.stn-nav-overlay__secondary-list a {
	color: var(--wp--preset--color--med-2);
	transition: color 0.15s ease;
}
.stn-nav-overlay__secondary-list a:hover {
	color: var(--wp--preset--color--primary);
}
/* Body scroll lock when overlay open */
body.stn-nav-open {
	overflow: hidden;
}
/* #endregion */

/* #region Footer */
.stn-siteFooter {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--med-3);
}
/* Default layout groups get core `.is-layout-flow > *` block spacing; footer spacing is `gap` only. */
.stn-siteFooter.is-layout-flow > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.stn-siteFooter hr {
	border-top-color: #f2f2ee;
	opacity: 0.3;
}
@media (min-width: 782px) {
	.stn-siteFooter .wp-block-columns.is-style-separators .wp-block-column:not(:first-child)::before {
		background: #F2F2EE;
		opacity: 0.3;
	}
}

@media (max-width: 781px) {
	.stn-siteFooter .wp-block-columns.is-style-separators .wp-block-column:not(:first-child) {
		border-top: 1px solid rgba(242, 242, 238, 0.3);
	}
}
.stn-siteFooter .wp-block-columns .wp-block-column {
	color: var(--wp--preset--color--med-2);
}
.stn-siteFooter a {
	color: var(--wp--preset--color--med-2);
	transition: color 0.15s ease;
	text-decoration: none;
}
.stn-siteFooter a:hover {
	color: var(--wp--preset--color--primary);
}
.stn-footer__links {
	list-style: none;
	margin: .8rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .8rem;
}
.stn-footerLogo {
	width: 100%;
}
.stn-footerLogo svg {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.stn-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.stn-footer__bottom a {
	color: var(--wp--preset--color--med-3);
}
/* #endregion */

/* #region Columns with separators */
.is-style-posts-separators > *,
.is-style-separators > * {
	position: relative;
}

.is-style-posts-separators > *::before,
.is-style-separators > *:nth-of-type(n+2)::before {
	content: '';
	position: absolute;
	left: calc(-1 * var(--wp--style--block-gap, 1em));
	top: 0;
	bottom: 0;
	width: 1px;
	background-color: var(--wp--preset--color--med-1);
}

@media (max-width: 781px) {
	.is-style-separators > *::before {
		display: none;
	}
	.is-style-separators > *:nth-of-type(n+2) {
		padding-top: 1rem;
		border-top: 1px solid var(--wp--preset--color--med-1);
	}
}

@media (max-width: 539px) {
	.is-style-posts-separators > *::before {
		display: none;
	}
	.is-style-posts-separators > *:nth-of-type(n+2) {
		padding-top: 1rem;
		border-top: 1px solid var(--wp--preset--color--med-1);
	}
}
@media (min-width: 539px) and (max-width: 999px) {
	.is-style-posts-separators > *:nth-of-type(odd)::before {
		display: none;
	}
}
@media (min-width: 1000px) {
	.is-style-posts-separators > *:nth-of-type(4n + 1)::before {
		display: none;
	}
}
/* #endregion */

/* #region Icon grid */
.stn-icon-grid {
	--stn-icon-grid-gap: var(--wp--preset--spacing--large);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: var(--stn-icon-grid-gap);
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--wp--preset--spacing--medium);
}
.stn-icon-grid > .wp-block-columns {
	display: contents;
}
.stn-icon-grid .wp-block-column:empty {
	display: none;
}
.stn-icon-grid .wp-block-column:not(:empty) {
	flex: 0 0 29.4rem;
	max-width: 29.4rem;
	min-width: 0;
	box-sizing: border-box;
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}
@media ( max-width: 539px) {
	.wp-block-image.stn-icon-grid-photo {
		position: relative;
		aspect-ratio: 3 / 4;
		width: 100%;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}
	.wp-block-image.stn-icon-grid-photo img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}
@media ( max-width: 781px) {
	.wp-block-image.stn-icon-grid-photo {
		max-width: none;
	}
}
/*
 * Mobile separators: match global “columns + separators” model — line sits in the gutter
 * (left: -1×gap), not border-left on the column (which sits after flex gap and misaligns).
 * Row-2 first column is :first-child of its row so it needs its own ::before (slide 4→5).
 */
@media (max-width: 781px) {
	.stn-services-grid h2 br {
		display: none;
	}
}
@media (max-width: 539px) {
	.stn-icon-grid {
		margin-inline: calc(-1 * var(--wp--preset--spacing--medium)) !important;
		padding-left: var(--wp--preset--spacing--medium);
		padding-right: var(--wp--preset--spacing--x-large);
		padding-bottom: var(--wp--preset--spacing--small);
		width: auto;
	}
	.stn-icon-grid .wp-block-columns.is-style-posts-separators .wp-block-column:not(:first-child){
		padding-top: 0;
		border-top: none;
	}
	.stn-icon-grid .wp-block-columns.is-style-posts-separators .wp-block-column:not(:first-child)::before {
		display: block;
		left: calc(-.5 * var(--stn-icon-grid-gap));
	}
	.stn-icon-grid > .wp-block-columns + .wp-block-columns .wp-block-column:first-child:not(:empty) {
		position: relative;
	}
	.stn-icon-grid > .wp-block-columns + .wp-block-columns .wp-block-column:first-child:not(:empty)::before {
		content: '';
		position: absolute;
		left: calc(-.5 * var(--stn-icon-grid-gap));
		top: 0;
		bottom: 0;
		width: 1px;
		background-color: var(--wp--preset--color--med-1);
	}
}
@media (min-width: 540px) {
	.stn-icon-grid {
		display: block;
		overflow-x: hidden;
		scroll-snap-type: none;
	}
	.stn-icon-grid > .wp-block-columns {
		display: flex;
	}
	/* Match core Columns equal-width rows; revert replaces WP flex and breaks row alignment */
	.stn-icon-grid > .wp-block-columns .wp-block-column {
		flex: 1 1 0%;
		min-width: 0;
		max-width: none;
		scroll-snap-align: unset;
	}
	.stn-icon-grid > .wp-block-columns + .wp-block-columns .wp-block-column:first-child:not(:empty)::before {
		content: none;
		display: none;
	}
	.stn-icon-grid .wp-block-column:empty {
		display: block;
	}
	.stn-icon-grid .wp-block-columns.is-style-separators .wp-block-column:not(:first-child)::before {
		display: block;
	}
}

@media (min-width: 540px) and (max-width: 999px) {
	.stn-icon-grid > .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.stn-icon-grid > .wp-block-columns .wp-block-column {
		flex: 0 0 calc(50% - (var(--stn-icon-grid-gap) / 2));
		max-width: calc(50% - (var(--stn-icon-grid-gap) / 2));
	}

	.stn-icon-grid .wp-block-column:empty {
		display: none;
	}

	.stn-icon-grid .wp-block-columns.is-style-separators .wp-block-column:nth-child(2n + 1)::before {
		display: none;
	}
}
/* #endregion */

/* #region Home Bio */
.wp-block-columns:has(.stn-who-bio__image) > .wp-block-column:first-child {
	display: flex;
	flex-direction: column;
}
.stn-who-bio__image {
	flex: 1;
	min-height: 500px;
	overflow: hidden;
	display: block;
}
.stn-who-bio__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
/* #endregion */

/* #region Home announcement ribbon */
.stn-announcement-bar {
	position: absolute;
	top: 8rem;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 50rem;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 0 var(--wp--preset--spacing--medium);
	text-align: center;
	color: var(--wp--preset--color--contrast);
	cursor: default;
}
.stn-announcement-bar .stn-announcement-bar__text {
	display: grid;
	place-items: center;
	margin: 0;
	width: 100%;
	font-family: var(--stn-font-sharp);
	line-height: 1.25;
	letter-spacing: -0.01em;
}
@media (min-width: 1000px) {
	.stn-announcement-bar {
		top: 0;
		padding-block: var(--wp--preset--spacing--small);
		height: var(--stn-header-bar-height);
		min-height: var(--stn-header-bar-height);
		z-index: 101;
	}
	.stn-announcement-bar .stn-announcement-bar__text {
		font-size: var(--stn-text-sm);
	}
	.stn-announcement-bar:hover .stn-announcement-bar__default {
		opacity: 0;
	}
	.stn-announcement-bar:hover .stn-announcement-bar__hover {
		opacity: 1;
	}
}
.stn-announcement-bar .stn-announcement-bar__default,
.stn-announcement-bar .stn-announcement-bar__hover {
	grid-area: 1 / 1;
	max-width: 100%;
	text-align: center;
	transition: opacity 0.15s ease;
}
.stn-announcement-bar .stn-announcement-bar__default {
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 781px) {
	.stn-announcement-bar__default-asterisk {
		display: none;
	}
}
.stn-announcement-bar .stn-announcement-bar__hover {
	color: var(--wp--preset--color--med-3);
	opacity: 0;
	pointer-events: none;
}
body.admin-bar .stn-announcement-bar {
	top: var(--wp-admin--admin-bar--height, 32px);
}
@media screen and (max-width: 781px) {
	body.admin-bar .stn-announcement-bar {
		top: var(--wp-admin--admin-bar--height, 46px);
	}
}
/* #endregion */

/* #region Mobile-specific styles */
@media (max-width: 539px) {
	.wp-block-image.stn-will-steiner-photo {
		position: relative;
		aspect-ratio: 3 / 4;
		width: 100%;
		max-width: none;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}
	.wp-block-image.stn-will-steiner-photo img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}
@media (max-width: 781px) {
	.wp-block-image.stn-will-steiner-photo {
		max-width: none;
	}
}
@media (max-width: 781px) {
	.stn-jump-nav .wp-block-columns > .wp-block-column:first-child .wp-block-image {
		position: relative;
		aspect-ratio: 3 / 4;
		width: 100%;
		max-width: none;
		margin: 0;
		overflow: hidden;
	}
	.stn-jump-nav .wp-block-columns > .wp-block-column:first-child .wp-block-image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.stn-focus-one-thing .stn-focus-one-thing__photos .wp-block-column:nth-child(2) {
		display: none;
	}
	.stn-focus-one-thing .stn-focus-one-thing__photos .wp-block-column:first-child .wp-block-image.stn-focus-one-thing__photo {
		position: relative;
		aspect-ratio: 3 / 4;
		width: 100%;
		max-width: none;
		margin: 0;
		overflow: hidden;
	}
	.stn-focus-one-thing .stn-focus-one-thing__photos .wp-block-column:first-child .wp-block-image.stn-focus-one-thing__photo img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}
/* #endregion */

/* #region Jump nav */
@media (min-width: 1000px) {
	/* Inline padding on the column beats normal rules; !important needed for desktop-only horizontal padding. */
	.stn-jump-nav .stn-jump-nav-column {
		padding-left: var(--wp--preset--spacing--large) !important;
		padding-right: var(--wp--preset--spacing--large) !important;
	}
}

.wp-block-list.is-style-jump-nav-links {
	list-style: none;
	margin: 4rem 0 0;
	padding: 0;
	position: relative;
	width: 100%;
	max-width: 100%;
	align-self: stretch;
	box-sizing: border-box;
}
.wp-block-list.is-style-jump-nav-links::before {
	display: block;
	width: 100%;
	position: absolute;
	height: 1px;
	background: currentColor;
	content: '';
	top: -1px;
	left: 0;
	opacity: .3;
}
.wp-block-list.is-style-jump-nav-links a {
	text-decoration: none;
	color: inherit;
	display: flex;
	align-items: center;
	padding-block: 2rem;
	border-bottom: 1px solid currentColor;
	opacity: .3;
	position: relative;
}
.wp-block-list.is-style-jump-nav-links a::before {
	display: block;
	width: 100%;
	position: absolute;
	height: 1px;
	background: currentColor;
	content: '';
	top: -1px;
	left: 0;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
}
.wp-block-list.is-style-jump-nav-links a:hover,
.wp-block-list.is-style-jump-nav-links a:hover::before {
	opacity: 1;
}
@media (min-width: 1000px) {
	.wp-block-list.is-style-jump-nav-links {
		margin-top: auto;
	}
}
.wp-block-list.is-style-jump-nav-links a::after {
	content: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16 15.8582L18.8868 10.8582H13.1132L16 15.8582ZM4 3.85815V4.35815H12.8V3.85815V3.35815H4V3.85815ZM16 7.05815H15.5V11.3582H16H16.5V7.05815H16ZM12.8 3.85815V4.35815C14.2912 4.35815 15.5 5.56699 15.5 7.05815H16H16.5C16.5 5.0147 14.8435 3.35815 12.8 3.35815V3.85815Z" fill="%230A1C10"/></svg>');
	display: block;
	width: 2rem;
	height: 2rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
}
.wp-block-list.is-style-jump-nav-links a:hover::after {
	opacity: 1;
}
/* #endregion */

/* #region Scroll words */
.stn-scroll-words-outer {
	overflow: visible;
	transform: none;
	filter: none;
	perspective: none;
}
.stn-scroll-words {
	position: relative;
	width: 100%;
}
.stn-scroll-words__pin {
	position: relative;
	width: 100%;
	/* Viewport band below fixed header — matches ScrollTrigger pin start offset. */
	height: calc(100vh - var(--stn-header-bar-height));
	height: calc(100dvh - var(--stn-header-bar-height));
}

/*
 * ScrollTrigger pin sets inline height; without !important, mobile keeps a stale band when the
 * browser chrome moves. Refresh-on-resize fixes that but breaks scrub/pin on many phones — override
 * inline height here instead (matches breakpoint below scroll-words word font-size change).
 */
@media (max-width: 781px) {
	.stn-scroll-words__pin {
		height: calc(100dvh - var(--stn-header-bar-height)) !important;
		max-height: calc(100dvh - var(--stn-header-bar-height)) !important;
	}
	.stn-scroll-words__stage {
		clip-path: none !important;
		-webkit-clip-path: none !important;
		will-change: auto !important;
		position: absolute !important;
		top: 2rem !important;
		left: 2rem !important;
		right: 2rem !important;
		bottom: 2rem !important;
		width: auto !important;
		height: auto !important;
	}
	.stn-scroll-words__media img {
		height: 100%;
	}
}
.stn-scroll-words__stage {
	position: relative;
	height: 100%;
	width: 100%;
	overflow: hidden;
	will-change: clip-path;
	clip-path: inset(48% 48% 48% 48%);
	-webkit-clip-path: inset(48% 48% 48% 48%);
}

.stn-scroll-words__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	background-color: var(--wp--preset--color--contrast);
}

/* Sized to large viewport so cover crop stays stable while `.stn-scroll-words__pin` follows `dvh`. */
.stn-scroll-words__media img {
	width: 100%;
	height: 100%;
	height: calc(100lvh - var(--stn-header-bar-height));
	object-fit: cover;
	object-position: center;
	display: block;
}

.stn-scroll-words__words {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 1;
}

.stn-scroll-words__words-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	will-change: transform;
}

.stn-scroll-words__word {
	display: block;
	position: relative;
	margin: 0;
	font-family: var(--stn-font-ghost);
	font-weight: 700;
	font-size: 4.5rem;
	line-height: 114%;
	color: var(--wp--preset--color--base);
}
@media (min-width: 782px) {
	.stn-scroll-words__word {
		font-size: 5.6rem;
	}
}

.stn-scroll-words__word.is-active {
	font-family: var(--stn-font-romie);
	font-weight: 400;
	font-style: italic;
}

@media (prefers-reduced-motion: reduce) {
	.stn-scroll-words__stage {
		clip-path: inset(2rem 2rem 20px 2rem) !important;
		-webkit-clip-path: inset(2rem 2rem 20px 2rem) !important;
	}

	.stn-scroll-words__words-inner {
		transform: none !important;
	}

	.stn-scroll-words__word {
		transition: none;
	}

	.stn-scroll-words__word.is-active,
	.stn-scroll-words__word--focal {
		font-family: var(--stn-font-romie);
		font-weight: 400;
		font-style: italic;
	}

	.stn-scroll-words__word:not(.stn-scroll-words__word--focal) {
		font-family: var(--stn-font-ghost);
		font-weight: 700;
		font-style: normal;
	}
}
/* #endregion */

/* #region Tabs */
.stn-tabs__nav {
	display: flex;
	border: 1px solid var(--wp--preset--color--med-1);
}
@media (max-width: 781px) {
	.stn-tabs__nav {
		position: sticky;
		top: var(--stn-header-bar-height);
		z-index: 90;
		background: var(--wp--preset--color--base);
	}
	body.admin-bar .stn-tabs__nav {
		top: calc(var(--wp-admin--admin-bar--height, 46px) + var(--stn-header-bar-height));
	}
}
.stn-tabs__tab {
	flex: 1;
	padding: 16px 12px;
	font-size: 1.3rem;
	text-align: center;
	background: transparent;
	border: none;
	border-right: 1px solid var(--wp--preset--color--med-1);
	border-bottom: .5rem solid transparent;
	margin-bottom: -1px;
	cursor: pointer;
	color: var(--wp--preset--color--med-3);
	transition: color 0.15s ease;
}
.stn-tabs__tab:last-child {
	border-right: none;
}
.stn-tabs__tab.is-active {
	color: var(--wp--preset--color--contrast);
	border-bottom-color: var(--wp--preset--color--contrast);
	font-weight: bold;
}
.stn-tabs__tab:hover:not(.is-active) {
	color: var(--wp--preset--color--contrast);
}
.stn-tabs__panels {
	position: relative;
}
.stn-tabs__panel {
	display: none;
}
.stn-tabs__panel.is-active {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 0;
	background: var(--wp--preset--color--med-1);
}
.stn-tabs__content {
	flex: none;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--medium);
	padding: var(--wp--preset--spacing--medium);
}
.stn-tabs__content > * {
	max-width: 49.3rem;
}
.stn-tabs__panel-footer {
	margin-top: auto;
}
.stn-tabs__panel-footer .wp-block-button__button {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}
.stn-tabs__content .is-style-text-hl-sans {
	margin: 0;
}
.stn-tabs__content .is-style-text-body {
	margin: 0;
}
.stn-tabs__image {
	flex: 1;
	overflow: hidden;
	min-height: 280px;
	padding: var(--wp--preset--spacing--medium);
}
/* theme.json gives .wp-block-image 2rem block margin; padding on .stn-tabs__image already provides inset */
.stn-tabs__image .wp-block-image {
	margin: 0;
}
.stn-tabs__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (min-width: 782px) {
	.stn-tabs__tab {
		padding: 2rem 2rem 1.5rem;
		font-size: inherit;
		text-align: left;
	}
	.stn-tabs__panel.is-active {
		flex-direction: row-reverse;
		min-height: 500px;
	}
	.stn-tabs__content {
		flex: 0 0 50%;
		gap: var(--wp--preset--spacing--large);
		padding: var(--wp--preset--spacing--large);
	}
	.stn-tabs__panel-footer .wp-block-button__button {
		min-width: 20rem;
		width: auto;
		max-width: none;
	}
	.stn-tabs__image {
		min-height: 0;
		padding-left: var(--wp--preset--spacing--small);
	}
}
/* #endregion */

/* #region Bio */
.stn-who-bio__text-col {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
.stn-who-bio__text-col > .wp-block-heading:first-child {
	margin-block-end: auto;
}
@media (max-width: 781px) {
	.stn-who-bio__copy.is-collapsed .wp-block-column:first-child > p:nth-of-type(3) {
		display: none !important;
	}
	.stn-who-bio__copy.is-collapsed .wp-block-column:last-child {
		display: none !important;
	}
	.stn-collapsible-content__toggle.wp-block-button__button {
		margin-top: var(--wp--preset--spacing--medium);
	}
}
@media (min-width: 782px) {
	.stn-collapsible-content[data-visibility="mobile"] .stn-collapsible-content__toggle {
		display: none !important;
	}
}
@media (max-width: 781px) {
	.stn-collapsible-content[data-visibility="desktop"] .stn-collapsible-content__toggle {
		display: none !important;
	}
}
/* #endregion */

/* #region CTA lets chat */
.stn-cta-lets-chat .stn-cta-lets-chat__muted-list {
	opacity: 0.5;
}
@media (max-width: 781px) {
	.stn-cta-lets-chat__grid.is-layout-grid {
		grid-template-columns: 1fr !important;
		gap: 4rem !important;
	}
	.stn-cta-lets-chat__grid.is-layout-grid > .wp-block-group {
		grid-column: 1 / -1 !important;
	}
	.stn-cta-lets-chat__grid > .wp-block-group[aria-hidden="true"] {
		display: none !important;
	}
}
/* #endregion */

/* #region Newsletter CTA */
.stn-newsletter__image-col {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.stn-newsletter__phone {
	width: 100%;
	height: 100%;
	margin: 0;
}
.stn-newsletter__phone img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.stn-newsletter-section__body {
	max-width: 55rem;
}
@media (max-width: 781px) {
	.stn-newsletter-section .stn-newsletter__image-col {
		display: none;
	}
}
@media (max-width: 1199px) {
	/* Section provides horizontal inset; keep vertical rhythm from column top/bottom only. */
	.stn-newsletter-section .wp-block-column:not(.stn-newsletter__image-col) {
		padding: 0 !important;
	}
}
.stn-newsletter-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--medium);
	max-width: 51.3rem;
}
.stn-newsletter-form__input-wrap {
	height: 4.4rem;
	border-radius: 3.5px;
	border: 1px solid var(--wp--preset--color--med-1);
	display: flex;
	align-items: center;
	gap: 1.6rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--med-1);
	padding: 0 1.6rem;
}
.stn-newsletter-form svg {
	flex-shrink: 0;
	color: var(--wp--preset--color--med-3);
}
.stn-newsletter-form__input-wrap input[type="email"] {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	padding: 0;
	height: 100%;
}
.stn-newsletter-form__input::placeholder {
	color: var(--wp--preset--color--med-3);
}
.stn-newsletter-form.is-loading {
	opacity: 0.85;
	pointer-events: none;
}
.stn-newsletter-form__status {
	margin: 0;
}
/* #endregion */

/* #region Newsletter popover */
.stn-newsletter-popover {
	max-width: 32rem;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
}
.stn-newsletter-popover__media {
	position: relative;
	line-height: 0;
}
.stn-newsletter-popover__media .wp-block-image.stn-newsletter-popover__image {
	position: relative;
	margin: 0;
	width: 100%;
	aspect-ratio: 2 / 1;
	overflow: hidden;
}
.stn-newsletter-popover__media .wp-block-image.stn-newsletter-popover__image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	display: block;
	object-fit: cover;
	object-position: center;
}
.stn-newsletter-popover__content {
	margin: 0;
	padding: 2rem;
}
.stn-newsletter-popover__headline {
	margin: 0 0 2rem;
}
.stn-newsletter-popover__subhead {
	margin: 0 0 2rem;
	max-width: 36rem;
}
.stn-newsletter-popover__content .stn-newsletter-form {
	max-width: none;
	gap: 1rem;
}
.stn-newsletter-popover__content .stn-newsletter-form__ctas.stn-btn-primary .wp-block-button__button {
	width: 100%;
	min-width: 0;
	max-width: none;
}
.stn-newsletter-popover__content  .stn-newsletter-form__input-wrap {
	padding: 0 1rem;
	gap: 1rem;
	height: 4rem;
}
.stn-newsletter-popover__later-wrap {
	margin: 0;
	margin-top: 1rem;
}
.stn-newsletter-popover__later {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.stn-newsletter-popover__later:hover {
	color: var(--wp--preset--color--contrast);
}
/* #endregion */

/* #region Nelio Popups */
.nelio-popup-close-button {
	align-items: center;
	background: var(--wp--preset--color--base);
	border-radius: .4rem;
	border: 1px solid var(--wp--preset--color--med-1);
	color: var(--wp--preset--color--med-3);
	cursor: pointer;
	display: inline-flex;
	height: 2.4rem;
	justify-content: center;
	padding: 0;
	width: 2.4rem;
	-webkit-appearance: none;
	appearance: none;
}
.nelio-popup-close-button::before {
	content: url('data:image/svg+xml,<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.70775 12.6155L0 11.9078L5.6 6.30775L0 0.70775L0.70775 0L6.30775 5.6L11.9078 0L12.6155 0.70775L7.0155 6.30775L12.6155 11.9078L11.9078 12.6155L6.30775 7.0155L0.70775 12.6155Z" fill="%238B978B"/></svg>');
	display: block;
	width: 1.3rem;
	height: 1.3rem;
	flex-shrink: 0;
}
.nelio-popup-close-button--is-top-right {
	top: 1.6rem;
	right: 1.6rem;
}
.nelio-popup-close-button:hover,
.nelio-popup-close-button:focus {
	color: var(--wp--preset--color--contrast);
	outline: none;
	border-radius: .4rem;
}
.nelio-popup-close-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

@media only screen and (max-width: 781px) {
	.nelio-popup-positioner {
		left: 50% !important;
		right: auto !important;
		top: 50% !important;
		bottom: auto !important;
		transform: translate(-50%, -50%) !important;
	}
}
/* #endregion */

/* #region Pricing Tab Panel */
.stn-pricing-section__headline {
	padding: 0;
}
.stn-pricing-panel {
	border-top: 1px solid var(--wp--preset--color--med-1);
	border-bottom: 1px solid var(--wp--preset--color--med-1);
	padding-block: 2rem;
}
.stn-pricing-panel__container {
	display: flex;
	gap: var(--wp--preset--spacing--medium);
}
.stn-pricing-panel__nav {
	flex: 1 0 0;
	min-width: 0;
}
.stn-pricing-panel__nav-inner {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	padding: 4rem;
	overflow: hidden;
}
.stn-pricing-panel__tabs {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
}
.stn-pricing-panel__tab {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 15px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
	text-align: left;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.stn-pricing-panel__tab.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--med-1);
}
.stn-pricing-panel__tab:not(.is-active) {
	color: var(--wp--preset--color--med-3);
}
.stn-pricing-panel__tab:not(.is-active):hover {
	color: var(--wp--preset--color--contrast);
}
.stn-pricing-panel__tab-note {
	opacity: 0.5;
}
.stn-pricing-panel__callout {
	display: none;
	margin: 0;
}
.stn-pricing-panel__panels {
	flex: 1 0 0;
	min-width: 0;
	background: #fff;
}
.stn-pricing-panel__panel {
	display: none;
	flex-direction: column;
	gap: 40px;
	padding: 40px;
	height: 100%;
}
.stn-pricing-panel__panel.is-active {
	display: flex;
}
.stn-pricing-panel__rows {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.stn-pricing-panel__divider {
	border: none;
	border-top: 1px solid var(--wp--preset--color--med-1);
	margin: 0;
}
.stn-pricing-panel__row {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
	padding-bottom: 2rem;
}
.stn-pricing-panel__row-badge-col {
	flex: 1;
}
.stn-pricing-panel__badge {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding: 0 1.5rem;
	border: 1px solid var(--wp--preset--color--med-1);
	border-radius: .8rem;
	background: #fff;
	height: 3.8rem;
	font-family: var(--stn-font-default);
	font-size: var(--stn-text-xs);
}
.stn-pricing-panel__badge-icon {
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	display: block;
}
.stn-pricing-panel__badge-text {
	white-space: nowrap;
}
.stn-pricing-panel__row-desc {
	flex: 1;
	margin: 0;
}
.stn-pricing-panel__ctas {
	display: flex;
}

@media (max-width: 999px) {
	.stn-pricing-panel__container {
		flex-direction: column;
	}
	.stn-pricing-panel__nav {
		padding: 0;
	}
	.stn-pricing-panel__nav-inner {
		padding: 0;
	}
	.stn-pricing-panel__tabs {
		flex-direction: row;
		align-items: stretch;
		width: 100%;
		gap: var(--wp--preset--spacing--small);
	}
	.stn-pricing-panel__tab {
		flex: 1 1 0;
		min-width: 0;
		justify-content: center;
		height: 3.8rem;
		min-height: 3.8rem;
		padding: 0 1.4rem;
		border-radius: 0.8rem;
		font-family: var(--stn-font-ghost);
		font-size: var(--stn-text-sm);
		font-weight: 700;
		gap: 0.75rem;
		box-sizing: border-box;
		-webkit-appearance: none;
		appearance: none;
		border: 1px solid transparent;
	}
	.stn-pricing-panel__tab.is-active {
		background-color: var(--wp--preset--color--primary);
		border-color: var(--wp--preset--color--med-2);
		color: var(--wp--preset--color--contrast);
	}
	.stn-pricing-panel__tab.is-active:hover {
		border-color: var(--wp--preset--color--med-3);
	}
	.stn-pricing-panel__tab:not(.is-active) {
		background-color: transparent;
		color: var(--wp--preset--color--med-3);
	}
	.stn-pricing-panel__tab:not(.is-active):hover {
		color: var(--wp--preset--color--contrast);
	}
	.stn-pricing-panel__tab .is-style-text-subhead-sans {
		font-family: inherit;
		font-size: inherit;
		font-weight: inherit;
	}
	.stn-pricing-panel__tab .stn-icon {
		flex-shrink: 0;
		color: currentColor;
	}
	.stn-pricing-panel__tab-note {
		display: none;
	}
	.stn-pricing-panel__callout {
		display: block;
		opacity: 0.5;
		margin-bottom: 1rem;
	}
	.stn-pricing-panel__panels {
		align-self: auto;
	}
	.stn-pricing-panel__panel {
		padding: 30px 2rem;
		gap: 0;
	}
	.stn-pricing-panel__panel > h3 {
		margin: 0 0 24px;
	}
}
@media (max-width: 781px) {
	.stn-pricing-panel__row {
		flex-direction: column;
		gap: 12px;
	}
	.stn-pricing-panel__row-badge-col {
		align-self: stretch;
		width: 100%;
		flex: 0 0 auto;
	}
	.stn-pricing-panel__badge {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		min-height: 3.8rem;
		height: auto;
	}
	.stn-pricing-panel__badge-text {
		white-space: normal;
	}
	.stn-pricing-panel__ctas {
		width: 100%;
	}
}
/* #endregion */

/* #region Smart Slider */
/* .stn-slider .nextend-arrow {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 2px solid var(--wp--preset--color--med-1) !important;
	border-radius: 999px !important;
	width: 4rem !important;
	height: 4rem !important;
	min-width: 4rem !important;
	min-height: 4rem !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.stn-slider .nextend-arrow:hover {
	border-color: var(--wp--preset--color--med-3) !important;
}

.stn-slider .nextend-arrow img {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
}

.stn-slider .nextend-arrow::before {
	content: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M647-440H160v-80h487L423-744l57-56%20320%20320-320%20320-57-56%20224-224Z%22%2F%3E%3C%2Fsvg%3E');
	display: block;
	width: 2.4rem;
	height: 2.4rem;
}

.stn-slider .nextend-arrow-next::before {
	content: '›';
}

.stn-slider .nextend-arrow-previous::before,
.stn-slider .nextend-arrow-prev::before {
	content: '‹';
}

.stn-slider .n2-ss-control-prev:hover,
.stn-slider .n2-ss-control-next:hover {
	border-color: var(--wp--preset--color--med-2) !important;
	background: var(--wp--preset--color--base) !important;
}

.stn-slider .nextend-arrow:hover {
	border-color: var(--wp--preset--color--med-2) !important;
}

.stn-slider .n2-ss-control-prev:focus-visible,
.stn-slider .n2-ss-control-next:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.stn-slider .n2-ss-control-bullet .n2-ss-bullet,
.stn-slider .n2-ss-control-bullet button {
	width: 1rem !important;
	height: 1rem !important;
	border-radius: 999px !important;
	border: 2px solid var(--wp--preset--color--contrast) !important;
	background: var(--wp--preset--color--contrast) !important;
	opacity: 1 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.stn-slider .n2-ss-control-bullet .n2-active,
.stn-slider .n2-ss-control-bullet .n2-ss-bullet.n2-active,
.stn-slider .n2-ss-control-bullet button[aria-current="true"] {
	background: var(--wp--preset--color--base) !important;
	border: 2px solid var(--wp--preset--color--contrast) !important;
	box-shadow: none !important;
	transform: none !important;
}

.stn-slider .n2-ss-control-bullet .n2-ss-bullet:hover,
.stn-slider .n2-ss-control-bullet button:hover {
	border-color: var(--wp--preset--color--med-3) !important;
} */

/* Smart Slider motion tuning (Flickity-like softer ease-out). */
/* .stn-slider .n2-ss-slide {
	transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

.stn-slider .nextend-arrow-animated-fade {
	transition-duration: 240ms !important;
	transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
	.stn-slider .n2-ss-slide,
	.stn-slider .nextend-arrow-animated-fade {
		transition-duration: 0ms !important;
	}
} */
/* #endregion */

/* #region Testimonials rotator */
.stn-testimonials-rotator {
	margin-top: 0;
	margin-bottom: 0;
}

.stn-testimonials-rotator__slide {
	width: 100%;
}

.stn-testimonials-rotator__quote {
	margin: 0 auto;
	max-width: 69rem;
	padding: var(--wp--preset--spacing--x-large) 0;
	display: flex;
	flex-direction: column;
}

.stn-testimonials-rotator__body {
	margin: 0;
	text-align: center;
}

.stn-testimonials-rotator__body + .stn-testimonials-rotator__body {
	margin-top: var(--wp--preset--spacing--small);
}

.stn-testimonials-rotator__cite {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--small);
	order: -1;
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--medium);
	font-style: normal;
	justify-content: center;
}

.stn-testimonials-rotator__cite-image img {
	display: block;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 999px;
	object-fit: cover;
}

.stn-testimonials-rotator__cite-name {
	font-family: var(--wp--preset--font-family--ghost);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.stn-testimonials-rotator .flickity-page-dots {
	bottom: 0;
}
/* #endregion */

/* #region Flickity */
.flickity-page-dots .dot {
	background: var(--wp--preset--color--med-1);
	opacity: 1;
	margin: 0 .5rem;
}
.flickity-page-dots .dot.is-selected  {
	background: var(--wp--preset--color--contrast);
}
/* #endregion */

/* #region Disclaimer */
.wp-block-group.stn-disclaimer p {
	max-width: 104rem;
}
/* #endregion */

/* #region Accordion */
@media (min-width: 782px) {
	.stn-page-embed .stn-faq-accordion {
		max-width: 51rem;
		width: 100%;
	}
}

/* FAQ: title + Lottie cairn (desktop); bottom-left in column; hidden <782px */
.stn-faq-section .stn-faq-intro-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.stn-faq-section .stn-faq-cairn {
	width: min(100%, 35rem);
	aspect-ratio: 1;
	flex-shrink: 0;
	margin-top: auto;
	align-self: flex-start;
	pointer-events: auto;
}

@media (max-width: 781px) {
	.stn-faq-section .stn-faq-cairn {
		display: none;
	}
}
/* #endregion */

/* #region Page embed — get-started */
@media (max-width: 1100px) {
	.stn-page-embed .wp-block-columns {
		flex-direction: column;
	}

	.stn-page-embed .wp-block-column {
		flex-basis: 100% !important;
	}

	.stn-page-embed .wp-block-column:nth-child(1) > .wp-block-group {
		max-width: 69rem;
	}

	.stn-page-embed .wp-block-column:nth-child(2) > .wp-block-group {
		padding-left: var(--wp--preset--spacing--medium) !important;
		padding-right: var(--wp--preset--spacing--medium) !important;
	}
}

@media (max-width: 781px) {
	.stn-page-embed .stn-page-embed__typeform-wrap,
	.stn-page-embed .stn-page-embed__typeform-wrap .tf-v1-widget iframe {
		min-height: 40rem;
	}
}
/* #endregion */

/* #region Blog featured */

/* Blog featured: med-1 behind featured image (Frost-style pattern — no wrapper group in markup) */
.stn-blog-featured .wp-block-post-featured-image {
	background-color: var(--wp--preset--color--med-1);
}

/* No featured image: placeholder rectangle (see inc/blog-featured.php). */
.stn-blog-featured .wp-block-post-featured-image.stn-blog-featured__thumb--placeholder {
	position: relative;
	overflow: hidden;
}

.stn-blog-featured .wp-block-post-featured-image.stn-blog-featured__thumb--placeholder > a {
	position: absolute;
	inset: 0;
	display: block;
}

.stn-blog-featured .stn-blog-featured__thumb-placeholder {
	position: absolute;
	inset: 0;
	display: block;
	background-color: var(--wp--preset--color--med-1);
}

/* Top pair of rules: core separator uses theme.json border currentColor — align with grid gutters (med-1). */
.stn-blog-featured__top-separators .wp-block-separator {
	border-top: 1px solid var(--wp--preset--color--med-1);
}

.stn-blog-featured .stn-blog-featured__grid.is-layout-grid.is-style-separators {
	gap: var(--wp--preset--spacing--large);
}
@media (max-width: 781px) {
	.stn-blog-featured__text-content {
		align-items: center;
		text-align: center;
	}
}
@media (min-width: 783px) {
	.stn-blog-featured .stn-blog-featured__grid.is-layout-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}
	.stn-blog-featured .stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(1) {
		grid-column: span 2;
	}
	.stn-blog-featured .stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(2) {
		grid-column: span 4;
	}
	.stn-blog-featured .stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(3) {
		grid-column: span 2;
	}
}
.stn-blog-featured__grid.is-layout-grid > .wp-block-group {
	min-width: 0;
}

/* Left column ("New"): 2rem between posts; 1rem above the title (core often ignores gap on li). */
.stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(1) .wp-block-post-template {
	gap: var(--wp--preset--spacing--medium);
}

.stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(1) .wp-block-post-template > li {
	gap: 0 !important;
}

.stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(1) .wp-block-post-template > li > .wp-block-group {
	padding-top: 1rem;
}

/* Center column: medium space above the title stack (below featured image). */
.stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(2) .wp-block-post-template > li {
	gap: 0 !important;
}

.stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(2) .wp-block-post-template > li > .wp-block-group {
	padding-top: var(--wp--preset--spacing--medium);
}

@media only screen and (max-width: 539px) {

	/* 3:4 on mobile for Featured + Greatest hits only; "New" keeps 16/9 (block / post card). */
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(2) .wp-block-post-featured-image,
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(3) .wp-block-post-featured-image {
		position: relative;
		aspect-ratio: 3 / 4 !important;
		overflow: hidden;
	}
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(2) .wp-block-post-featured-image img,
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(3) .wp-block-post-featured-image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(2) .wp-block-post-featured-image > a,
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group:nth-child(3) .wp-block-post-featured-image > a {
		position: absolute;
		inset: 0;
		display: block;
	}
}
@media only screen and (max-width: 999px) {
	.stn-blog-featured .stn-blog-featured__top-separators {
		display: none;
	}
	.stn-blog-featured__grid.is-layout-grid > .wp-block-group {
		grid-column: 1 / -1 !important;
	}
	.stn-blog-featured .stn-blog-featured__grid > .wp-block-group > p.is-style-text-tiny {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	/* Featured (center) column first when stacked; rebalance horizontal rules vs DOM order. */
	.stn-blog-featured .stn-blog-featured__grid.is-layout-grid > .wp-block-group:nth-child(2) {
		order: -1;
	}
	.stn-blog-featured .stn-blog-featured__grid.is-style-separators > .wp-block-group {
		padding-top: 0;
		border-top: none;
	}
	.stn-blog-featured .stn-blog-featured__grid.is-style-separators > .wp-block-group:nth-child(1),
	.stn-blog-featured .stn-blog-featured__grid.is-style-separators > .wp-block-group:nth-child(3) {
		padding-top: var(--wp--preset--spacing--medium);
		border-top: 1px solid var(--wp--preset--color--med-1);
	}
}

.stn-blog-featured .popular-posts li + li {
	border-top: 1px solid var(--wp--preset--color--med-1);
	padding-top: 1rem;
}
/* #endregion */

/* #region Blog author bio */
.stn-blog-bio__grid.is-layout-grid {
	align-items: center;
}

.stn-blog-bio__grid.is-layout-grid > .wp-block-group {
	min-width: 0;
}

.stn-blog-bio__content {
	text-align: left;
}

@media only screen and (max-width: 781px) {
	.stn-blog-bio__grid {
		padding-left: var(--wp--preset--spacing--medium);
		padding-right: var(--wp--preset--spacing--medium);
	}

	.stn-blog-bio__grid.is-layout-grid > .wp-block-group {
		grid-column: 1 / -1 !important;
	}
}
/* #endregion */

/* #region Tag filter input */
.stn-essays-grid__filter {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.stn-essays-grid__filter-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.stn-essays-grid__tag-filter {
	position: relative;
	z-index: 5;
	width: 100%;
	min-width: 0;
}

.stn-essays-grid__tag-filter-bar {
	display: flex;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
	width: 100%;
	min-width: 0;
	/* Match chip row height so selecting tags doesn’t grow the bar and shift the popover. */
	min-height: 3.4rem;
}

/* Full column hit-target when no chips; chips restore default flex once tags exist. */
.stn-essays-grid__tag-filter-bar--no-tags .stn-essays-grid__selected-tags {
	display: none;
}

.stn-essays-grid__tag-filter-bar--no-tags .stn-essays-grid__filter-trigger {
	flex: 1;
	width: 100%;
	justify-content: flex-start;
}

.stn-essays-grid__filter-trigger {
	display: inline-flex;
	align-items: center;
	align-self: center;
	gap: 0.5rem;
	min-height: 3.4rem;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	font: inherit;
	cursor: pointer;
	color: var(--wp--preset--color--med-3);
	transition: color 0.15s ease;
}

button.stn-essays-grid__filter-trigger:hover,
button.stn-essays-grid__filter-trigger:focus-visible {
	color: var(--wp--preset--color--contrast);
}

button.stn-essays-grid__filter-trigger:hover .is-style-text-tiny,
button.stn-essays-grid__filter-trigger:focus-visible .is-style-text-tiny {
	color: inherit;
}

.stn-essays-grid__filter-trigger:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 3px;
	border-radius: 0.6rem;
}

.stn-essays-grid__selected-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	flex: 1;
	min-width: 0;
}

.stn-essays-grid__tag-chip {
	display: inline-flex;
	align-items: center;
	min-height: 3.4rem;
	height: auto;
	padding: 0 .5rem 0 1rem;
	border: 1px solid var(--wp--preset--color--med-2);
	border-radius: .6rem;
	background: var(--wp--preset--color--med-1);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

/* Match paragraph utility `.is-style-text-body-bold` (Ghost, sm, 700). */
.stn-essays-grid__tag-chip.is-style-text-body-bold {
	font-family: var(--stn-font-ghost);
	font-size: var(--stn-text-sm);
	font-weight: 700;
}

.stn-essays-grid__tag-chip:hover {
	border-color: var(--wp--preset--color--med-3);
}

.stn-essays-grid__tag-chip-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	opacity: 0.9;
}

.stn-essays-grid__tag-chip-remove svg {
	display: block;
	width: 2.4rem;
	height: 2.4rem;
}

.stn-essays-grid__tag-chip-more {
	color: var(--wp--preset--color--med-3);
	padding: 0.25rem 0.35rem;
	cursor: default;
}

.stn-essays-grid__tag-filter-dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 0.35rem);
	z-index: 50;
	padding: 0.5rem;
	border-radius: 1rem;
	border: 1px solid var(--wp--preset--color--med-2);
	background: var(--wp--preset--color--base);
	box-shadow: 0 12px 32px rgba(10, 28, 16, 0.12);
}

input.stn-essays-grid__tags-input {
	width: 100%;
	padding: 0 1rem;
	background: transparent;
	transition: border-color 0.15s ease;
}

input.stn-essays-grid__tags-input:hover {
	border-color: var(--wp--preset--color--med-2);
}

input.stn-essays-grid__tags-input:focus {
	outline: none;
	border-color: var(--wp--preset--color--med-2);
}

.stn-essays-grid__tags-panel {
	position: relative;
	margin-top: 0.35rem;
	padding: 0.35rem 0;
	max-height: min(60vh, 22rem);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.stn-essays-grid__tags-option {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	cursor: pointer;
	transition: background 0.12s ease;
}

.stn-essays-grid__tags-option[hidden] {
	display: none !important;
}

.stn-essays-grid__tags-option:hover {
	background: var(--wp--preset--color--med-1);
}

/* Scoped + fixed flex basis so WP / theme input rules cannot stretch the control wide. */
.stn-essays-grid__tags-option input[type='checkbox'].stn-essays-grid__tags-checkbox {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	display: block;
	width: 1.4rem;
	min-width: 1.4rem;
	max-width: 1.4rem;
	height: 1.4rem;
	min-height: 1.4rem;
	max-height: 1.4rem;
	aspect-ratio: 1;
	margin: 0;
	flex: 0 0 1.4rem;
	flex-shrink: 0;
	align-self: center;
	padding: 0;
	border: 1px solid var(--wp--preset--color--med-2);
	border-radius: 3px;
	background-color: var(--wp--preset--color--base);
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.stn-essays-grid__tags-option input[type='checkbox'].stn-essays-grid__tags-checkbox:hover {
	border-color: var(--wp--preset--color--med-3);
}

.stn-essays-grid__tags-option input[type='checkbox'].stn-essays-grid__tags-checkbox:checked {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2ee' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
	background-size: 0.9rem 0.9rem;
	background-position: center;
	background-repeat: no-repeat;
}

.stn-essays-grid__tags-option input[type='checkbox'].stn-essays-grid__tags-checkbox:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.stn-essays-grid__tags-option-label {
	flex: 1;
	min-width: 0;
	line-height: 1.35;
}

.stn-essays-grid__tag-filter.is-tags-open {
	z-index: 40;
}
/* #endregion */

/* #region Search input */
.stn-essays-grid__search {
	position: relative;
	flex: 1;
	min-width: 180px;
}

input.stn-essays-grid__search-input {
	padding-left: 3rem;
	background: transparent;
	border: none;
	height: 3.4rem;
	font-size: var(--stn-text-xs);
}

.stn-essays-grid__search-icon {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	opacity: 0.5;
}
/* #endregion */

/* #region Sort input */
.stn-essays-grid__sort {
	position: relative;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	min-width: 0;
	z-index: 3;
}

.stn-essays-grid__sort-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	font: inherit;
	text-align: right;
	cursor: pointer;
	color: var(--wp--preset--color--med-3);
	max-width: 100%;
}

.stn-essays-grid__sort-trigger:hover,
.stn-essays-grid__sort-trigger:focus-visible {
	color: var(--wp--preset--color--contrast);
}

.stn-essays-grid__sort-trigger:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
	border-radius: 0.25rem;
}

.stn-essays-grid__sort-trigger-text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.1rem;
	min-width: 0;
}

.stn-essays-grid__sort-dropdown {
	position: absolute;
	top: calc(100% + 0.35rem);
	right: 0;
	left: auto;
	z-index: 50;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	box-sizing: border-box;
	min-width: min(16rem, calc(100vw - 2rem));
	max-width: min(16rem, calc(100vw - 2rem));
	padding: 0.35rem 0.35rem;
	border-radius: 1rem;
	border: 1px solid var(--wp--preset--color--med-2);
	background: var(--wp--preset--color--base);
	box-shadow: 0 12px 32px rgba(10, 28, 16, 0.12);
}

/* `[hidden]` must win: a plain `display: flex` rule overrides the UA [hidden] display. */
.stn-essays-grid__sort-dropdown[hidden] {
	display: none;
}

.stn-essays-grid__sort-option {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.55rem 1rem;
	border: none;
	border-radius: 0.5rem;
	margin: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	transition: background 0.12s ease;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.stn-essays-grid__sort-option:hover {
	background: var(--wp--preset--color--med-1);
}

.stn-essays-grid__sort-option.is-active {
	background: var(--wp--preset--color--med-1);
}

.stn-essays-grid__sort.is-sort-open {
	z-index: 45;
}

.stn-essays-grid__posts-shell {
	position: relative;
}
/* #endregion */

/* #region Shared post card */
.stn-post-card {
	margin: 0;
}

.stn-post-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.stn-post-card__image,
.stn-post-card .wp-block-post-featured-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--wp--preset--color--med-1);
}

.stn-post-card__image img,
.stn-post-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.stn-post-card__image--placeholder {
	background: var(--wp--preset--color--med-1);
}

.stn-post-card__body {
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0;
}

.stn-post-card__body .wp-block-post-date {
	margin: 0;
}

.stn-post-card--compact > * {
	margin: 0;
}

.stn-post-card--compact .wp-block-post-featured-image {
	margin: 0 0 0.5rem;
}

.stn-post-card__date,
.stn-post-card .wp-block-post-date {
	color: var(--wp--preset--color--med-3);
}
/* #endregion */

/* #region Essays grid */
.stn-essays-grid {
	-wp--preset--spacing--medium: 2rem;
	position: relative;
}

.stn-essays-grid .stn-essays-grid__columns.wp-block-columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--large);
	margin-bottom: 0;
	align-items: center;
}

.stn-essays-grid__columns .wp-block-column {
	min-width: 0;
	align-self: center;
}

.stn-essays-grid__columns .wp-block-column:nth-child(2) {
	position: relative;
	grid-column: span 2;
}

.stn-essays-grid__columns .wp-block-column:last-child {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
}
.stn-essays-grid__posts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: var(--wp--preset--spacing--large);
	row-gap: var(--wp--preset--spacing--medium);
	padding-block: 2rem;
}

.stn-essays-grid__row-rule {
	grid-column: 1 / -1;
	height: 0;
	border-bottom: 1px solid var(--wp--preset--color--med-1);
	margin-top: var(--wp--preset--spacing--medium);
	display: none;
}
@media (min-width: 540px) and (max-width: 999px) {
	.stn-essays-grid__row-rule:nth-of-type(even) {
		display: block;
	}
}
@media (min-width: 1000px) {
	.stn-essays-grid__row-rule:nth-of-type(4n) {
		display: block;
	}
}
.stn-essays-grid__empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 2rem;
}

.stn-essays-grid [data-stn-essays-pagination-slot] {
	margin-top: 2rem;
}

.stn-essays-grid__pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	padding: 2rem 0;
}

.stn-essays-grid__pagination .wp-block-button__button {
	min-width: 0;
}

.stn-essays-grid__page-label {
	color: var(--wp--preset--color--med-3);
}

.stn-essays-grid__loader {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(242, 242, 238, 0.8);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.stn-essays-grid.is-loading .stn-essays-grid__loader {
	opacity: 1;
	pointer-events: auto;
}

@media (max-width: 781px) {
	.stn-essays-grid .stn-essays-grid__columns.wp-block-columns .wp-block-column:nth-child(1),
	.stn-essays-grid .stn-essays-grid__columns.wp-block-columns .wp-block-column:nth-child(3) {
		display: none;
	}
	.stn-essays-grid .stn-essays-grid__columns.wp-block-columns {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--medium);
	}
	.stn-essays-grid__columns .wp-block-column:nth-child(2) {
		grid-column: auto;
	}
}

@media only screen and (max-width: 999px) {
	.stn-essays-grid__posts {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 539px) {
	.stn-essays-grid__posts {
		grid-template-columns: 1fr;
	}
}
/* #endregion */

/* #region Single hero */
.stn-single-hero {
	max-width: 100%;
	padding-block: 2rem;
}

.stn-single-hero__columns {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 2rem;
}

/* 8-col row (matches blog featured 2 / 4 / 2 rhythm: text 2 tracks, image 6). */
.stn-single-hero__content {
	grid-column: 1 / span 2;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	min-width: 0;
}

@media (min-width: 782px) {
	.stn-single-hero__content .stn-single-hero__meta {
		margin-top: auto;
	}
}

.stn-single-hero__author {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--small);
}

.stn-single-hero__date {
	padding-left: 3.2rem;
	color: var(--wp--preset--color--med-3);
	margin: 0;
}

.wp-block-post-author__avatar {
	margin-right: 0;
}

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

.stn-single-hero__image {
	grid-column: 3 / span 6;
	min-width: 0;
	margin: 0;
	aspect-ratio: 2 / 1;
	background: var(--wp--preset--color--med-1);
	overflow: hidden;
}

.stn-single-hero__image:not(:has(img)) {
	min-height: 12rem;
}

@media only screen and (max-width: 781px) {
	.stn-single-hero__columns {
		grid-template-columns: 1fr;
	}

	.stn-single-hero__content,
	.stn-single-hero__image {
		grid-column: 1 / -1;
	}

	.stn-single-hero__content {
		order: 0;
	}

	.stn-single-hero__image {
		order: 1;
		position: relative;
		aspect-ratio: 3 / 4;
		overflow: hidden;
	}

	.stn-single-hero__image .wp-block-post-featured-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: 0;
		overflow: hidden;
	}

	.stn-single-hero__image .wp-block-post-featured-image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.stn-single-hero__image .wp-block-post-featured-image > a {
		position: absolute;
		inset: 0;
		display: block;
	}
}
/* #endregion */

/* #region Keep reading */
.stn-keep-reading__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: calc(2 * var(--wp--preset--spacing--medium));
	row-gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
/* Keep reading / related-articles: same med-1 rectangle when no thumbnail (see inc/blog-featured.php). */
.stn-keep-reading .wp-block-post-featured-image.stn-keep-reading__thumb--placeholder {
	position: relative;
	overflow: hidden;
}

.stn-keep-reading .wp-block-post-featured-image.stn-keep-reading__thumb--placeholder > a {
	position: absolute;
	inset: 0;
	display: block;
}

.stn-keep-reading .stn-keep-reading__thumb-placeholder {
	position: absolute;
	inset: 0;
	display: block;
	background-color: var(--wp--preset--color--med-1);
}

@media only screen and (max-width: 999px) {
	.stn-keep-reading__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 539px) {
	.stn-keep-reading__grid {
		grid-template-columns: 1fr;
	}
}
/* #endregion */

/* #region Post */
.stn-single-post .wp-block-post-content :where(h1, h2, h3, h4, h5, h6):first-child {
	margin-block-start: 0;
}

.stn-single-post .wp-block-post-content :where(p, ul, ol, dl, pre, address):last-child {
	margin-block-end: 0;
}

.stn-single-post .wp-block-post-content :where(p, li, blockquote) :where(strong, b) {
	font-family: var(--stn-font-ghost);
	font-size: var(--stn-text-sm);
	font-weight: 700;
}

.stn-single-post .wp-block-post-content :where(a):not(.wp-block-button__link):not(.wp-block-file__button) {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.stn-single-post .wp-block-post-content :where(a):not(.wp-block-button__link):not(.wp-block-file__button):hover {
	text-decoration-thickness: 2px;
}

.stn-single-post .wp-block-post-content :where(figcaption, .wp-element-caption) {
	font-size: var(--stn-text-xs);
	font-family: var(--stn-font-default);
	color: var(--wp--preset--color--med-3);
	margin-block-start: 1rem;
}

.stn-single-post .wp-block-post-content :where(p code, li code, td code) {
	font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', monospace;
	font-size: 0.92em;
	background: var(--wp--preset--color--med-1);
	padding: 0.1em 0.35em;
	border-radius: 0.8rem;
}
/* #endregion */

.stn-cta-stacked > .alignwide{
	max-width: 69rem;
}