/* Metric-matched fallbacks: overrides computed with fontTools from the woff2 files against Arial/Georgia so the web-font swap does not reflow (CLS). */
@font-face {
	font-family: "Oswald Fallback";
	src: local("Arial"), local("ArialMT"), local("Arimo"), local("Liberation Sans");
	size-adjust: 75.9%;
	ascent-override: 157.18%;
	descent-override: 38.08%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Manrope Fallback";
	src: local("Arial"), local("ArialMT"), local("Arimo"), local("Liberation Sans");
	size-adjust: 103.64%;
	ascent-override: 102.86%;
	descent-override: 28.95%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Bodoni Moda Fallback";
	font-style: normal;
	src: local("Georgia"), local("Gelasio");
	size-adjust: 102.94%;
	ascent-override: 109.29%;
	descent-override: 38.86%;
	line-gap-override: 0%;
}
@font-face {
	font-family: "Bodoni Moda Fallback";
	font-style: italic;
	src: local("Georgia Italic"), local("Georgia-Italic"), local("Gelasio Italic");
	size-adjust: 95.32%;
	ascent-override: 118.02%;
	descent-override: 41.96%;
	line-gap-override: 0%;
}

:root {
	--sbs-accent: var(--wp--preset--color--accent, #1fd9f9);
	--sbs-accent-ink: var(--wp--preset--color--accent-ink, #000);
	--sbs-base: var(--wp--preset--color--base, #000);
	--sbs-contrast: var(--wp--preset--color--contrast, #fff);
	--sbs-ink: #f1f1ee;
	--sbs-line: var(--wp--preset--color--line, #262626);
	--sbs-muted: var(--wp--preset--color--muted, #9a9a9a);
	--sbs-surface: var(--wp--preset--color--surface, #0b0b0b);
	--sbs-display: var(--wp--preset--font-family--display, Oswald, sans-serif);
	--sbs-ease: var(--wp--custom--ease, cubic-bezier(.16, 1, .3, 1));
	--sbs-zoom-scale: var(--wp--custom--zoom--scale, 1.06);
	--sbs-zoom-duration: var(--wp--custom--zoom--duration, 2.4s);
	--sbs-glow: 0 12px 32px color-mix(in srgb, var(--sbs-accent) 22%, transparent);
	--sbs-edge: var(--wp--style--root--padding-left, clamp(1rem, 4vw, 3rem));
}
@media (min-width: 782px) {
	:root { --sbs-edge: calc(40 * min(100vw, 1920px) / 1440); }
}

body {
	background: var(--sbs-base);
	text-rendering: optimizeLegibility;
}
::selection { background: var(--sbs-accent); color: var(--sbs-accent-ink); }
img, video { max-width: 100%; height: auto; }

[id] { scroll-margin-top: calc(96px + var(--wp-admin--admin-bar--height, 0px)); }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.sbs-eyebrow {
	font-family: var(--sbs-display);
	font-size: var(--wp--preset--font-size--xs, .75rem);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--sbs-accent);
}

.wp-block-sbs-section.is-style-columns-aside .sbs-section__head .sbs-section__heading {
	font-family: var(--sbs-display);
	font-size: var(--wp--preset--font-size--xs, .75rem);
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--sbs-accent);
}

.sbs-btn,
.wp-block-button .wp-block-button__link {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
	cursor: pointer;
}

.sbs-btn {
	min-height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 0;
	background: var(--sbs-accent);
	color: var(--sbs-accent-ink);
	font-family: var(--sbs-btn-font-family, var(--sbs-display));
	font-size: var(--sbs-btn-font-size, 14px);
	font-weight: var(--sbs-btn-font-weight, 500);
	letter-spacing: var(--sbs-btn-letter-spacing, .14em);
	line-height: 1.2;
	text-transform: var(--sbs-btn-text-transform, uppercase);
}

.sbs-btn--primary:not(:disabled):hover,
.wp-block-button:not(.is-style-outline):not(.is-style-arrow) .wp-block-button__link:hover {
	background: #fff;
	color: #000;
	text-decoration: none;
	box-shadow: var(--sbs-glow);
}

.sbs-btn--secondary,
.wp-block-button.is-style-outline .wp-block-button__link {
	padding: calc((50px - 1.2em) / 2 - 1px) 24px;
	border: 1px solid var(--sbs-ink);
	background: transparent;
	color: var(--sbs-ink);
	font-weight: 400;
}

.sbs-btn--secondary:not(:disabled):hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: #fff;
	color: #000;
	text-decoration: none;
}

.sbs-btn:disabled { cursor: not-allowed; opacity: .45; }

.sbs-btn:focus-visible,
.wp-block-button .wp-block-button__link:focus-visible,
.sbs-link-arrow:focus-visible,
.sbs-zoom:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.sbs-link-arrow,
.wp-block-button.is-style-arrow .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 0;
	padding: 0 0 4px;
	border: 0;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	color: var(--sbs-accent);
	font-family: var(--sbs-display);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .16em;
	line-height: inherit;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
}

.sbs-link-arrow::after,
.wp-block-button.is-style-arrow .wp-block-button__link::after,
.sbs-btn .sbs-arrow,
.sbs-zoom__arrow {
	content: "\2192";
	display: inline-block;
}

.sbs-link-arrow:hover,
.sbs-link-arrow:focus-visible,
.wp-block-sbs-price-item.is-linked:hover .sbs-link-arrow,
.sbs-zoom:hover .sbs-link-arrow,
.sbs-zoom:focus-visible .sbs-link-arrow,
.wp-block-sbs-card:hover .sbs-link-arrow,
.wp-block-button.is-style-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-arrow .wp-block-button__link:focus-visible {
	background-color: transparent;
	background-size: 100% 1px;
	color: var(--sbs-accent);
	text-decoration: none;
	box-shadow: none;
}

.wp-block-buttons { gap: 14px; }

.sbs-zoom,
.wp-block-image.is-style-zoom,
.wp-block-cover.is-style-zoom {
	position: relative;
	display: block;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.sbs-zoom:hover,
.sbs-zoom:focus-visible { color: inherit; text-decoration: none; }

.sbs-zoom:hover .sbs-zoom__label,
.sbs-zoom:focus-visible .sbs-zoom__label,
.sbs-zoom:hover .sbs-zoom__link,
.sbs-zoom:focus-visible .sbs-zoom__link,
.sbs-zoom:hover .sbs-zoom__arrow,
.wp-block-image.is-style-zoom:hover figcaption,
.wp-block-sbs-card:has(.sbs-card__link):hover .wp-block-heading {
	color: var(--sbs-accent);
}

.wp-block-image.is-style-zoom a { display: block; overflow: hidden; }
.wp-block-image.is-style-zoom figcaption {
	font-family: var(--sbs-display);
	letter-spacing: .16em;
	text-transform: uppercase;
}

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}
@media (scripting: none) and (max-width: 899.98px) {
	.wp-site-blocks > header.wp-block-template-part { position: static; }
}

.sbs-site-header {
	background: var(--sbs-base);
	border-bottom: 1px solid #1c1c1c;
}

.sbs-brand__text { line-height: 1; }
.sbs-brand__name,
.sbs-brand__text .wp-block-site-title {
	margin: 0;
	font-family: var(--sbs-display);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}
.sbs-brand__name a,
.sbs-brand__text .wp-block-site-title a { color: #fff; text-decoration: none; }
.sbs-brand__name a:hover,
.sbs-brand__text .wp-block-site-title a:hover { color: var(--sbs-accent); text-decoration: none; }
.sbs-brand__tagline {
	margin: 0;
	font-family: var(--sbs-display);
	font-size: 11px;
	letter-spacing: .08em;
	line-height: 1.2;
	color: #bdbdb7;
}

.sbs-site-header .wp-block-button:not(.is-style-arrow) .wp-block-button__link {
	padding-top: calc((44px - 1.2em) / 2);
	padding-bottom: calc((44px - 1.2em) / 2);
}

.sbs-nav-cap {
	margin: 0;
	padding-bottom: 10px;
	font-size: 12px;
	letter-spacing: .24em;
	color: #8d8d87;
}

.wp-block-navigation .wp-block-navigation-item__content,
.sbs-nav-link { position: relative; }

.wp-block-navigation .wp-block-navigation-item__content::after,
.sbs-nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	height: 1px;
	background: var(--sbs-accent);
	transform: scaleX(0);
	transform-origin: left;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.sbs-nav-link:hover,
.sbs-nav-link:focus-visible,
.sbs-nav-link[aria-current="page"] {
	color: var(--sbs-accent);
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item__content:hover::after,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible::after,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after,
.sbs-nav-link:hover::after,
.sbs-nav-link:focus-visible::after,
.sbs-nav-link[aria-current="page"]::after {
	transform: scaleX(1);
}

.sbs-site-footer {
	border-top: 1px solid color-mix(in srgb, var(--sbs-accent) 34%, var(--sbs-base));
	padding-inline: var(--sbs-edge);
}
.sbs-site-footer a { color: #cfcfc9; text-decoration: none; }
.sbs-site-footer a:hover,
.sbs-site-footer a:focus-visible { color: var(--sbs-accent); text-decoration: none; }
.sbs-site-footer .sbs-brand__name a { color: #fff; }
.sbs-site-footer .sbs-brand__name a:hover { color: var(--sbs-accent); }
.sbs-footer__label {
	margin: 0 0 12px;
	font-family: var(--sbs-display);
	font-size: 13px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #8d8d87;
}
.sbs-footer__links { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 2; }
.sbs-footer__address { margin: 18px 0 0; font-size: 14px; line-height: 1.7; color: var(--sbs-muted); }
.sbs-footer__address a { color: var(--sbs-muted); }
.sbs-footer__base { font-size: 12px; color: #6f6f6a; }
.sbs-footer__base p { margin: 0; }

/* core/columns sets flex-wrap and the stacked flex-basis with !important, so the two-up footer has to as well. */
@media (max-width: 900px) {
	.wp-block-columns.sbs-footer__cols { flex-wrap: wrap !important; }
	.wp-block-columns.sbs-footer__cols:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: calc(50% - 16px) !important; flex-grow: 0; }
}
@media (max-width: 520px) {
	.wp-block-columns.sbs-footer__cols:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child { flex-basis: 100% !important; }
}

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea),
.wp-block-search__input {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: .9em 1em;
	border: 1px solid var(--sbs-line);
	border-radius: 0;
	background: var(--sbs-surface);
	color: var(--sbs-contrast);
	font: inherit;
}

:where(input, select, textarea)::placeholder { color: var(--sbs-muted); opacity: 1; }

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover { border-color: #3a3a3a; }

:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea):focus,
.wp-block-search__input:focus {
	outline: none;
	border-color: var(--sbs-accent);
	background: var(--sbs-base);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sbs-accent) 25%, transparent);
}

:where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--sbs-accent); }

.post-password-form {
	max-width: 560px;
}
.post-password-form p { margin: 0 0 18px; color: var(--sbs-muted); }
.post-password-form p:last-child {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	margin: 0;
}
.post-password-form label {
	display: flex;
	flex: 1 1 260px;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	font-family: var(--sbs-display);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--sbs-contrast);
}
.post-password-form input[type="submit"] {
	box-sizing: border-box;
	min-height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 0;
	background: var(--sbs-accent);
	color: var(--sbs-accent-ink);
	font-family: var(--sbs-btn-font-family, var(--sbs-display));
	font-size: var(--sbs-btn-font-size, 14px);
	font-weight: var(--sbs-btn-font-weight, 500);
	letter-spacing: var(--sbs-btn-letter-spacing, .14em);
	text-transform: var(--sbs-btn-text-transform, uppercase);
	cursor: pointer;
}
.post-password-form input[type="submit"]:hover { background: #fff; color: #000; }
@media (max-width: 600px) {
	.post-password-form p:last-child { flex-direction: column; align-items: stretch; }
	.post-password-form label { flex-basis: auto; }
	.post-password-form input[type="submit"] { width: 100%; }
}

.wp-block-search__button {
	border-radius: 0;
	border: 1px solid var(--sbs-accent);
	background: var(--sbs-accent);
	color: var(--sbs-accent-ink);
	font-family: var(--sbs-display);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.wp-block-search__button:hover { background: var(--sbs-contrast); border-color: var(--sbs-contrast); color: var(--sbs-base); }

.wp-block-list.is-style-checks { list-style: none; padding-left: 0; }
.wp-block-list.is-style-checks li { position: relative; padding-left: 1.8em; }
.wp-block-list.is-style-checks li + li { margin-top: .55em; }
.wp-block-list.is-style-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45em;
	width: .8em;
	height: .45em;
	border-left: 2px solid var(--sbs-accent);
	border-bottom: 2px solid var(--sbs-accent);
	transform: rotate(-45deg);
}

.wp-block-list.is-style-divided { list-style: none; padding-left: 0; border-top: 1px solid #222; }
.wp-block-list.is-style-divided li { padding: 13px 0; border-bottom: 1px solid #222; font-size: 15px; line-height: 1.6; color: #d6d6d0; }
.wp-block-list.is-style-divided li + li { margin-top: 0; }

.is-style-serif.wp-block-heading,
p.is-style-serif {
	font-family: var(--wp--preset--font-family--serif, "Bodoni Moda", serif);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.15;
}
.wp-block-heading.is-style-serif.is-style-serif {
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
}
p.is-style-serif { font-style: italic; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.3; color: var(--sbs-ink); text-wrap: balance; }

.wp-block-sbs-hero .sbs-hero__inner:has(> h1.is-style-serif) { max-width: 1100px; }
.wp-block-sbs-hero .sbs-hero__inner > h1.wp-block-heading.is-style-serif {
	font-size: clamp(46px, min(6.4vw, 10svh), 100px);
	line-height: 1.02;
}
p.is-style-serif.is-lead { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.3; margin-block: clamp(16px, 2vw, 32px) clamp(20px, 2.4vw, 32px); }
p.is-style-serif.is-lead:first-child { margin-block-start: 0; }

@media (min-width: 900px) {
	.wp-block-sbs-section.is-style-columns .sbs-section__inner:has(> .sbs-section__head) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		gap: 64px;
		align-items: start;
	}
	.wp-block-sbs-section.is-style-columns .sbs-section__inner:has(> .sbs-section__head) > * { margin: 0; }
	.wp-block-sbs-section.is-style-columns .sbs-section__inner:not(:has(> .sbs-section__head)) > .sbs-section__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
		column-gap: 64px;
		row-gap: 0;
		align-items: start;
	}
	/* The first block spans every row so the rest stack beside it; row-gap stays 0 or the empty spanned rows add height. */
	.wp-block-sbs-section.is-style-columns .sbs-section__inner:not(:has(> .sbs-section__head)) > .sbs-section__body > :first-child {
		grid-column: 1;
		grid-row: 1 / span 99;
		margin: 0;
	}
	.wp-block-sbs-section.is-style-columns .sbs-section__inner:not(:has(> .sbs-section__head)) > .sbs-section__body > :not(:first-child) {
		grid-column: 2;
		margin: 0 0 18px;
	}
	.wp-block-sbs-section.is-style-columns .wp-block-sbs-steps.is-layout-row:has(> :nth-child(4)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wp-block-sbs-section.is-style-columns-aside .sbs-section__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 64px;
		row-gap: 0;
		align-items: start;
	}
	.wp-block-sbs-section.is-style-columns-aside .sbs-section__body { display: contents; }
	.wp-block-sbs-section.is-style-columns-aside .sbs-section__head,
	.wp-block-sbs-section.is-style-columns-aside .sbs-section__body > * {
		grid-column: 1;
		margin: 0 0 24px;
	}
	/* The last block spans every row so the rest stack beside it; row-gap stays 0 or the empty spanned rows add height. */
	.wp-block-sbs-section.is-style-columns-aside .sbs-section__body > :last-child {
		grid-column: 2;
		grid-row: 1 / span 99;
		margin: 0;
	}
}

.wp-block-details.is-style-faq {
	border: 0;
	border-bottom: 1px solid var(--sbs-line);
	padding: 0;
	margin: 0;
}

.wp-block-details.is-style-faq + .wp-block-details.is-style-faq { margin-block-start: 0; }
.wp-block-details.is-style-faq:first-of-type { border-top: 1px solid var(--sbs-line); }

.wp-block-details.is-style-faq summary {
	position: relative;
	display: block;
	list-style: none;
	padding: 1.4em 3em 1.4em 0;
	font-family: var(--sbs-display);
	font-size: var(--wp--preset--font-size--lg, 1.25rem);
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
}

.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }

.wp-block-details.is-style-faq summary::before,
.wp-block-details.is-style-faq summary::after {
	content: "";
	position: absolute;
	right: .25em;
	top: 50%;
	width: 16px;
	height: 1.5px;
	background: currentColor;
}

.wp-block-details.is-style-faq summary::after { transform: rotate(90deg); }
.wp-block-details.is-style-faq[open] summary::after { transform: rotate(0deg); }
.wp-block-details.is-style-faq summary:hover,
.wp-block-details.is-style-faq[open] summary { color: var(--sbs-accent); }

.wp-block-details.is-style-faq summary:focus-visible { outline-offset: -2px; }

.wp-block-details.is-style-faq > :not(summary) {
	color: var(--sbs-muted);
	max-width: 70ch;
	margin-block: 0 1.4em;
}
.wp-block-details.is-style-faq > .wp-block-sbs-section { max-width: none; color: inherit; }

.wp-block-separator { border-color: var(--sbs-line); opacity: 1; }
.sbs-main { min-height: 60vh; }
.wp-site-blocks > .sbs-main,
.sbs-main > :first-child,
.sbs-main > .wp-block-post-content > :first-child { margin-block-start: 0; }

.wp-block-sbs-card.is-style-rule {
	border-top: 1px solid #2a2a2a;
	padding-top: 18px;
}

@media (min-width: 1100px) {
	.wp-block-sbs-tile-grid.wp-block-sbs-tile-grid.is-style-six { --sbs-cols: 6; }
}

@media (min-width: 900px) {
	.sbs-section__body:has(> .sbs-filters-aside) > p { max-width: 46%; }
	.wp-block-sbs-gallery-grid.sbs-filters-aside { position: relative; }
	.sbs-filters-aside .sbs-gallery__filters {
		position: absolute;
		right: 0;
		bottom: calc(100% + 24px);
		max-width: 50%;
		justify-content: flex-end;
		flex-wrap: wrap;
	}

	.wp-block-sbs-hero .sbs-hero__inner:has(> .is-hero-aside) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 24px;
		align-items: end;
		max-width: none;
	}
	.wp-block-sbs-hero .sbs-hero__inner:has(> .is-hero-aside) > * { grid-column: 1; }
	.wp-block-sbs-hero .sbs-hero__inner > .is-hero-aside {
		grid-column: 2;
		grid-row: 1 / span 9;
		align-self: end;
		justify-content: flex-end;
		margin: 0;
	}
}

