/* Gutenberg compatibility layer. Page copy and media live in core blocks. */
.piano-site :where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-image, .wp-block-buttons, .wp-block-button, .wp-block-list) {
	margin-block-start: 0;
	margin-block-end: 0;
}

.piano-site .wp-block-columns { margin-bottom: 0; }
.piano-site .wp-block-column { min-width: 0; }
.piano-site .wp-block-group.piano-container {
	width: min(var(--piano-container), calc(100% - 64px));
	max-width: var(--piano-container);
	margin-inline: auto !important;
}
.piano-site .wp-block-group.piano-container.is-layout-constrained {
	margin-inline: auto !important;
}
.piano-site .wp-block-group.piano-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .wp-block-columns {
	display: grid;
}
.piano-site .wp-block-buttons.piano-button-wrap { display: block; }
.piano-site .wp-block-button.piano-button-block { display: block; }

@media (max-width: 899px) {
	.piano-site .piano-lesson-card > .wp-block-buttons.piano-button-wrap {
		margin-block-start: 34px;
	}
}
.piano-site .wp-block-button.piano-button-block .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 16px 34px;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font-family: var(--piano-sans);
	font-size: 14px;
	line-height: 1.5;
	text-decoration: none;
}

.piano-site .piano-hero > .wp-block-image.piano-hero__image {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	transform: scale(1.035);
	transition: transform 2.2s cubic-bezier(.22, 1, .36, 1);
	max-width: none !important;
	margin: 0 !important;
}
.piano-site .piano-hero > .piano-hero__veil {
	max-width: none !important;
	margin: 0 !important;
}
.piano-site .piano-hero > .piano-hero__content {
	max-width: none !important;
	margin-inline: auto !important;
}
.piano-site .piano-hero__content > :where(:not(.wp-block-buttons)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-hero__content > .wp-block-buttons {
	width: auto;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-hero__content > .wp-block-buttons > .wp-block-button {
	display: inline-block;
	width: auto;
}
.piano-site .piano-hero > .wp-block-image.piano-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
.piano-ready .piano-hero > .wp-block-image.piano-hero__image { transform: scale(1); }
.piano-site .piano-hero__veil { pointer-events: none; }
.piano-site .piano-hero__content { box-sizing: border-box; }
.piano-site .piano-hero__content .wp-block-buttons { margin-top: 0; }
.piano-site .piano-hero__content .wp-block-button__link { border-color: rgba(255,255,255,.78); color: #fff; min-width: 270px; justify-content: space-between; }

.piano-site .piano-story__visual.wp-block-image { margin: 0; }
.piano-site .piano-story__grid > .wp-block-column:first-child,
.piano-site .piano-story__visual.wp-block-image { height: 100%; }
.piano-site .piano-story__visual.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.piano-site .piano-editorial__image.wp-block-image { margin: 0; }
.piano-site .piano-editorial__grid > .wp-block-column:first-child,
.piano-site .piano-editorial__image.wp-block-image { width: 100%; height: 100%; }
.piano-site .piano-editorial__image.wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

@media (min-width: 768px) {
	.piano-site .piano-editorial,
	.piano-site .piano-editorial > .piano-editorial__grid {
		min-height: 0;
	}
	.piano-site .piano-editorial__grid > .wp-block-column:first-child {
		min-height: 0;
		align-self: center;
	}
	.piano-site .piano-editorial__image.wp-block-image {
		height: auto;
		aspect-ratio: 3 / 2;
	}
	.piano-site .piano-editorial__image.wp-block-image img {
		object-fit: contain;
		object-position: center;
	}
}
.piano-site .piano-editorial > .piano-editorial__grid {
	width: 100vw;
	min-height: inherit;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	grid-template-columns: minmax(0, 1.3fr) minmax(400px, .7fr);
	gap: 0;
}
.piano-site .piano-editorial__grid > .wp-block-column { min-height: inherit; }
.piano-site .piano-lesson-grid { gap: 0; }
.piano-site .piano-principles.wp-block-list,
.piano-site .piano-flow__list.wp-block-list { padding-left: 0; list-style: none; }
.piano-site .piano-guide-row__body > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-guide-row__body .wp-block-button.piano-button-block .wp-block-button__link {
	justify-content: flex-start;
	text-align: left;
}
.piano-site .piano-principles.wp-block-list li,
.piano-site .piano-flow__list.wp-block-list li { list-style: none; }
.piano-site .piano-faq__list .wp-block-details { margin: 0; }
.piano-site .piano-faq__list .wp-block-details summary::after { content: '＋'; float: right; font-family: var(--piano-sans); }
.piano-site .piano-faq__list .wp-block-details[open] summary::after { content: '−'; }

.piano-site .piano-inner-hero > .piano-inner-hero__image.wp-block-image {
	width: calc(100% - 4vw);
	max-width: none !important;
	margin: 0 0 0 auto !important;
}
.piano-site .piano-inner-hero__heading > .piano-reveal,
.piano-site .piano-inner-hero__heading > .piano-reveal > *,
.piano-site .piano-inner-section-head > * {
	width: auto;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-inner-hero__image.wp-block-image img { width: 100%; height: clamp(320px, 44vw, 680px); object-fit: cover; }

@media (min-width: 701px) {
	.piano-site .piano-access-hero > .piano-inner-hero__image.wp-block-image {
		width: min(560px, calc(100% - 120px));
		margin-inline: auto !important;
		aspect-ratio: 2 / 3;
		background: var(--piano-paper);
	}
	.piano-site .piano-access-hero .piano-inner-hero__image.wp-block-image img {
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
}
.piano-site .piano-course-list > .piano-course {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}
.piano-site .piano-course__head,
.piano-site .piano-course__body {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
}
.piano-site .piano-course__head > *,
.piano-site .piano-course__body > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-price { box-sizing: border-box; }
.piano-site .piano-price > .piano-price__label,
.piano-site .piano-price > .piano-price__amount {
	justify-self: stretch;
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}
.piano-site .piano-trial .piano-button-wrap,
.piano-site .piano-fee-notes .piano-button-wrap,
.piano-site .piano-profile .piano-button-wrap {
	width: min(100%, 240px);
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.piano-site .piano-trial .piano-button-wrap {
	margin-left: auto !important;
	margin-right: auto !important;
}
.piano-site .piano-profile .piano-button-wrap {
	margin-top: clamp(30px, 3vw, 40px) !important;
}
.piano-site .piano-profile__actions {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	max-width: none !important;
	margin-inline: 0 !important;
}
.piano-site .piano-profile__actions .piano-button-wrap {
	margin-top: clamp(30px, 3vw, 40px) !important;
}
.piano-site .piano-profile__instagram-wrap {
	width: auto;
	max-width: none !important;
	margin: clamp(30px, 3vw, 40px) 0 0 !important;
}
.piano-site .piano-profile__instagram {
	width: 56px;
	height: 56px;
	color: var(--piano-brown);
}
.piano-site .piano-profile__instagram svg {
	width: 24px;
	height: 24px;
}
.piano-site .piano-studio__image.wp-block-image { margin: 0; }
.piano-site .piano-studio__image.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.piano-site .piano-studio__grid > .wp-block-column:first-child { position: relative; }
.piano-site .piano-studio__grid > .wp-block-column:first-child .piano-studio__image { height: 100%; }
.piano-site .piano-studio__details { margin-top: clamp(56px, 5vw, 76px); }
.piano-site .piano-studio__details > .wp-block-group,
.piano-site .piano-visit-row { display: grid; grid-template-columns: 110px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--piano-line); }
.piano-site .piano-studio__details > .wp-block-group:last-child { border-bottom: 0; }
.piano-site .piano-studio__details p { margin: 0; }
.piano-site .piano-studio__details > .wp-block-group > p:nth-child(2) {
	justify-self: stretch;
	width: 100%;
	max-width: none;
	margin-inline: 0 !important;
	text-align: left;
}
.piano-site .piano-visit-row > p:nth-child(2) {
	justify-self: stretch;
	width: 100%;
	max-width: none;
	margin-inline: 0 !important;
	text-align: left;
}
.piano-site .piano-route-grid > .wp-block-column { margin: 0; }
.piano-site .piano-contact > .wp-block-image { position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none !important; height: 100%; margin: 0 !important; }
.piano-site .piano-contact > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.piano-site .piano-contact > .piano-contact__veil { max-width: none !important; margin: 0 !important; }
.piano-site .piano-contact .piano-contact__content > * { max-width: none !important; }
.piano-site .piano-contact .piano-contact__content .wp-block-buttons { justify-content: center; }
.piano-site .piano-contact .wp-block-button__link { width: min(100%, 420px); border-color: rgba(255,255,255,.78); color: #fff; }
.piano-site .piano-brand-art.wp-block-image,
.piano-site .piano-contact__mark.wp-block-image,
.piano-site .piano-contact-form-photo.wp-block-image { margin-bottom: 0; }
.piano-site .piano-profile__photo.wp-block-image {
	margin-top: clamp(36px, 4vw, 52px);
	margin-bottom: 0;
}
.piano-site .piano-brand-art.wp-block-image img { width: 100%; height: auto; }

.piano-site .piano-contact-form-shortcode { width: 100%; }
.piano-site .piano-page-hero > .wp-block-group.piano-container,
.piano-site .piano-contact-form-section > .wp-block-group.piano-container {
	width: calc(100% - 120px);
	max-width: none;
}
.piano-site .piano-single { padding-top: 180px; min-height: 70vh; }
.piano-site .piano-single h1 { margin: 18px 0 12px; font-size: clamp(40px, 5vw, 68px); color: var(--piano-brown); }
.piano-site .piano-single__content { max-width: 820px; margin-top: 52px; }

@media (max-width: 767px) {
	.piano-site .piano-fee-notes .piano-button-wrap {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.piano-site .piano-profile .piano-button-wrap {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.piano-site .piano-profile__actions {
		justify-content: center;
	}
	.piano-site .piano-profile__actions .piano-button-wrap {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.piano-site .piano-page-hero > .wp-block-group.piano-container,
	.piano-site .piano-contact-form-section > .wp-block-group.piano-container { width: calc(100% - 40px); }
	.piano-site .wp-block-group.piano-container { width: min(var(--piano-container), calc(100% - 40px)); }
	.piano-site .piano-inner-hero > .piano-inner-hero__image.wp-block-image { width: calc(100% - 20px); }
	.piano-site .piano-studio__details > .wp-block-group,
	.piano-site .piano-visit-row { grid-template-columns: 76px 1fr; gap: 12px; }
	.piano-site .piano-hero > .wp-block-image.piano-hero__image img { object-position: 58% center; }
	.piano-site .piano-studio__grid > .wp-block-column:first-child .piano-studio__image { height: auto; }
	.piano-site .piano-editorial > .piano-editorial__grid { grid-template-columns: 1fr; min-height: 0; }
	.piano-site .piano-editorial__grid > .wp-block-column:first-child,
	.piano-site .piano-editorial__image.wp-block-image {
		min-height: 0;
		height: auto;
		aspect-ratio: 3 / 2;
	}
	.piano-site .piano-editorial__image.wp-block-image img {
		aspect-ratio: 3 / 2;
		object-fit: contain;
		object-position: center;
	}
	.piano-site .piano-contact__mark.wp-block-image { right: 0; width: 1px; opacity: 0; }
	.piano-site .piano-story__grid,
	.piano-site .piano-story__grid > .wp-block-column:first-child,
	.piano-site .piano-story__visual.wp-block-image { min-height: 0; height: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.piano-site .piano-reveal { opacity: 1 !important; transform: none !important; }
}
