﻿/*
Theme Name: Toothpaste on Toast
Theme URI: https://toothpasteontoast.com/
Author: Riccy Scaduto
Description: Full Site Editing block theme for Toothpaste on Toast â€” reviews and interviews from local theatre and comedy.
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1.34
Version: 1.0.31
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: toothpaste
Tags: block-theme, full-site-editing, blog
*/

/*
 * Layout tokens
 *
 * Max content width: theme.json â†’ settings.layout.contentSize (720px)
 *   Output as --wp--style--global--content-size by WordPress on constrained layouts.
 *   Used by article pages, archives, header, and footer.
 * Wide width: theme.json â†’ settings.layout.wideSize (1100px)
 *   Homepage main and site header override contentSize to 1100px.
 * Hero dek breaks: --tot-breakpoint-hero-dek (1100px content + root horizontal padding).
 *
 * Layout breakpoints (hardcoded in @media — custom properties cannot be used there):
 *   Tablet: 1024px — hamburger, tighter magazine layout
 *   Mobile: 768px — stacked / compact phone layout
 *   Compact: 480px — small phones (320–480); do not retune 768px here
 * Keep 782px only for the WordPress admin-bar offset.
 */

html {
	overflow-x: clip;
}

:root {
	--tot-motif-color: #b7e5d9;
	--tot-font-weight-black: 900;
	/* 1100px homepage content + root horizontal padding (spacing 40 Ã— 2). */
	--tot-breakpoint-hero-dek: 1147px;
	--tot-breakpoint-tablet: 1024px;
	--tot-breakpoint-mobile: 768px;
	--tot-breakpoint-compact: 480px;
	--tot-letter-spacing-black: 0.02em;
}

/*
 * Reduced motion: system preference (prefers-reduced-motion), mobile viewports
 * (max-width: 768px), or html.tot-reduce-motion via header/tablet menu +
 * localStorage (tot-reduce-motion=1). Animations stay available on tablet.
 */

.tot-text-black {
	font-weight: var(--tot-font-weight-black);
	letter-spacing: var(--tot-letter-spacing-black);
}

.font-sans {
	font-family: var(--wp--preset--font-family--body);
}

/* Site header â€” sticky from tablet up; shrink via scroll-driven animation */
header.wp-block-template-part:has(.tot-site-header) {
	--tot-header-padding-y: 1rem;
	--tot-header-padding-x: 0.75rem;
	--tot-header-nav-size: 0.875rem;
	--tot-header-admin-offset: 0px;

	position: sticky;
	top: var(--tot-header-admin-offset);
	z-index: 100;
	width: 100%;
	padding: var(--tot-header-padding-y) var(--tot-header-padding-x);
	box-sizing: border-box;
	overflow: visible;
	background-color: var(--wp--preset--color--mint);
}

/* Seal sticky compositing hairlines against the page background */
header.wp-block-template-part:has(.tot-site-header)::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background-color: var(--wp--preset--color--mint);
	pointer-events: none;
}

.tot-site-header {
	--tot-header-nav-size: 0.875rem;
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	background-color: var(--wp--preset--color--mint);
}

/* Keep logo left / nav right as logo width changes on scroll */
.tot-site-header > .wp-block-group {
	width: 100%;
	flex-wrap: nowrap;
	justify-content: space-between;
}

body.admin-bar header.wp-block-template-part:has(.tot-site-header) {
	--tot-header-admin-offset: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar header.wp-block-template-part:has(.tot-site-header) {
		--tot-header-admin-offset: 46px;
	}
}

.tot-site-header .tot-site-brand {
	position: relative;
	z-index: 6;
	display: inline-block;
	flex: 0 1 auto;
	min-width: 0;
}

.tot-site-header .tot-site-brand > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-site-header .tot-site-logo {
	--tot-logo-height: 6.7rem;
	--tot-logo-height-scrolled: 4.5rem;
	--tot-logo-pad-top: 16px;
	--tot-logo-pad-top-scrolled: 10px;
	--tot-logo-pad-bottom: 25px;
	--tot-logo-pad-bottom-scrolled: 10px;
	--tot-logo-offset-x: 0px;
	--tot-logo-offset-y: 0px;
	--tot-logo-offset-x-scrolled: 0px;
	--tot-logo-offset-y-scrolled: 0px;
	position: relative;
	z-index: 1;
	display: block;
	margin: 0;
	line-height: 0;
	padding-top: var(--tot-logo-pad-top);
	padding-bottom: var(--tot-logo-pad-bottom);
	overflow: visible;
}

.tot-site-header .tot-site-logo__toast {
	--tot-toast-top: -0.5rem;
	--tot-toast-left: -1rem;
	--tot-toast-width: 9.2rem;
	--tot-toast-top-scrolled: 0.1rem;
	--tot-toast-left-scrolled: -0.5rem;
	--tot-toast-width-scrolled: 5.2rem;
	position: absolute;
	top: var(--tot-toast-top);
	left: var(--tot-toast-left);
	z-index: 0;
	display: block;
	width: var(--tot-toast-width);
	transform: rotate(-8deg);
	pointer-events: none;
}

.tot-site-header .tot-site-logo__toast-motion {
	display: block;
	width: 100%;
}

/* Pop lift on inner wrapper â€” outer toast keeps scroll-driven size/position. */
@keyframes tot-toast-pop {
	0% {
		translate: 0 0;
		animation-timing-function: cubic-bezier(0.15, 0.85, 0.35, 1);
	}

	12% {
		translate: 0 -20vh;
		animation-timing-function: linear;
	}

	28% {
		translate: 0 -20vh;
		animation-timing-function: cubic-bezier(0.55, 0.05, 0.95, 0.5);
	}

	100% {
		translate: 0 0;
	}
}

/*
 * Two-tone toast: crust + fill each animate between toasted and fresh bread.
 * Fresh pair keeps the same offset as the toasted pair (32, 74, 76 on RGB).
 * Timeline mapped onto 18s so land (~6.2s) is 34.4%, then a long re-toast.
 */
@keyframes tot-toast-color-crust {
	0%,
	4% {
		fill: rgb(207 103 30);
	}

	4.01%,
	34.4% {
		fill: rgb(220 164 129);
		animation-timing-function: ease-in;
	}

	100% {
		fill: rgb(207 103 30);
	}
}

@keyframes tot-toast-color-fill {
	0%,
	4% {
		fill: rgb(239 177 106);
	}

	4.01%,
	34.4% {
		fill: rgb(252 238 205);
		animation-timing-function: ease-in;
	}

	100% {
		fill: rgb(239 177 106);
	}
}

.tot-site-header .tot-site-logo__toast--pop .tot-site-logo__toast-motion {
	animation: tot-toast-pop 6.2s linear;
}

.tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__crust {
	animation: tot-toast-color-crust 18s linear forwards;
}

.tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__fill {
	animation: tot-toast-color-fill 18s linear forwards;
}

@media (prefers-reduced-motion: reduce) {
	.tot-site-header .tot-site-logo__toast--pop .tot-site-logo__toast-motion,
	.tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__crust,
	.tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__fill {
		animation: none;
	}
}

.tot-site-header .tot-site-logo__toast svg {
	display: block;
	width: 100%;
	height: auto;
}

.tot-site-header .tot-site-logo__toast svg path.tot-toast-icon__crust {
	fill: rgb(207 103 30);
}

.tot-site-header .tot-site-logo__toast svg path.tot-toast-icon__fill {
	fill: rgb(239 177 106);
}

.tot-site-header .tot-site-logo__link {
	position: relative;
	z-index: 1;
	display: inline-block;
	text-decoration: none;
	line-height: 0;
	translate: var(--tot-logo-offset-x) var(--tot-logo-offset-y);
	--tot-foam-scale: 1;
	--tot-foam-max: 20;
	--tot-foam-layer: front;
}

.tot-site-header .tot-site-logo .tot-foam-wrap {
	position: relative;
	z-index: 1;
	display: inline-block;
	line-height: 0;
	translate: var(--tot-logo-offset-x) var(--tot-logo-offset-y);
}

.tot-site-header .tot-site-logo .tot-foam-wrap .tot-site-logo__link {
	translate: none;
}

.tot-site-header .tot-site-logo .tot-foam {
	inset: -0.5rem -0.75rem auto;
	height: calc(100% + 1rem);
}

.tot-site-header .tot-site-logo__img {
	display: block;
	width: auto;
	height: var(--tot-logo-height);
	max-width: none;
}

.tot-site-header .tot-site-tagline {
	--tot-tagline-left: 12.5rem;
	--tot-tagline-left-scrolled: 7.5rem;
	--tot-tagline-font-size: 14px;
	--tot-tagline-font-size-scrolled: 11px;
	position: absolute;
	left: var(--tot-tagline-left);
	bottom: 0;
	z-index: 2;
	display: inline-block;
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: var(--tot-tagline-font-size);
	font-weight: 800;
	letter-spacing: var(--tot-letter-spacing-black);
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	transform: rotate(-8deg) translate3d(0, 0, 0);
	transform-origin: left bottom;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	backface-visibility: hidden;
}

