/*
Theme Name:   AldrichPears
Theme URI:    https://aldrichpears.com/
Description:  Block theme for AldrichPears Associates. Replaces the Elementor build.
Author:       Affinity Bridge
Author URI:   https://affinitybridge.com/
Version:      1.0.0
Requires at least: 6.8
Requires PHP: 8.1
License:      GPL-2.0-or-later
Text Domain:  aldrichpears-blocks
*/

/* -------------------------------------------------------------------------
 * Base
 * ---------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
}

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

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Light sections (single project / team member) read as black on white. */
.is-light a:where(:not(.wp-element-button)) {
	color: inherit;
}

/*
 * Icons that precede a link's text: the Font Awesome 5 icons the Elementor
 * build used (Font Awesome Free, CC BY 4.0, https://fontawesome.com/license/free).
 * Outline PDF for project sheets and CVs.
 */
.back-link a,
.has-pdf-icon a,
.has-linkedin-icon a {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.back-link a::before,
.has-pdf-icon a::before,
.has-linkedin-icon a::before {
	content: "";
	flex: none;
	width: 0.9em;
	height: 0.9em;
	background: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}

.back-link a {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z'/%3E%3C/svg%3E");
}

.has-pdf-icon a {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z'/%3E%3C/svg%3E");
}


.has-linkedin-icon a {
	--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E");
}

.eyebrow {
	margin-block-start: 0.5rem;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wp-block-post-content.prose {
	max-width: 38rem;
	line-height: 1.8;
}

/* -------------------------------------------------------------------------
 * Header
 * ---------------------------------------------------------------------- */

.site-header-wrap {
	position: sticky;
	top: 0;
	z-index: 100;
}

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

@media (max-width: 600px) {
	.admin-bar .site-header-wrap {
		top: 0;
	}
}

.site-header {
	height: 64px;
	padding-inline: clamp(1rem, 3.5vw, 3.125rem);
	transition: background-color 0.3s ease;
}

.site-header__logo img {
	display: block;
	width: clamp(180px, 16vw, 231px);
	height: auto;
}

.site-nav .wp-block-navigation__container {
	gap: 0;
}

/* 61px line + 3px underline = the 64px header. */
.site-nav .wp-block-navigation-item__content {
	display: block;
	padding: 0 clamp(0.75rem, 1.75vw, 1.5625rem);
	border-bottom: 3px solid transparent;
	line-height: 61px;
}

.site-nav .wp-block-navigation-item__content:hover {
	text-decoration: none;
}

.site-nav .current-menu-item > .wp-block-navigation-item__content,
.site-nav .wp-block-navigation-item__content[aria-current="page"] {
	border-bottom-color: currentColor;
}

/* Mobile menu: full screen, light type over the menu photo. */
.site-nav .wp-block-navigation__responsive-container-open svg {
	width: 32px;
	height: 32px;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-image: linear-gradient(rgb(0 0 0 / 0.15), rgb(0 0 0 / 0.15)), url("assets/images/menu-back.jpg");
	background-position: center;
	background-size: cover;
}

@media (min-resolution: 2dppx) {
	.site-nav .wp-block-navigation__responsive-container.is-menu-open {
		background-image: linear-gradient(rgb(0 0 0 / 0.15), rgb(0 0 0 / 0.15)), url("assets/images/menu-back@2x.jpg");
	}
}

.site-nav .is-menu-open .wp-block-navigation__responsive-close,
.site-nav .is-menu-open .wp-block-navigation__responsive-dialog {
	height: 100%;
}

.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	justify-content: center;
	height: 100%;
	padding: 0 2.5rem;
}

/* Left-aligned in the overlay, though the desktop menu sits on the right. */
.site-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.site-nav .is-menu-open .wp-block-navigation__container,
.site-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
}

.site-nav .is-menu-open .wp-block-navigation__container {
	justify-content: center !important;
	gap: 0.75rem;
}

.site-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 0;
	border: 0;
	font-size: 2.5rem;
	font-weight: 300;
	line-height: 1.2;
}

.site-nav .wp-block-navigation__responsive-container-close svg {
	width: 40px;
	height: 40px;
}