.sbs-result {
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	border-bottom: 1px solid var(--sbs-line);
}
.sbs-result .wp-block-post-featured-image { flex: 0 0 200px; margin: 0; }
.sbs-result .wp-block-post-title { margin: 0; }
.sbs-result .wp-block-post-excerpt { margin-block-start: 8px; color: var(--sbs-muted); }

.wp-block-query-pagination { gap: 16px; }
.wp-block-query-pagination-numbers { display: inline-flex; gap: 6px; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	border: 1px solid var(--sbs-line);
	font-family: var(--sbs-display);
	letter-spacing: .1em;
}
.wp-block-query-pagination-numbers .page-numbers.current { border-color: var(--sbs-accent); color: var(--sbs-accent); }

.wp-block-post-content > :is(.wp-block-sbs-section, .wp-block-sbs-hero, .wp-block-sbs-cta-band):first-child,
:is(.wp-block-sbs-section, .wp-block-sbs-hero, .wp-block-sbs-cta-band) + :is(.wp-block-sbs-section, .wp-block-sbs-hero, .wp-block-sbs-cta-band) {
	margin-block-start: 0;
}

.sbs-journal-card .wp-block-post-featured-image a { display: block; overflow: hidden; }
.sbs-journal-card:hover .wp-block-post-title a { color: var(--sbs-accent); }