/* Scroll-driven header/logo condense (progressive enhancement) */
@supports (animation-timeline: scroll()) {
	header.wp-block-template-part:has(.tot-site-header) {
		--tot-header-scroll-range: 280px;
		/* Maps scroll progress â†’ shrink: quicker start, settles at the end */
		--tot-header-scroll-easing: ease-out;
	}

	@keyframes tot-header-pad-condense {
		from {
			padding-block: 1rem;
		}

		to {
			padding-block: 0.35rem;
		}
	}

	@keyframes tot-logo-img-shrink {
		from {
			height: var(--tot-logo-height);
		}

		to {
			height: var(--tot-logo-height-scrolled);
		}
	}

	@keyframes tot-logo-pad-shrink {
		from {
			padding-top: var(--tot-logo-pad-top);
			padding-bottom: var(--tot-logo-pad-bottom);
		}

		to {
			padding-top: var(--tot-logo-pad-top-scrolled);
			padding-bottom: var(--tot-logo-pad-bottom-scrolled);
		}
	}

	@keyframes tot-logo-offset-shrink {
		from {
			translate: var(--tot-logo-offset-x) var(--tot-logo-offset-y);
		}

		to {
			translate: var(--tot-logo-offset-x-scrolled) var(--tot-logo-offset-y-scrolled);
		}
	}

	@keyframes tot-toast-shrink {
		from {
			top: var(--tot-toast-top);
			left: var(--tot-toast-left);
			width: var(--tot-toast-width);
		}

		to {
			top: var(--tot-toast-top-scrolled);
			left: var(--tot-toast-left-scrolled);
			width: var(--tot-toast-width-scrolled);
		}
	}

	@keyframes tot-tagline-shrink {
		from {
			left: var(--tot-tagline-left);
			font-size: var(--tot-tagline-font-size);
		}

		to {
			left: var(--tot-tagline-left-scrolled);
			font-size: var(--tot-tagline-font-size-scrolled);
		}
	}

	header.wp-block-template-part:has(.tot-site-header) {
		animation: tot-header-pad-condense var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-logo {
		animation: tot-logo-pad-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-logo__link {
		animation: tot-logo-offset-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-logo .tot-foam-wrap {
		animation: tot-logo-offset-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-logo .tot-foam-wrap .tot-site-logo__link {
		animation: none;
	}

	.tot-site-header .tot-site-logo__img {
		animation: tot-logo-img-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-logo__toast {
		animation: tot-toast-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}

	.tot-site-header .tot-site-tagline {
		animation: tot-tagline-shrink var(--tot-header-scroll-easing) both;
		animation-timeline: scroll();
		animation-range: 0px var(--tot-header-scroll-range);
	}
}

/* Header condense â€” static scrolled size when motion is off (no scroll animation) */
@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part:has(.tot-site-header) {
		animation: none !important;
		padding-block: 0.35rem;
	}

	.tot-site-header .tot-site-logo {
		animation: none !important;
		padding-top: var(--tot-logo-pad-top-scrolled);
		padding-bottom: var(--tot-logo-pad-bottom-scrolled);
	}

	.tot-site-header .tot-site-logo__link,
	.tot-site-header .tot-site-logo .tot-foam-wrap {
		animation: none !important;
		translate: var(--tot-logo-offset-x-scrolled) var(--tot-logo-offset-y-scrolled);
	}

	.tot-site-header .tot-site-logo__img {
		animation: none !important;
		height: var(--tot-logo-height-scrolled);
	}

	.tot-site-header .tot-site-logo__toast {
		animation: none !important;
		top: var(--tot-toast-top-scrolled);
		left: var(--tot-toast-left-scrolled);
		width: var(--tot-toast-width-scrolled);
	}

	.tot-site-header .tot-site-tagline {
		animation: none !important;
		left: var(--tot-tagline-left-scrolled);
		font-size: var(--tot-tagline-font-size-scrolled) !important;
	}
}

html.tot-reduce-motion header.wp-block-template-part:has(.tot-site-header) {
	animation: none !important;
	padding-block: 0.35rem;
}

html.tot-reduce-motion .tot-site-header .tot-site-logo {
	animation: none !important;
	padding-top: var(--tot-logo-pad-top-scrolled);
	padding-bottom: var(--tot-logo-pad-bottom-scrolled);
}

html.tot-reduce-motion .tot-site-header .tot-site-logo__link,
html.tot-reduce-motion .tot-site-header .tot-site-logo .tot-foam-wrap {
	animation: none !important;
	translate: var(--tot-logo-offset-x-scrolled) var(--tot-logo-offset-y-scrolled);
}

html.tot-reduce-motion .tot-site-header .tot-site-logo__img {
	animation: none !important;
	height: var(--tot-logo-height-scrolled);
}

html.tot-reduce-motion .tot-site-header .tot-site-logo__toast {
	animation: none !important;
	top: var(--tot-toast-top-scrolled);
	left: var(--tot-toast-left-scrolled);
	width: var(--tot-toast-width-scrolled);
}

html.tot-reduce-motion .tot-site-header .tot-site-tagline {
	animation: none !important;
	left: var(--tot-tagline-left-scrolled);
	font-size: var(--tot-tagline-font-size-scrolled) !important;
}

.tot-site-header .wp-block-navigation {
	position: relative;
	z-index: 5;
	flex: 0 0 auto;
	margin-inline-start: auto;
	padding-inline-start: 0.5rem;
	background-color: var(--wp--preset--color--mint);
	font-size: var(--tot-header-nav-size);
	letter-spacing: 0.04em;
}

.tot-site-header .wp-block-navigation .wp-block-navigation__container {
	gap: 0;
	align-items: center;
}

.tot-site-header .wp-block-navigation .wp-block-navigation-item {
	display: flex;
	align-items: center;
}

.tot-site-header .wp-block-navigation a {
	display: inline-grid;
	justify-items: center;
	vertical-align: baseline;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	text-transform: uppercase;
	font-size: inherit;
	--tot-foam-scale: 0.75;
	--tot-foam-max: 10;
	--tot-foam-layer: behind;
}

.tot-site-header .wp-block-navigation .tot-nav-link__ghost,
.tot-site-header .wp-block-navigation .tot-nav-link__label {
	grid-area: 1 / 1;
}

.tot-site-header .wp-block-navigation .tot-nav-link__ghost {
	font-weight: var(--tot-font-weight-black);
	letter-spacing: var(--tot-letter-spacing-black);
	visibility: hidden;
	user-select: none;
	pointer-events: none;
}

.tot-site-header .wp-block-navigation .tot-nav-link__label {
	font-weight: 500;
	letter-spacing: 0.04em;
}

@media (prefers-reduced-motion: no-preference) {
	html:not(.tot-reduce-motion) .tot-site-header .wp-block-navigation .tot-nav-link__label {
		transition:
			font-weight 240ms cubic-bezier(0.25, 0.1, 0.25, 1),
			letter-spacing 240ms cubic-bezier(0.25, 0.1, 0.25, 1);
	}
}

.tot-site-header .wp-block-navigation .wp-block-navigation__container > .tot-nav-motion-toggle-item::before {
	content: '\00b7';
	margin-inline: 0.75rem;
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.35rem 0.15rem;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	cursor: pointer;
	appearance: none;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle:disabled {
	cursor: default;
	opacity: 0.72;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 2px;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle:hover,
.tot-site-header .wp-block-navigation .tot-motion-toggle:focus-visible {
	color: var(--wp--preset--color--contrast);
}

.tot-site-header .wp-block-navigation .tot-motion-toggle__icon {
	display: block;
	width: 1rem;
	height: auto;
	overflow: hidden;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle__track {
	transform: translateX(0);
}

.tot-site-header .wp-block-navigation .tot-motion-toggle__off {
	opacity: 0;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle[aria-pressed="true"] .tot-motion-toggle__track {
	opacity: 0;
}

.tot-site-header .wp-block-navigation .tot-motion-toggle[aria-pressed="true"] .tot-motion-toggle__off {
	opacity: 1;
}

@media (prefers-reduced-motion: no-preference) {
	html:not(.tot-reduce-motion) .tot-site-header .wp-block-navigation .tot-motion-toggle__track,
	html:not(.tot-reduce-motion) .tot-site-header .wp-block-navigation .tot-motion-toggle__off {
		transition: opacity 180ms ease;
	}

	html:not(.tot-reduce-motion) .tot-site-header .wp-block-navigation .tot-motion-toggle:not([aria-pressed="true"]):not(:disabled):hover .tot-motion-toggle__track,
	html:not(.tot-reduce-motion) .tot-site-header .wp-block-navigation .tot-motion-toggle:not([aria-pressed="true"]):not(:disabled):focus-visible .tot-motion-toggle__track {
		animation: tot-motion-toggle-squiggle-slide 0.9s linear infinite;
	}
}

@keyframes tot-motion-toggle-squiggle-slide {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.tot-site-header .wp-block-navigation .tot-motion-toggle__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tot-site-header .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:not(:last-child):not(:has(+ .tot-nav-motion-toggle-item))::after {
	content: '\00b7';
	margin-inline: 0.75rem;
	color: var(--wp--preset--color--muted);
	font-weight: 400;
}

.tot-site-header .wp-block-navigation a:hover,
.tot-site-header .wp-block-navigation a:focus-visible {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.tot-site-header .wp-block-navigation a:hover .tot-nav-link__label,
.tot-site-header .wp-block-navigation a:focus-visible .tot-nav-link__label {
	font-weight: var(--tot-font-weight-black);
	letter-spacing: var(--tot-letter-spacing-black);
}

.tot-site-header .wp-block-navigation .tot-foam-wrap {
	vertical-align: baseline;
}

.tot-site-header .wp-block-navigation .tot-foam {
	inset: -0.35rem -0.25rem auto;
	height: calc(100% + 0.65rem);
}

.tot-site-header .wp-block-navigation__responsive-container-open,
.tot-site-header .wp-block-navigation__responsive-container-close {
	background: none;
	border: 0;
	color: var(--wp--preset--color--contrast);
	padding: 0.35rem;
	cursor: pointer;
}

.tot-site-header .wp-block-navigation__responsive-container-open svg,
.tot-site-header .wp-block-navigation__responsive-container-close svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	fill: currentColor;
}

.tot-site-header .wp-block-navigation__responsive-container-open:focus-visible,
.tot-site-header .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 2px;
}

@media (max-width: 1024px) {
	.tot-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}

	.tot-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}

	.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex !important;
	}
}

@media (min-width: 1025px) {
	.tot-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}

	.tot-site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block !important;
		position: relative;
		width: 100%;
		z-index: auto;
		background-color: inherit;
	}

	.tot-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none;
	}
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open,
.tot-site-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay),
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	background-color: var(--wp--preset--color--mint);
}

@keyframes tot-nav-slide-down {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: none;
	}
}

.tot-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) .wp-block-navigation__responsive-container-open {
	visibility: hidden;
	pointer-events: none;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	top: var(--tot-nav-overlay-top, 0px) !important;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100000;
	padding: 0;
	display: flex;
	flex-direction: column;
	overflow: visible;
	height: calc(100dvh - var(--tot-nav-overlay-top, 0px));
	min-height: calc(100dvh - var(--tot-nav-overlay-top, 0px));
	pointer-events: auto;
	transform: none;
	transform-origin: top center;
	animation: tot-nav-slide-down 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
	.tot-site-header .wp-block-navigation__responsive-container.is-menu-open {
		animation: none;
	}
}

html.tot-reduce-motion .tot-site-header .wp-block-navigation__responsive-container.is-menu-open {
	animation: none;
}