/* -------------------------------------------------------------------------
 * Footer
 * ---------------------------------------------------------------------- */

.site-footer {
	padding-block: var(--wp--preset--spacing--50);
	padding-inline: clamp(1rem, 3.5vw, 3.125rem);
	scroll-margin-top: 64px;
}

.site-footer h2 {
	margin-block-end: 0.75rem;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
}

.site-footer p {
	margin-block: 0 1rem;
}

.site-footer .wp-block-columns {
	margin-block: 0;
}

/* Three columns down to 768px, as before; core would stack them below 782px. */
@media (min-width: 768px) and (max-width: 781px) {
	.site-footer .wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.site-footer .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
}

/* -------------------------------------------------------------------------
 * Projects and people grids
 * ---------------------------------------------------------------------- */

/*
 * Filter row and grid spacing, measured from the Elementor build: 30px above
 * and below the controls, 50px sides on desktop, 30px on tablets, and 10px
 * all round on phones. The grid and pagination butt up against each other.
 */
.projects-filters {
	padding: 30px 50px;
}

.projects-filters,
.tile-query,
.tile-query .tile-pagination {
	margin-block: 0 !important;
}

@media (max-width: 1024px) {
	.projects-filters {
		padding-inline: 30px;
	}
}

@media (max-width: 767px) {
	.projects-filters {
		padding: 10px;
	}
}

.tile-query .tile-grid {
	gap: 0;
}

@media (max-width: 1024px) {
	.tile-query--projects .tile-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tile-query--people .tile-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	.tile-query--projects .tile-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.tile-query--people .tile-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/*
 * Image and title share one grid cell, title at the bottom. The title is not
 * positioned, so its link's ::after (below) stretches over the whole tile and
 * the entire card opens the project.
 */
.tile {
	position: relative;
	display: grid;
	overflow: hidden;
	background: var(--wp--preset--color--charcoal);
}

.tile > * {
	grid-area: 1 / 1;
}

.tile .wp-block-post-featured-image {
	margin: 0;
}

.tile .wp-block-post-featured-image img {
	display: block;
	transition: filter 0.4s ease;
}

/* The title link covers the whole tile, so the tile has one link, not two. */
.tile__title {
	z-index: 1;
	align-self: end;
	margin: 0;
	padding: clamp(1rem, 1.6vw, 1.25rem);
	font-size: clamp(1.5rem, 2.8vw, 2.5rem);
	font-weight: 300;
	line-height: 1;
	opacity: 0;
	transition: opacity 0.4s ease;
}

.tile__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.tile__title a:hover {
	text-decoration: none;
}

.tile:hover .tile__title,
.tile:focus-within .tile__title {
	opacity: 1;
}

.tile:hover img,
.tile:focus-within img {
	filter: brightness(0.37);
}

.tile:focus-within {
	outline: 2px solid var(--wp--preset--color--white);
	outline-offset: -4px;
}

.tile__title a:focus-visible {
	outline: none;
}

/* Touch screens can't hover, so show the names over a light shade. */
@media (hover: none) {
	.tile__title {
		opacity: 1;
		background: linear-gradient(transparent, rgb(0 0 0 / 0.6));
	}
}

.tile-pagination {
	padding: 12px 50px 13px;
	line-height: 27px;
	font-size: 18px;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.tile-pagination {
		padding-inline: 30px;
	}
}

@media (max-width: 767px) {
	.tile-pagination {
		padding-inline: 10px;
	}
}

.tile-pagination a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.tile-pagination .wp-block-query-pagination-next::after,
.tile-pagination .wp-block-query-pagination-previous::before {
	content: "";
	width: 0.8em;
	height: 0.8em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.5 4 8 8-8 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.5 4 8 8-8 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.tile-pagination .wp-block-query-pagination-previous::before {
	transform: scaleX(-1);
}

.tile-query__empty {
	padding: var(--wp--preset--spacing--50) clamp(1rem, 3.5vw, 3.125rem);
}

/* Fade results while a filter change loads. */
.tile-query[data-wp-router-region] {
	transition: opacity 0.2s ease;
}

body:has(.wp-interactivity-router-loading-bar[style*="width"]) .tile-query--projects {
	opacity: 0.5;
}

/* -------------------------------------------------------------------------
 * Single project
 * ---------------------------------------------------------------------- */

.project-detail .is-project-gallery {
	margin-block-start: 0;
}

.project-detail .is-project-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1000 / 707;
	object-fit: cover;
}

.project-detail .is-project-gallery figure {
	margin: 0;
}

.project-detail .is-project-gallery .switchback-controls__button {
	color: #333;
}

@media (max-width: 1140px) {
	.project-detail .is-project-gallery > .switchback-controls.is-arrows {
		--switchback-overlay-inset: -8px !important;
	}

	.project-detail .is-project-gallery .switchback-controls__button {
		color: var(--wp--preset--color--white);
		filter: drop-shadow(0 1px 3px rgb(0 0 0 / 0.6));
	}
}

.project-detail__body {
	padding: var(--wp--preset--spacing--40) clamp(1rem, 3.5vw, 2.5rem) var(--wp--preset--spacing--30);
}

.project-detail__body .back-link,
.team-profile .back-link {
	margin-block-end: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
}

.post-nav {
	margin-block-start: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--large);
	text-transform: uppercase;
}