.wp-block-query-pagination a { font-family: var(--sbs-display); letter-spacing: .14em; text-transform: uppercase; }

.wp-block-post-terms a {
	display: inline-block;
	padding: .35em .8em;
	border: 1px solid var(--sbs-line);
	color: var(--sbs-contrast);
	font-family: var(--sbs-display);
	font-size: .75rem;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.wp-block-post-terms a:hover { border-color: var(--sbs-accent); color: var(--sbs-accent); text-decoration: none; }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	.sbs-btn,
	.wp-block-button .wp-block-button__link {
		transition: background-color .35s, color .35s, border-color .35s, transform .35s, box-shadow .35s;
	}

	.sbs-btn--primary:not(:disabled):hover,
	.sbs-btn--secondary:not(:disabled):hover,
	.wp-block-button:not(.is-style-arrow) .wp-block-button__link:hover {
		transform: translateY(-2px);
	}

	.sbs-link-arrow,
	.wp-block-button.is-style-arrow .wp-block-button__link {
		transition: background-size .5s var(--sbs-ease), color .35s;
	}

	.sbs-link-arrow::after,
	.wp-block-button.is-style-arrow .wp-block-button__link::after,
	.sbs-btn .sbs-arrow,
	.sbs-zoom__arrow {
		transition: transform .5s var(--sbs-ease);
	}

	.sbs-link-arrow:hover::after,
	.sbs-link-arrow:focus-visible::after,
	.wp-block-sbs-price-item.is-linked:hover .sbs-link-arrow::after,
	.sbs-zoom:hover .sbs-link-arrow::after,
	.sbs-zoom:focus-visible .sbs-link-arrow::after,
	.wp-block-sbs-card:hover .sbs-link-arrow::after,
	.wp-block-button.is-style-arrow .wp-block-button__link:hover::after,
	.wp-block-button.is-style-arrow .wp-block-button__link:focus-visible::after,
	.sbs-btn:not(:disabled):hover .sbs-arrow,
	.sbs-zoom:hover .sbs-zoom__arrow,
	.sbs-zoom:focus-visible .sbs-zoom__arrow {
		transform: translateX(6px);
	}

	.sbs-zoom img,
	.sbs-zoom video,
	.wp-block-image.is-style-zoom img,
	.wp-block-cover.is-style-zoom .wp-block-cover__image-background,
	.wp-block-cover.is-style-zoom .wp-block-cover__video-background,
	.wp-block-sbs-card .sbs-card__media img,
	.sbs-journal-card .wp-block-post-featured-image img {
		transition: transform var(--sbs-zoom-duration) var(--sbs-ease);
	}

	.sbs-zoom:hover img,
	.sbs-zoom:hover video,
	.sbs-zoom:focus-visible img,
	.sbs-zoom:focus-visible video,
	.wp-block-image.is-style-zoom:hover img,
	.wp-block-cover.is-style-zoom:hover .wp-block-cover__image-background,
	.wp-block-cover.is-style-zoom:hover .wp-block-cover__video-background,
	.wp-block-sbs-card:has(.sbs-card__link):hover .sbs-card__media img,
	.sbs-journal-card:hover .wp-block-post-featured-image img {
		transform: scale(var(--sbs-zoom-scale));
	}

	.sbs-zoom__label,
	.sbs-zoom__link,
	.wp-block-image.is-style-zoom figcaption,
	.wp-block-sbs-card .wp-block-heading {
		transition: color .6s ease;
	}

	.sbs-brand__text .wp-block-site-title a,
	.wp-block-navigation .wp-block-navigation-item__content,
	.sbs-nav-link,
	.sbs-site-footer a,
	.wp-block-post-terms a,
	.wp-block-search__button,
	.wp-block-details.is-style-faq summary {
		transition: color .35s, border-color .35s, background-color .35s;
	}

	.wp-block-navigation .wp-block-navigation-item__content::after,
	.sbs-nav-link::after,
	.wp-block-details.is-style-faq summary::after {
		transition: transform .5s var(--sbs-ease);
	}

	:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea),
	.wp-block-search__input {
		transition: border-color .35s, box-shadow .35s, background-color .35s;
	}

	.wp-block-details.is-style-faq { interpolate-size: allow-keywords; }

	.wp-block-details.is-style-faq::details-content {
		block-size: 0;
		overflow: clip;
		opacity: 0;
		transition: block-size .5s var(--sbs-ease), opacity .5s var(--sbs-ease), content-visibility .5s allow-discrete;
	}

	.wp-block-details.is-style-faq[open]::details-content {
		block-size: auto;
		opacity: 1;
	}

	@supports not selector(::details-content) {
		.wp-block-details.is-style-faq[open] > :not(summary) { animation: sbs-faq-open .5s var(--sbs-ease); }
	}
}

@keyframes sbs-faq-open {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}