body.admin-bar .tot-site-header .wp-block-navigation__responsive-container.is-menu-open {
	top: var(--tot-nav-overlay-top, var(--tot-header-admin-offset, 32px));
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
	overflow: visible;
	pointer-events: auto;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	position: relative;
	justify-content: stretch;
	padding: 2rem 1.5rem 4.5rem;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
	align-items: center;
	text-align: center;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	width: 100%;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0 0 3.25rem;
	list-style: none;
	position: static;
	box-sizing: border-box;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	background: none;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(:last-child):not(:has(+ .tot-nav-motion-toggle-item))::after,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .tot-nav-motion-toggle-item::before {
	display: none;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open a,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	position: relative;
	z-index: 1;
	display: inline-grid;
	justify-items: center;
	padding: 0.35rem 0.5rem;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	background: none;
	pointer-events: auto;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open a:hover .tot-nav-link__label,
.tot-site-header .wp-block-navigation__responsive-container.is-menu-open a:focus-visible .tot-nav-link__label {
	font-weight: var(--tot-font-weight-black);
	letter-spacing: var(--tot-letter-spacing-black);
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .tot-nav-motion-toggle-item {
	position: absolute;
	bottom: 1.25rem;
	left: 0;
	right: 0;
	z-index: 3;
	margin: 0;
	width: 100%;
	display: flex;
	justify-content: center;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .tot-motion-toggle {
	gap: 0.65rem;
	padding: 0.55rem 0.85rem;
	color: var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-transform: none;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .tot-motion-toggle__icon {
	width: 1.15rem;
	flex: 0 0 auto;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .tot-motion-toggle__label {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: nowrap;
	border: 0;
}

.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .tot-foam {
	display: none;
}

@media (max-width: 768px) {
	header.wp-block-template-part:has(.tot-site-header) {
		position: relative;
		top: auto;
	}

	header.wp-block-template-part:has(.tot-site-header)::after {
		content: none;
	}

	.tot-site-header .wp-block-navigation .tot-nav-motion-toggle-item {
		display: none !important;
	}

	.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.tot-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
		padding-bottom: 0;
	}

	.tot-site-header .tot-site-logo {
		--tot-logo-height: 4.5rem;
		--tot-logo-height-scrolled: 3.25rem;
		--tot-logo-pad-top: 10px;
		--tot-logo-pad-bottom: 12px;
		--tot-logo-pad-top-scrolled: 6px;
		--tot-logo-pad-bottom-scrolled: 6px;
	}

	.tot-site-header .tot-site-logo__toast {
		--tot-toast-top: -0.25rem;
		--tot-toast-left: -0.65rem;
		--tot-toast-width: 6.2rem;
		--tot-toast-top-scrolled: 0.05rem;
		--tot-toast-left-scrolled: -0.35rem;
		--tot-toast-width-scrolled: 4.2rem;
	}

	.tot-site-header .tot-site-tagline {
		--tot-tagline-left: 8.25rem;
		--tot-tagline-left-scrolled: 5.5rem;
		--tot-tagline-font-size: 12.5px;
		--tot-tagline-font-size-scrolled: 11.5px;
	}
}

@media (max-width: 480px) {
	.tot-site-header .tot-site-tagline {
		--tot-tagline-font-size: 9px;
		--tot-tagline-font-size-scrolled: 9px;
		font-size: 9px !important;
	}
}

.tot-site-header.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1100px;
}

.wp-site-blocks > main.wp-block-group {
	margin-block-start: 60px;
}

/* Homepage magazine layout */
.tot-homepage {
	--tot-homepage-section-gap: 8rem;
}

@media (max-width: 1024px) {
	.tot-homepage {
		--tot-homepage-section-gap: 5rem;
	}
}

@media (max-width: 768px) {
	.tot-homepage {
		--tot-homepage-section-gap: 3rem;
		--tot-phone-title-size: 1.75rem;
		--tot-phone-excerpt-size: 1rem;
		--tot-phone-excerpt-leading: 1.7;
	}
}

.wp-site-blocks > main.tot-homepage {
	margin-block-start: var(--tot-homepage-section-gap);
}

.tot-homepage-hero {
	margin-bottom: 0;
}

.tot-homepage-section-title {
	margin-top: var(--tot-homepage-section-gap);
	margin-bottom: var(--wp--preset--spacing--40, 1.25rem);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large, 1.5rem);
}

.tot-homepage-interviews-section {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2rem;
	margin-top: var(--tot-homepage-section-gap);
	margin-bottom: 0;
}

/* Post cards â€” default compact list layout */
.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__image {
	flex: 0 0 7.5rem;
	width: 7.5rem;
	max-width: 7.5rem;
	margin: 0;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__body {
	flex: 1;
	min-width: 0;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__title {
	margin-top: 0;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__labels {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	width: 100%;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__mediums,
.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__format {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__format {
	text-align: right;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-dek {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	line-height: 1.3;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__excerpt {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__cta {
	margin: 0;
	margin-top: 0.25rem;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__cta-button {
	font-size: 0.875rem;
	font-weight: 600;
}

/* Featured hero â€” full width, image left, content right */
.tot-post-card--featured {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 0;
}

.tot-post-card--featured > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-card--featured .tot-post-card__image {
	flex: 0 0 55%;
	width: 55%;
	max-width: 55%;
	margin: 0;
}

.tot-post-card--featured .tot-post-card__image a,
.tot-post-card--featured .tot-post-card__image img {
	display: block;
	width: 100%;
	margin: 0;
}

.tot-post-card--featured .tot-post-card__image img {
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tot-post-card--featured .tot-post-card__content {
	flex: 1;
	min-width: 0;
	margin-block-start: 0;
	margin-left: 2rem;
	padding-top: 1rem;
	padding-left: 2rem;
	border-left: 1px solid var(--wp--preset--color--border);
}

.tot-post-card--featured .tot-post-card__content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-card--featured .tot-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.tot-post-card--featured .tot-post-card__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.tot-post-card--featured .tot-post-card__format,
.tot-post-card--featured .tot-post-card__mediums {
	display: inline;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tot-post-card--featured .tot-post-card__format a,
.tot-post-card--featured .tot-post-card__mediums a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.tot-post-card--featured .tot-post-card__format a:hover,
.tot-post-card--featured .tot-post-card__mediums a:hover {
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--featured .tot-post-card__format + .tot-post-card__mediums::before {
	content: '\00b7';
	margin-inline: 0.5rem;
	color: var(--wp--preset--color--accent);
	font-weight: 400;
}

.tot-post-card--featured .tot-post-card__mediums .wp-block-post-terms__separator {
	color: var(--wp--preset--color--accent);
	font-weight: 400;
	margin-inline: 0.5rem;
}

.tot-post-card--featured .tot-post-card__title--featured {
	margin: 0 !important;
	padding-bottom: 1rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.75rem;
	line-height: 1.15;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--featured .tot-post-card__title--featured a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.tot-post-card--featured .tot-post-card__title--featured .tot-post-dek {
	margin: 0;
	padding: 0;
	border: none;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-weight: 400;
	color: var(--wp--preset--color--mint);
}

.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__title--featured .tot-post-dek {
	display: block;
	margin-top: 0.15em;
}

.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__title--featured .tot-post-dek br.tot-dek-break-lg {
	display: none;
}

/* Keep in sync with --tot-breakpoint-hero-dek */
@media (min-width: 1147px) {
	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__title--featured .tot-post-dek br.tot-dek-break-lg {
		display: inline;
	}
}

.tot-post-card__divider {
	margin: 0;
	width: 100%;
	border: none;
	border-top: 1px solid var(--wp--preset--color--border);
	opacity: 1;
}

.tot-post-card--featured .tot-post-card__excerpt {
	margin: 0;
	padding-top: 1rem;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--body);
}

.tot-post-card--featured .tot-post-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.tot-post-card--featured .tot-post-card__cta-wrap {
	position: relative;
	display: inline-block;
	overflow: visible;
	margin-top: 1.5rem;
	margin-block-end: 0;
	padding-bottom: calc(0.75rem + 2.5rem);
}

.tot-post-card--featured .tot-post-card__cta-wrap > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-card--featured .tot-post-card__cta {
	margin: 0;
}

.tot-post-card--featured .tot-post-card__cta-button {
	display: inline-block;
	padding: 0.5rem 1.125rem;
	background-color: var(--wp--preset--color--contrast);
	border-radius: 999px;
	color: #fff !important;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
}

.tot-post-card--featured .tot-post-card__cta-button:hover {
	background-color: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--contrast) !important;
}

.tot-post-card--featured .tot-post-card__cta-motif {
	position: absolute;
	margin-top:2px;
	left: 10px;
	display: flex;
	align-items: start;
	width: var(--tot-motif-span, 100%);
	max-width: 100vw;
	overflow: visible;
	pointer-events: none;
}

.tot-post-card--featured .tot-post-card__cta-motif-head {
	margin-right: -20px;
	flex: 0 0 auto;
	width: 9rem;
	height: 6rem;
	color: var(--tot-motif-color);
	transform: translateX(var(--tot-motif-shake-x, 0px));
	/* Alternate pendulum; negative delay starts paused at centre (0) */
	animation: tot-cta-motif-shake 0.35s ease-in-out infinite alternate;
	animation-delay: -0.175s;
	animation-play-state: paused;
}

.tot-post-card--featured .tot-post-card__cta-motif-head path {
	fill: currentColor;
}

.tot-post-card--featured .tot-post-card__cta-motif-handle {
	margin-top: 41px;
	flex: 1 1 auto;
	min-width: 0;
	height: 26px;
	background: none;
	border-top: 14px solid var(--tot-motif-color);
	border-bottom: 14px solid var(--tot-motif-color);
}

@media (prefers-reduced-motion: reduce) {
	.tot-post-card--featured .tot-post-card__cta-motif-head {
		animation: none;
	}
}

/* Review cards â€” hero layout, smaller image, no CTA */
.tot-post-card--review.tot-post-card--featured .tot-post-card__image {
	flex: 0 0 22%;
	width: 22%;
	max-width: 22%;
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__content {
	padding-top: 0.5rem;
	padding-left: 0;
	border-left: none;
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__labels,
.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__labels {
	margin-bottom: 1rem;
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured,
.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__title--featured {
	font-size: 1.375rem;
	line-height: 1.2;
	padding-bottom: 0.5rem;
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured .tot-post-dek,
.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__title--featured .tot-post-dek {
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__excerpt,
.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__excerpt {
	padding-top: 0;
	margin-top: 0.5rem;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.tot-post-feed .wp-block-post-template {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tot-post-feed .wp-block-post-template > li {
	margin: 0;
	padding: 0;
}

.tot-post-feed .wp-block-post-template > li > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-feed .wp-block-post-template > li:not(:last-child) .tot-post-card__divider {
	margin-top: var(--wp--preset--spacing--60, 3rem);
	margin-bottom: var(--wp--preset--spacing--60, 3rem);
}

.tot-post-feed .wp-block-post-template > li:last-child .tot-post-card__divider {
	display: none;
}

.tot-post-feed .wp-block-query-pagination.is-layout-flex,
.tot-post-feed .wp-block-query-pagination {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 1rem;
	width: 100%;
	margin-top: var(--wp--preset--spacing--60, 3rem);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tot-post-feed .wp-block-query-pagination .wp-block-query-pagination-previous {
	grid-column: 1;
	justify-self: start;
}

.tot-post-feed .wp-block-query-pagination .wp-block-query-pagination-numbers {
	grid-column: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
}

.tot-post-feed .wp-block-query-pagination .wp-block-query-pagination-next {
	grid-column: 3;
	justify-self: end;
}

.tot-post-feed .wp-block-query-pagination a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.tot-post-feed .wp-block-query-pagination a:hover {
	color: var(--wp--preset--color--contrast);
}

.tot-post-feed .wp-block-query-pagination .page-numbers.current {
	color: var(--wp--preset--color--contrast);
}

/* Archive and search listings */
.tot-archive {
	--tot-archive-section-gap: 3rem;
}

.wp-site-blocks > main.tot-archive {
	margin-block-start: var(--tot-archive-section-gap);
}

.tot-archive__title {
	margin: 0 0 var(--wp--preset--spacing--50, 2rem);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large, 2.25rem);
	line-height: 1.15;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

/* Interview list cards â€” same horizontal layout as reviews */
.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__image {
	flex: 0 0 22%;
	width: 22%;
	max-width: 22%;
}

.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__content {
	padding-top: 0.5rem;
	padding-left: 0;
	border-left: none;
}

@media (max-width: 768px) {
	.tot-post-card--interview-list.tot-post-card--featured {
		flex-direction: column;
	}

	.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__content {
		padding-left: 0;
		padding-top: 1rem;
		margin-top: 1.25rem;
		border-top: 1px solid var(--wp--preset--color--border);
	}

	.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__image {
		flex: none;
		width: 100%;
		max-width: none;
	}

	.tot-archive__title {
		font-size: 1.75rem;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured,
	.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__title--featured {
		font-size: 1.25rem;
	}
}

@media (min-width: 769px) {
	.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured,
	.tot-post-card--interview-list.tot-post-card--featured .tot-post-card__title--featured {
		font-size: 1.625rem;
		line-height: 1.15;
	}
}

@property --tot-motif-shake-x {
	syntax: '<length>';
	inherits: false;
	initial-value: 0px;
}

@keyframes tot-cta-motif-shake {
	from {
		--tot-motif-shake-x: -16px;
	}

	to {
		--tot-motif-shake-x: 16px;
	}
}

/* Interview cards â€” narrow column, image on top */
.tot-post-card--interview {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 0;
}

.tot-post-card--interview > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-card--interview .tot-post-card__image {
	order: 0;
	flex: none;
	width: 100%;
	max-width: none;
	margin: 0;
}

.tot-post-card--interview .tot-post-card__image a,
.tot-post-card--interview .tot-post-card__image img {
	display: block;
	width: 100%;
	margin: 0;
}

.tot-post-card--interview .tot-post-card__image img {
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tot-post-card--interview .tot-post-card__content {
	order: 2;
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding-top: 0;
}

.tot-post-card--interview .tot-post-card__content > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-post-card--interview .tot-post-card__labels {
	order: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.tot-post-card--interview .tot-post-card__format,
.tot-post-card--interview .tot-post-card__mediums {
	display: inline;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tot-post-card--interview .tot-post-card__format a,
.tot-post-card--interview .tot-post-card__mediums a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.tot-post-card--interview .tot-post-card__format a:hover,
.tot-post-card--interview .tot-post-card__mediums a:hover {
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--interview .tot-post-card__format + .tot-post-card__mediums::before {
	content: '\00b7';
	margin-inline: 0.5rem;
	color: var(--wp--preset--color--accent);
	font-weight: 400;
}

.tot-post-card--interview .tot-post-card__mediums .wp-block-post-terms__separator {
	color: var(--wp--preset--color--accent);
	font-weight: 400;
	margin-inline: 0.5rem;
}

.tot-post-card--interview .tot-post-card__title--interview {
	margin: 0 0 0.75rem !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.375rem;
	line-height: 1.2;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--interview .tot-post-card__title--interview a {
	color: inherit;
	text-decoration: none;
}

.tot-post-card--interview .tot-post-card__title--interview .tot-post-dek {
	margin: 0;
	padding: 0;
	border: none;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

.tot-post-card--interview .tot-post-card__excerpt {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--body);
}

.tot-post-card--interview .tot-post-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

@media (min-width: 1025px) {
	.tot-post-card--featured .tot-post-card__title--featured {
		font-size: 2.25rem;
		line-height: 1.05;
	}

	.tot-post-card--interview .tot-post-card__labels {
		order: 0;
		margin-top: 0;
		margin-bottom: 0.75rem;
	}

	.tot-post-card--interview .tot-post-card__image {
		order: 1;
	}

	.tot-post-card--interview .tot-post-card__content {
		padding-top: 1rem;
	}
}

@media (min-width: 769px) {
	.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured {
		font-size: 1.625rem;
		line-height: 1.15;
	}

	.tot-post-card--interview .tot-post-card__title--interview {
		font-size: 1.625rem;
		line-height: 1.15;
	}
}

@media (max-width: 768px) {
	.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-post-card__image {
		flex-basis: 5.5rem;
		width: 5.5rem;
		max-width: 5.5rem;
	}

	.tot-post-card--featured:not(.tot-post-card--review) {
		flex-direction: column;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__content {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
		margin-top: 0.75rem;
		padding-top: 0;
		border-top: none;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__meta {
		margin-bottom: 0.5rem;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__image {
		flex: none;
		width: 100%;
		max-width: none;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__title--featured {
		font-size: var(--tot-phone-title-size, 1.75rem);
		line-height: 1.15;
		padding-bottom: 0.5rem;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__divider {
		display: none;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__excerpt {
		font-size: var(--tot-phone-excerpt-size, 1rem);
		line-height: var(--tot-phone-excerpt-leading, 1.7);
		padding-top: 0;
	}

	.tot-post-card--featured:not(.tot-post-card--review) .tot-post-card__cta-wrap {
		display: none;
	}

	.tot-post-card--review.tot-post-card--featured {
		align-items: flex-start;
		gap: 1.5rem;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__image {
		flex: 0 0 10rem;
		width: 10rem;
		max-width: 10rem;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__content {
		margin-left: 0;
		padding-left: 0;
		padding-top: 0;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__excerpt {
		display: none;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured {
		font-size: 1.25rem;
	}

	.tot-post-card--interview .tot-post-card__title--interview {
		font-size: var(--tot-phone-title-size, 1.75rem);
	}

	.tot-homepage .tot-post-card--interview .tot-post-card__excerpt {
		font-size: var(--tot-phone-excerpt-size);
		line-height: var(--tot-phone-excerpt-leading);
	}

	.tot-homepage-interviews-section {
		gap: 1.25rem;
	}

	.tot-homepage-interviews .wp-block-post-template {
		grid-template-columns: 1fr !important;
		row-gap: 3rem !important;
	}

	.tot-homepage-interviews .wp-block-post-template > :nth-child(odd):not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 480px) {
	.tot-homepage {
		--tot-phone-title-size: 1.35rem;
	}

	.tot-homepage-hero .tot-stars,
	.tot-post-stars--hero {
		font-size: 1.25rem;
	}

	.tot-post-card--review.tot-post-card--featured {
		display: grid;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		grid-template-areas:
			"labels labels"
			"image title"
			"image stars";
		column-gap: 0.75rem;
		row-gap: 0.2rem;
		align-items: start;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__content {
		display: contents;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__labels {
		grid-area: labels;
		margin-bottom: 0.65rem;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__image {
		grid-area: image;
		flex: none;
		width: 4.5rem;
		max-width: 4.5rem;
		align-self: start;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__image img {
		aspect-ratio: 1;
	}

	.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured {
		grid-area: title;
		font-size: 1.125rem;
		padding-bottom: 0.2rem;
	}

	.tot-post-card--review.tot-post-card--featured .tot-stars,
	.tot-post-card--review.tot-post-card--featured .tot-post-stars {
		grid-area: stars;
	}

	.tot-post-feed .wp-block-post-template > li:not(:last-child) .tot-post-card__divider {
		margin-top: 1.25rem;
		margin-bottom: 1.25rem;
	}
}

.tot-homepage-interviews-section > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-homepage-interviews-motif-wrap {
	display: none;
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: visible;
	pointer-events: none;
}

.tot-homepage-interviews-trail-bg,
.tot-homepage-interviews-trail-stroke,
.tot-homepage-interviews-motion-path {
	display: none;
	position: absolute;
	top: var(--tot-trail-top);
	right: var(--tot-trail-right);
	z-index: 0;
	width: var(--tot-trail-width);
	height: auto;
	pointer-events: none;
}

.tot-homepage-interviews-trail-bg {
	color: var(--tot-motif-color);
}

.tot-homepage-interviews-trail-bg path {
	fill: currentColor;
}

.tot-homepage-interviews-trail-stroke {
	z-index: 1;
	right: calc(var(--tot-trail-right) + var(--tot-trail-stroke-offset-x, 2px));
	color: var(--tot-motif-color);
	overflow: visible;
}

.tot-homepage-interviews-trail-stroke path {
	fill: none;
	stroke: currentColor;
	stroke-width: var(--tot-trail-stroke-width, 65);
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tot-homepage-interviews-motion-path {
	opacity: 0;
}

.tot-homepage-interviews-motion-path--debug {
	opacity: 1;
	z-index: 1;
	color: #c0392b;
}

.tot-homepage-interviews-motion-path--debug path {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-dasharray: 6 4;
	stroke-linecap: round;
}

.tot-homepage-interviews-tube-wrap {
	display: none;
	--tot-tube-width: calc(var(--tot-trail-width) * var(--tot-tube-scale));
	--tot-tube-origin-x: calc(var(--tot-tube-width) * var(--tot-tube-origin-x-ratio));
	--tot-tube-origin-y: calc(var(--tot-tube-width) * var(--tot-tube-origin-y-ratio));
	--tot-tube-offset-x: calc(var(--tot-trail-width) * var(--tot-tube-offset-x-ratio));
	--tot-tube-offset-y: calc(var(--tot-trail-width) * var(--tot-tube-offset-y-ratio));
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	z-index: 2;
	width: var(--tot-tube-width);
	color: var(--tot-motif-color);
	transform-origin: var(--tot-tube-origin-x) var(--tot-tube-origin-y);
	will-change: transform, left, top;
}

.tot-homepage-interviews-tube {
	position: relative;
	z-index: 0;
	display: none;
	width: 100%;
	height: auto;
}

.tot-homepage-interviews-tube-path-marker {
	position: absolute;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	background: #e67e22;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #e67e22;
	z-index: 4;
	pointer-events: none;
}

.tot-homepage-interviews-tube-pivot-marker {
	position: absolute;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	background: #3498db;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px #3498db;
	z-index: 4;
	pointer-events: none;
}

.tot-homepage-interviews-tube-tangent-marker {
	position: absolute;
	width: 48px;
	height: 3px;
	margin-top: -1.5px;
	transform-origin: 0 50%;
	background: #27ae60;
	z-index: 3;
	pointer-events: none;
}

.tot-homepage-interviews-motif-wrap--dot-only .tot-homepage-interviews-tube-wrap {
	visibility: hidden;
}

.tot-homepage-interviews-tube path {
	fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.tot-homepage-interviews-tube-wrap {
		will-change: auto;
	}
}

.tot-homepage-interviews__rail {
	--tot-trail-width: 320px;
	--tot-trail-top: -120px;
	--tot-trail-right: -22px;
	--tot-tube-scale: 0.9;
	--tot-tube-origin-x-ratio: 0.46;
	--tot-tube-origin-y-ratio: 0.06;
	--tot-tube-offset-x-ratio: -0.03;
	--tot-tube-offset-y-ratio: 0;
	--tot-tube-rotate-offset: 270;
	--tot-trail-end-scroll: 0.88;
	--tot-tube-path-lead: 0.1;
	position: relative;
	flex: 0 0 auto;
	align-self: stretch;
	overflow: visible;
}

.tot-homepage-interviews__rail > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-homepage-section-title--interviews {
	position: relative;
	z-index: 0;
	flex: 0 0 auto;
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large, 1.5rem);
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 480px) {
	.tot-homepage h2.wp-block-heading.tot-homepage-section-title {
		font-size: 1.5rem;
	}
}

.tot-homepage-interviews {
	flex: 1;
	min-width: 0;
	margin-bottom: 0;
}

@media (min-width: 1025px) {
	.tot-homepage-interviews-section {
		flex-direction: row;
		gap: 5rem;
	}

	.tot-homepage-section-title--interviews {
		writing-mode: vertical-rl;
		transform: rotate(180deg);
		white-space: nowrap;
	}

	.tot-homepage-interviews__rail::after {
		content: '';
		position: absolute;
		top: 0;
		right: -2.5rem;
		bottom: 0;
		width: 1px;
		background-color: var(--wp--preset--color--border);
		pointer-events: none;
	}

	.tot-homepage-interviews-motif-wrap,
	.tot-homepage-interviews-tube-wrap,
	.tot-homepage-interviews-tube,
	.tot-homepage-interviews-trail-bg,
	.tot-homepage-interviews-trail-stroke,
	.tot-homepage-interviews-motion-path {
		display: block;
	}
}

@media (min-width: 769px) {
	.tot-homepage-interviews .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 5rem !important;
		row-gap: 2.5rem;
	}

	.tot-homepage-interviews--count-1 .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr) !important;
		max-width: 22rem;
		column-gap: 0 !important;
	}

	.tot-homepage-interviews:not(.tot-homepage-interviews--count-1) .wp-block-post-template > :nth-child(odd):not(:last-child) {
		position: relative;
	}

	.tot-homepage-interviews:not(.tot-homepage-interviews--count-1) .wp-block-post-template > :nth-child(odd):not(:last-child)::after {
		content: '';
		position: absolute;
		top: 0;
		right: -2.5rem;
		bottom: 0;
		width: 1px;
		background-color: var(--wp--preset--color--border);
		pointer-events: none;
	}
}

@media (max-width: 1024px) and (min-width: 769px) {
	.tot-homepage-interviews .wp-block-post-template {
		column-gap: 2rem !important;
	}

	.tot-homepage-interviews:not(.tot-homepage-interviews--count-1) .wp-block-post-template > :nth-child(odd):not(:last-child)::after {
		right: -1rem;
	}
}

.tot-homepage-reviews {
	margin-bottom: var(--wp--preset--spacing--60, 3rem);
}

.tot-homepage-category-reviews-section {
	margin-bottom: 0;
}

.tot-homepage-category-reviews-section .tot-homepage-section-title {
	margin-top: var(--tot-homepage-section-gap);
}

.wp-site-blocks:has(.tot-site-footer) {
	padding-bottom: 0;
}

footer.wp-block-template-part:has(.tot-site-footer) {
	--tot-footer-mint: color-mix(in srgb, var(--wp--preset--color--mint) 32%, var(--wp--preset--color--base) 68%);
	--tot-footer-mint-dark: color-mix(in srgb, var(--wp--preset--color--mint) 62%, var(--wp--preset--color--base) 38%);
	--tot-footer-squiggle-height: 2.25rem;
	position: relative;
	box-sizing: border-box;
	overflow: visible;
	width: 100%;
	max-width: none;
	margin-block-start: calc(var(--tot-footer-squiggle-height) + 4rem);
	margin-block-end: 0;
	margin-inline: 0;
	padding: 0;
	background-color: var(--tot-footer-mint);
}

footer.wp-block-template-part:has(.tot-site-footer)::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * var(--tot-footer-squiggle-height) + 1px);
	height: var(--tot-footer-squiggle-height);
	background-color: var(--tot-footer-mint);
	pointer-events: none;
	-webkit-mask-image: url('assets/svg/footer-squiggle.svg');
	mask-image: url('assets/svg/footer-squiggle.svg');
	-webkit-mask-size: 36rem 100%;
	mask-size: 36rem 100%;
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-position: left bottom;
	mask-position: left bottom;
}

@media screen and (max-width: 768px) {
	footer.wp-block-template-part:has(.tot-site-footer) {
		--tot-footer-squiggle-height: 1.75rem;
	}

	footer.wp-block-template-part:has(.tot-site-footer)::before {
		-webkit-mask-size: 22rem 100%;
		mask-size: 22rem 100%;
	}
}

.tot-site-footer {
	background-color: var(--tot-footer-mint, color-mix(in srgb, var(--wp--preset--color--mint) 32%, var(--wp--preset--color--base) 68%));
}

.tot-footer-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50, 2rem);
	margin-bottom: 0;
	padding-bottom: 2.5rem;
}

.tot-footer-note {
	margin-block-start: 0;
}

.tot-footer-note p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.55;
	color: var(--wp--preset--color--body);
}

.tot-footer-note strong {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.tot-footer-note a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.tot-footer-note a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.tot-footer-notes {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--40, 1.25rem);
	}
}

@media (max-width: 1024px) {
	.tot-site-footer.wp-block-group {
		padding-top: 3rem !important;
	}

	.tot-footer-notes {
		padding-inline: 1.5rem;
	}
}

.tot-site-footer__meta {
	--tot-footer-squiggle-height: 2.25rem;
	position: relative;
	box-sizing: border-box;
	max-width: none;
	width: auto;
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1.25rem));
	margin-block-start: var(--tot-footer-squiggle-height) !important;
	padding: 2.5rem var(--wp--preset--spacing--40, 1.25rem) 2rem;
	background-color: var(--tot-footer-mint-dark, color-mix(in srgb, var(--wp--preset--color--mint) 62%, var(--wp--preset--color--base) 38%));
}

.tot-site-footer__meta::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-1 * var(--tot-footer-squiggle-height) + 1px);
	height: var(--tot-footer-squiggle-height);
	background-color: inherit;
	pointer-events: none;
	-webkit-mask-image: url('assets/svg/footer-squiggle.svg');
	mask-image: url('assets/svg/footer-squiggle.svg');
	-webkit-mask-size: 32rem 100%;
	mask-size: 32rem 100%;
	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-position: 10rem bottom;
	mask-position: 10rem bottom;
}

@media screen and (max-width: 768px) {
	.tot-site-footer__meta {
		--tot-footer-squiggle-height: 1.75rem;
		padding: 1.75rem var(--wp--preset--spacing--40, 1.25rem) 1.5rem;
	}

	.tot-site-footer__meta::before {
		-webkit-mask-size: 20rem 100%;
		mask-size: 20rem 100%;
	}
}

.tot-site-footer__meta > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-site-footer__meta > * + * {
	margin-top: var(--wp--preset--spacing--50, 2rem);
}

.tot-site-footer__links {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.tot-site-footer__links a {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	text-decoration: none;
}

.tot-site-footer__links a + a::before {
	content: '\00b7';
	margin-inline: 0.5rem;
	color: var(--wp--preset--color--accent);
	font-weight: 400;
}

.tot-site-footer__links a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.tot-site-footer__disclaimer {
	margin: 0;
	margin-top: 2.75rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}

.tot-site-footer__disclaimer strong {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--accent);
}

/*
 * Browse by medium — foam cluster
 *
 * Layers: category-foam-bg.png + category-bubbles.svg + category-bubbles-small.svg
 * Category links: --tot-bubble-x / --tot-bubble-y anchor point (%)
 * Hover morphs: .focus-{slug} on the cluster, path ids #path-N
 *
 * Hit circles (--tot-bubble-hit-size) are sized to sit inside each SVG foam
 * blob at the 1000px cluster cap (--tot-bubble-from). Label type still scales
 * from the 1100px homepage column so it does not jump with the cap.
 */
.tot-browse-mediums {
	--tot-medium-bubble-border: color-mix(in srgb, var(--wp--preset--color--mint) 88%, #fff 12%);
	--tot-browse-mediums-max: 1000px;
	--tot-foam-art-w: 1048;
	--tot-foam-art-h: 659;
	position: relative;
	overflow: visible;
}

.tot-browse-mediums__hover {
	display: block;
}

.tot-browse-mediums__cluster > .tot-foam-wrap:has(.tot-browse-mediums__hover) {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	transform: none;
	--tot-foam-scale: 0.85;
	--tot-foam-max: 28;
	--tot-foam-layer: front;
	--tot-foam-tone-mix: 0;
}

.tot-browse-mediums__cluster > .tot-foam-wrap:has(.tot-browse-mediums__hover) .tot-browse-mediums__hover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.tot-browse-mediums__cluster > .tot-foam-wrap:has(.tot-browse-mediums__hover) .tot-foam {
	inset: 0;
	height: 100%;
}

.tot-browse-mediums__cluster {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--tot-browse-mediums-max);
	overflow: visible;
}

.tot-browse-mediums__hits {
	position: absolute;
	inset: 0;
	z-index: 2;
	container-type: inline-size;
	--tot-bubble-from: 1000px;
}

.tot-browse-mediums__foam {
	display: grid;
	pointer-events: none;
	overflow: visible;
}

.tot-browse-mediums__foam::before {
	content: "";
	grid-area: 1 / 1;
	z-index: 0;
	width: 109%;
	height: 109%;
	justify-self: center;
	align-self: center;
	background-image: url("assets/img/category-foam-bg.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
}

.tot-browse-mediums__foam-svg {
	display: block;
	grid-area: 1 / 1;
	width: 100%;
	height: auto;
}

.tot-browse-mediums__foam-svg--fg {
	z-index: 1;
}

.tot-browse-mediums__foam-svg--small {
	z-index: 2;
	opacity: 0.6;
}

.tot-browse-mediums__foam-svg--fg path {
	fill: var(--wp--preset--color--mint);
	stroke: var(--wp--preset--color--mint);
}

.tot-browse-mediums__foam-svg--small .tot-small-bubble {
	isolation: isolate;
	transform-box: fill-box;
	transform-origin: center;
}

.tot-browse-mediums__foam-svg--small .tot-small-bubble__ring {
	fill: none;
	stroke: var(--wp--preset--color--mint);
	stroke-width: 1px;
	vector-effect: non-scaling-stroke;
}

.tot-browse-mediums__foam-svg--small .tot-small-bubble__fill {
	fill: #fff;
	stroke: none;
	z-index: 1;
	transform-box: fill-box;
	transform-origin: center;
	transform: translate(
		var(--tot-fill-offset-x, 0px),
		var(--tot-fill-offset-y, 0px)
	);
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble {
	position: absolute;
	left: var(--tot-bubble-x);
	top: var(--tot-bubble-y);
	transform: translate(-50%, -50%);
	z-index: 2;
}

.tot-browse-mediums .tot-foam__bubble {
	--tot-foam-bubble-border: var(--tot-medium-bubble-border);
	--tot-foam-bubble-fill: rgb(255 255 255 / 58%);
}

.tot-browse-mediums .tot-foam__bubble::after {
	box-shadow:
		inset 0 2px 0 rgb(255 255 255 / 78%),
		0 1px 6px rgb(23 38 38 / 10%);
}

.tot-browse-mediums__bubble {
	--tot-bubble-font-size: 1.26rem;
	--tot-bubble-hit-size: 9.99rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: calc(var(--tot-bubble-hit-size) * 100cqi / var(--tot-bubble-from));
	height: calc(var(--tot-bubble-hit-size) * 100cqi / var(--tot-bubble-from));
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--heading);
	color: var(--wp--preset--color--contrast);
	font-size: calc(var(--tot-bubble-font-size) * 100cqi / 1100px);
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
	text-align: center;
	text-decoration: none;
}

.tot-browse-mediums__bubble--comedy {
	--tot-bubble-font-size: 2.04rem;
	--tot-bubble-hit-size: 17.35rem;
}

.tot-browse-mediums__bubble--theatre {
	--tot-bubble-font-size: 1.98rem;
	--tot-bubble-hit-size: 17.87rem;
}

.tot-browse-mediums__bubble--musicals {
	--tot-bubble-font-size: 1.74rem;
	--tot-bubble-hit-size: 15.3rem;
}

.tot-browse-mediums__bubble--film {
	--tot-bubble-font-size: 1.56rem;
	--tot-bubble-hit-size: 13.73rem;
}

.tot-browse-mediums__bubble--tv {
	--tot-bubble-font-size: 1.74rem;
	--tot-bubble-hit-size: 13.12rem;
}

.tot-browse-mediums__bubble--lifestyle {
	--tot-bubble-font-size: 1.38rem;
	--tot-bubble-hit-size: 14.15rem;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--comedy {
	--tot-bubble-x: 20.4%;
	--tot-bubble-y: 32.7%;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--theatre {
	--tot-bubble-x: 60.4%;
	--tot-bubble-y: 54.8%;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--musicals {
	--tot-bubble-x: 79.5%;
	--tot-bubble-y: 29.3%;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--film {
	--tot-bubble-x: 85.2%;
	--tot-bubble-y: 73.8%;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--tv {
	--tot-bubble-x: 41.5%;
	--tot-bubble-y: 28.4%;
}

.tot-browse-mediums__hits > .tot-browse-mediums__bubble--lifestyle {
	--tot-bubble-x: 30.5%;
	--tot-bubble-y: 72.5%;
}

@media (max-width: 768px) {
	.tot-browse-mediums__cluster {
		width: 100%;
		max-width: none;
		aspect-ratio: 659 / 1048;
		transform: scaleX(-1);
	}

	.tot-browse-mediums__foam {
		position: absolute;
		top: 50%;
		left: 50%;
		width: calc(100% * 1048 / 659);
		height: auto;
		transform: translate(-50%, -50%) rotate(90deg);
		transform-origin: center;
	}

	.tot-browse-mediums__hits {
		--tot-bubble-from: calc(1000px * 659 / 1048);
	}

	.tot-browse-mediums__hits > .tot-browse-mediums__bubble {
		left: calc(100% - var(--tot-bubble-y));
		top: var(--tot-bubble-x);
		transform: translate(-50%, -50%) scaleX(-1);
	}

	.tot-browse-mediums__bubble {
		font-size: calc(var(--tot-bubble-font-size) * 100cqi * 1048 / (659 * 1100px));
	}
}

@media (max-width: 480px) {
	.tot-homepage .tot-browse-mediums {
		width: auto;
		max-width: none;
		margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1.25rem))
			calc(-1 * var(--wp--style--root--padding-right, 1.25rem) - 0.75rem) !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html:not(.tot-reduce-motion) .tot-browse-mediums__bubble {
		transition: color 180ms ease;
	}

	html:not(.tot-reduce-motion) .tot-browse-mediums__bubble:hover,
	html:not(.tot-reduce-motion) .tot-browse-mediums__bubble:focus-visible {
		color: var(--wp--preset--color--mint);
	}

	html:not(.tot-reduce-motion) .tot-browse-mediums__foam-svg--fg path {
		transition: d 300ms ease-out;
	}

	html:not(.tot-reduce-motion) .tot-browse-mediums__foam-svg--small .tot-small-bubble {
		transition: transform 300ms ease-out;
	}

	html:not(.tot-reduce-motion) .tot-browse-mediums__foam-svg--small .tot-small-bubble--wobble {
		animation: tot-small-bubble-wobble var(--tot-wobble-duration, 1.7s)
			ease-out var(--tot-wobble-delay, 0s) both;
		transition: none;
	}
}

@keyframes tot-small-bubble-wobble {
	0% {
		transform: translate(0, 0);
	}

	22% {
		transform: translate(var(--tot-overshoot-x), var(--tot-overshoot-y));
	}

	58% {
		transform: translate(var(--tot-return-x), var(--tot-return-y));
	}

	100% {
		transform: translate(var(--tot-nudge-x), var(--tot-nudge-y));
	}
}

/*
 * Category bubble focus morphs.
 * Hover/focus on a medium link toggles .focus-{slug} on the cluster.
 * Add focused path data under the matching id, e.g.:
 *
 * .tot-browse-mediums__cluster.focus-theatre #path-0 {
 *   d: path("M ...");
 * }
 */

 /* Theatre */
.tot-browse-mediums__cluster.focus-theatre #path-0 {
	d: path("M 750.718 381.929 C 751.6 393.479 749.759 405.156 750.742 416.78 C 752.659 439.512 761.782 464.736 773.799 484.344 C 788.35 508.088 808.482 528.895 833.562 542.35 C 883.729 569.272 954.205 570.214 997.532 530.092 C 1018.051 511.085 1035.588 487.027 1043.048 460.47 C 1044.578 455.012 1045.524 449.703 1046.554 444.153 C 1047.784 437.399 1047.958 429.634 1049.798 423.089 C 1051.458 435.079 1046.287 459.48 1041.867 471.212 C 1022.907 521.674 983.189 558.113 926.394 564.213 C 914.268 565.517 901.685 565.547 889.511 563.959 C 797.548 551.961 735.813 466.723 750.718 381.929 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-1 {
	d: path("M 998.383 300.609 C 1005.05 309.543 1011.35 318.737 1018.14 327.566 C 1023.46 334.476 1035.54 351.585 1038.44 358.67 C 1047.66 381.167 1051.72 399.701 1049.76 424.63 C 1048.318 420.086 1049.591 414.157 1049.12 408.822 C 1047.633 391.961 1039.751 368.743 1035.554 360.095 C 1029.758 348.153 1023.119 338.16 1015.349 327.66 C 1005.449 314.297 995.916 299.12 983.418 288.024 C 973.583 279.289 961.616 272.661 949.612 267.687 C 924.788 257.374 896.693 250.238 869.792 254.961 C 849.587 258.513 829.527 268.763 812.676 280.33 C 788.367 297.015 770.221 320.785 759.408 348.452 C 756.29 356.414 753.391 364.804 752.135 373.298 C 751.764 375.774 750.869 387.832 750.396 388.876 C 750.231 389.242 749.604 389.169 749.368 389.492 C 748.569 332.278 787.564 286.253 837.654 262.859 C 855.975 254.302 875.131 249.35 895.449 250.604 C 918.513 252.046 942.627 260.102 963.222 270.518 C 967.418 272.65 971.667 275.116 975.536 277.811 C 977.604 279.245 984.504 284.274 988.439 288.229 C 992.151 291.962 995.34 296.527 998.383 300.609 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-4 {
	d: path("M 1061.29 114.759 C 1037.27 123.569 1010.26 146.439 997.577 168.614 C 991.411 179.389 987.97 191.286 984.211 203.003 C 978.542 220.664 975.34 241.163 978.502 259.597 C 980.273 269.906 982.709 280.77 987.533 290.166 C 987.82 290.724 988.132 291.274 988.464 291.817 C 987.006 290.721 985.558 289.609 984.133 288.481 C 983.368 287.874 982.612 286.96 981.797 286.267 C 981.902 286.316 982.007 286.362 982.112 286.406 C 979.258 274.103 975.399 264.886 974.634 251.68 C 972.993 223.353 983.395 181.9 1000.74 158.921 C 1007.14 150.438 1014.69 143.086 1022.99 136.478 C 1031.26 129.89 1039.8 123.748 1049.36 119.125 C 1053.33 117.21 1056.89 114.947 1061.29 114.759 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-5 {
	d: path("M 1040.53 357.366 C 1058.55 370.999 1082.37 372.924 1104.18 372.596 C 1109.96 372.517 1115.86 371.446 1121.58 371.733 C 1104.39 375.94 1078.67 375.077 1061.57 370.037 C 1055.92 368.37 1050.47 366.316 1045.25 363.578 C 1042.58 362.177 1039.61 360.086 1036.86 359.105 C 1036.8 359.03 1031.92 350.861 1031.28 349.373 C 1033.75 352.177 1037.59 355.139 1040.53 357.366 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-6 {
	d: path("M 1159.51 359.41 C 1161.32 357.724 1163.87 356.999 1166.12 355.68 C 1170.23 353.279 1173.98 350.391 1177.63 347.336 C 1190.93 336.183 1201.75 322.055 1209.38 306.497 C 1220.41 284.025 1226.38 257.325 1223.41 232.302 C 1218.14 187.803 1190.53 147.55 1151.78 125.296 C 1139.92 118.49 1125.58 113.419 1112.03 111.604 C 1106.02 110.8 1099.52 111.435 1093.74 109.798 C 1116.64 106.653 1141.28 115.672 1160.38 127.657 C 1211.13 159.486 1241.39 226.161 1221.02 284.422 C 1212.62 308.422 1202.1 328.296 1182.72 345.411 C 1176.34 351.046 1168.12 358.071 1159.51 359.41 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-14 {
	d: path("M 802.163 192.399 C 824.524 232.069 807.706 286.119 774.617 318.122 C 774.3 318.422 773.986 318.722 773.676 319.022 C 765.386 326.864 756.106 333.325 746.187 337.848 C 730.986 344.783 714.471 347.27 697.815 346.626 C 676.474 345.804 654.26 337.828 637.374 324.889 C 632.497 321.164 621.621 314.635 623.568 308.037 C 635.658 319.599 648.32 329.912 664.223 336.095 C 673.324 339.632 683.136 341.861 692.839 342.772 C 741.631 347.369 780.601 319.936 799.294 276.373 C 807.13 258.134 811.213 237.973 808.625 218.218 C 807.832 212.184 806.458 206.24 804.621 200.434 C 803.749 197.69 802.534 195.262 802.163 192.399 Z");
}

.tot-browse-mediums__cluster.focus-theatre #path-15 {
	d: path("M 604.394 180.867 C 605.387 177.271 607.584 173.397 609.611 170.276 C 614.979 162.063 622.685 156.099 630.12 149.887 C 641.257 140.564 654.009 132.371 668.006 127.932 C 699.19 118.055 733.033 124.534 760.645 140.842 C 775.555 149.659 789.27 162.34 797.819 177.429 C 800.327 181.858 803.528 186.326 804.17 191.408 C 782.327 155.316 753.26 132.133 709.886 127.298 C 696.822 125.832 682.564 126.773 670.023 130.905 C 657.792 134.927 647.116 141 636.932 148.767 C 626.758 156.535 615.079 165.293 609.571 177.152 C 606.794 183.131 606.563 189.53 607.091 195.963 C 606.406 193.748 605.755 191.503 604.779 189.436 C 604.358 188.544 604.083 187.582 603.766 186.644 C 603.635 186.257 603.475 185.863 603.325 185.464 C 603.884 184.125 603.968 182.38 604.394 180.867 Z");
}

/* Comedy */

.tot-browse-mediums__cluster.focus-comedy #path-2 {
	d: path("M 363.869 359.556 C 356.361 353.558 342.976 323.649 339.451 314.509 C 324.425 275.593 324.633 237.523 343.681 200.086 C 349.447 188.753 357.435 177.433 366.871 168.854 C 369.681 166.303 385.038 151.309 388.616 150.269 C 381.565 157.542 362.579 176.145 356.627 184.428 C 332.839 217.489 326.928 257.915 336.614 296.984 C 339.89 310.163 345.22 323.057 351.712 334.992 C 354.366 339.868 361.982 354.364 363.869 359.556 Z");
}

.tot-browse-mediums__cluster.focus-comedy #path-3 {
	d: path("M 607.463 185.887 C 607.471 185.867 607.48 185.846 607.489 185.826 C 607.643 186.237 607.809 186.642 607.944 187.041 C 608.272 188.007 608.556 188.997 608.991 189.915 C 610 192.042 610.673 194.355 611.38 196.636 C 611.788 201.591 612.635 206.565 613.145 211.389 C 615.8 236.605 620.186 261.638 622.696 286.875 C 623.328 293.352 624.262 299.789 624.873 306.257 C 625.06 308.195 626.045 311.214 625.423 313.101 C 625.216 313.744 624.376 313.948 624.085 314.591 C 622.779 317.467 622.271 320.915 620.985 323.894 C 617.884 331.055 613.539 337.583 609.278 344.102 C 577.184 393.198 522.111 420.291 462.382 413.345 C 443.862 411.192 424.606 405.776 408.201 396.911 C 400.953 393.004 394.42 388.261 387.566 383.783 C 387.97 383.803 388.312 383.293 388.706 383.395 C 390.034 383.772 399.76 390.464 402.052 391.76 C 411.333 397.013 421.381 401.155 431.564 404.45 C 464.86 415.232 506.34 412.912 538.257 398.509 C 567.966 385.094 591.214 366.441 608.759 339.46 C 613.913 331.555 621.565 320.497 622.094 310.877 C 622.25 308.093 621.275 304.971 620.954 302.176 C 620.28 296.372 619.73 290.578 618.942 284.794 C 616.972 270.543 615.51 256.232 613.612 241.971 C 612.119 230.781 610.646 219.58 609.309 208.38 C 608.552 202.065 608.479 195.098 605.824 189.202 C 600.743 177.93 590.84 168.005 581.155 160.436 C 548.636 135.026 511.71 121.112 469.755 123.295 C 460.153 123.795 450.405 125.723 440.99 127.61 C 436.074 128.589 423.091 135.628 418.093 135.281 C 434.696 124.207 458.626 121.666 474.409 120.819 C 514.176 118.697 549.204 131.434 580.458 155.355 C 586.722 160.139 592.624 166.781 597.643 172.83 C 601.086 176.992 603.761 182.102 607.463 185.887 Z");
}

.tot-browse-mediums__cluster.focus-comedy #path-14 {
	d: path("M 803.174 195.838 C 824.864 236.204 807.296 290.506 773.843 322.316 C 773.522 322.614 773.205 322.913 772.891 323.211 C 764.512 331.003 755.167 337.386 745.215 341.805 C 729.963 348.58 713.467 350.846 696.879 349.95 C 675.623 348.805 653.605 340.428 636.97 327.12 C 632.167 323.288 621.426 316.538 623.464 309.908 C 635.34 321.755 647.804 332.351 663.56 338.825 C 672.576 342.529 682.322 344.924 691.977 345.987 C 740.533 351.347 779.779 324.235 799.058 280.546 C 807.14 262.254 811.511 241.966 809.227 221.99 C 808.527 215.889 807.246 209.87 805.503 203.983 C 804.674 201.201 803.501 198.733 803.174 195.838 Z");
}

.tot-browse-mediums__cluster.focus-comedy #path-15 {
	d: path("M 606.257 181.279 C 607.301 177.664 609.548 173.786 611.615 170.667 C 617.087 162.457 624.855 156.551 632.358 150.392 C 643.596 141.147 656.427 133.067 670.442 128.794 C 701.666 119.285 735.295 126.324 762.569 143.19 C 777.295 152.309 790.774 165.311 799.067 180.665 C 801.501 185.172 804.624 189.728 805.188 194.867 C 783.96 158.119 755.34 134.292 712.187 128.772 C 699.19 127.099 684.967 127.839 672.407 131.823 C 660.158 135.702 649.429 141.674 639.164 149.363 C 628.908 157.051 617.139 165.718 611.472 177.605 C 608.615 183.599 608.289 190.054 608.719 196.554 C 608.07 194.308 607.455 192.032 606.513 189.932 C 606.106 189.026 605.847 188.051 605.545 187.1 C 605.421 186.707 605.266 186.307 605.123 185.902 C 605.7 184.559 605.81 182.799 606.257 181.279 Z");
}

.tot-browse-mediums__cluster.focus-musicals #path-0 {
	d: path("M 756.437 388.425 C 757.79 399.756 756.556 411.336 758.009 422.737 C 760.843 445.031 770.65 469.454 782.964 488.216 C 797.873 510.938 818.99 530.984 843.467 543.101 C 892.433 567.345 959.581 565.097 999.058 523.642 C 1017.76 504.004 1031.21 478.875 1037.13 452.393 C 1038.35 446.951 1039.49 441.141 1040.22 435.63 C 1041.09 428.925 1040.43 421.812 1041.9 415.286 C 1044.02 427.015 1039.18 451.836 1035.5 463.584 C 1019.69 514.122 985.62 551.408 931.811 559.973 C 920.323 561.804 908.337 562.47 896.68 561.386 C 812.186 553.547 747.545 472.508 756.437 388.425 Z");
}

.tot-browse-mediums__cluster.focus-musicals #path-1 {
	d: path("M 994.214 307.775 C 1000.66 316.28 1006.75 325.035 1013.32 333.441 C 1018.47 340.02 1030.13 356.311 1032.94 363.057 C 1041.87 384.478 1045.78 402.124 1043.89 425.861 C 1043.2 420.837 1043.79 415.823 1043.27 410.809 C 1041.64 394.772 1038.4 378.765 1031.4 364.092 C 1025.95 352.651 1017.67 343.529 1010.15 333.531 C 1000.58 320.807 992.016 305.805 979.931 295.24 C 970.422 286.923 958.666 281.163 947.058 276.428 C 923.058 266.609 895.894 259.814 869.885 264.311 C 850.35 267.693 830.955 277.452 814.663 288.465 C 791.16 304.352 773.614 326.985 763.161 353.328 C 760.147 360.908 757.342 368.897 756.129 376.985 C 755.771 379.342 754.905 390.823 754.448 391.818 C 754.289 392.166 753.682 392.096 753.453 392.405 C 755.641 337.928 790.384 294.106 838.813 271.832 C 856.527 263.684 875.047 258.968 894.691 260.162 C 916.991 261.535 940.305 269.205 960.217 279.124 C 964.275 281.153 968.383 283.501 972.123 286.067 C 974.123 287.432 980.794 292.22 984.599 295.987 C 988.188 299.54 991.271 303.888 994.214 307.775 Z");
}

.tot-browse-mediums__cluster.focus-musicals #path-4 {
	d: path("M 1059.25 115.581 C 1033.55 126.362 1004.367 147.971 990.798 170.642 C 984.2 181.659 980.162 193.821 976.139 205.801 C 970.073 223.857 967.274 244.815 970.658 263.662 C 972.553 274.202 975.16 285.309 980.322 294.916 C 980.629 295.486 980.964 296.049 981.319 296.604 C 979.759 295.483 978.209 294.346 976.684 293.192 C 975.866 292.572 975.056 291.638 974.184 290.929 C 974.296 290.979 974.409 291.027 974.522 291.071 C 971.467 278.493 967.338 269.069 966.518 255.567 C 964.762 226.606 975.894 184.225 994.456 160.732 C 1001.31 152.059 1009.39 144.542 1018.26 137.786 C 1027.12 131.051 1036.25 124.772 1046.49 120.045 C 1050.73 118.087 1054.55 115.774 1059.25 115.581 Z");
}

.tot-browse-mediums__cluster.focus-musicals #path-5 {
	d: path("M 1034.628 358.796 C 1053.908 372.733 1082.857 375.863 1106.197 375.528 C 1112.387 375.447 1126.798 374.943 1149.945 370.983 C 1129.975 381.04 1082.443 380.03 1060.71 373.982 C 1052.398 371.669 1044.819 369.042 1039.239 366.243 C 1036.379 364.81 1033.638 361.576 1030.698 360.573 C 1030.638 360.497 1025.408 352.144 1024.728 350.623 C 1027.378 353.49 1031.478 356.518 1034.628 358.796 Z");
}

.tot-browse-mediums__cluster.focus-musicals #path-6 {
	d: path("M 1163.039 368.021 C 1164.979 366.297 1169.03 363.245 1171.44 361.896 C 1175.83 359.441 1179.86 356.489 1183.75 353.365 C 1197.99 341.963 1209.57 327.518 1217.73 311.613 C 1229.54 288.637 1238.973 261.193 1235.803 235.61 C 1230.163 190.115 1199.954 150.153 1158.474 127.4 C 1145.784 120.441 1128.06 114.212 1113.55 112.355 C 1107.12 111.534 1093.88 111.136 1087.7 109.462 C 1124.246 106.77 1147.467 116.514 1167.917 128.768 C 1222.227 161.31 1253.56 229.477 1231.75 289.042 C 1222.77 313.581 1208.619 336.21 1187.879 353.708 C 1181.059 359.47 1172.259 366.652 1163.039 368.021 Z");
}
.tot-browse-mediums__cluster.focus-lifestyle #path-9 {
	d: path("M 533.708 418.384 C 533.472 418.823 533.611 419.42 533.314 419.812 C 532.189 421.315 528.907 422.093 527.277 422.978 C 523.011 425.323 513.412 431.482 509.517 434.411 C 495.53 444.967 482.58 458.418 474.463 474.031 C 470.361 481.922 466.324 490.529 464.074 499.14 C 450.928 549.596 470.95 608.003 519.452 632.344 C 532.614 638.946 546.592 643.594 561.152 646.084 C 568.821 647.389 583.477 648.242 593.008 648.776 C 560.075 651.376 519.45 641.452 494.876 619.348 C 450.805 579.73 445.076 510.535 478.612 462.487 C 491.344 444.247 513.966 428.246 533.708 418.384 Z");
}

.tot-browse-mediums__cluster.focus-lifestyle #path-11 {
	d: path("M 626.608 640.792 C 646.407 633.368 673.879 616.452 686.88 599.633 C 724.596 550.883 718.036 479.047 668.728 440.71 C 650.062 426.202 627.07 418.104 603.752 415.022 C 597.006 414.119 589.709 413.504 582.908 413.892 C 579.537 414.088 567.033 415.204 565.547 414.254 C 609.017 406.195 667.338 424.902 693.281 461.582 C 707.689 481.954 714.504 505.637 714.805 530.259 C 715.234 566.448 694.973 600.022 666.303 621.012 C 659.661 625.872 634.492 641.3 626.608 640.792 Z");
}

.tot-browse-mediums__cluster.focus-film #path-12 {
	d: path("M 1073.35 444.167 C 1063.73 449.631 1056.21 458.627 1052.8 463.22 C 1045.91 472.505 1038.53 489.242 1035.08 500.228 C 1030.96 513.323 1029.98 527.445 1031.03 541.051 C 1032.05 554.273 1035.77 567.947 1041.86 579.775 C 1044.99 585.854 1049.75 593.605 1053.86 599.098 C 1080.6 634.794 1126.87 656.157 1172.26 653.137 C 1186.05 652.228 1198.85 648.177 1211.89 644 C 1195.43 655.625 1170.95 657.897 1151.59 656.322 C 1092.8 651.535 1034.38 605.497 1027.88 544.47 C 1025.15 518.872 1032.83 486.868 1048.04 466.067 C 1058.49 451.775 1066.11 446.513 1073.95 442.019 C 1075.28 441.252 1072.27 444.138 1073.35 444.167 Z");
}

.tot-browse-mediums__cluster.focus-film #path-13 {
	d: path("M 1215.74 642.718 C 1250.59 624.733 1278.56 584.043 1281.86 544.898 C 1284.66 511.747 1271.83 477.377 1247.37 454.839 C 1233.32 441.883 1232.47 443.257 1220.26 435.288 C 1211.43 429.52 1188.26 424.031 1183.35 423.257 C 1172.58 421.563 1162.48 420.542 1151.69 421.506 C 1120.35 424.307 1086.03 432.508 1061.18 452.601 C 1064.76 447.669 1070.48 444.167 1075.61 441 C 1090.72 431.66 1107.37 426.669 1124.64 423.055 C 1145.56 418.686 1163.4 416.598 1194.25 423.059 C 1231.03 430.761 1267.19 463.463 1278.18 499.377 C 1291.28 542.192 1280.62 587.476 1249.38 619.738 C 1241.6 627.774 1227.08 641.35 1215.74 642.718 Z");
}

.tot-browse-mediums__cluster.focus-tv #path-14 {
}

/* tv */

.tot-browse-mediums__cluster.focus-tv #path-0 {
	d: path("M 757.5 387 C 758.86 398.39 757.62 410.03 759.08 421.49 C 761.93 443.9 771.79 468.45 784.17 487.31 C 799.16 510.15 820.39 530.3 845 542.48 C 894.23 566.85 961.74 564.59 1001.43 522.92 C 1020.23 503.18 1033.76 477.92 1039.71 451.3 C 1040.93 445.83 1042.08 439.99 1042.81 434.45 C 1043.69 427.71 1043.03 420.56 1044.5 414 C 1046.63 425.79 1041.77 450.74 1038.07 462.55 C 1022.17 513.35 987.92 550.83 933.82 559.44 C 922.27 561.28 910.22 561.95 898.5 560.86 C 813.55 552.98 748.56 471.52 757.5 387 Z");
}

.tot-browse-mediums__cluster.focus-tv #path-1 {
	d: path("M 997.28 305.66 C 1003.67 314.229 1009.7 323.049 1016.22 331.518 C 1021.32 338.146 1032.88 354.56 1035.66 361.356 C 1044.51 382.937 1048.38 400.716 1046.51 424.63 C 1045.83 419.568 1046.41 414.517 1045.9 409.466 C 1044.28 393.309 1041.08 377.182 1034.14 362.399 C 1028.73 350.872 1020.52 341.681 1013.07 331.609 C 1003.59 318.789 995.102 303.675 983.126 293.031 C 973.702 284.652 962.051 278.849 950.548 274.078 C 926.763 264.185 899.843 257.34 874.066 261.87 C 854.707 265.278 835.176 274.722 820.201 287.353 C 797.482 306.516 779.808 325.014 769.448 351.554 C 766.461 359.191 762.533 367.24 761.331 375.388 C 760.976 377.763 760.118 389.33 759.665 390.332 C 759.507 390.683 758.906 390.613 758.679 390.923 C 760.848 336.039 795.279 296.479 843.273 269.447 C 860.158 259.937 879.182 256.488 898.65 257.69 C 920.75 259.074 943.855 266.801 963.589 276.794 C 967.61 278.839 971.681 281.204 975.388 283.79 C 977.37 285.165 983.981 289.989 987.751 293.784 C 991.309 297.364 994.364 301.744 997.28 305.66 Z");
}

.tot-browse-mediums__cluster.focus-tv #path-2 {
	d: path("M 363.723 347.98 C 356.556 342.1 348.102 322.55 344.736 313.59 C 330.392 275.44 330.59 238.12 348.775 201.42 C 354.279 190.31 362.515 179.84 371.523 171.43 C 374.206 168.93 376.651 165.52 380.066 164.5 C 373.335 171.63 365.95 177.95 360.268 186.07 C 337.559 218.48 331.916 258.11 341.162 296.41 C 344.291 309.33 349.379 321.97 355.576 333.67 C 358.11 338.45 361.921 342.89 363.723 347.98 Z");
}
.tot-browse-mediums__cluster.focus-tv #path-3 {
	d: path("M 600.591 187.5 C 600.599 187.48 600.608 187.46 600.616 187.44 C 600.763 187.843 600.922 188.24 601.05 188.631 C 601.363 189.578 601.634 190.549 602.05 191.449 C 603.013 193.534 603.656 195.801 604.331 198.037 C 604.72 202.895 605.529 207.771 606.016 212.5 C 608.55 237.22 612.737 261.76 615.133 286.5 C 615.737 292.85 616.628 299.16 617.212 305.5 C 617.39 307.4 618.33 310.36 617.736 312.21 C 617.538 312.84 616.737 313.04 616.459 313.67 C 615.212 316.49 614.727 319.87 613.5 322.79 C 610.54 329.81 606.392 336.21 602.323 342.6 C 571.685 390.73 519.111 417.29 462.091 410.48 C 444.411 408.37 426.028 403.06 410.368 394.37 C 403.448 390.54 397.212 385.89 390.668 381.5 C 391.054 381.52 391.381 381.02 391.757 381.12 C 393.024 381.49 402.31 388.05 404.498 389.32 C 413.357 394.47 422.95 398.53 432.671 401.76 C 464.457 412.33 506.192 410.37 536.662 396.25 C 565.023 383.1 585.079 364.5 601.828 338.05 C 606.748 330.3 614.054 319.46 614.559 310.03 C 614.707 307.3 613.777 304.24 613.47 301.5 C 612.826 295.81 612.302 290.13 611.549 284.46 C 609.669 270.49 608.273 256.46 606.461 242.48 C 605.036 231.51 603.63 220.53 602.353 209.55 C 601.63 203.36 601.561 196.53 599.027 190.75 C 594.176 179.7 584.723 169.97 575.477 162.55 C 544.433 137.64 509.182 124 469.129 126.14 C 459.963 126.63 450.658 128.52 441.669 130.37 C 436.977 131.33 432.522 133.84 427.751 133.5 C 442.075 129.23 456.063 125.17 471.129 124.34 C 509.093 122.26 544.67 135.06 574.507 158.51 C 580.486 163.2 586.425 168.77 591.216 174.7 C 594.503 178.78 597.057 183.79 600.591 187.5 Z");
}

.tot-browse-mediums__cluster.focus-tv #path-14 {
	d: path("M 810.323 191.767 C 833.844 233.687 816.153 290.802 781.348 324.619 C 781.014 324.936 778.032 326.391 777.706 326.708 C 768.985 334.994 759.223 341.821 748.79 346.601 C 732.8 353.93 715.407 356.973 697.908 355.877 C 667.255 353.956 637.707 338.99 623.18 321.967 C 619.103 317.189 614.395 315.129 616.442 308.157 C 625.583 321.005 646.686 338.005 663.414 344.538 C 672.987 348.275 682.889 350.631 693.095 351.594 C 744.419 356.452 785.707 329.463 805.369 283.431 C 813.612 264.157 817.907 242.852 815.184 221.977 C 814.351 215.601 812.905 209.32 810.973 203.185 C 810.055 200.285 810.714 194.793 810.323 191.767 Z");
}
.tot-browse-mediums__cluster.focus-tv #path-15 {
	d: path("M 599.639 180.718 C 600.684 176.918 602.995 172.824 605.127 169.527 C 610.774 160.848 618.163 153.829 625.983 147.265 C 637.698 137.414 651.202 129.023 665.835 124.065 C 698.638 112.954 741.757 121.062 770.802 139.497 C 786.201 149.271 800.196 162.931 809.189 178.876 C 811.827 183.555 814.119 188.277 814.795 193.647 C 791.819 155.508 759.811 129.22 714.186 124.112 C 700.444 122.562 681.866 123.557 668.673 127.922 C 655.808 132.173 644.579 138.59 633.866 146.798 C 623.164 155.006 610.879 164.261 605.085 176.792 C 602.164 183.11 601.921 189.872 602.476 196.67 C 601.756 194.329 601.071 191.957 600.044 189.773 C 599.601 188.831 599.312 187.814 598.979 186.823 C 598.841 186.413 598.672 185.998 598.515 185.576 C 599.103 184.16 599.192 182.317 599.639 180.718 Z")
}

.tot-browse-mediums__bubble:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 3px;
}

.tot-post-dek {
	margin: 0.5rem 0 0;
	font-size: 1.125rem;
	line-height: 1.5;
}

/* Editorial review stars */
.tot-stars {
	margin: 0;
	line-height: 0;
}

.tot-stars__row {
	display: inline-flex;
	align-items: center;
	gap: 0.12em;
}

.tot-stars__star {
	position: relative;
	display: inline-flex;
	width: 1em;
	height: 1em;
	color: var(--wp--preset--color--border);
}

.tot-stars__icon {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
}

.tot-stars__star--full {
	color: var(--wp--preset--color--accent);
}

.tot-stars__star--half {
	color: var(--wp--preset--color--border);
}

.tot-stars__star-clip {
	position: absolute;
	inset: 0 auto 0 0;
	width: 50%;
	overflow: hidden;
	color: var(--wp--preset--color--accent);
}

.tot-stars__star-clip .tot-stars__icon {
	width: 200%;
	height: 100%;
	max-width: none;
}

.tot-post-card--featured .tot-stars {
	margin: 0 0 1rem;
	font-size: 1.125rem;
}

.tot-homepage-hero .tot-post-card__meta {
	align-items: center;
}

.tot-homepage-hero .tot-post-card__labels {
	flex: 0 0 auto;
}

.tot-homepage-hero .tot-stars,
.tot-post-stars--hero {
	margin: 0;
	flex: 0 0 auto;
	font-size: 1.75rem;
}

.tot-post-card--review.tot-post-card--featured .tot-stars {
	margin: 0;
	font-size: 1rem;
}

.tot-post-card--review.tot-post-card--featured .tot-post-card__title--featured:has(+ .tot-stars) {
	padding-bottom: 0.4rem;
}

.tot-post-card:not(.tot-post-card--interview):not(.tot-post-card--featured) .tot-stars {
	margin: 0.15rem 0 0;
	font-size: 1rem;
}

.tot-stars--single,
.tot-single .tot-stars {
	margin: 0 0 2rem;
	font-size: 1.375rem;
}

.tot-single__title:has(+ .tot-stars) {
	margin-bottom: 0.75rem;
}

/* Single post article */
.tot-single {
	margin-block-start: 3rem;
}

.tot-single__header {
	width: 100%;
	max-width: var(--wp--style--global--content-size);
	margin-bottom: var(--wp--preset--spacing--60, 3rem);
}

.tot-single__header > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.tot-single__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
}

.tot-single__meta .tot-post-card__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.tot-single__meta .tot-post-card__format,
.tot-single__meta .tot-post-card__mediums {
	display: inline;
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tot-single__meta .tot-post-card__format a,
.tot-single__meta .tot-post-card__mediums a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.tot-single__meta .tot-post-card__format a:hover,
.tot-single__meta .tot-post-card__mediums a:hover {
	color: var(--wp--preset--color--contrast);
}

.tot-single__meta .tot-post-card__format + .tot-post-card__mediums::before {
	content: '\00b7';
	margin-inline: 0.5rem;
	color: var(--wp--preset--color--accent);
	font-weight: 400;
}

.tot-single__meta .tot-post-card__mediums .wp-block-post-terms__separator {
	color: var(--wp--preset--color--accent);
	font-weight: 400;
	margin-inline: 0.5rem;
}

.tot-single__date {
	margin: 0;
	flex: 0 0 auto;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--border);
	white-space: nowrap;
}

.tot-single__title {
	margin-block: 0 2rem;
	margin-inline: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.25rem;
	line-height: 1.1;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

.tot-single__title--review {
	font-size: 2rem;
	line-height: 1.15;
}

.tot-single__title--interview {
	font-size: 2rem;
	line-height: 1.15;
}

.tot-single__dek {
	display: inline;
	margin: 0;
	padding: 0;
	border: none;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-weight: 400;
	color: var(--wp--preset--color--mint);
}

.tot-single__title--review .tot-single__dek {
	color: var(--wp--preset--color--contrast);
}

.tot-single__title--interview .tot-single__dek {
	color: var(--wp--preset--color--contrast);
}

.tot-single__title-sep {
	color: var(--wp--preset--color--contrast);
}

.tot-single__image {
	margin: 0 0 var(--wp--preset--spacing--60, 3rem);
}

.tot-single__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tot-single .wp-block-post-content {
	margin-block-start: 0;
	width: 100%;
	max-width: var(--wp--style--global--content-size);
}

.tot-single .wp-block-post-content > :first-child {
	margin-block-start: 0;
}

.tot-single__tags:not(:has(.wp-block-post-terms a)) {
	display: none;
}

.tot-single__tags {
	width: 100%;
	max-width: var(--wp--style--global--content-size);
	margin-block: 2.5rem 0;
	padding-top: 1.75rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.tot-single__tags-title {
	margin: 0 0 0.875rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.tot-single__tag-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
}

.tot-single__tag-list .wp-block-post-terms__separator {
	display: none;
}

.tot-single__tag-list a {
	display: inline-block;
	padding: 0.375rem 0.75rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-decoration: none;
}

.tot-single__tag-list a:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

@media (max-width: 782px) {
	.tot-single {
		margin-block-start: 2rem;
	}

	.tot-single__title,
	.tot-single__title--review,
	.tot-single__title--interview {
		font-size: 1.625rem;
		line-height: 1.15;
	}

	.tot-single__header {
		margin-bottom: 2rem;
	}
}

@media (min-width: 783px) {
	.tot-single__title--review,
	.tot-single__title--interview {
		font-size: 2.5rem;
		line-height: 1.08;
	}
}

/*
 * Toothpaste squiggle â€” TL/BR inset rounds, TR/BL outward cowlicks.
 * SVG source: assets/svg/toothpaste-squiggle.svg
 */
.tot-toothpaste-squiggle,
a.tot-toothpaste-button,
button.tot-toothpaste-button {
	--tot-squiggle-bleed: 0.5rem;
	--tot-toothpaste-squiggle-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 150' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M 70 30 Q 100 30 100 0 V 80 Q 100 130 70 130 H 21 Q 0 130 0 150 V 80 Q 0 30 31 30 L 21 30 Z'/%3E%3C/svg%3E");

	margin: var(--tot-squiggle-bleed);
	-webkit-mask-image: var(--tot-toothpaste-squiggle-mask);
	mask-image: var(--tot-toothpaste-squiggle-mask);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

a.tot-toothpaste-button,
button.tot-toothpaste-button {
	appearance: none;
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	border: 0;
	padding: 1.375rem;
	background-color: var(--wp--preset--color--contrast);
	color: #fff;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

a.tot-toothpaste-button:hover,
button.tot-toothpaste-button:hover {
	background-color: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--contrast);
}

a.tot-toothpaste-button:focus-visible,
button.tot-toothpaste-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--mint);
	outline-offset: 3px;
}

a.tot-toothpaste-button:active,
button.tot-toothpaste-button:active {
	transform: translateY(1px);
}

a.tot-toothpaste-button:disabled,
a.tot-toothpaste-button[aria-disabled="true"],
button.tot-toothpaste-button:disabled,
button.tot-toothpaste-button[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

/*
 * Foam bubble hover â€” opt in via data-tot-foam or .tot-foam-target on any element.
 * Bubbles live in a wrapper layer so they aren't clipped by masks or overflow.
 *
 * Per-target options (data attribute or inherited CSS custom property):
 *   --tot-foam-scale / data-tot-foam-scale   bubble size multiplier (default 1)
 *   --tot-foam-max   / data-tot-foam-count   max bubbles on screen (default 20)
 *   --tot-foam-layer / data-tot-foam-layer   front | behind (default front)
 *   --tot-foam-tone-mix / data-tot-foam-tone-mix
 *     0â€“1 dark-bubble ratio, or "mixed" (= 0.5)
 *
 * Zone + linked foam (e.g. browse by medium):
 *   data-tot-foam-zone on a container â€” pointer enter/leave drives zone mount foam
 *   data-tot-foam-zone-mount on a hidden target â€” foam layer for the whole zone
 *   data-tot-foam-also on child targets â€” also start zone mount foam (additive)
 *     optional selector value; default [data-tot-foam-zone-mount] within the zone
 */
.tot-foam-wrap {
	--tot-foam-pop-in: 200ms;
	--tot-foam-pop-out: 200ms;
	--tot-foam-scale: 1;
	--tot-foam-max: 20;
	--tot-foam-layer: front;

	position: relative;
	display: inline-block;
	vertical-align: top;
}

.tot-foam-wrap > :not(.tot-foam) {
	position: relative;
	z-index: 1;
}

.tot-foam-wrap--front .tot-foam,
.tot-foam-wrap[data-tot-foam-layer="front"] .tot-foam {
	z-index: 2;
}

.tot-foam-wrap--behind .tot-foam,
.tot-foam-wrap[data-tot-foam-layer="behind"] .tot-foam {
	z-index: 0;
}

.tot-foam {
	position: absolute;
	inset: -0.75rem -0.5rem auto;
	height: calc(100% + 1.25rem);
	overflow: visible;
	pointer-events: none;
}

.tot-foam__bubble {
	--tot-foam-bubble-border: rgb(235 255 250 / 80%);
	--tot-foam-bubble-fill: rgb(255 255 255 / 10%);
	position: absolute;
	left: var(--tot-bubble-x);
	top: var(--tot-bubble-y);
	width: calc(var(--tot-bubble-size) * var(--tot-foam-scale, 1));
	height: calc(var(--tot-bubble-size) * var(--tot-foam-scale, 1));
	border: 0;
	background: transparent;
	box-sizing: border-box;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
	transform-origin: center center;
}

.tot-foam__bubble::before,
.tot-foam__bubble::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	box-sizing: border-box;
}

.tot-foam__bubble::before {
	inset: 0;
	border: 1px solid var(--tot-foam-bubble-border);
}

.tot-foam__bubble::after {
	inset: 1px;
	background: var(--tot-foam-bubble-fill);
	transform: translate(
		var(--tot-fill-offset-x, 1px),
		var(--tot-fill-offset-y, 1px)
	);
}

.tot-foam__bubble--no-fill::after {
	content: none;
}

@keyframes tot-foam-pop-in {
	from {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes tot-foam-wobble {
	0%,
	100% {
		transform: translate(-50%, -50%) translate(0, 0);
	}

	25% {
		transform: translate(-50%, -50%) translate(var(--tot-drift-x), var(--tot-drift-y));
	}

	50% {
		transform: translate(-50%, -50%) translate(0, calc(var(--tot-drift-y) * 1.15));
	}

	75% {
		transform: translate(-50%, -50%) translate(calc(var(--tot-drift-x) * -1), var(--tot-drift-y));
	}
}

@keyframes tot-foam-pop-out {
	from {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}

	to {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}
}

.tot-foam__bubble--in {
	animation:
		tot-foam-pop-in var(--tot-foam-pop-in) cubic-bezier(0.15, 0.85, 0.35, 1) forwards,
		tot-foam-wobble var(--tot-wobble-duration, 2s) ease-in-out var(--tot-foam-pop-in) infinite;
}

.tot-foam__bubble--out {
	animation: tot-foam-pop-out var(--tot-foam-pop-out) ease-in forwards;
}

@media (prefers-reduced-motion: reduce) {
	.tot-foam {
		display: none;
	}
}

/*
 * Link hover effects â€” opt in via class on any anchor:
 *   .tot-wave-underline-clip  wavy underline revealed via clip-path wipe
 *   .tot-wave-underline-trans  wavy underline slides in/out via translateX
 */
a.tot-wave-underline-clip,
a.tot-wave-underline-trans,
.tot-wave-underline-trans {
	position: relative;
	display: inline-block;
	isolation: isolate;
	text-decoration: none;
	--tot-wave-underline-color: var(--wp--preset--color--mint);
}

a.tot-wave-underline-clip {
	--tot-wave-underline-duration: 1.5s;
	--tot-wave-underline-bleed: 10px;
}

a.tot-wave-underline-trans,
.tot-wave-underline-trans {
	overflow: hidden;
	--tot-wave-underline-duration-in: 0.6s;
	--tot-wave-underline-duration-out: 0.6s;
	--tot-wave-underline-bleed: 6px;
	padding-bottom: var(--tot-wave-underline-bleed);
	margin-bottom: calc(-1 * var(--tot-wave-underline-bleed));
}

a.tot-wave-underline-clip::after,
a.tot-wave-underline-trans::after,
.tot-wave-underline-trans::after {
	content: attr(data-text);
	position: absolute;
	z-index: -1;
	color: transparent;
	font: inherit;
	line-height: inherit;
	text-decoration: underline;
	text-decoration-style: wavy;
	text-decoration-color: var(--tot-wave-underline-color);
	text-decoration-skip-ink: none;
	pointer-events: none;
}

a.tot-wave-underline-clip::after {
	inset: 0 0 calc(-1 * var(--tot-wave-underline-bleed)) 0;
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

a.tot-wave-underline-trans::after,
.tot-wave-underline-trans::after {
	inset: 0 0 calc(-1 * var(--tot-wave-underline-bleed)) 0;
	transform: translateX(-101%);
	clip-path: inset(0 100% 0 0);
}

@media (prefers-reduced-motion: no-preference) {
	html:not(.tot-reduce-motion) a.tot-wave-underline-clip:hover::after,
	html:not(.tot-reduce-motion) a.tot-wave-underline-clip:focus-visible::after,
	html:not(.tot-reduce-motion) .tot-post-card:has(.tot-post-card__image a:hover) .tot-post-card__title a.tot-wave-underline-clip::after,
	html:not(.tot-reduce-motion) .tot-post-card:has(.tot-post-card__image a:focus-visible) .tot-post-card__title a.tot-wave-underline-clip::after {
		animation: tot-wave-underline-reveal var(--tot-wave-underline-duration) ease forwards;
	}

	html:not(.tot-reduce-motion) a.tot-wave-underline-clip:not(:hover):not(:focus-visible)::after {
		animation: tot-wave-underline-hide var(--tot-wave-underline-duration) ease forwards;
	}

	html:not(.tot-reduce-motion) .tot-post-card:has(.tot-post-card__image a:hover) .tot-post-card__title a.tot-wave-underline-clip:not(:hover):not(:focus-visible)::after,
	html:not(.tot-reduce-motion) .tot-post-card:has(.tot-post-card__image a:focus-visible) .tot-post-card__title a.tot-wave-underline-clip:not(:hover):not(:focus-visible)::after {
		animation: tot-wave-underline-reveal var(--tot-wave-underline-duration) ease forwards;
	}

	html:not(.tot-reduce-motion) a.tot-wave-underline-trans::after,
	html:not(.tot-reduce-motion) .tot-wave-underline-trans::after {
		transition: none;
	}

	html:not(.tot-reduce-motion) a.tot-wave-underline-trans--in::after,
	html:not(.tot-reduce-motion) .tot-wave-underline-trans--in::after {
		clip-path: inset(0 0 0 0);
		animation: tot-wave-underline-slide-in var(--tot-wave-underline-duration-in) ease forwards;
	}

	html:not(.tot-reduce-motion) a.tot-wave-underline-trans--out::after,
	html:not(.tot-reduce-motion) .tot-wave-underline-trans--out::after {
		clip-path: inset(0 0 0 0);
		animation: tot-wave-underline-slide-out var(--tot-wave-underline-duration-out) ease forwards;
	}
}

@media (prefers-reduced-motion: reduce) {
	a.tot-wave-underline-clip:hover::after,
	a.tot-wave-underline-clip:focus-visible::after,
	.tot-post-card:has(.tot-post-card__image a:hover) .tot-post-card__title a.tot-wave-underline-clip::after,
	.tot-post-card:has(.tot-post-card__image a:focus-visible) .tot-post-card__title a.tot-wave-underline-clip::after {
		clip-path: polygon(0 0, 200% 0, 100% 100%, 0 100%);
	}

	a.tot-wave-underline-trans--in::after,
	.tot-wave-underline-trans--in::after,
	a.tot-wave-underline-trans--out::after,
	.tot-wave-underline-trans--out::after {
		animation: none;
	}

	a.tot-wave-underline-trans--in::after,
	.tot-wave-underline-trans--in::after {
		transform: translateX(0);
		clip-path: inset(0 0 0 0);
	}
}

html.tot-reduce-motion .tot-site-header .tot-site-logo__toast--pop .tot-site-logo__toast-motion,
html.tot-reduce-motion .tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__crust,
html.tot-reduce-motion .tot-site-header .tot-site-logo__toast--pop svg .tot-toast-icon__fill {
	animation: none;
}

html.tot-reduce-motion .tot-post-card--featured .tot-post-card__cta-motif-head {
	animation: none;
}

html.tot-reduce-motion .tot-homepage-interviews-tube-wrap {
	will-change: auto;
}

html.tot-reduce-motion .tot-foam {
	display: none;
}

html.tot-reduce-motion a.tot-wave-underline-clip:hover::after,
html.tot-reduce-motion a.tot-wave-underline-clip:focus-visible::after,
html.tot-reduce-motion .tot-post-card:has(.tot-post-card__image a:hover) .tot-post-card__title a.tot-wave-underline-clip::after,
html.tot-reduce-motion .tot-post-card:has(.tot-post-card__image a:focus-visible) .tot-post-card__title a.tot-wave-underline-clip::after {
	clip-path: polygon(0 0, 200% 0, 100% 100%, 0 100%);
}

html.tot-reduce-motion a.tot-wave-underline-trans--in::after,
html.tot-reduce-motion .tot-wave-underline-trans--in::after,
html.tot-reduce-motion a.tot-wave-underline-trans--out::after,
html.tot-reduce-motion .tot-wave-underline-trans--out::after {
	animation: none;
}

html.tot-reduce-motion a.tot-wave-underline-trans--in::after,
html.tot-reduce-motion .tot-wave-underline-trans--in::after {
	transform: translateX(0);
	clip-path: inset(0 0 0 0);
}

@keyframes tot-wave-underline-reveal {
	from {
		clip-path: polygon(0 0, 0 0, -100% 100%, -100% 100%);
	}

	to {
		clip-path: polygon(0 0, 200% 0, 100% 100%, 0 100%);
	}
}

@keyframes tot-wave-underline-hide {
	from {
		clip-path: polygon(0 0, 100% 0, 100% 100%, -100% 100%);
	}

	to {
		clip-path: polygon(200% 0, 200% 0, 100% 100%, 100% 100%);
	}
}

@keyframes tot-wave-underline-slide-in {
	from {
		transform: translateX(-101%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes tot-wave-underline-slide-out {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(101%);
	}
}