.post-nav .post-navigation-link-previous,
.post-nav .post-navigation-link-next {
	min-width: 0;
	max-width: 48%;
}

.post-nav .post-navigation-link-next {
	margin-inline-start: auto;
}

/*
 * Long titles truncate inside the link, and the chevron sits in the link's
 * own padding, so the ellipsis never clips it and it stays clickable.
 */
.post-nav a {
	position: relative;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.post-nav .post-navigation-link-previous a {
	padding-inline-start: 1.4em;
}

.post-nav .post-navigation-link-next a {
	padding-inline-end: 1.4em;
}

.post-nav .post-navigation-link-previous a::before,
.post-nav .post-navigation-link-next a::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 1em;
	height: 1em;
	background: currentColor;
	transform: translateY(-50%);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.5 4 8 8-8 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.5 4 8 8-8 8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.post-nav .post-navigation-link-previous a::before {
	left: 0;
	transform: translateY(-50%) scaleX(-1);
}

.post-nav .post-navigation-link-next a::after {
	right: 0;
}

/* -------------------------------------------------------------------------
 * Single team member
 * ---------------------------------------------------------------------- */

.team-profile {
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	padding-inline: clamp(1rem, 3.5vw, 2.5rem);
}

/* Left edge lines up with the text below, not centred like other content. */
.team-profile > .team-profile__photo {
	max-width: 100%;
	margin-inline: max(0px, (100% - 1200px) / 2) auto !important;
}

.team-profile__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.team-profile__aside > * {
	width: 100%;
	max-width: 200px;
	font-size: var(--wp--preset--font-size--x-small);
}

.team-profile__projects-heading {
	margin-block: 1.5rem 0.25rem;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.related-projects .wp-block-post-template {
	display: grid;
	gap: 0.375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.related-projects .wp-block-post-template > li,
.related-projects .wp-block-post-title {
	margin: 0;
}

.related-projects .wp-block-post-title {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 400;
	line-height: 1.3;
}

@media (max-width: 781px) {
	.team-profile__aside {
		align-items: flex-start;
	}
}

/* -------------------------------------------------------------------------
 * Home
 * ---------------------------------------------------------------------- */

/* Full-bleed sections stack edge to edge. */
.wp-block-cover.alignfull + .wp-block-cover.alignfull {
	margin-block-start: 0;
}

/*
 * Measurements below are taken from the Elementor build at 1440 × 900: text
 * 60px from the left edge, display type at 1.6px letter-spacing.
 */
/*
 * Core shrinks a positioned cover's content to fit, from a stylesheet printed
 * after this one at the same specificity; these span the page.
 */
.wp-block-cover.home-hero.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.home-panel.has-custom-content-position .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none;
}

.home-hero {
	padding-inline: clamp(1rem, 4.17vw, 3.75rem) !important;
	padding-bottom: 106px !important;
}

/* Stepped sizes, from the old theme's breakpoints. */
.home-hero__title {
	font-size: 40px;
	line-height: 1.02;
	letter-spacing: 1.6px;
	text-shadow: 0 3px 5px rgb(0 0 0 / 0.6);
}

@media (min-width: 326px) {
	.home-hero__title {
		font-size: 50px;
	}
}

@media (min-width: 768px) {
	.home-hero__title {
		font-size: 65px;
	}
}

@media (min-width: 960px) {
	.home-hero__title {
		font-size: 85px;
	}
}

.home-hero__title {
	animation: home-rise 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s both;
}

@keyframes home-rise {
	from {
		opacity: 0;
		transform: translateY(0.3em);
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-hero__title {
		animation: none;
	}
}

.home-hero__down {
	margin-block-start: 40px;
	line-height: 0;
	text-align: center;
}

.home-hero__down a {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	font-size: 0;
}

/*
 * The two story panels are two screens tall. The statement on the left stays
 * pinned while the section scrolls; on the second screen a full-height, 70%
 * black panel rises in on the right with its text centred in it.
 */
.home-panel {
	align-items: stretch !important;
	min-height: 200vh !important;
	padding: 0 !important;
}

.home-panel .wp-block-columns {
	align-items: stretch;
	min-height: 200vh;
	margin: 0;
	gap: 0;
}

.home-panel__statement > * {
	position: sticky;
	top: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	margin: 0;
	padding: 2.5rem clamp(1rem, 4.17vw, 3.75rem);
}

.home-panel__statement .wp-block-heading,
.home-panel__statement p {
	max-width: 40rem;
	font-size: 34px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 1.6px;
	text-shadow: 0 3px 7px rgb(0 0 0 / 0.6);
}

@media (min-width: 326px) {
	.home-panel__statement p {
		font-size: 36px;
	}
}

@media (min-width: 540px) {
	.home-panel__statement p {
		font-size: 42px;
	}
}

@media (min-width: 768px) {
	.home-panel__statement p {
		font-size: 48px;
	}
}

@media (min-width: 960px) {
	.home-panel__statement p {
		font-size: 60px;
	}
}

.home-panel__statement .aldrichpears-counter {
	margin: 0;
}

.home-panel__aside {
	padding-top: 100vh !important;
	padding-right: 20px !important;
}

.home-panel__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding: 40px 20px;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0.48px;
}

@media (min-width: 1025px) {
	.home-panel__box {
		font-size: 24px;
		line-height: 1.5;
	}
}

/* Below tablet the panels sit under the photos, solid black as before. */
@media (max-width: 767px) {
	.home-panel__box {
		background-color: var(--wp--preset--color--black) !important;
	}
}

.home-panel__box > * {
	margin-block: 0;
}

.home-panel__box ul {
	padding-inline-start: 40px;
}

.home-panel__box li::marker {
	color: var(--wp--preset--color--white);
}

.home-panel--map {
	background-color: var(--wp--preset--color--charcoal);
}

.home-panel--map .wp-block-cover__image-background {
	background-repeat: no-repeat;
	background-size: contain !important;
}

/* On tablets the old panels ran a screen height plus their 40px padding. */
@media (min-width: 768px) and (max-width: 1024px) {
	.home-panel__box {
		min-height: calc(100vh + 80px);
	}
}

/* Core stacks columns below 782px; the story panels stay side by side to 768px. */
@media (min-width: 768px) and (max-width: 781px) {
	.home-panel .wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.home-panel .wp-block-column.home-panel__statement {
		flex-basis: 60% !important;
	}

	.home-panel .wp-block-column.home-panel__aside {
		flex-basis: 40% !important;
	}
}

/* Phones: each statement fills a screen, then its panel follows below it. */
@media (max-width: 767px) {
	.home-panel,
	.home-panel .wp-block-columns {
		min-height: 0 !important;
	}

	.home-panel__statement > * {
		position: static;
		min-height: 100vh;
		padding-inline: 15px;
	}

	.home-panel__aside {
		padding-top: 0 !important;
		padding-right: 0 !important;
	}

	.home-panel__box {
		min-height: 0;
		padding: 100px 15px;
	}
}

/* Fixed backgrounds jank or don't work on touch devices; scroll them instead. */
@media (hover: none) {
	.wp-block-cover .has-parallax {
		background-attachment: scroll !important;
	}
}
