:root {
	--fuzz-avocado: #77814a;
	--fuzz-charcoal: #3f3c39;
	--fuzz-rose: #ebc8c4;
	--fuzz-butter: #eedb8a;
	--fuzz-lilac: #c8b9d9;
	--fuzz-coral: #e9b4a5;
	--fuzz-sky: #aacce5;
	--fuzz-cream: #fcf0d8;
	--fuzz-yellow: #f5ca30;
	--fuzz-cocoa: #56352e;
	--fuzz-mist: #c6d9e4;
	--fuzz-powder: #f4e2e5;
	--fuzz-lime: #e2eac1;
	--fuzz-lavender: #ded4e6;
	--fuzz-ivory: #fbf7e9;
	--fuzz-gray: #cdd1d3;
	--fuzz-gallery: #f1f0ed;
	--fuzz-sage: #d6e0d5;
	--fuzz-sand: #d7c9b8;
	--fuzz-clay: #ebcdb7;
	--fuzz-sunwash: #fddc75;
	--fuzz-red: #9d1701;
	--fuzz-content: 760px;
	--fuzz-wide: 1400px;
	--fuzz-gutter: clamp(1.25rem, 3vw, 3.5rem);
	--fuzz-section-space: clamp(5rem, 9vw, 9rem);
	--fuzz-radius: 8px;
	--fuzz-line: rgba(63, 60, 57, 0.28);
	--fuzz-display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	--fuzz-body: "Helvetica Neue", Inter, Arial, sans-serif;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--fuzz-gallery);
	color: var(--fuzz-charcoal);
	font-family: var(--fuzz-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: var(--fuzz-body);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

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

a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

a,
button,
input,
select,
textarea {
	transition:
		color 180ms ease,
		background-color 180ms ease,
		border-color 180ms ease,
		opacity 180ms ease,
		transform 180ms ease;
}

:focus-visible {
	outline: 3px solid var(--fuzz-yellow);
	outline-offset: 4px;
	box-shadow: 0 0 0 6px var(--fuzz-charcoal);
}

::selection {
	background: var(--fuzz-lilac);
	color: var(--fuzz-charcoal);
}

.wp-site-blocks {
	overflow: clip;
}

.fuzz-main {
	margin-block-start: 0;
}

.fuzz-eyebrow,
.fuzz-section-number,
.fuzz-index,
.fuzz-product-placeholder__eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.fuzz-section-number {
	margin-block-end: clamp(2rem, 5vw, 5rem);
}

.fuzz-section {
	margin-block-start: 0;
	padding-block: var(--fuzz-section-space);
}

.fuzz-text-link a {
	border-bottom: 1px solid currentColor;
	display: inline-flex;
	gap: 0.5rem;
	padding-block-end: 0.35rem;
	text-decoration: none;
}

.fuzz-text-link a:hover {
	gap: 0.8rem;
	text-decoration: none;
}

/* Header */
.fuzz-site-header {
	background: color-mix(in srgb, var(--fuzz-gallery) 94%, transparent);
	border-bottom: 1px solid var(--fuzz-line);
	margin-block-start: 0;
	padding-inline: clamp(1rem, 2.4vw, 2.75rem);
	position: relative;
	z-index: 50;
}

.fuzz-site-header.has-global-padding {
	padding-left: clamp(1rem, 2.4vw, 2.75rem) !important;
	padding-right: clamp(1rem, 2.4vw, 2.75rem) !important;
}

.fuzz-site-header__inner {
	align-items: center;
	display: grid !important;
	gap: clamp(0.75rem, 2vw, 2.5rem);
	grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
	margin-inline: 0 !important;
	max-width: none !important;
	min-height: 86px;
	padding-block: 0.8rem;
	width: 100%;
}

.fuzz-site-logo {
	flex: 0 0 auto;
	justify-self: start;
	margin: 0;
}

.fuzz-site-logo img {
	display: block;
	max-height: 56px;
	object-fit: contain;
	width: clamp(9rem, 12vw, 11.125rem) !important;
}

.fuzz-primary-navigation {
	justify-self: center;
	margin-inline: 0;
}

.fuzz-primary-navigation .wp-block-navigation-item__content {
	position: relative;
}

.fuzz-primary-navigation .wp-block-navigation-item__content::after {
	background: currentColor;
	bottom: -0.45rem;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 200ms ease;
	width: 100%;
}

.fuzz-primary-navigation .wp-block-navigation-item__content:hover::after,
.fuzz-primary-navigation .current-menu-item .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

.fuzz-header-tools {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.25rem;
	justify-self: end;
}

.fuzz-site-header__inner > .wp-block-woocommerce-customer-account,
.fuzz-site-header__inner > .wp-block-woocommerce-mini-cart,
.fuzz-site-header__inner > .wc-block-mini-cart {
	display: none !important;
}

.fuzz-icon-link {
	align-items: center;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	position: relative;
	width: 2.75rem;
}

.fuzz-icon {
	display: block;
	height: 1.25rem;
	position: relative;
	width: 1.25rem;
}

.fuzz-icon--search {
	border: 1.7px solid currentColor;
	border-radius: 50%;
	height: 0.88rem;
	width: 0.88rem;
}

.fuzz-icon--search::after {
	background: currentColor;
	content: "";
	height: 1.7px;
	position: absolute;
	right: -0.45rem;
	top: 0.72rem;
	transform: rotate(45deg);
	width: 0.6rem;
}

.fuzz-icon--account::before {
	border: 1.7px solid currentColor;
	border-radius: 50%;
	content: "";
	height: 0.52rem;
	left: 0.36rem;
	position: absolute;
	top: 0;
	width: 0.52rem;
}

.fuzz-icon--account::after {
	border: 1.7px solid currentColor;
	border-bottom: 0;
	border-radius: 0.7rem 0.7rem 0 0;
	bottom: 0;
	content: "";
	height: 0.65rem;
	left: 0.1rem;
	position: absolute;
	width: 1.05rem;
}

.fuzz-icon--cart {
	border: 1.7px solid currentColor;
	border-radius: 1px;
	height: 0.82rem;
	left: 0.1rem;
	top: 0.28rem;
	width: 1.05rem;
}

.fuzz-icon--cart::before {
	border: 1.7px solid currentColor;
	border-bottom: 0;
	border-radius: 0.4rem 0.4rem 0 0;
	content: "";
	height: 0.4rem;
	left: 0.25rem;
	position: absolute;
	top: -0.42rem;
	width: 0.55rem;
}

/* Interactive house */
.fuzz-house-hero {
	background: var(--fuzz-gallery);
	margin-block-start: 0;
}

.fuzz-house-hero__columns {
	gap: 0;
	margin: 0;
	min-height: min(820px, calc(100vh - 87px));
}

.fuzz-house-copy {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(3rem, 7vw, 7rem) clamp(1.5rem, 3.5vw, 4rem);
}

.fuzz-house-copy > * {
	max-width: 30rem;
}

.fuzz-house-title {
	font-size: clamp(2.8rem, 4.6vw, 5.3rem);
	line-height: 0.99;
	margin-block: 2rem 1.7rem;
}

.fuzz-house-intro {
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	max-width: 27rem;
}

.fuzz-house-instruction {
	font-size: 0.9rem;
	margin-block-start: clamp(2rem, 4vw, 4rem);
}

.fuzz-house-column {
	align-self: stretch;
	background: var(--fuzz-ivory);
	min-width: 0;
}

.fuzz-house {
	height: 100%;
	min-height: 100%;
}

.fuzz-house__viewport {
	--parallax-x: 0px;
	--parallax-y: 0px;
	aspect-ratio: 16 / 9;
	background: var(--fuzz-ivory);
	height: 100%;
	min-height: 580px;
	overflow: hidden;
	position: relative;
}

.fuzz-house__room {
	height: 104%;
	inset: -2%;
	max-width: none;
	object-fit: cover;
	position: absolute;
	transform: translate3d(var(--parallax-x), var(--parallax-y), 0) scale(1.015);
	transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
	width: 104%;
}

.fuzz-character {
	filter: drop-shadow(0 18px 16px rgba(63, 60, 57, 0.18));
	max-width: none;
	pointer-events: none;
	position: absolute;
	transform-origin: 50% 100%;
	transition:
		left 750ms cubic-bezier(0.22, 1, 0.36, 1),
		bottom 750ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 750ms cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 5;
}

.fuzz-character--pipi {
	bottom: var(--pipi-bottom, 4%);
	left: var(--pipi-left, 38%);
	transform: translate3d(var(--pipi-x, 0), var(--pipi-y, 0), 0) rotate(var(--pipi-rotate, 0deg)) scale(var(--pipi-scale, 1));
	width: clamp(150px, 22%, 330px);
}

.fuzz-character--puff {
	bottom: var(--puff-bottom, 42%);
	left: var(--puff-left, 59%);
	transform: translate3d(var(--puff-x, 0), var(--puff-y, 0), 0) rotate(var(--puff-rotate, 0deg)) scale(var(--puff-scale, 1));
	width: clamp(90px, 11.5%, 180px);
}

.fuzz-house.is-interacting .fuzz-character--pipi {
	animation: fuzz-pipi-settle 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

.fuzz-house.is-interacting .fuzz-character--puff {
	animation: fuzz-puff-react 720ms cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

@keyframes fuzz-pipi-settle {
	0% { transform: translate3d(var(--pipi-x, 0), calc(var(--pipi-y, 0) - 4px), 0) rotate(var(--pipi-rotate, 0deg)) scale(0.985); }
	100% { transform: translate3d(var(--pipi-x, 0), var(--pipi-y, 0), 0) rotate(var(--pipi-rotate, 0deg)) scale(var(--pipi-scale, 1)); }
}

@keyframes fuzz-puff-react {
	0% { transform: translate3d(var(--puff-x, 0), calc(var(--puff-y, 0) + 10px), 0) rotate(calc(var(--puff-rotate, 0deg) - 2deg)) scale(0.94); }
	65% { transform: translate3d(var(--puff-x, 0), calc(var(--puff-y, 0) - 5px), 0) rotate(calc(var(--puff-rotate, 0deg) + 1deg)) scale(1.03); }
	100% { transform: translate3d(var(--puff-x, 0), var(--puff-y, 0), 0) rotate(var(--puff-rotate, 0deg)) scale(var(--puff-scale, 1)); }
}

.fuzz-hotspot {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	height: 2.75rem;
	left: var(--hotspot-x);
	padding: 0;
	position: absolute;
	top: var(--hotspot-y);
	transform: translate(-50%, -50%);
	width: 2.75rem;
	z-index: 12;
}

.fuzz-hotspot::before {
	background: rgba(241, 240, 237, 0.9);
	border: 1px solid rgba(63, 60, 57, 0.65);
	border-radius: 50%;
	content: "";
	height: 1.35rem;
	inset: 50% auto auto 50%;
	position: absolute;
	transform: translate(-50%, -50%);
	transition: transform 180ms ease;
	width: 1.35rem;
}

.fuzz-hotspot span {
	background: var(--fuzz-avocado);
	border-radius: 50%;
	height: 0.5rem;
	inset: 50% auto auto 50%;
	position: absolute;
	transform: translate(-50%, -50%);
	width: 0.5rem;
}

.fuzz-hotspot:hover,
.fuzz-hotspot:focus-visible,
.fuzz-hotspot.is-selected {
	transform: translate(-50%, -50%);
}

.fuzz-hotspot:hover::before,
.fuzz-hotspot:focus-visible::before,
.fuzz-hotspot.is-selected::before {
	background: var(--fuzz-yellow);
	border-color: var(--fuzz-charcoal);
	transform: translate(-50%, -50%) scale(1.18);
}

.fuzz-house-card {
	background: rgba(241, 240, 237, 0.96);
	border: 1px solid rgba(63, 60, 57, 0.28);
	border-radius: var(--fuzz-radius);
	bottom: 1.25rem;
	box-shadow: 0 16px 40px rgba(63, 60, 57, 0.12);
	max-width: min(19rem, calc(100% - 2.5rem));
	padding: 1rem 1.15rem;
	position: absolute;
	right: 1.25rem;
	z-index: 15;
}

.fuzz-house-card__eyebrow {
	color: var(--fuzz-avocado);
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 0.35rem;
	text-transform: uppercase;
}

.fuzz-house-card h2 {
	font-size: 1.35rem;
	margin: 0;
}

.fuzz-house-card p:not(.fuzz-house-card__eyebrow) {
	font-size: 0.84rem;
	line-height: 1.45;
	margin: 0.45rem 0 0.7rem;
}

.fuzz-house-card a {
	border-bottom: 1px solid currentColor;
	font-size: 0.78rem;
	font-weight: 600;
	padding-bottom: 0.18rem;
	text-decoration: none;
}

.fuzz-house-fallback {
	align-items: center;
	background: var(--fuzz-ivory);
	border-top: 1px solid var(--fuzz-line);
	display: flex;
	gap: 1.3rem;
	justify-content: center;
	padding: 0.8rem 1rem;
}

.fuzz-house-fallback a {
	font-size: 0.76rem;
	font-weight: 600;
	text-decoration: none;
}

/* Values */
.fuzz-values {
	position: relative;
}

.fuzz-values::after {
	background: var(--fuzz-yellow);
	content: "";
	height: 0.6rem;
	left: var(--fuzz-gutter);
	position: absolute;
	top: calc(var(--fuzz-section-space) + 2rem);
	width: 0.6rem;
}

.fuzz-value-columns {
	border-top: 1px solid var(--fuzz-line);
	gap: 0;
	margin-block-start: clamp(3rem, 7vw, 6rem);
}

.fuzz-value-columns > .wp-block-column {
	border-left: 1px solid var(--fuzz-line);
	padding: clamp(1.5rem, 3vw, 3rem);
}

.fuzz-value-columns > .wp-block-column:last-child {
	border-right: 1px solid var(--fuzz-line);
}

/* Routine color rooms */
.fuzz-routines {
	padding-bottom: 0;
}

.fuzz-routine-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: clamp(3rem, 6vw, 5rem);
	overflow: hidden;
	padding-inline: 0;
}

.fuzz-routine {
	align-content: space-between;
	aspect-ratio: 3 / 4;
	background-color: var(--routine-color, var(--fuzz-sage));
	background-image: var(--routine-image);
	background-blend-mode: luminosity;
	background-position: var(--routine-position, left center);
	background-repeat: no-repeat;
	background-size: auto, 340%;
	border-right: 1px solid rgba(63, 60, 57, 0.22);
	color: var(--fuzz-charcoal);
	display: grid;
	isolation: isolate;
	overflow: hidden;
	padding: 1.25rem;
	position: relative;
	text-decoration: none;
}

.fuzz-routine::after {
	background: rgba(255, 255, 255, 0.24);
	content: "";
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 220ms ease;
	z-index: -1;
}

.fuzz-routine:hover {
	text-decoration: none;
}

.fuzz-routine:hover::after,
.fuzz-routine:focus-visible::after {
	opacity: 1;
}

.fuzz-routine span {
	background: rgba(241, 240, 237, 0.9);
	font-family: var(--fuzz-display);
	font-size: clamp(1.5rem, 2.4vw, 2.7rem);
	font-weight: 600;
	justify-self: start;
	letter-spacing: -0.035em;
	padding: 0.2rem 0.45rem;
}

.fuzz-routine small {
	background: var(--routine-color);
	font-size: 0.75rem;
	font-weight: 600;
	justify-self: start;
	padding: 0.35rem 0.5rem;
}

.fuzz-routine--go { --routine-color: var(--fuzz-sage); --routine-position: 4% center; }
.fuzz-routine--play { --routine-color: var(--fuzz-sky); --routine-position: 58% center; }
.fuzz-routine--eat { --routine-color: var(--fuzz-butter); --routine-position: 77% center; }
.fuzz-routine--rest { --routine-color: var(--fuzz-rose); --routine-position: 37% center; }
.fuzz-routine--care { --routine-color: var(--fuzz-lavender); --routine-position: 98% center; }

/* Products */
.fuzz-featured-products > .wp-block-group:first-child {
	gap: 2rem;
}

.fuzz-product-feed {
	margin-block-start: clamp(3rem, 6vw, 5rem);
}

.fuzz-product-placeholders {
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fuzz-product-placeholder__media {
	align-items: flex-start;
	aspect-ratio: 4 / 5;
	background: var(--fuzz-gallery);
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1.2rem;
	padding: 0.9rem;
}

.fuzz-product-placeholder__media span {
	border: 1px solid var(--fuzz-line);
	border-radius: 50%;
	display: grid;
	font-size: 0.7rem;
	height: 2rem;
	place-items: center;
	width: 2rem;
}

.fuzz-product-placeholder h3 {
	font-size: clamp(1.1rem, 1.6vw, 1.5rem);
	margin-block: 0.35rem 0.8rem;
}

.fuzz-product-placeholder a {
	border-bottom: 1px solid currentColor;
	font-size: 0.78rem;
	text-decoration: none;
}

.fuzz-product-feed .products {
	display: grid !important;
	gap: clamp(1rem, 2vw, 2rem) !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.fuzz-product-feed .products::before,
.fuzz-product-feed .products::after {
	display: none !important;
}

.fuzz-product-feed .product {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.fuzz-product-feed .product img {
	aspect-ratio: 4 / 5;
	background: var(--fuzz-gallery);
	object-fit: cover;
}

.fuzz-product-feed .woocommerce-loop-product__title {
	font-family: var(--fuzz-display);
	font-size: 1.2rem !important;
	font-weight: 600;
	letter-spacing: -0.02em;
}

/* Our World teaser */
.fuzz-world-teaser {
	min-height: 760px;
	overflow: hidden;
}

.fuzz-world-teaser__columns {
	min-height: 560px;
}

.fuzz-world-teaser__stage {
	aspect-ratio: 1 / 0.82;
	min-height: 480px;
	position: relative;
}

.fuzz-world-teaser__plane {
	bottom: -20%;
	position: absolute;
	top: 0;
}

.fuzz-world-teaser__plane--lilac {
	background: var(--fuzz-lilac);
	left: 4%;
	transform: skewY(-7deg);
	width: 52%;
}

.fuzz-world-teaser__plane--coral {
	background: var(--fuzz-coral);
	right: -18%;
	top: 16%;
	transform: skewY(8deg);
	width: 52%;
}

.fuzz-world-teaser__pipi,
.fuzz-world-teaser__puff {
	bottom: -6%;
	filter: drop-shadow(0 24px 20px rgba(0, 0, 0, 0.18));
	position: absolute;
	z-index: 2;
}

.fuzz-world-teaser__pipi {
	left: 11%;
	width: 52%;
}

.fuzz-world-teaser__puff {
	left: 50%;
	width: 31%;
}

/* Our World page */
.fuzz-world-page {
	margin-block-start: 0;
}

.fuzz-world-hero {
	margin-block-start: 0;
	min-height: calc(100vh - 87px);
	overflow: hidden;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.fuzz-world-hero__columns {
	min-height: 680px;
}

.fuzz-world-doorway {
	height: 100%;
	min-height: 620px;
	overflow: hidden;
	position: relative;
}

.fuzz-world-doorway::before {
	background: var(--fuzz-gallery);
	content: "";
	inset: 0 0 0 32%;
	position: absolute;
	z-index: 1;
}

.fuzz-world-doorway__room {
	background-position: 64% center;
	background-size: cover;
	inset: 0 -30% 0 54%;
	position: absolute;
	z-index: 0;
}

.fuzz-world-doorway__pipi,
.fuzz-world-doorway__puff {
	bottom: 3%;
	filter: drop-shadow(0 20px 18px rgba(63, 60, 57, 0.18));
	position: absolute;
	z-index: 3;
}

.fuzz-world-doorway__pipi {
	left: 18%;
	width: 48%;
}

.fuzz-world-doorway__puff {
	left: 56%;
	width: 27%;
}

.fuzz-story-chapter,
.fuzz-story-cta {
	margin-block-start: 0;
	padding-block: var(--fuzz-section-space);
}

.fuzz-story-media img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 76% center;
}

.fuzz-principles {
	border-top: 1px solid var(--fuzz-line);
	gap: 0;
	margin-block-start: clamp(4rem, 8vw, 8rem);
}

.fuzz-principles > .wp-block-column {
	border-right: 1px solid var(--fuzz-line);
	padding: 2rem;
}

.fuzz-principles > .wp-block-column:first-child {
	border-left: 1px solid var(--fuzz-line);
}

.fuzz-meet-characters {
	overflow: hidden;
}

.fuzz-character-profile {
	margin-inline: auto;
	max-width: 34rem;
}

.fuzz-character-profile--puff {
	max-width: 28rem;
}

.fuzz-story-cta {
	min-height: 380px;
}

/* Generic content */
.fuzz-content-shell {
	margin-block-start: 0;
	padding-block: var(--fuzz-section-space);
}

.fuzz-page-shell,
.fuzz-policy-shell,
.fuzz-commerce-shell {
	min-height: 60vh;
}

.fuzz-policy-shell {
	max-width: 900px;
}

.fuzz-policy-shell .wp-block-post-content {
	border-top: 1px solid var(--fuzz-line);
	margin-block-start: 2rem;
	padding-block-start: 2rem;
}

.fuzz-journal-card {
	border-top: 1px solid var(--fuzz-line);
	padding-block-start: 1rem;
}

.fuzz-journal-card .wp-block-post-featured-image {
	margin-bottom: 1.3rem;
}

.fuzz-search-result {
	border-top: 1px solid var(--fuzz-line);
	padding-block: 2rem;
}

.fuzz-not-found {
	margin-block-start: 0;
	min-height: 70vh;
	padding-block: var(--fuzz-section-space);
}

/* Footer */
.fuzz-site-footer {
	margin-block-start: 0;
	padding-block: clamp(4rem, 8vw, 7rem) 2rem;
}

.fuzz-site-footer__grid {
	gap: clamp(2rem, 4vw, 5rem);
}

.fuzz-footer-brand {
	max-width: 32rem;
}

.fuzz-site-logo--footer img {
	filter: brightness(0) invert(1);
	opacity: 0.94;
}

.fuzz-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fuzz-footer-links li {
	margin-bottom: 0.45rem;
}

.fuzz-footer-links a {
	font-size: 0.88rem;
	opacity: 0.8;
	text-decoration: none;
}

.fuzz-footer-links a:hover {
	opacity: 1;
	text-decoration: underline;
}

.fuzz-site-footer__bottom {
	border-top: 1px solid rgba(241, 240, 237, 0.24);
	margin-block-start: clamp(3rem, 6vw, 6rem);
	padding-block-start: 1.2rem;
}

/* WooCommerce and forms */
.woocommerce,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	--wp--preset--color--contrast: var(--fuzz-charcoal);
	--wp--preset--color--base: var(--fuzz-gallery);
}

.woocommerce input,
.woocommerce select,
.woocommerce textarea,
.wp-block-woocommerce-cart input,
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-search__input,
.wp-block-post-comments-form input,
.wp-block-post-comments-form textarea {
	background: var(--fuzz-gallery);
	border: 1px solid rgba(63, 60, 57, 0.34);
	border-radius: 6px;
	color: var(--fuzz-charcoal);
	min-height: 48px;
	padding: 0.75rem 0.9rem;
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.wp-element-button,
.wp-block-button__link {
	background: var(--fuzz-charcoal);
	border: 1px solid var(--fuzz-charcoal);
	border-radius: 8px;
	color: var(--fuzz-gallery);
	cursor: pointer;
	font-weight: 600;
	min-height: 44px;
	padding: 0.85rem 1.3rem;
	text-decoration: none;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--fuzz-avocado);
	border-color: var(--fuzz-avocado);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--fuzz-ivory);
	border: 1px solid var(--fuzz-line);
	border-left: 4px solid var(--fuzz-avocado);
	border-radius: 0;
	padding: 1rem 1.25rem;
}

.woocommerce-error {
	border-left-color: var(--fuzz-red);
}

.woocommerce div.product .product_title {
	font-size: clamp(2.5rem, 5vw, 5.5rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--fuzz-charcoal);
	font-size: 1.2rem;
	font-weight: 600;
}

.woocommerce .quantity .qty {
	min-height: 46px;
	width: 5.5rem;
}

.woocommerce table.shop_table {
	border: 1px solid var(--fuzz-line);
	border-collapse: collapse;
	border-radius: 0;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	border-color: var(--fuzz-line);
	padding: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	border-top: 1px solid var(--fuzz-line);
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--fuzz-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0.8rem 0;
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: 0.5rem;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--fuzz-line);
	border-radius: 50%;
	display: grid;
	height: 2.6rem;
	place-items: center;
	width: 2.6rem;
}

/* Responsive */
@media (max-width: 1100px) {
	.fuzz-site-header {
		padding-inline: 1.25rem;
	}

	.fuzz-site-header.has-global-padding {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}

	.fuzz-site-header__inner {
		gap: 1rem;
		grid-template-columns: minmax(8.5rem, 1fr) auto minmax(8.5rem, 1fr);
	}

	.fuzz-house-hero__columns {
		flex-wrap: wrap !important;
	}

	.fuzz-house-copy,
	.fuzz-house-column {
		flex-basis: 100% !important;
	}

	.fuzz-house-copy {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem 3rem;
	}

	.fuzz-house-copy .fuzz-eyebrow,
	.fuzz-house-copy .fuzz-house-title {
		grid-column: 1;
	}

	.fuzz-house-copy .fuzz-house-intro,
	.fuzz-house-copy .fuzz-house-instruction,
	.fuzz-house-copy .wp-block-buttons {
		grid-column: 2;
	}

	.fuzz-house-copy .fuzz-house-intro {
		grid-row: 1 / span 2;
		align-self: end;
	}

	.fuzz-house-copy .fuzz-house-instruction {
		margin-top: 0;
	}

	.fuzz-product-placeholders,
	.fuzz-product-feed .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.fuzz-site-header__inner {
		grid-template-columns: auto 1fr auto;
	}

	.fuzz-primary-navigation {
		justify-self: end;
		margin-left: auto;
		margin-right: 0;
	}

	.fuzz-routine-grid {
		grid-auto-columns: minmax(16rem, 68vw);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.fuzz-routine {
		scroll-snap-align: start;
	}

	.fuzz-world-teaser__columns,
	.fuzz-world-hero__columns {
		flex-wrap: wrap !important;
	}

	.fuzz-world-teaser__columns > .wp-block-column,
	.fuzz-world-hero__columns > .wp-block-column {
		flex-basis: 100% !important;
	}

	.fuzz-world-doorway {
		min-height: 520px;
	}
}

@media (max-width: 781px) {
	:root {
		--fuzz-section-space: 4.5rem;
	}

	.fuzz-site-header {
		padding-inline: 0.75rem;
	}

	.fuzz-site-header.has-global-padding {
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	.fuzz-site-header__inner {
		gap: 0.35rem;
		min-height: 68px;
	}

	.fuzz-site-logo img {
		max-height: 36px;
		max-width: 112px;
		width: 112px !important;
	}

	.fuzz-header-tools {
		gap: 0;
	}

	.fuzz-house-copy {
		display: block;
		padding-block: 3.5rem;
	}

	.fuzz-house-title {
		font-size: clamp(2.8rem, 13vw, 4.5rem);
	}

	.fuzz-house__viewport {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}

	.fuzz-house__room {
		height: 100%;
		inset: 0;
		object-position: 58% center;
		width: 100%;
	}

	.fuzz-hotspot,
	.fuzz-house-card {
		display: none;
	}

	.fuzz-character--pipi {
		bottom: 4%;
		left: 32%;
		width: 34%;
	}

	.fuzz-character--puff {
		bottom: 43%;
		left: 58%;
		width: 18%;
	}

	.fuzz-house-fallback {
		justify-content: flex-start;
		overflow-x: auto;
	}

	.fuzz-house-fallback a {
		flex: 0 0 auto;
	}

	.fuzz-value-columns {
		border: 0;
	}

	.fuzz-value-columns > .wp-block-column,
	.fuzz-value-columns > .wp-block-column:last-child {
		border: 0;
		border-top: 1px solid var(--fuzz-line);
		padding: 1.5rem 0;
	}

	.fuzz-product-placeholders,
	.fuzz-product-feed .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.fuzz-world-teaser {
		min-height: auto;
	}

	.fuzz-world-teaser__stage {
		min-height: 380px;
	}

	.fuzz-principles {
		border: 0;
	}

	.fuzz-principles > .wp-block-column,
	.fuzz-principles > .wp-block-column:first-child {
		border: 0;
		border-top: 1px solid var(--fuzz-line);
		padding: 1.5rem 0;
	}

	.fuzz-content-shell {
		padding-block: 4rem;
	}
}

@media (max-width: 520px) {
	.fuzz-site-header {
		padding-inline: 0.5rem;
	}

	.fuzz-site-header.has-global-padding {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}

	.fuzz-site-header__inner {
		gap: 0.125rem;
	}

	.fuzz-site-logo img {
		max-width: 96px;
		width: 96px !important;
	}

	.fuzz-product-placeholders,
	.fuzz-product-feed .products {
		grid-template-columns: 1fr !important;
	}

	.fuzz-world-doorway {
		min-height: 430px;
	}

	.fuzz-world-doorway__pipi {
		left: 4%;
		width: 58%;
	}

	.fuzz-world-doorway__puff {
		left: 55%;
		width: 35%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.fuzz-house__room,
	.fuzz-character {
		transform: none !important;
	}
}

@media (prefers-contrast: more) {
	:root {
		--fuzz-line: rgba(63, 60, 57, 0.7);
	}

	.fuzz-hotspot {
		border-width: 2px;
	}
}
