:root {
	--fpl-cream: #f4efe7;
	--fpl-paper: #fbf8f2;
	--fpl-beige: #ded1c0;
	--fpl-taupe: #a99a8c;
	--fpl-brown: #2b201b;
	--fpl-ink: #090807;
	--fpl-oxblood: #6f2434;
	--fpl-mustard: #bfa05f;
	--fpl-mustard-dark: #9a803d;
	--fpl-line: rgba(43, 32, 27, 0.2);
	--fpl-line-light: rgba(255, 255, 255, 0.24);
	--fpl-serif: "Playfair Display", Georgia, serif;
	--fpl-script: "Cormorant Garamond", Georgia, serif;
	--fpl-sans: Inter, Helvetica, Arial, sans-serif;
	--fpl-shell: 1280px;
}

html {
	scroll-behavior: smooth;
	/* Scale lock: allow panning/scrolling, block pinch-zoom.
	 * Pairs with the viewport meta and the gesture handlers in fpl-brand.js. */
	touch-action: pan-x pan-y;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body.fpl-brand-active {
	background: var(--fpl-cream);
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.65;
	overflow-x: hidden;
	text-rendering: optimizeLegibility;
}

.fpl-brand-active *,
.fpl-brand-active *::before,
.fpl-brand-active *::after {
	box-sizing: border-box;
	letter-spacing: 0;
}

.fpl-brand-active h1,
.fpl-brand-active h2,
.fpl-brand-active h3,
.fpl-brand-active h4,
.fpl-brand-active p,
.fpl-brand-active figure,
.fpl-brand-active blockquote {
	margin-top: 0;
}

.fpl-brand-active h1,
.fpl-brand-active h2,
.fpl-brand-active h3,
.fpl-brand-active h4 {
	color: inherit;
	font-family: var(--fpl-serif);
	font-weight: 500;
	line-height: 1.04;
}

.fpl-brand-active a {
	color: inherit;
	text-decoration: none;
}

.fpl-brand-active img {
	display: block;
	max-width: 100%;
}

.fpl-shell {
	margin: 0 auto;
	max-width: var(--fpl-shell);
	padding-left: 40px;
	padding-right: 40px;
	width: 100%;
}

.fpl-section {
	padding: 140px 0;
}

.fpl-section--ink {
	background: var(--fpl-ink);
	color: var(--fpl-cream);
}

.fpl-section--beige {
	background: var(--fpl-beige);
}

.fpl-kicker {
	align-items: center;
	color: var(--fpl-oxblood);
	display: flex;
	font-family: var(--fpl-sans);
	font-size: 11px;
	font-weight: 600;
	gap: 14px;
	line-height: 1.4;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.fpl-kicker::before {
	background: currentColor;
	content: "";
	display: block;
	height: 1px;
	width: 34px;
}

.fpl-kicker--light {
	color: #e5d8c9;
}

.fpl-display {
	font-size: 64px;
	margin-bottom: 36px;
}

.fpl-lead {
	font-family: var(--fpl-script);
	font-size: 26px;
	line-height: 1.45;
}

.fpl-script {
	font-family: var(--fpl-script);
	font-style: italic;
}

.fpl-button,
.fpl-brand-active .elementor-button,
.fpl-brand-active .woocommerce .button,
.fpl-brand-active .wp-block-button__link {
	align-items: center;
	background: var(--fpl-mustard);
	border: 1px solid var(--fpl-mustard);
	border-radius: 0;
	color: #000;
	display: inline-flex;
	font-family: var(--fpl-sans);
	font-size: 11px;
	font-weight: 600;
	justify-content: center;
	line-height: 1;
	min-height: 52px;
	padding: 0 28px;
	text-transform: uppercase;
	transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease;
}

.fpl-button:hover,
.fpl-button:focus-visible,
.fpl-brand-active .elementor-button:hover,
.fpl-brand-active .woocommerce .button:hover,
.fpl-brand-active .wp-block-button__link:hover {
	background: var(--fpl-mustard-dark);
	border-color: var(--fpl-mustard-dark);
	color: #000;
}

.fpl-brand-active .tutor-btn.tutor-btn-primary,
.fpl-brand-active .fpl-course-purchase-button {
	background: var(--fpl-mustard) !important;
	border-color: var(--fpl-mustard) !important;
	color: #000 !important;
}

.fpl-brand-active .tutor-btn.tutor-btn-primary:hover,
.fpl-brand-active .tutor-btn.tutor-btn-primary:focus-visible,
.fpl-brand-active .fpl-course-purchase-button:hover,
.fpl-brand-active .fpl-course-purchase-button:focus-visible {
	background: var(--fpl-mustard-dark) !important;
	border-color: var(--fpl-mustard-dark) !important;
	color: #000 !important;
}

.fpl-button {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: var(--fpl-paper);
}

.fpl-button:hover,
.fpl-button:focus-visible {
	background: var(--fpl-mustard);
	border-color: var(--fpl-mustard);
	color: var(--fpl-ink);
}

.fpl-button--light {
	background: var(--fpl-paper);
	border-color: var(--fpl-paper);
	color: var(--fpl-ink);
}

.fpl-button--light:hover,
.fpl-button--light:focus-visible {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: #fff;
}

.fpl-lux-hero__actions .fpl-button--light:hover,
.fpl-lux-hero__actions .fpl-button--light:focus-visible {
	background: var(--fpl-ink) !important;
	border-color: var(--fpl-ink) !important;
	color: #fff !important;
}

.fpl-button--ghost-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.68);
	color: #fff;
}

.fpl-button--ghost-light:hover,
.fpl-button--ghost-light:focus-visible {
	background: var(--fpl-paper);
	border-color: var(--fpl-paper);
	color: var(--fpl-ink);
}

.fpl-lux-hero__actions .fpl-button--ghost-light:hover,
.fpl-lux-hero__actions .fpl-button--ghost-light:focus-visible {
	background: var(--fpl-paper) !important;
	border-color: var(--fpl-paper) !important;
	color: var(--fpl-ink) !important;
}

.fpl-text-link {
	align-items: center;
	display: inline-flex;
	font-size: 11px;
	font-weight: 600;
	padding-bottom: 7px;
	position: relative;
	text-transform: uppercase;
}

.fpl-text-link::after {
	background: currentColor;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(1);
	transform-origin: left;
	transition: transform 240ms ease;
	width: 100%;
}

.fpl-text-link:hover::after,
.fpl-text-link:focus-visible::after {
	transform: scaleX(0.35);
}

.fpl-text-link--light {
	color: #fff;
}

/* Elementor canvas reset. */
.fpl-brand-active.ast-page-builder-template .site-content,
.fpl-brand-active.ast-page-builder-template .site-content>.ast-container,
.fpl-brand-active.ast-page-builder-template .entry-content {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.fpl-brand-active .entry-content>.elementor {
	overflow: hidden;
}

.fpl-brand-active .fpl-elementor-section>.elementor-container {
	max-width: none !important;
}

.fpl-brand-active .fpl-elementor-section .elementor-column,
.fpl-brand-active .fpl-elementor-section .elementor-widget-wrap,
.fpl-brand-active .fpl-elementor-section .elementor-widget,
.fpl-brand-active .fpl-elementor-section .elementor-widget-container {
	padding: 0;
}

.fpl-brand-active .entry-header,
.fpl-brand-active .elementor-page-title {
	display: none;
}

/* Header. */
.fpl-brand-active .site-header {
	position: relative;
	z-index: 60;
}

.fpl-brand-active .ast-primary-header-bar,
.fpl-brand-active .main-header-bar {
	background: rgba(244, 239, 231, 0.97);
	border-bottom: 1px solid var(--fpl-line);
}

.fpl-brand-active .ast-builder-grid-row {
	max-width: none;
	padding-left: 42px;
	padding-right: 42px;
}

.fpl-brand-active .site-title,
.fpl-brand-active .site-title a {
	color: var(--fpl-brown);
	font-family: var(--fpl-serif);
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
}

.fpl-brand-active .site-description {
	color: var(--fpl-taupe);
	font-family: var(--fpl-script);
	font-size: 14px;
	font-style: italic;
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
	color: var(--fpl-brown);
	font-size: 11px;
	font-weight: 600;
	min-height: 84px;
	padding: 0 16px;
	position: relative;
	text-transform: uppercase;
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link::after {
	background: currentColor;
	bottom: 26px;
	content: "";
	height: 1px;
	left: 16px;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 240ms ease;
	width: calc(100% - 32px);
}

.fpl-editorial-course-archive.ast-separate-container #primary {
	padding: 0;
}

@media (min-width: 922px) {

	.fpl-editorial-course-archive .fpl-courses-hero {
		margin-top: -65px;
	}

	.fpl-brand-courses .fpl-courses-hero__grid {
		align-items: center;
	}

	.fpl-brand-courses .fpl-courses-hero__copy {
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 100%;
	}
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link:hover::after,
.fpl-brand-active .main-header-menu>.current-menu-item>.menu-link::after {
	transform: scaleX(1);
}

.fpl-brand-home .site-header {
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.fpl-brand-home .ast-primary-header-bar,
.fpl-brand-home .main-header-bar {
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, 0.28);
}

.fpl-brand-home .site-title a,
.fpl-brand-home .site-description,
.fpl-brand-home .main-header-menu>.menu-item>.menu-link,
.fpl-brand-home .ast-header-break-point .main-header-menu>.menu-item>.menu-link {
	color: #fff;
}

.fpl-brand-home .ast-mobile-menu-trigger-minimal,
.fpl-brand-home [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: #fff;
}

.fpl-brand-active .ast-mobile-menu-trigger-minimal::before {
	background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat;
	border-bottom: 1px solid currentColor;
	border-top: 1px solid currentColor;
	content: "";
	display: block;
	height: 15px;
	width: 22px;
}

.fpl-brand-active .ast-mobile-menu-trigger-minimal {
	position: relative;
}

.fpl-brand-active .ast-main-header-nav-open .ast-mobile-menu-trigger-minimal::before {
	background: currentColor;
	border: 0;
	height: 1px;
	transform: rotate(45deg);
}

.fpl-brand-active .ast-main-header-nav-open .ast-mobile-menu-trigger-minimal::after {
	background: currentColor;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	width: 22px;
}

.fpl-brand-active .ast-mobile-menu-trigger-minimal .mobile-menu-toggle-icon {
	display: none;
}

.fpl-brand-home .ast-mobile-menu-trigger-minimal {
	color: #fff !important;
}

/* Home hero. */
.fpl-lux-hero {
	align-items: center;
	background: var(--fpl-ink);
	color: #fff;
	display: flex;
	min-height: clamp(700px, 88svh, 840px);
	overflow: hidden;
	position: relative;
}

.fpl-lux-hero__image,
.fpl-lux-hero__shade {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	width: 100%;
}

.fpl-lux-hero__shade {
	background: linear-gradient(90deg, rgba(7, 6, 5, 0.76) 0%, rgba(7, 6, 5, 0.43) 42%, rgba(7, 6, 5, 0.04) 76%);
}

.fpl-lux-hero__content {
	margin: 100px auto 0;
	max-width: var(--fpl-shell);
	padding: 72px 40px;
	position: relative;
	width: 100%;
	z-index: 2;
}

.fpl-lux-hero h1 {
	color: #fff;
	font-size: 98px;
	line-height: 0.96;
	margin: 0 0 28px;
	max-width: 730px;
}

.fpl-lux-hero__dek {
	font-family: var(--fpl-script);
	font-size: 25px;
	line-height: 1.45;
	margin-bottom: 40px;
	max-width: 550px;
}

.fpl-lux-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.fpl-lux-hero__scroll {
	align-items: center;
	bottom: 28px;
	display: flex;
	gap: 14px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 3;
}

.fpl-lux-hero__scroll span {
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
}

.fpl-lux-hero__scroll i {
	background: rgba(255, 255, 255, 0.7);
	display: block;
	height: 42px;
	position: relative;
	width: 1px;
}

.fpl-lux-hero__scroll i::after {
	animation: fpl-scroll 2s ease-in-out infinite;
	background: #fff;
	content: "";
	height: 12px;
	left: 0;
	position: absolute;
	top: 0;
	width: 1px;
}

@keyframes fpl-scroll {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(30px);
	}
}

/* Editorial about. */
.fpl-editorial-about {
	background: var(--fpl-cream);
}

.fpl-brand-home .fpl-editorial-about {
	padding-top: 76px;
}

.fpl-editorial-about__grid {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr);
	column-gap: 105px;
	position: relative;
}

.fpl-editorial-about__copy {
	padding-bottom: 60px;
	padding-top: 60px;
}

.fpl-editorial-about__copy .fpl-display {
	font-size: 58px;
	max-width: 730px;
}

.fpl-editorial-about__copy .fpl-lead {
	font-size: 23px;
	margin-bottom: 42px;
	max-width: 650px;
}

.fpl-editorial-about__media {
	margin: 0;
	position: relative;
}

.fpl-editorial-about__media::before {
	border: 1px solid var(--fpl-line);
	content: "";
	inset: -18px 18px 18px -18px;
	position: absolute;
}

.fpl-editorial-about__media img {
	aspect-ratio: 4 / 5.25;
	height: auto;
	object-fit: cover;
	position: relative;
	width: 100%;
}

.fpl-editorial-about__media figcaption {
	font-size: 10px;
	margin-top: 14px;
	text-align: right;
	text-transform: uppercase;
}

.fpl-editorial-about__note {
	bottom: -18px;
	color: var(--fpl-oxblood);
	font-size: 30px;
	left: 42%;
	position: absolute;
	transform: rotate(-6deg);
}

/* Section headings. */
.fpl-section-heading {
	align-items: end;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
	gap: 80px;
}

.fpl-section-heading>p {
	font-family: var(--fpl-script);
	font-size: 22px;
	line-height: 1.5;
	margin-bottom: 46px;
}

.fpl-section-heading--light .fpl-display,
.fpl-section-heading--light>p {
	color: var(--fpl-cream);
}

.fpl-courses-heading {
	padding-bottom: 72px;
}

/* Course cards. */
.fpl-elementor-courses-grid {
	background: var(--fpl-cream);
	padding: 0 40px 140px;
}

.fpl-course-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: var(--fpl-shell);
}

.fpl-brand-home .fpl-elementor-courses-grid {
	background: var(--fpl-ink);
}

.fpl-course-card__link {
	display: block;
}

.fpl-course-card__media {
	background: #161310;
	overflow: hidden;
	position: relative;
}

.fpl-course-card__media::after {
	background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.62) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.fpl-course-card__image {
	aspect-ratio: 4 / 5;
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	transform: scale(1);
	transition: opacity 520ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 100%;
}

.fpl-course-card__image.is-active {
	opacity: 1;
	position: relative;
	z-index: 1;
}

.fpl-course-card__video {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 420ms ease;
	width: 100%;
	z-index: 1;
}

.fpl-course-card__media.is-video-active .fpl-course-card__image {
	opacity: 0;
}

.fpl-course-card__media.is-video-active .fpl-course-card__video {
	opacity: 1;
}

.fpl-course-card__link:hover .fpl-course-card__image.is-active,
.fpl-course-card__link:focus-visible .fpl-course-card__image.is-active {
	transform: scale(1.035);
}

.fpl-course-card__arrow {
	color: #fff;
	font-family: var(--fpl-sans);
	font-size: 11px;
	position: absolute;
	top: 22px;
	z-index: 3;
}

.fpl-course-card__arrow {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.68);
	border-radius: 50%;
	display: flex;
	font-size: 18px;
	height: 42px;
	justify-content: center;
	right: 22px;
	transition: background-color 240ms ease, color 240ms ease;
	width: 42px;
}

.fpl-course-card__link:hover .fpl-course-card__arrow {
	background: #fff;
	color: var(--fpl-ink);
}

.fpl-course-card__content {
	padding-top: 24px;
}

.fpl-course-card__meta {
	align-items: center;
	display: flex;
	font-size: 10px;
	font-weight: 600;
	gap: 9px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.fpl-course-card__meta span {
	background: currentColor;
	height: 1px;
	width: 20px;
}

.fpl-course-card h3 {
	font-size: 30px;
	margin-bottom: 22px;
}

.fpl-brand-home .fpl-course-card__content {
	color: var(--fpl-cream);
}

/* Product edit. */
.fpl-store-heading {
	padding-bottom: 74px;
}

.fpl-store-heading__grid {
	align-items: end;
	display: grid;
	gap: 100px;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
}

.fpl-store-heading__copy {
	font-family: var(--fpl-script);
	font-size: 22px;
	line-height: 1.5;
	padding-bottom: 42px;
}

.fpl-store-heading__copy p {
	margin-bottom: 28px;
}

.fpl-elementor-products {
	background: var(--fpl-cream);
	padding: 0 40px 140px;
}

.fpl-elementor-products .elementor-shortcode,
.fpl-elementor-products .woocommerce {
	margin: 0 auto;
	max-width: var(--fpl-shell);
}

.fpl-brand-active .woocommerce ul.products {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.fpl-brand-active .woocommerce ul.products::before,
.fpl-brand-active .woocommerce ul.products::after {
	display: none;
}

.fpl-brand-active .woocommerce ul.products li.product,
.fpl-brand-active .woocommerce-page ul.products li.product {
	background: transparent;
	border: 0;
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
}

.fpl-brand-active .woocommerce ul.products li.product a img {
	background: #e8dfd3;
	margin: 0 0 24px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: filter 350ms ease, transform 650ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 100%;
}

.fpl-brand-active .woocommerce ul.products li.product a:hover img {
	filter: contrast(1.03);
	transform: scale(1.018);
}

.fpl-brand-active .woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--fpl-brown);
	font-family: var(--fpl-serif);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.15;
	padding: 0;
}

.fpl-brand-active .woocommerce ul.products li.product .price {
	color: var(--fpl-oxblood);
	font-family: var(--fpl-sans);
	font-size: 12px;
	font-weight: 600;
	margin: 10px 0 18px;
}

.fpl-brand-active .woocommerce ul.products li.product .button {
	background: transparent;
	border: 0;
	border-bottom: 1px solid currentColor;
	color: var(--fpl-ink);
	min-height: 0;
	padding: 0 0 7px;
}

.fpl-brand-active .woocommerce ul.products li.product .button:hover {
	background: transparent;
	border-color: var(--fpl-oxblood);
	color: var(--fpl-oxblood);
}

/* Showcase. */
.fpl-showcase {
	background: var(--fpl-ink);
	color: #fff;
	padding: 0 0 34px;
}

.fpl-showcase__media {
	overflow: hidden;
	position: relative;
}

.fpl-showcase__media::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 45%, rgba(0, 0, 0, 0.72) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.fpl-showcase__media img {
	height: 82vh;
	min-height: 620px;
	object-fit: cover;
	width: 100%;
}

.fpl-showcase__label {
	bottom: 56px;
	left: max(40px, calc((100% - 1200px) / 2));
	position: absolute;
	z-index: 2;
}

.fpl-showcase__label h2 {
	color: #fff;
	font-size: 74px;
	margin: 0;
}

.fpl-showcase__caption {
	display: flex;
	font-size: 10px;
	justify-content: space-between;
	padding-top: 22px;
	text-transform: uppercase;
}

/* Testimonials. */
.fpl-testimonials {
	background: var(--fpl-paper);
}

.fpl-testimonials__grid {
	display: grid;
	gap: 36px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 64px;
}

.fpl-testimonials blockquote {
	border: 0;
	border-top: 1px solid var(--fpl-line);
	margin: 0;
	padding: 28px 0 0;
}

.fpl-testimonials blockquote>p {
	font-family: var(--fpl-script);
	font-size: 27px;
	font-style: italic;
	line-height: 1.4;
	margin-bottom: 52px;
}

.fpl-testimonials blockquote footer {
	display: flex;
	flex-direction: column;
	font-size: 10px;
	gap: 4px;
	text-transform: uppercase;
}

.fpl-testimonials blockquote footer strong {
	font-weight: 600;
}

.fpl-testimonials blockquote footer span {
	color: #776b62;
}

/* CTA. */
.fpl-editorial-cta {
	background: var(--fpl-oxblood);
	color: #fff;
	padding: 150px 0;
}

.fpl-editorial-cta h2 {
	color: #fff;
	font-size: 78px;
	margin: 0 0 48px;
	max-width: 1000px;
}

.fpl-editorial-cta h2 em {
	font-family: var(--fpl-script);
	font-weight: 400;
}

.fpl-editorial-cta__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 34px;
}

.fpl-editorial-cta--cream {
	background: var(--fpl-paper);
	color: var(--fpl-brown);
}

.fpl-editorial-cta--cream h2 {
	color: var(--fpl-brown);
}

/* Interior page heroes. */
.fpl-page-hero--split,
.fpl-course-hero {
	background: var(--fpl-paper);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(440px, 0.82fr);
	min-height: calc(100svh - 84px);
}

.fpl-page-hero__copy,
.fpl-course-hero__copy {
	align-self: center;
	max-width: 720px;
	padding: 90px 70px 90px max(40px, calc((100vw - 1280px) / 2 + 40px));
}

.fpl-page-hero h1,
.fpl-course-hero h1,
.fpl-contact-hero h1 {
	font-size: 86px;
	margin-bottom: 40px;
}

.fpl-page-hero__copy .fpl-lead,
.fpl-course-hero__copy .fpl-lead {
	max-width: 560px;
}

.fpl-page-hero__portrait,
.fpl-course-hero__media {
	margin: 0;
	min-height: 700px;
	position: relative;
}

.fpl-page-hero__portrait img,
.fpl-course-hero__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fpl-course-hero__media figcaption {
	background: var(--fpl-paper);
	bottom: 0;
	font-family: var(--fpl-script);
	font-size: 20px;
	font-style: italic;
	left: 0;
	padding: 18px 28px;
	position: absolute;
}

.fpl-manifesto {
	background: var(--fpl-cream);
}

.fpl-manifesto__statement {
	font-family: var(--fpl-serif);
	font-size: 54px;
	line-height: 1.25;
	margin: 50px 0 0 auto;
	max-width: 1000px;
}

.fpl-method {
	background: var(--fpl-paper);
}

.fpl-method__grid,
.fpl-product-promise__grid {
	align-items: center;
	display: grid;
	gap: 100px;
	grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1fr);
}

.fpl-method__image img,
.fpl-product-promise figure img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
}

.fpl-method__steps {
	border-top: 1px solid var(--fpl-line);
	margin-top: 52px;
}

.fpl-method__steps>div {
	align-items: start;
	border-bottom: 1px solid var(--fpl-line);
	display: grid;
	gap: 24px;
	grid-template-columns: 36px 1fr;
	padding: 24px 0;
}

.fpl-method__steps span,
.fpl-learning__grid span,
.fpl-product-promise__list span {
	color: var(--fpl-oxblood);
	font-size: 10px;
	font-weight: 600;
}

.fpl-method__steps p {
	margin: 0;
}

.fpl-method__steps strong {
	display: block;
	font-family: var(--fpl-serif);
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 6px;
}

.fpl-values__grid {
	display: grid;
	gap: 46px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fpl-values__grid>div {
	border-top: 1px solid rgba(43, 32, 27, 0.34);
	padding-top: 28px;
}

.fpl-values__grid span {
	color: var(--fpl-oxblood);
	display: block;
	font-size: 30px;
	margin-bottom: 58px;
}

.fpl-values__grid h3 {
	font-size: 31px;
	margin-bottom: 12px;
}
/* =========================================================
   About page.

   Self-contained layout system. Every rule is prefixed with
   `.fpl-about` so it outranks the global
   `.fpl-brand-active h1, h2, h3, p { max-width: 100% }`,
   `.fpl-brand-active .fpl-shell { max-width: 100% }` and the
   theme's `blockquote { color: #000 }` without !important.
   The page uses its own container (`.fpl-about__shell`).

   Visual language borrows from pattern making itself:
   seam/stitch rules, notch ticks, and outlined numerals that
   echo the outlined section titles in the brand deck.
   ========================================================= */

.fpl-about {
	/* Spacing scale — desktop; stepped down per breakpoint below. */
	--fpl-about-pad: 60px;
	--fpl-about-gutter: 64px;
	--fpl-about-edge: 32px;
	--fpl-about-max: 1400px;
	--fpl-about-measure: 760px;
	--fpl-about-head-gap: 22px;
	--fpl-about-block-gap: 44px;
	/* Stitch rule: a dashed seam line drawn with a gradient. */
	--fpl-about-stitch: repeating-linear-gradient(to right, var(--fpl-brown) 0 9px, transparent 9px 17px);
	--fpl-about-stitch-light: repeating-linear-gradient(to right, rgba(244, 239, 231, 0.55) 0 9px, transparent 9px 17px);

	padding: var(--fpl-about-pad) 0;
	position: relative;
}

.fpl-about__shell {
	margin: 0 auto;
	max-width: var(--fpl-about-max);
	padding: 0 var(--fpl-about-edge);
	position: relative;
	width: 100%;
}

/* Seam divider between adjacent sections. */
.fpl-about + .fpl-about::before {
	background-image: var(--fpl-about-stitch);
	content: "";
	height: 1px;
	left: var(--fpl-about-edge);
	opacity: 0.32;
	position: absolute;
	right: var(--fpl-about-edge);
	top: 0;
}

.fpl-about-quote + .fpl-about::before,
.fpl-about + .fpl-about-quote::before {
	display: none;
}

/* Shared section heading — set on a seam rule with a notch tick. */
.fpl-about .fpl-about-heading {
	font-family: var(--fpl-serif);
	font-size: clamp(30px, 3.6vw, 46px);
	line-height: 1.08;
	margin: 0 0 var(--fpl-about-block-gap);
	max-width: 100%;
	padding-bottom: 18px;
	position: relative;
}

.fpl-about .fpl-about-heading::after {
	background: var(--fpl-oxblood);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 54px;
}

/* Shared icon link. */
.fpl-about .fpl-about-link {
	align-items: center;
	color: var(--fpl-brown);
	display: inline-flex;
	font-size: 12px;
	font-weight: 600;
	gap: 13px;
	letter-spacing: 0.07em;
	line-height: 1.3;
	text-transform: uppercase;
	transition: color 240ms ease, gap 240ms ease;
}

.fpl-about .fpl-about-link__icon {
	fill: none;
	flex: none;
	height: 24px;
	stroke: currentColor;
	stroke-width: 1.4;
	transition: transform 320ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 24px;
}

.fpl-about .fpl-about-link__dot {
	fill: currentColor;
	stroke: none;
}

.fpl-about .fpl-about-link span {
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
}

.fpl-about .fpl-about-link:hover,
.fpl-about .fpl-about-link:focus-visible {
	color: var(--fpl-oxblood);
	gap: 17px;
}

.fpl-about .fpl-about-link:hover .fpl-about-link__icon {
	transform: rotate(-8deg);
}

.fpl-about .fpl-about-link--light {
	color: var(--fpl-cream);
}

.fpl-about .fpl-about-link--light:hover,
.fpl-about .fpl-about-link--light:focus-visible {
	color: var(--fpl-mustard);
}

/* ---------- Hero ---------- */
.fpl-about-hero {
	background: var(--fpl-cream);
	overflow: hidden;
}

/* Copy leads, the wordmark sits beside it as a studio label. */
.fpl-about .fpl-about-hero__grid {
	align-items: start;
	display: grid;
	gap: var(--fpl-about-gutter);
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.62fr);
}

.fpl-about .fpl-about-hero__title {
	margin: 0;
	max-width: 100%;
}

/* Plain lockup: just the wordmark PNG, no framing box. */
.fpl-about .fpl-about-hero__mark {
	display: flex;
	align-items: center;
}

/* The wordmark lockup carries the name and the tagline as one asset. */
.fpl-about .fpl-about-hero__wordmark {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
	width: 100%;
}

.fpl-about .fpl-about-hero__body {
	margin-top: 0;
}

.fpl-about .fpl-about-hero__lede {
	font-family: var(--fpl-serif);
	font-size: clamp(20px, 2.1vw, 28px);
	font-weight: 400;
	hyphens: auto;
	line-height: 1.45;
	margin: 0;
	max-width: var(--fpl-about-measure);
	text-align: justify;
	text-align-last: left;
}

.fpl-about .fpl-about-hero__lede strong {
	font-weight: 600;
}

.fpl-about .fpl-about-hero__columns {
	display: grid;
	gap: var(--fpl-about-gutter);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--fpl-about-block-gap);
}

/* Same serif family and size as the lede above, so the whole opening
   statement — not just its first sentence — reads as one voice. */
.fpl-about .fpl-about-hero__columns p {
	font-family: var(--fpl-serif);
	font-size: clamp(20px, 2.1vw, 28px);
	font-weight: 400;
	line-height: 1.45;
	margin: 0;
	max-width: 100%;
}

.fpl-about-hero .fpl-about-link {
	margin-top: var(--fpl-about-block-gap);
}

/* ---------- Founder ---------- */
.fpl-about-founder {
	background: var(--fpl-paper);
}

.fpl-about .fpl-about-founder__grid {
	align-items: start;
	display: grid;
	gap: var(--fpl-about-gutter);
	grid-template-columns: minmax(0, 440px) minmax(0, 1fr);
}

.fpl-about .fpl-about-founder__portrait {
	margin: 0;
	position: relative;
}

/* Layered composition: a tinted block sits behind the portrait,
   with a hairline frame offset the other way. */
.fpl-about .fpl-about-founder__portrait::after {
	background: var(--fpl-beige);
	content: "";
	inset: -18px 26px 34px -18px;
	position: absolute;
	z-index: 0;
}

.fpl-about .fpl-about-founder__portrait::before {
	border: 1px solid var(--fpl-oxblood);
	content: "";
	inset: 22px -22px -22px 22px;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.fpl-about .fpl-about-founder__portrait img {
	background: #e3dbd2;
	display: block;
	height: auto;
	position: relative;
	width: 100%;
	z-index: 1;
}

.fpl-about .fpl-about-founder__identity {
	padding-bottom: var(--fpl-about-head-gap);
	position: relative;
}

.fpl-about .fpl-about-founder__identity::after {
	background-image: var(--fpl-about-stitch);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	opacity: 0.4;
	position: absolute;
	right: 0;
}

.fpl-about .fpl-about-founder__eyebrow {
	color: var(--fpl-oxblood);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.5;
	margin: 0 0 14px;
	max-width: 100%;
	text-transform: uppercase;
}

.fpl-about .fpl-about-founder__name {
	font-family: var(--fpl-serif);
	font-size: clamp(36px, 5vw, 68px);
	letter-spacing: -0.015em;
	line-height: 1;
	margin: 0;
	max-width: 100%;
}

.fpl-about .fpl-about-founder__role {
	color: #6b5f56;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.09em;
	margin: 12px 0 0;
	max-width: 100%;
	text-transform: uppercase;
}

.fpl-about .fpl-about-founder__bio {
	margin-top: var(--fpl-about-head-gap);
}

.fpl-about .fpl-about-founder__bio p {
	line-height: 1.62;
	margin: 0 0 18px;
	max-width: var(--fpl-about-measure);
}

.fpl-about .fpl-about-founder__bio p:last-child {
	margin-bottom: 0;
}

/* Opening paragraph set larger, with a drop-cap-ish oxblood rule. */
.fpl-about .fpl-about-founder__bio p:first-child {
	border-left: 2px solid var(--fpl-oxblood);
	font-family: var(--fpl-serif);
	font-size: clamp(18px, 1.6vw, 21px);
	line-height: 1.5;
	padding-left: 22px;
}

/* ---------- Pull quote ---------- */
.fpl-about-quote {
	background: var(--fpl-ink);
	color: var(--fpl-cream);
	overflow: hidden;
}

/* Faint seam grid, echoing pattern paper. */
.fpl-about-quote::before {
	background-image:
		repeating-linear-gradient(to right, rgba(244, 239, 231, 0.5) 0 1px, transparent 1px 64px),
		repeating-linear-gradient(to bottom, rgba(244, 239, 231, 0.5) 0 1px, transparent 1px 64px);
	content: "";
	inset: 0;
	opacity: 0.06;
	pointer-events: none;
	position: absolute;
}

.fpl-about-quote .fpl-about__shell {
	display: grid;
	gap: var(--fpl-about-gutter);
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
}

.fpl-about .fpl-about-quote__text {
	border: 0;
	border-left: 1px solid rgba(244, 239, 231, 0.35);
	/* Colour set explicitly: the theme styles `blockquote { color: #000 }`
	 * and would otherwise repaint this dark-on-dark. */
	color: var(--fpl-cream);
	/* Type set here so the `ch` measure resolves against the quote size. */
	font-family: var(--fpl-serif);
	font-size: clamp(24px, 3.4vw, 46px);
	font-style: normal;
	line-height: 1.22;
	margin: 0;
	max-width: 30ch;
	padding: 0 0 0 30px;
	quotes: none;
}

.fpl-about .fpl-about-quote__text p {
	color: inherit;
	font: inherit;
	margin: 0;
	max-width: 100%;
}

.fpl-about .fpl-about-quote__text p::before,
.fpl-about .fpl-about-quote__text p::after {
	content: none;
}

/* The LinkedIn link reads as an outlined plate that fills on hover. */
.fpl-about-quote .fpl-about-link {
	border: 1px solid rgba(244, 239, 231, 0.4);
	padding: 14px 22px;
	transition: background-color 320ms ease, border-color 320ms ease, color 320ms ease, gap 240ms ease;
	white-space: nowrap;
}

.fpl-about-quote .fpl-about-link span {
	border-bottom: 0;
	padding-bottom: 0;
}

.fpl-about-quote .fpl-about-link:hover,
.fpl-about-quote .fpl-about-link:focus-visible {
	background: var(--fpl-cream);
	border-color: var(--fpl-cream);
	color: var(--fpl-ink);
}

/* ---------- What we offer (2x2) ---------- */
.fpl-about-offer {
	background: var(--fpl-cream);
}

.fpl-about .fpl-about-offer__list {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.fpl-about .fpl-about-offer__row {
	overflow: hidden;
	padding: 30px var(--fpl-about-gutter) 30px 0;
	position: relative;
	transition: background-color 320ms ease;
}

.fpl-about .fpl-about-offer__row::before {
	background-image: var(--fpl-about-stitch);
	content: "";
	height: 1px;
	left: 0;
	opacity: 0.38;
	position: absolute;
	right: 0;
	top: 0;
}

/* Oxblood seam that draws itself in on hover. */
.fpl-about .fpl-about-offer__row::after {
	background: var(--fpl-oxblood);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 460ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 100%;
}

.fpl-about .fpl-about-offer__row:nth-child(2n) {
	padding-left: var(--fpl-about-gutter);
	padding-right: 0;
}

.fpl-about .fpl-about-offer__row:nth-last-child(-n + 2) {
	border-bottom: 1px solid rgba(43, 32, 27, 0.16);
}

/* Outlined numeral — a nod to the outlined titles in the brand deck. */
.fpl-about .fpl-about-offer__index {
	-webkit-text-stroke: 1px var(--fpl-oxblood);
	color: transparent;
	display: block;
	font-family: var(--fpl-serif);
	font-size: clamp(38px, 4.4vw, 58px);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 16px;
	transition: color 380ms ease;
}

.fpl-about .fpl-about-offer__title {
	font-family: var(--fpl-serif);
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.18;
	margin: 0 0 10px;
	max-width: 100%;
}

.fpl-about .fpl-about-offer__copy {
	line-height: 1.62;
	margin: 0;
	max-width: 100%;
}

@media (hover: hover) {
	.fpl-about .fpl-about-offer__row:hover {
		background: rgba(43, 32, 27, 0.03);
	}

	.fpl-about .fpl-about-offer__row:hover::after {
		transform: scaleX(1);
	}

	.fpl-about .fpl-about-offer__row:hover .fpl-about-offer__index {
		color: rgba(111, 36, 52, 0.16);
	}
}

/* ---------- Our approach ---------- */
.fpl-about-approach {
	background: var(--fpl-beige);
}

.fpl-about .fpl-about-approach__body {
	display: grid;
	gap: var(--fpl-about-gutter);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fpl-about .fpl-about-approach__body p {
	line-height: 1.62;
	margin: 0;
	max-width: 100%;
}

/* Closing statement: set as a framed pull-line, not just another paragraph. */
.fpl-about .fpl-about-approach__statement {
	border-left: 2px solid var(--fpl-oxblood);
	font-family: var(--fpl-serif);
	font-size: clamp(24px, 3vw, 42px);
	line-height: 1.22;
	margin: var(--fpl-about-block-gap) 0 0;
	max-width: var(--fpl-about-measure);
	padding: var(--fpl-about-head-gap) 0 4px 26px;
	position: relative;
}


/* ---------- Tablet ---------- */
@media (max-width: 900px) {
	.fpl-about {
		--fpl-about-pad: 48px;
		--fpl-about-gutter: 36px;
		--fpl-about-edge: 24px;
		--fpl-about-block-gap: 34px;
		--fpl-about-head-gap: 18px;
	}

	.fpl-about .fpl-about-hero__grid {
		gap: 34px;
		grid-template-columns: 1fr;
	}

	.fpl-about .fpl-about-hero__mark {
		grid-row: 1;
		justify-self: start;
		max-width: 340px;
		width: 100%;
	}

	/* Stacked: the row gap must clear the frame that hangs below the
	   portrait, or it cuts through the founder eyebrow beneath it. */
	.fpl-about .fpl-about-founder__grid {
		grid-template-columns: 1fr;
		row-gap: 52px;
	}

	.fpl-about .fpl-about-founder__portrait {
		margin-right: 22px;
		max-width: 380px;
	}

	.fpl-about-quote .fpl-about__shell {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.fpl-about-quote .fpl-about-link {
		white-space: normal;
	}
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
	.fpl-about {
		--fpl-about-pad: 40px;
		--fpl-about-gutter: 0px;
		--fpl-about-edge: 20px;
		--fpl-about-block-gap: 28px;
		--fpl-about-head-gap: 16px;
	}

	/* Hero on mobile: the lockup sits above the copy, sized to stay
	   comfortable rather than filling the full width edge to edge. */
	.fpl-about .fpl-about-hero__grid {
		row-gap: 36px;
	}

	.fpl-about .fpl-about-hero__mark {
		max-width: none;
	}

	.fpl-about .fpl-about-hero__wordmark {
		margin: 0 auto;
		max-width: 300px;
	}

	.fpl-about .fpl-about-hero__columns,
	.fpl-about .fpl-about-approach__body {
		gap: 20px;
		grid-template-columns: 1fr;
	}

	/* Row gap clears the 12px frame overhang below the portrait. */
	.fpl-about .fpl-about-founder__grid {
		row-gap: 44px;
	}

	.fpl-about .fpl-about-founder__portrait {
		margin-right: 12px;
		max-width: none;
	}

	.fpl-about .fpl-about-founder__portrait::before {
		inset: 12px -12px -12px 12px;
	}

	/* Kept inside the shell padding so nothing bleeds off-screen. */
	.fpl-about .fpl-about-founder__portrait::after {
		inset: -10px 22px 20px -10px;
	}

	.fpl-about .fpl-about-founder__bio p:first-child {
		padding-left: 16px;
	}

	.fpl-about .fpl-about-quote__text {
		max-width: 100%;
		padding-left: 20px;
	}

	.fpl-about .fpl-about-offer__list {
		grid-template-columns: 1fr;
	}

	.fpl-about .fpl-about-offer__row,
	.fpl-about .fpl-about-offer__row:nth-child(2n) {
		padding: 24px 0;
	}

	.fpl-about .fpl-about-offer__row:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.fpl-about .fpl-about-offer__row:last-child {
		border-bottom: 1px solid rgba(43, 32, 27, 0.16);
	}

	.fpl-about .fpl-about-approach__statement {
		max-width: 100%;
	}

	.fpl-about .fpl-about-link {
		align-items: flex-start;
		gap: 11px;
	}
}

/* ---------- Motion ----------
   Small, staggered entrances per section. Everything here is layered on
   top of the shared `.fpl-reveal` fade so it degrades cleanly, and the
   whole block is opted out under reduced-motion further down. */
@media (prefers-reduced-motion: no-preference) {
	/* Section headings rise a little further than body copy. */
	.js .fpl-about .fpl-about-heading.fpl-reveal {
		transform: translateY(28px);
	}

	.js .fpl-about .fpl-about-heading.fpl-reveal.is-visible {
		transform: translateY(0);
	}

	/* The oxblood accent rule draws itself out from the left. */
	.js .fpl-about .fpl-about-heading::after {
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 620ms cubic-bezier(0.2, 0.7, 0, 1) 260ms;
	}

	.js .fpl-about .fpl-about-heading.is-visible::after {
		transform: scaleX(1);
	}

	/* Portrait and wordmark settle in from a slight scale. */
	.js .fpl-about .fpl-about-founder__portrait.fpl-reveal img,
	.js .fpl-about .fpl-about-hero__mark.fpl-reveal .fpl-about-hero__wordmark {
		transform: scale(1.04);
		transition: transform 900ms cubic-bezier(0.2, 0.7, 0, 1);
	}

	.js .fpl-about .fpl-about-founder__portrait.is-visible img,
	.js .fpl-about .fpl-about-hero__mark.is-visible .fpl-about-hero__wordmark {
		transform: scale(1);
	}

	/* The layered blocks behind them fade in just after. */
	.js .fpl-about .fpl-about-founder__portrait.fpl-reveal::before,
	.js .fpl-about .fpl-about-founder__portrait.fpl-reveal::after {
		opacity: 0;
		transition: opacity 700ms ease 280ms;
	}

	.js .fpl-about .fpl-about-founder__portrait.is-visible::before {
		opacity: 0.5;
	}

	.js .fpl-about .fpl-about-founder__portrait.is-visible::after {
		opacity: 1;
	}

	/* Offer rows come in one after another rather than all at once. */
	.js .fpl-about .fpl-about-offer__row.fpl-reveal {
		transform: translateY(20px);
	}

	.js .fpl-about .fpl-about-offer__row.fpl-reveal.is-visible {
		transform: translateY(0);
	}

	.js .fpl-about .fpl-about-offer__row:nth-child(1) {
		transition-delay: 0ms;
	}

	.js .fpl-about .fpl-about-offer__row:nth-child(2) {
		transition-delay: 90ms;
	}

	.js .fpl-about .fpl-about-offer__row:nth-child(3) {
		transition-delay: 180ms;
	}

	.js .fpl-about .fpl-about-offer__row:nth-child(4) {
		transition-delay: 270ms;
	}

	/* Each row's stitch rule wipes across as the row lands. */
	.js .fpl-about .fpl-about-offer__row::before {
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 700ms cubic-bezier(0.2, 0.7, 0, 1) 120ms;
	}

	.js .fpl-about .fpl-about-offer__row.is-visible::before {
		transform: scaleX(1);
	}

	/* The pull quote travels a touch further, and its rule grows down. */
	.js .fpl-about .fpl-about-quote__text.fpl-reveal {
		transform: translateY(30px);
	}

	.js .fpl-about .fpl-about-quote__text.fpl-reveal.is-visible {
		transform: translateY(0);
	}

	/* The closing statement's oxblood bar grows down as it lands. */
	.js .fpl-about .fpl-about-approach__statement {
		border-left-color: transparent;
		transition: border-color 700ms ease 220ms, opacity 650ms ease var(--fpl-reveal-delay, 0ms), transform 650ms cubic-bezier(0.2, 0.7, 0, 1) var(--fpl-reveal-delay, 0ms);
	}

	.js .fpl-about .fpl-about-approach__statement.is-visible {
		border-left-color: var(--fpl-oxblood);
	}

	/* Offer rows nudge in from the seam on hover. */
	.js .fpl-about .fpl-about-offer__title,
	.js .fpl-about .fpl-about-offer__index {
		transition: transform 420ms cubic-bezier(0.2, 0.7, 0, 1), color 380ms ease;
	}
}

@media (hover: hover) {
	.fpl-about .fpl-about-offer__row:hover .fpl-about-offer__title,
	.fpl-about .fpl-about-offer__row:hover .fpl-about-offer__index {
		transform: translateX(8px);
	}
}

/* Respect reduced-motion for the decorative transitions. */
@media (prefers-reduced-motion: reduce) {
	.fpl-about .fpl-about-offer__row::after,
	.fpl-about .fpl-about-link,
	.fpl-about .fpl-about-link__icon,
	.fpl-about .fpl-about-offer__index {
		transition: none;
	}
}

.fpl-course-catalogue-intro,
.fpl-store-catalogue {
	padding-bottom: 78px;
}

.fpl-learning__grid {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fpl-learning__grid>div {
	border-left: 1px solid rgba(43, 32, 27, 0.28);
	min-height: 300px;
	padding: 20px 30px;
}

.fpl-learning__grid>div:first-child {
	border-left: 0;
	padding-left: 0;
}

.fpl-learning__grid h3 {
	font-size: 27px;
	margin: 80px 0 16px;
}

/* Store. */
.fpl-store-hero {
	background: var(--fpl-ink);
	color: #fff;
	height: calc(100svh - 84px);
	min-height: 680px;
	overflow: hidden;
	position: relative;
}

.fpl-store-hero>img,
.fpl-store-hero__overlay {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.fpl-store-hero>img {
	object-position: center 47%;
}

.fpl-store-hero__overlay {
	background: linear-gradient(90deg, rgba(8, 7, 6, 0.84), rgba(8, 7, 6, 0.16) 72%);
}

.fpl-store-hero__content {
	left: max(40px, calc((100% - 1200px) / 2));
	max-width: 700px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.fpl-store-hero h1 {
	color: #fff;
	font-size: 88px;
	margin-bottom: 28px;
}

.fpl-store-hero__content>p:last-child {
	font-family: var(--fpl-script);
	font-size: 25px;
}

.fpl-product-promise {
	background: var(--fpl-paper);
}

.fpl-product-promise figure {
	margin: 0;
}

.fpl-product-promise__list {
	border-top: 1px solid var(--fpl-line);
	margin-top: 48px;
}

.fpl-product-promise__list p {
	border-bottom: 1px solid var(--fpl-line);
	margin: 0;
	padding: 18px 0;
}

.fpl-product-promise__list span {
	display: inline-block;
	width: 50px;
}

/* Contact. */
.fpl-contact-hero {
	background: var(--fpl-cream);
	padding: 150px 0 130px;
}

.fpl-contact-hero h1 {
	font-size: 100px;
	margin-bottom: 46px;
}

.fpl-contact-hero h1 em {
	color: var(--fpl-oxblood);
	font-family: var(--fpl-script);
	font-weight: 400;
}

.fpl-contact-hero .fpl-lead {
	margin-left: auto;
	max-width: 670px;
}

.fpl-contact-details {
	background: var(--fpl-paper);
}

.fpl-contact-details__grid {
	display: grid;
	gap: 100px;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
}

.fpl-contact-details__primary>a {
	border-bottom: 1px solid var(--fpl-line);
	display: inline-block;
	font-family: var(--fpl-serif);
	font-size: 44px;
	line-height: 1.2;
	margin-bottom: 24px;
	padding-bottom: 10px;
}

.fpl-contact-details__list {
	border-top: 1px solid var(--fpl-line);
}

.fpl-contact-details__list>div {
	border-bottom: 1px solid var(--fpl-line);
	display: grid;
	font-family: var(--fpl-script);
	font-size: 21px;
	grid-template-columns: 100px 1fr;
	padding: 22px 0;
}

.fpl-contact-details__list span {
	font-family: var(--fpl-sans);
	font-size: 10px;
	font-weight: 600;
	padding-top: 7px;
	text-transform: uppercase;
}

.fpl-contact-details__list p {
	margin: 0;
}

.fpl-contact-image {
	background: var(--fpl-ink);
	color: #fff;
}

.fpl-contact-image>img {
	height: 72vh;
	min-height: 560px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.fpl-contact-image__caption {
	display: flex;
	font-size: 10px;
	justify-content: space-between;
	padding: 18px 40px;
	text-transform: uppercase;
}

.fpl-contact-note {
	text-align: center;
}

.fpl-contact-note .fpl-script {
	font-size: 46px;
	margin-bottom: 38px;
}

/* Global editorial footer. */
.fpl-brand-active .site-footer {
	background: var(--fpl-ink);
	color: #fff;
}

.fpl-editorial-footer {
	margin: 0 auto;
	max-width: 1440px;
	padding: 100px 54px 70px;
}

.fpl-editorial-footer__masthead {
	border-bottom: 1px solid var(--fpl-line-light);
	font-family: var(--fpl-serif);
	font-size: 73px;
	font-weight: 500;
	line-height: 1;
	padding-bottom: 38px;
}

.fpl-editorial-footer__grid {
	display: grid;
	gap: 70px;
	grid-template-columns: minmax(0, 1.2fr) 0.55fr 0.7fr;
	padding-top: 52px;
}

.fpl-editorial-footer__statement {
	font-family: var(--fpl-script);
	font-size: 26px;
	line-height: 1.4;
	max-width: 430px;
}

.fpl-editorial-footer nav,
.fpl-editorial-footer__contact {
	display: flex;
	flex-direction: column;
	font-size: 12px;
	gap: 12px;
}

.fpl-editorial-footer nav a:hover,
.fpl-editorial-footer__contact a:hover {
	color: #e3b6bd;
}

.fpl-editorial-footer .fpl-kicker {
	color: #c5b8ab;
	margin-bottom: 14px;
}

.fpl-editorial-footer__contact p {
	margin-bottom: 0;
}

.fpl-brand-active .site-footer-primary-section-1,
.fpl-brand-active .site-below-footer-wrap {
	border-color: var(--fpl-line-light);
}

.fpl-brand-active .footer-nav-wrap,
.fpl-brand-active .footer-widget-area[data-section="section-footer-menu"] {
	display: none;
}

.fpl-brand-active .site-primary-footer-wrap {
	display: none !important;
}

.fpl-brand-active .site-below-footer-wrap {
	background: var(--fpl-ink);
	border-top: 1px solid var(--fpl-line-light);
}

.fpl-brand-active .site-below-footer-wrap .ast-builder-grid-row {
	min-height: 66px;
}

.fpl-brand-active .ast-footer-copyright {
	color: #a99f96;
	font-size: 10px;
	text-transform: uppercase;
}

/* Motion. */
.js .fpl-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 650ms ease var(--fpl-reveal-delay, 0ms), transform 650ms cubic-bezier(0.2, 0.7, 0, 1) var(--fpl-reveal-delay, 0ms);
}

.js .fpl-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

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

	.fpl-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.fpl-course-card__image,
	.fpl-course-card__video {
		transition: none;
	}

	.fpl-lux-hero__scroll i::after {
		animation: none;
	}
}

@media (max-width: 1100px) {
	.fpl-section {
		padding: 110px 0;
	}

	.fpl-display {
		font-size: 54px;
	}

	.fpl-lux-hero h1 {
		font-size: 78px;
	}

	.fpl-editorial-about__grid {
		column-gap: 65px;
	}

	.fpl-editorial-about__copy .fpl-display {
		font-size: 50px;
	}

	.fpl-showcase__label h2 {
		font-size: 62px;
	}

	.fpl-editorial-cta h2 {
		font-size: 66px;
	}

	.fpl-page-hero h1,
	.fpl-course-hero h1 {
		font-size: 70px;
	}

	.fpl-page-hero--split,
	.fpl-course-hero {
		grid-template-columns: minmax(0, 1fr) minmax(390px, 0.8fr);
	}

	.fpl-manifesto__statement {
		font-size: 46px;
	}

	.fpl-method__grid,
	.fpl-product-promise__grid {
		gap: 65px;
	}

	.fpl-learning__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-learning__grid>div:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}

	.fpl-store-hero h1 {
		font-size: 74px;
	}

	.fpl-contact-hero h1 {
		font-size: 82px;
	}

	.fpl-contact-details__primary>a {
		font-size: 34px;
	}

	.fpl-editorial-footer__masthead {
		font-size: 58px;
	}
}

@media (max-width: 820px) {
	.fpl-shell {
		padding-left: 24px;
		padding-right: 24px;
	}

	.fpl-section {
		padding: 90px 0;
	}

	.fpl-brand-active .ast-builder-grid-row {
		padding-left: 24px;
		padding-right: 24px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 21px;
	}

	.fpl-display {
		font-size: 46px;
	}

	.fpl-lux-hero__content {
		margin-top: 72px;
		padding: 80px 24px;
	}

	.fpl-lux-hero h1 {
		font-size: 64px;
	}

	.fpl-lux-hero__shade {
		background: linear-gradient(90deg, rgba(7, 6, 5, 0.82), rgba(7, 6, 5, 0.26) 88%);
	}

	.fpl-editorial-about__grid {
		gap: 64px;
		grid-template-columns: 1fr;
	}

	.fpl-editorial-about__copy {
		padding: 0;
	}

	.fpl-editorial-about__media {
		margin-left: 0;
		min-width: 0;
		width: 100%;
	}

	.fpl-editorial-about__note {
		bottom: 34%;
		left: 2%;
	}

	.fpl-section-heading,
	.fpl-store-heading__grid {
		gap: 20px;
		grid-template-columns: 1fr;
	}

	.fpl-section-heading>p,
	.fpl-store-heading__copy {
		margin-bottom: 0;
		max-width: 620px;
		padding-bottom: 0;
	}

	.fpl-course-grid,
	.fpl-brand-active .woocommerce ul.products {
		gap: 48px 24px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-course-card:last-child,
	.fpl-brand-active .woocommerce ul.products li.product:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 12px);
	}

	.fpl-elementor-courses-grid,
	.fpl-elementor-products {
		padding-left: 24px;
		padding-right: 24px;
		padding-bottom: 100px;
	}

	.fpl-showcase__media img {
		height: 68vh;
		min-height: 560px;
	}

	.fpl-showcase__label {
		bottom: 36px;
		left: 24px;
	}

	.fpl-showcase__label h2 {
		font-size: 52px;
	}

	.fpl-showcase__caption {
		padding-left: 24px;
		padding-right: 24px;
	}

	.fpl-testimonials__grid {
		gap: 44px;
		grid-template-columns: 1fr;
	}

	.fpl-testimonials blockquote>p {
		margin-bottom: 28px;
	}

	.fpl-editorial-cta {
		padding: 110px 0;
	}

	.fpl-editorial-cta h2 {
		font-size: 56px;
	}

	.fpl-page-hero--split,
	.fpl-course-hero {
		grid-template-columns: 1fr;
	}

	.fpl-page-hero__copy,
	.fpl-course-hero__copy {
		padding: 100px 24px;
	}

	.fpl-page-hero__portrait,
	.fpl-course-hero__media {
		min-height: 740px;
	}

	.fpl-manifesto__statement {
		font-size: 39px;
	}

	.fpl-method__grid,
	.fpl-product-promise__grid {
		grid-template-columns: 1fr;
	}

	.fpl-method__image,
	.fpl-product-promise figure {
		margin: 0 15%;
	}

	.fpl-values__grid {
		gap: 52px;
		grid-template-columns: 1fr;
	}

	.fpl-values__grid span {
		margin-bottom: 24px;
	}

	.fpl-store-hero {
		min-height: 620px;
	}

	.fpl-store-hero__content {
		left: 24px;
		max-width: 610px;
		right: 24px;
	}

	.fpl-store-hero h1 {
		font-size: 66px;
	}

	.fpl-contact-hero {
		padding: 110px 0;
	}

	.fpl-contact-hero h1 {
		font-size: 68px;
	}

	.fpl-contact-details__grid {
		gap: 70px;
		grid-template-columns: 1fr;
	}

	.fpl-contact-image>img {
		height: 62vh;
		min-height: 500px;
	}

	.fpl-editorial-footer {
		padding: 80px 24px 56px;
	}

	.fpl-editorial-footer__masthead {
		font-size: 48px;
	}

	.fpl-editorial-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.fpl-editorial-footer__grid>div:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 560px) {
	body.fpl-brand-active {
		font-size: 15px;
	}

	.fpl-section {
		padding: 76px 0;
	}

	.fpl-kicker {
		margin-bottom: 22px;
	}

	.fpl-display {
		font-size: 39px;
	}

	.fpl-lead {
		font-size: 22px;
	}

	.fpl-brand-active .ast-primary-header-bar {
		min-height: 72px;
	}

	.fpl-lux-hero {
		min-height: 760px;
	}

	.fpl-lux-hero__image {
		object-position: 64% center;
	}

	.fpl-lux-hero__shade {
		background: linear-gradient(90deg, rgba(7, 6, 5, 0.86), rgba(7, 6, 5, 0.44) 100%);
	}

	.fpl-lux-hero__content {
		margin-top: 50px;
		padding-bottom: 100px;
		padding-top: 100px;
	}

	.fpl-lux-hero h1 {
		font-size: 50px;
	}

	.fpl-lux-hero__dek {
		font-size: 21px;
		max-width: 330px;
	}

	.fpl-lux-hero__actions {
		align-items: stretch;
		flex-direction: column;
		max-width: 250px;
	}

	.fpl-lux-hero__scroll {
		display: none;
	}

	.fpl-editorial-about__copy .fpl-display {
		font-size: 39px;
	}

	.fpl-editorial-about__copy .fpl-lead {
		font-size: 21px;
	}

	.fpl-editorial-about__media {
		margin-left: 0;
	}

	.fpl-editorial-about__note {
		display: none;
	}

	.fpl-course-grid,
	.fpl-brand-active .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.fpl-course-card:last-child,
	.fpl-brand-active .woocommerce ul.products li.product:last-child {
		grid-column: auto;
		width: auto;
	}

	.fpl-course-card h3,
	.fpl-brand-active .woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 27px;
	}

	.fpl-showcase__media img {
		height: 78vh;
		min-height: 600px;
		object-position: 34% center;
	}

	.fpl-showcase__label h2 {
		font-size: 42px;
	}

	.fpl-showcase__caption p:last-child {
		display: none;
	}

	.fpl-testimonials blockquote>p {
		font-size: 25px;
	}

	.fpl-editorial-cta {
		padding: 86px 0;
	}

	.fpl-editorial-cta h2 {
		font-size: 43px;
	}

	.fpl-editorial-cta__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.fpl-page-hero h1,
	.fpl-course-hero h1 {
		font-size: 50px;
	}

	.fpl-page-hero__copy,
	.fpl-course-hero__copy {
		padding-bottom: 76px;
		padding-top: 80px;
	}

	.fpl-page-hero__portrait,
	.fpl-course-hero__media {
		min-height: 570px;
	}

	.fpl-page-hero__portrait img {
		object-position: 56% center;
	}

	.fpl-manifesto__statement {
		font-size: 32px;
		margin-top: 34px;
	}

	.fpl-method__image,
	.fpl-product-promise figure {
		margin: 0;
	}

	.fpl-learning__grid {
		grid-template-columns: 1fr;
	}

	.fpl-learning__grid>div,
	.fpl-learning__grid>div:nth-child(3) {
		border-bottom: 1px solid rgba(43, 32, 27, 0.28);
		border-left: 0;
		min-height: 0;
		padding: 24px 0 38px;
	}

	.fpl-learning__grid h3 {
		margin: 45px 0 14px;
	}

	.fpl-store-hero {
		height: 78vh;
		min-height: 650px;
	}

	.fpl-store-hero>img {
		object-position: 44% center;
	}

	.fpl-store-hero__overlay {
		background: rgba(8, 7, 6, 0.64);
	}

	.fpl-store-hero h1 {
		font-size: 52px;
	}

	.fpl-contact-hero {
		padding: 86px 0;
	}

	.fpl-contact-hero h1 {
		font-size: 52px;
	}

	.fpl-contact-details__primary>a {
		font-size: 25px;
		overflow-wrap: anywhere;
	}

	.fpl-contact-details__list>div {
		grid-template-columns: 84px 1fr;
	}

	.fpl-contact-image>img {
		height: 64vh;
		min-height: 530px;
		object-position: 65% center;
	}

	.fpl-contact-image__caption {
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-contact-note .fpl-script {
		font-size: 36px;
	}

	.fpl-editorial-footer__masthead {
		font-size: 37px;
	}

	.fpl-editorial-footer__grid {
		gap: 46px;
		grid-template-columns: 1fr;
	}

	.fpl-editorial-footer__grid>div:first-child {
		grid-column: auto;
	}
}

/* 1.1 restrained editorial revision. */
.fpl-brand-active .fpl-kicker {
	color: #625951;
	font-size: 10px;
	gap: 0;
	margin-bottom: 20px;
}

.fpl-brand-active .fpl-kicker::before {
	display: none;
}

.fpl-brand-active .fpl-kicker--light {
	color: #d8d0c7;
}

.fpl-section {
	padding: 140px 0;
}

.fpl-brand-active .fpl-display {
	font-size: 50px;
	line-height: 1.08;
}

.fpl-brand-active a.fpl-button {
	color: #fff !important;
}

.fpl-brand-active a.fpl-button--light {
	color: var(--fpl-ink) !important;
}

.fpl-brand-active a.fpl-button--ghost-light {
	color: #fff !important;
}

.admin-bar.fpl-brand-home .site-header {
	top: 32px;
}

.fpl-lux-hero__content {
	max-width: 1200px;
}

.fpl-lux-hero h1 {
	font-size: 78px;
	max-width: 610px;
}

.fpl-lux-hero__dek {
	font-family: var(--fpl-sans);
	font-size: 18px;
	line-height: 1.6;
	max-width: 500px;
}

.fpl-editorial-about__grid {
	column-gap: 80px;
	grid-template-columns: minmax(0, 1fr) minmax(330px, 0.68fr);
}

.fpl-editorial-about__copy .fpl-display {
	font-size: 46px;
}

.fpl-editorial-about__copy .fpl-lead {
	font-family: var(--fpl-sans);
	font-size: 17px;
	line-height: 1.7;
}

.fpl-editorial-about__media img {
	aspect-ratio: 4 / 5;
}

.fpl-editorial-about__note {
	display: none;
}

.fpl-section-heading {
	gap: 60px;
}

.fpl-section-heading>p,
.fpl-store-heading__copy {
	font-family: var(--fpl-sans);
	font-size: 16px;
	line-height: 1.7;
}

.fpl-courses-heading,
.fpl-course-catalogue-intro,
.fpl-store-catalogue,
.fpl-store-heading {
	padding-bottom: 56px !important;
}

.fpl-course-grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.fpl-course-card:nth-child(1) {
	grid-column: span 5;
}

.fpl-course-card:nth-child(2) {
	grid-column: span 4;
}

.fpl-course-card:nth-child(3) {
	grid-column: span 3;
}

.fpl-course-card h3 {
	font-size: 27px;
}

.fpl-course-card__arrow::before {
	content: "\2197";
}

.fpl-elementor-courses-grid,
.fpl-elementor-products {
	padding-bottom: 96px;
}

.fpl-store-heading__grid {
	gap: 70px;
}

.fpl-showcase__media img {
	height: 68vh;
	min-height: 520px;
}

.fpl-showcase__label h2 {
	font-size: 52px;
}

.fpl-testimonials__grid {
	grid-template-columns: 1.35fr 0.825fr 0.825fr;
}

.fpl-testimonials blockquote>p {
	font-size: 22px;
	margin-bottom: 32px;
}

.fpl-testimonials blockquote:first-child>p {
	font-size: 31px;
}

.fpl-brand-active .fpl-editorial-cta {
	background: var(--fpl-ink);
	padding-bottom: 82px;
	padding-top: 82px;
}

.fpl-editorial-cta .fpl-shell {
	align-items: end;
	display: grid;
	gap: 30px 60px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.fpl-editorial-cta .fpl-kicker {
	grid-column: 1 / -1;
	margin-bottom: 0;
}

.fpl-editorial-cta h2 {
	font-size: 52px;
	margin: 0;
}

.fpl-editorial-cta h2 em {
	font-family: inherit;
	font-style: normal;
	font-weight: inherit;
}

.fpl-editorial-cta--cream {
	background: var(--fpl-paper) !important;
	border-top: 1px solid var(--fpl-line);
}

.fpl-page-hero--split,
.fpl-course-hero {
	min-height: 680px;
}

.fpl-page-hero h1,
.fpl-course-hero h1,
.fpl-contact-hero h1 {
	font-size: 64px;
}

.fpl-page-hero__copy .fpl-lead,
.fpl-course-hero__copy .fpl-lead {
	font-family: var(--fpl-sans);
	font-size: 17px;
	line-height: 1.7;
}

.fpl-page-hero__portrait,
.fpl-course-hero__media {
	min-height: 680px;
}

.fpl-manifesto__statement {
	font-size: 40px;
	max-width: 900px;
}

.fpl-method__grid,
.fpl-product-promise__grid {
	gap: 72px;
}

.fpl-store-hero h1 {
	font-size: 68px;
}

.fpl-store-hero__content>p:last-child {
	font-family: var(--fpl-sans);
	font-size: 17px;
}

.fpl-contact-hero {
	padding-bottom: 96px;
	padding-top: 96px;
}

.fpl-contact-hero h1 {
	font-size: 70px;
}

.fpl-contact-hero h1 em {
	font-family: inherit;
	font-style: normal;
}

.fpl-contact-hero .fpl-lead {
	font-family: var(--fpl-sans);
	font-size: 17px;
	line-height: 1.7;
}

.fpl-contact-note .fpl-script {
	font-family: var(--fpl-serif);
	font-size: 35px;
	font-style: normal;
}

.fpl-editorial-footer {
	padding-bottom: 48px;
	padding-top: 62px;
}

.fpl-editorial-footer__masthead {
	font-size: 42px;
	padding-bottom: 24px;
}

.fpl-editorial-footer__grid {
	gap: 50px;
	padding-top: 34px;
}

.fpl-editorial-footer__statement {
	font-family: var(--fpl-sans);
	font-size: 15px;
	line-height: 1.65;
	max-width: 360px;
}

/* Custom Pattern presentation. */
.fpl-custom-hero {
	background: var(--fpl-paper);
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.75fr);
	min-height: 700px;
}

.fpl-custom-hero__copy {
	align-self: center;
	max-width: 800px;
	padding: 90px 72px 90px max(40px, calc((100vw - 1280px) / 2 + 40px));
}

.fpl-custom-hero h1 {
	font-size: 64px;
	margin-bottom: 30px;
}

.fpl-custom-hero .fpl-lead {
	font-family: var(--fpl-sans);
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 34px;
	max-width: 580px;
}

.fpl-custom-hero figure {
	margin: 0;
	min-height: 700px;
}

.fpl-custom-hero figure img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fpl-custom-scope__intro {
	align-items: end;
	display: grid;
	gap: 70px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.55fr);
	margin-bottom: 62px;
}

.fpl-custom-scope__intro .fpl-display,
.fpl-custom-scope__intro p {
	margin-bottom: 0;
}

.fpl-custom-scope__rows {
	border-top: 1px solid var(--fpl-line);
}

.fpl-custom-scope__rows>div {
	align-items: baseline;
	border-bottom: 1px solid var(--fpl-line);
	display: grid;
	gap: 30px;
	grid-template-columns: 40px minmax(240px, 0.55fr) 1fr;
	padding: 28px 0;
}

.fpl-custom-scope__rows span {
	color: #746a62;
	font-size: 10px;
}

.fpl-custom-scope__rows h3 {
	font-size: 25px;
	margin-bottom: 0;
}

.fpl-custom-scope__rows p {
	margin-bottom: 0;
}

.fpl-custom-process {
	background: var(--fpl-beige);
	display: grid;
	grid-template-columns: minmax(420px, 0.9fr) minmax(0, 1.1fr);
}

.fpl-custom-process figure {
	margin: 0;
	min-height: 650px;
}

.fpl-custom-process figure img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fpl-custom-process__copy {
	align-self: center;
	max-width: 720px;
	padding: 80px;
}

.fpl-custom-process__copy h2 {
	font-size: 45px;
	margin-bottom: 28px;
}

.fpl-custom-process__copy>p:not(.fpl-kicker) {
	margin-bottom: 30px;
	max-width: 580px;
}

@media (max-width: 820px) {
	.admin-bar.fpl-brand-home .site-header {
		top: 46px;
	}

	.fpl-brand-active .fpl-section {
		padding-bottom: 78px;
		padding-top: 78px;
	}

	.fpl-course-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-course-card:nth-child(1),
	.fpl-course-card:nth-child(2) {
		grid-column: auto;
	}

	.fpl-course-card:nth-child(3) {
		grid-column: 1 / -1;
		width: calc(50% - 12px);
	}

	.fpl-editorial-cta .fpl-shell {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.fpl-editorial-cta h2 {
		font-size: 46px;
	}

	.fpl-page-hero--split,
	.fpl-course-hero {
		min-height: 0;
	}

	.fpl-custom-hero,
	.fpl-custom-process {
		grid-template-columns: 1fr;
	}

	.fpl-custom-hero__copy {
		padding: 90px 24px;
	}

	.fpl-custom-hero figure {
		min-height: 650px;
	}

	.fpl-custom-scope__intro {
		gap: 24px;
		grid-template-columns: 1fr;
	}

	.fpl-custom-scope__rows>div {
		grid-template-columns: 36px 1fr;
	}

	.fpl-custom-scope__rows p {
		grid-column: 2;
	}

	.fpl-custom-process figure {
		min-height: 560px;
	}

	.fpl-custom-process__copy {
		padding: 70px 24px;
	}
}

@media (max-width: 560px) {
	.fpl-brand-active .fpl-section {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.fpl-brand-active .fpl-display {
		font-size: 37px;
	}

	.fpl-lux-hero h1 {
		font-size: 48px;
	}

	.fpl-lux-hero__content {
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.fpl-lux-hero__dek {
		font-size: 16px;
		max-width: 310px;
		overflow-wrap: anywhere;
		white-space: normal;
		width: 100%;
	}

	.fpl-brand-active .ast-builder-grid-row {
		grid-template-columns: minmax(0, 1fr) auto;
		max-width: 100%;
		width: 100%;
	}

	.fpl-brand-active .ast-builder-layout-element {
		min-width: 0;
	}

	.fpl-brand-active [data-section="section-header-mobile-trigger"] {
		display: flex !important;
		justify-content: flex-end;
	}

	.fpl-brand-home .ast-mobile-menu-trigger-minimal {
		color: #fff !important;
		display: flex !important;
	}

	.fpl-brand-home .ast-mobile-menu-trigger-minimal .ast-mobile-svg {
		fill: #fff !important;
	}

	.fpl-course-grid {
		grid-template-columns: 1fr;
	}

	.fpl-course-card:nth-child(3) {
		grid-column: auto;
		width: auto;
	}

	.fpl-showcase__label h2 {
		font-size: 38px;
	}

	.fpl-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.fpl-testimonials blockquote:first-child>p {
		font-size: 27px;
	}

	.fpl-editorial-cta h2 {
		font-size: 38px;
	}

	.fpl-page-hero h1,
	.fpl-course-hero h1,
	.fpl-contact-hero h1 {
		font-size: 46px;
	}

	.fpl-manifesto__statement {
		font-size: 30px;
	}

	.fpl-editorial-footer__masthead {
		font-size: 32px;
	}

	.fpl-custom-hero {
		min-height: 0;
	}

	.fpl-custom-hero h1 {
		font-size: 43px;
	}

	.fpl-custom-hero figure {
		min-height: 540px;
	}

	.fpl-custom-process figure {
		min-height: 500px;
	}

	.fpl-custom-process__copy h2 {
		font-size: 36px;
	}
}

/* 1.2 identity and founder refresh. */
.fpl-brand-active .site-branding,
.fpl-brand-active .ast-site-identity {
	align-items: center;
	display: flex;
	gap: 14px;
	min-width: 0;
}

.fpl-brand-active .site-branding::before {
	background: transparent url("/wp-content/uploads/fpl-brand/fashion-pattern-lab-logo.png?fplv=20260717-black-logo") center / contain no-repeat;
	border: 0;
	border-radius: 50%;
	content: "";
	display: block;
	flex: 0 0 46px;
	height: 46px;
	width: 46px;
}

.fpl-brand-active .ast-site-identity {
	padding: 0;
}

.fpl-brand-active .custom-logo-link {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 50%;
	display: inline-flex;
	flex: 0 0 auto;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.fpl-brand-active .custom-logo-link {
	display: none !important;
}

.fpl-brand-active .custom-logo-link img,
.fpl-brand-active .custom-logo {
	height: 30px;
	max-height: 30px;
	object-fit: contain;
	width: 30px;
}

.fpl-brand-active .site-title {
	white-space: nowrap;
}

.fpl-brand-home .custom-logo-link {
	background: transparent;
	border-color: transparent;
}

.fpl-brand-home .site-branding::before {
	border-color: transparent;
}

.fpl-brand-active .fpl-lux-hero__scroll {
	display: none !important;
}

.fpl-brand-active .fpl-home-cta,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta {
	background: var(--fpl-paper) !important;
	border-bottom: 1px solid var(--fpl-line);
	border-top: 1px solid var(--fpl-line);
	color: var(--fpl-brown);
}

.fpl-brand-active .fpl-home-cta .fpl-kicker,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-kicker {
	color: var(--fpl-oxblood);
}

.fpl-brand-active .fpl-home-cta a.fpl-button,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta a.fpl-button {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: #fff !important;
}

.fpl-brand-active .fpl-home-cta .fpl-text-link,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-text-link {
	color: var(--fpl-brown) !important;
}

.fpl-founder {
	background: var(--fpl-paper);
	border-top: 1px solid var(--fpl-line);
}

.fpl-founder__grid {
	align-items: center;
	display: grid;
	gap: 90px;
	grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
}

.fpl-founder__portrait {
	margin: 0;
	position: relative;
}

.fpl-founder__portrait::before {
	border: 1px solid var(--fpl-line);
	content: "";
	inset: 18px -18px -18px 18px;
	position: absolute;
}

.fpl-founder__portrait img {
	aspect-ratio: 1;
	background: #ddd5cc;
	object-fit: cover;
	position: relative;
	width: 100%;
}

.fpl-founder__portrait figcaption {
	font-size: 10px;
	margin-top: 16px;
	text-align: right;
	text-transform: uppercase;
}

.fpl-founder__copy {
	max-width: 780px;
}

.fpl-founder__role {
	border-bottom: 1px solid var(--fpl-line);
	color: #6b5f56;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 30px;
	padding-bottom: 20px;
	text-transform: uppercase;
}

.fpl-founder__bio {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fpl-founder__bio p {
	margin-bottom: 0;
}

.fpl-founder blockquote {
	border-left: 1px solid var(--fpl-brown);
	font-family: var(--fpl-script);
	font-size: 29px;
	line-height: 1.3;
	margin: 38px 0 0;
	padding-left: 28px;
}

.fpl-founder__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 26px;
	margin-top: 34px;
}

.fpl-team {
	background: var(--fpl-cream);
	border-top: 1px solid var(--fpl-line);
}

.fpl-team__intro {
	align-items: end;
	display: grid;
	gap: 60px;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.5fr);
	margin-bottom: 58px;
}

.fpl-team__intro .fpl-kicker {
	grid-column: 1 / -1;
	margin-bottom: -36px;
}

.fpl-team__intro .fpl-display,
.fpl-team__intro p:last-child {
	margin-bottom: 0;
}

.fpl-team__grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fpl-team-card {
	background: var(--fpl-paper);
	border: 1px solid var(--fpl-line);
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 100%;
}

.fpl-team-card img {
	aspect-ratio: 4 / 4.7;
	object-fit: cover;
	width: 100%;
}

.fpl-team-card>div {
	padding: 26px;
}

.fpl-team-card span {
	color: #7a6c61;
	display: block;
	font-size: 10px;
	font-weight: 600;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.fpl-team-card h3 {
	font-size: 29px;
	margin-bottom: 16px;
}

.fpl-team-card p {
	margin-bottom: 0;
}

.fpl-contact-social,
.fpl-editorial-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 24px;
}

.fpl-contact-social a,
.fpl-editorial-footer__social a {
	border-bottom: 1px solid currentColor;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.6;
	text-transform: uppercase;
}

.fpl-contact-social a {
	align-items: center;
	background: #fbf8f2;
	border: 1px solid rgba(128, 103, 68, 0.28) !important;
	border-radius: 50%;
	display: inline-flex;
	height: 42px;
	justify-content: center;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
	width: 42px;
}

.fpl-contact-social a:hover,
.fpl-contact-social a:focus-visible {
	background: var(--fpl-brown);
	border-color: var(--fpl-brown) !important;
	color: #fff;
	transform: translateY(-2px);
}

.fpl-contact-social__icon {
	fill: none;
	height: 22px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 22px;
}

.fpl-contact-social__dot {
	fill: currentColor;
	stroke: none;
}

.fpl-editorial-footer__brand {
	align-items: center;
	border-bottom: 1px solid var(--fpl-line-light);
	display: flex;
	gap: 18px;
	padding-bottom: 24px;
}

.fpl-editorial-footer__mark {
	align-items: center;
	background: transparent;
	display: inline-flex;
	flex: 0 0 auto;
	height: 54px;
	justify-content: center;
	width: 54px;
}

.fpl-editorial-footer__mark img {
	height: 54px;
	object-fit: contain;
	width: 54px;
}

.fpl-editorial-footer__brand .fpl-editorial-footer__masthead {
	border-bottom: 0;
	padding-bottom: 0;
}

@media (max-width: 820px) {
	.fpl-founder__grid {
		gap: 64px;
		grid-template-columns: 1fr;
	}

	.fpl-founder__portrait {
		max-width: 520px;
	}

	.fpl-founder__bio {
		grid-template-columns: 1fr;
	}

	.fpl-team__intro,
	.fpl-team__grid {
		grid-template-columns: 1fr;
	}

	.fpl-team__intro {
		gap: 24px;
	}

	.fpl-team__intro .fpl-kicker {
		margin-bottom: 0;
	}

	.fpl-editorial-footer__brand {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.fpl-brand-active .custom-logo-link {
		height: 38px;
		width: 38px;
	}

	.fpl-brand-active .site-branding::before {
		background-size: contain;
		flex-basis: 38px;
		height: 38px;
		width: 38px;
	}

	.fpl-brand-active .custom-logo-link img,
	.fpl-brand-active .custom-logo {
		height: 25px;
		max-height: 25px;
		width: 25px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 18px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.fpl-founder__portrait::before {
		inset: 12px -12px -12px 12px;
	}

	.fpl-founder blockquote {
		font-size: 24px;
		padding-left: 20px;
	}

	.fpl-founder__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.fpl-editorial-footer__mark {
		height: 46px;
		width: 46px;
	}

	.fpl-editorial-footer__mark img {
		height: 46px;
		width: 46px;
	}
}

/* 1.2.2 testimonial alignment and homepage CTA polish. */
.fpl-brand-active .fpl-testimonials__grid {
	align-items: stretch;
	display: grid;
	grid-auto-rows: 1fr;
}

.fpl-brand-active .fpl-testimonials blockquote {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
	min-height: 260px;
}

.fpl-brand-active .fpl-testimonials blockquote>p {
	margin-bottom: 34px;
}

.fpl-brand-active .fpl-testimonials blockquote footer {
	align-self: end;
	margin-top: auto;
}

.fpl-brand-active .fpl-home-cta,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta {
	background: var(--fpl-paper) !important;
	color: var(--fpl-brown) !important;
	padding-bottom: 108px !important;
	padding-top: 108px !important;
}

.fpl-brand-active .fpl-home-cta .fpl-shell,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-shell {
	align-items: center;
	gap: 28px 60px;
}

.fpl-brand-active .fpl-home-cta h2,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta h2 {
	color: var(--fpl-brown) !important;
	font-size: clamp(38px, 5vw, 66px);
	line-height: 1.04;
	max-width: 860px;
}

.fpl-brand-active .fpl-home-cta .fpl-kicker,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-kicker {
	color: var(--fpl-oxblood) !important;
}

.fpl-brand-active .fpl-home-cta .fpl-editorial-cta__actions,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-editorial-cta__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px 28px;
	justify-content: flex-end;
}

@media (max-width: 820px) {
	.fpl-brand-active .fpl-testimonials__grid {
		grid-auto-rows: auto;
	}

	.fpl-brand-active .fpl-testimonials blockquote {
		min-height: 0;
	}

	.fpl-brand-active .fpl-home-cta .fpl-shell,
	.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-shell {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.fpl-brand-active .fpl-home-cta .fpl-editorial-cta__actions,
	.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-editorial-cta__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 560px) {

	.fpl-brand-active .fpl-home-cta,
	.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta {
		padding-bottom: 76px !important;
		padding-top: 76px !important;
	}

	.fpl-brand-active .fpl-home-cta .fpl-editorial-cta__actions,
	.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-editorial-cta__actions {
		align-items: stretch;
		flex-direction: column;
		max-width: 270px;
	}
}

/* 1.2.3 final testimonial card normalization. */
.fpl-brand-active .fpl-testimonials__grid {
	align-items: stretch !important;
	display: grid !important;
	gap: 28px !important;
	grid-auto-rows: 1fr !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin-top: 52px;
}

.fpl-brand-active .fpl-testimonials blockquote {
	background: var(--fpl-paper);
	border: 1px solid var(--fpl-line);
	display: flex !important;
	flex-direction: column;
	height: 100%;
	margin: 0 !important;
	min-height: 286px;
	padding: 32px !important;
	width: 100%;
}

.fpl-brand-active .fpl-testimonials blockquote>p,
.fpl-brand-active .fpl-testimonials blockquote:first-child>p {
	font-size: 24px !important;
	line-height: 1.36;
	margin-bottom: 32px !important;
}

.fpl-brand-active .fpl-testimonials blockquote footer {
	border-top: 1px solid var(--fpl-line);
	margin-top: auto;
	padding-top: 20px;
}

.fpl-brand-active .fpl-home-cta h2,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta h2 {
	color: var(--fpl-brown) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.fpl-brand-active .fpl-home-cta .fpl-reveal,
.fpl-brand-home .fpl-elementor-cta .fpl-editorial-cta .fpl-reveal {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

@media (max-width: 920px) {
	.fpl-brand-active .fpl-testimonials__grid {
		grid-template-columns: 1fr !important;
	}

	.fpl-brand-active .fpl-testimonials blockquote {
		min-height: 0;
	}
}

/* 1.2.5 courses and student dashboard page refinement. */
.fpl-courses-hero {
	background: var(--fpl-paper);
	border-bottom: 1px solid var(--fpl-line);
	overflow: hidden;
	padding: clamp(76px, 8vw, 124px) 0 0;
}

.fpl-courses-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(42px, 7vw, 96px);
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1fr);
}

.fpl-courses-hero__copy h1 {
	font-size: clamp(58px, 7vw, 108px);
	letter-spacing: 0;
	line-height: 0.94;
	margin: 0 0 34px;
	max-width: 820px;
}

.fpl-courses-hero__copy .fpl-lead {
	font-family: var(--fpl-sans);
	font-size: 18px;
	line-height: 1.75;
	max-width: 610px;
}

.fpl-courses-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 22px 30px;
	margin-top: 38px;
}

.fpl-courses-hero__media {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: repeat(8, 72px);
	min-height: 620px;
}

.fpl-courses-hero__image {
	background: var(--fpl-ink);
	margin: 0;
	overflow: hidden;
	position: relative;
}

.fpl-courses-hero__image img {
	height: 100%;
	object-fit: cover;
	transition: transform 900ms ease;
	width: 100%;
}

.fpl-courses-hero__image:hover img {
	transform: scale(1.035);
}

.fpl-courses-hero__image figcaption {
	background: rgba(9, 8, 7, 0.78);
	bottom: 0;
	color: #fff;
	font-family: var(--fpl-sans);
	font-size: 11px;
	font-weight: 700;
	left: 0;
	letter-spacing: 0.12em;
	padding: 11px 13px;
	position: absolute;
	text-transform: uppercase;
}

.fpl-courses-hero__image--primary {
	grid-column: 1 / 8;
	grid-row: 1 / 8;
}

.fpl-courses-hero__image--small {
	grid-column: 8 / 13;
	grid-row: 2 / 5;
}

.fpl-courses-hero__image--wide {
	grid-column: 7 / 13;
	grid-row: 5 / 9;
}

.fpl-courses-hero__meta {
	border-top: 1px solid var(--fpl-line);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(56px, 7vw, 88px);
}

.fpl-courses-hero__meta span {
	border-left: 1px solid var(--fpl-line);
	color: #746a62;
	display: grid;
	font-size: 12px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.11em;
	min-height: 112px;
	padding: 24px 26px;
	text-transform: uppercase;
}

.fpl-courses-hero__meta span:first-child {
	border-left: 0;
}

.fpl-courses-hero__meta strong {
	color: var(--fpl-brown);
	font-family: var(--fpl-serif);
	font-size: 31px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	text-transform: none;
}

.fpl-brand-courses .fpl-course-catalogue-intro {
	background: var(--fpl-paper);
	padding-bottom: 76px !important;
	padding-top: 104px;
}

.fpl-course-catalogue-intro__grid {
	align-items: end;
	display: grid;
	gap: 40px 90px;
	grid-template-columns: minmax(0, 0.95fr) minmax(340px, 0.55fr);
}

.fpl-course-catalogue-intro__grid .fpl-display {
	margin-bottom: 0;
	max-width: 720px;
}

.fpl-course-catalogue-intro__copy {
	font-family: var(--fpl-sans);
	font-size: 16px;
	line-height: 1.75;
}

.fpl-course-catalogue-intro__copy div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.fpl-course-catalogue-intro__copy span {
	border: 1px solid var(--fpl-line);
	color: #5c5149;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	padding: 9px 12px;
	text-transform: uppercase;
}

.fpl-brand-courses .fpl-elementor-courses-catalogue {
	background: var(--fpl-ink);
	padding: 0;
}

.fpl-brand-courses .fpl-course-grid {
	align-items: stretch;
	gap: 30px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 40px;
}

.fpl-brand-courses .fpl-course-card,
.fpl-brand-courses .fpl-course-card:nth-child(1),
.fpl-brand-courses .fpl-course-card:nth-child(2),
.fpl-brand-courses .fpl-course-card:nth-child(3) {
	grid-column: auto !important;
	width: auto !important;
}

.fpl-brand-courses .fpl-course-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 4 / 5;
	height: auto;
}

.fpl-brand-courses .fpl-course-card__image {
	height: 100%;
	object-fit: cover;
}

.fpl-brand-courses .fpl-course-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 178px;
	padding-top: 28px;
}

.fpl-brand-courses .fpl-course-card h3 {
	color: #fff;
	font-size: clamp(28px, 2.6vw, 38px);
	line-height: 1.04;
}

.fpl-brand-courses .fpl-course-card__meta,
.fpl-brand-courses .fpl-text-link {
	color: rgba(255, 255, 255, 0.76);
}

.fpl-brand-courses .fpl-text-link {
	margin-top: auto;
	padding-top: 24px;
}

.fpl-course-method {
	background: var(--fpl-beige);
}

.fpl-course-method__heading {
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
	margin-bottom: 64px;
}

.fpl-course-method__heading h2 {
	font-size: clamp(38px, 4.8vw, 70px);
	line-height: 1.02;
	margin: 0;
	max-width: 980px;
}

.fpl-course-method__rows {
	border-top: 1px solid rgba(43, 32, 27, 0.28);
}

.fpl-course-method__rows>div {
	align-items: baseline;
	border-bottom: 1px solid rgba(43, 32, 27, 0.28);
	display: grid;
	gap: 28px;
	grid-template-columns: 54px minmax(250px, 0.45fr) minmax(0, 1fr);
	padding: 30px 0;
}

.fpl-course-method__rows span {
	color: var(--fpl-oxblood);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.fpl-course-method__rows h3 {
	font-size: 31px;
	margin: 0;
}

.fpl-course-method__rows p {
	font-family: var(--fpl-sans);
	line-height: 1.7;
	margin: 0;
	max-width: 650px;
}

.fpl-course-cta {
	background: var(--fpl-paper);
	border-bottom: 1px solid var(--fpl-line);
	border-top: 1px solid var(--fpl-line);
	color: var(--fpl-brown);
	padding: clamp(76px, 9vw, 118px) 0;
}

.fpl-course-cta__grid {
	align-items: center;
	display: grid;
	gap: 30px 54px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr) auto;
}

.fpl-course-cta h2 {
	color: var(--fpl-brown);
	font-size: clamp(42px, 5.4vw, 72px);
	line-height: 1.02;
	margin: 0;
}

.fpl-course-cta p:not(.fpl-kicker) {
	font-family: var(--fpl-sans);
	line-height: 1.7;
	margin: 0;
}

.fpl-student-hero {
	background: var(--fpl-ink);
	color: #fff;
	overflow: hidden;
	padding: clamp(72px, 8vw, 116px) 0 0;
}

.fpl-student-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(40px, 6vw, 86px);
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 0.72fr);
}

.fpl-student-hero__copy h1 {
	color: #fff;
	font-size: clamp(50px, 6.2vw, 94px);
	line-height: 0.98;
	margin: 0 0 32px;
	max-width: 930px;
}

.fpl-student-hero__copy p:not(.fpl-kicker) {
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--fpl-sans);
	font-size: 18px;
	line-height: 1.72;
	max-width: 620px;
}

.fpl-student-hero__media {
	margin: 0;
	position: relative;
}

.fpl-student-hero__media img {
	aspect-ratio: 4 / 5;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fpl-student-hero__media figcaption {
	background: var(--fpl-paper);
	bottom: 28px;
	color: var(--fpl-brown);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	padding: 12px 16px;
	position: absolute;
	right: 28px;
	text-transform: uppercase;
}

.fpl-student-hero__stats {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 76px;
}

.fpl-student-hero__stats span {
	border-left: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.72);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	min-height: 94px;
	padding: 28px 24px;
	text-transform: uppercase;
}

.fpl-student-hero__stats span:first-child {
	border-left: 0;
}

.fpl-student-access-intro {
	background: var(--fpl-paper);
	padding: 88px 0 34px;
	text-align: center;
}

.fpl-student-access-intro h2 {
	font-size: clamp(38px, 4.8vw, 66px);
	line-height: 1.05;
	margin: 0 auto 22px;
	max-width: 800px;
}

.fpl-student-access-intro p:not(.fpl-kicker) {
	font-family: var(--fpl-sans);
	line-height: 1.75;
	margin: 0 auto;
	max-width: 640px;
}

.fpl-brand-student-dashboard .fpl-elementor-student-dashboard-access {
	background: var(--fpl-paper);
	padding: 24px 24px 102px;
}

.fpl-brand-student-dashboard #content.site-content {
	background: var(--fpl-paper);
}

.fpl-brand-student-dashboard #content>.ast-container {
	display: block;
	max-width: 100%;
	padding: 24px 24px 104px;
}

.fpl-brand-student-dashboard .fpl-elementor-student-dashboard-access .elementor-shortcode {
	margin: 0 auto;
	max-width: 760px;
}

.fpl-brand-student-dashboard .tutor-wrap.tutor-page-wrap {
	margin: 0 auto;
	max-width: 760px;
	padding: 0;
}

.fpl-brand-student-dashboard .tutor-template-segment.tutor-login-wrap {
	background: #fffaf3;
	border: 1px solid var(--fpl-line);
	box-shadow: 0 26px 70px rgba(43, 32, 27, 0.08);
	margin: 0;
	padding: clamp(32px, 4vw, 56px);
}

.fpl-brand-student-dashboard .tutor-login-form-wrapper {
	max-width: none;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-login-form-wrapper>.tutor-fs-5 {
	color: var(--fpl-brown) !important;
	font-family: var(--fpl-serif);
	font-size: clamp(31px, 3.8vw, 48px) !important;
	font-weight: 500;
	line-height: 1.05;
	margin-bottom: 34px !important;
}

.fpl-brand-student-dashboard #tutor-login-form .tutor-form-control {
	background: #fff;
	border: 1px solid rgba(43, 32, 27, 0.18);
	border-radius: 0;
	box-shadow: none;
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 16px;
	height: 58px;
	padding: 15px 18px;
}

.fpl-brand-student-dashboard #tutor-login-form .tutor-form-control:focus {
	border-color: var(--fpl-brown);
}

.fpl-brand-student-dashboard .tutor-form-check-input {
	border-radius: 0 !important;
	box-shadow: none !important;
	height: 22px;
	width: 22px;
}

.fpl-brand-student-dashboard .tutor-form-check label,
.fpl-brand-student-dashboard .tutor-btn-ghost,
.fpl-brand-student-dashboard .tutor-btn-link {
	color: #4f463f !important;
	font-family: var(--fpl-sans);
	font-size: 15px !important;
}

.fpl-brand-student-dashboard .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-student-dashboard button.tutor-btn {
	background: #eee6da !important;
	border: 1px solid #d8cec1 !important;
	border-radius: 0 !important;
	color: #241914 !important;
	font-family: var(--fpl-sans);
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em;
	min-height: 58px;
	text-transform: uppercase;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-btn-link {
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 5px;
}

.fpl-brand-student-dashboard .tutor-dashboard {
	background: #fffaf3;
	border: 1px solid var(--fpl-line);
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(22px, 3vw, 36px);
}

.fpl-brand-student-dashboard .tutor-dashboard-left-menu {
	background: var(--fpl-ink);
	border-radius: 0;
	padding: 16px;
}

.fpl-brand-student-dashboard .tutor-dashboard-left-menu a {
	color: rgba(255, 255, 255, 0.78);
}

.fpl-brand-student-dashboard .tutor-dashboard-content {
	background: #fff;
	border: 1px solid var(--fpl-line);
	padding: clamp(22px, 3vw, 36px);
}

.fpl-student-support {
	background: var(--fpl-beige);
	padding-top: 88px !important;
}

.fpl-student-support__grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fpl-student-support__grid a {
	background: var(--fpl-paper);
	border: 1px solid rgba(43, 32, 27, 0.22);
	color: var(--fpl-brown);
	display: grid;
	gap: 18px;
	min-height: 220px;
	padding: 30px;
	text-decoration: none;
	transition: background 240ms ease, color 240ms ease, transform 240ms ease;
}

.fpl-student-support__grid a:hover {
	background: var(--fpl-ink);
	color: #fff;
	transform: translateY(-4px);
}

.fpl-student-support__grid span {
	color: var(--fpl-oxblood);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.fpl-student-support__grid strong {
	font-family: var(--fpl-serif);
	font-size: 31px;
	font-weight: 500;
	line-height: 1.1;
}

.fpl-student-support__grid em {
	align-self: end;
	color: inherit;
	font-family: var(--fpl-sans);
	font-style: normal;
	line-height: 1.55;
	opacity: 0.72;
}

@media (max-width: 980px) {

	.fpl-courses-hero__grid,
	.fpl-student-hero__grid {
		grid-template-columns: 1fr;
	}

	.fpl-courses-hero__media {
		grid-template-rows: repeat(7, 60px);
		min-height: 480px;
	}

	.fpl-courses-hero__meta,
	.fpl-student-hero__stats,
	.fpl-student-support__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.fpl-course-catalogue-intro__grid,
	.fpl-course-method__heading,
	.fpl-course-cta__grid {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.fpl-course-method__rows>div {
		grid-template-columns: 46px minmax(0, 1fr);
	}

	.fpl-course-method__rows p {
		grid-column: 2;
	}
}

@media (max-width: 640px) {

	.fpl-courses-hero,
	.fpl-student-hero {
		padding-top: 64px;
	}

	.fpl-courses-hero__copy h1,
	.fpl-student-hero__copy h1 {
		font-size: 48px;
	}

	.fpl-courses-hero__media {
		display: block;
		min-height: 0;
	}

	.fpl-courses-hero__image {
		margin-bottom: 14px;
	}

	.fpl-courses-hero__image img {
		aspect-ratio: 4 / 5;
		height: auto;
	}

	.fpl-courses-hero__meta,
	.fpl-student-hero__stats,
	.fpl-student-support__grid,
	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: 1fr !important;
	}

	.fpl-courses-hero__meta span,
	.fpl-student-hero__stats span {
		border-left: 0;
		border-top: 1px solid var(--fpl-line);
		min-height: 86px;
	}

	.fpl-student-hero__stats span {
		border-top-color: rgba(255, 255, 255, 0.16);
	}

	.fpl-brand-courses .fpl-elementor-courses-catalogue {
		padding: 64px 0 76px;
	}

	.fpl-brand-courses .fpl-course-grid {
		padding: 0 24px;
	}

	.fpl-course-method__rows>div {
		gap: 16px;
		grid-template-columns: 1fr;
	}

	.fpl-course-method__rows p {
		grid-column: auto;
	}

	.fpl-course-cta__grid .fpl-button,
	.fpl-courses-hero__actions .fpl-button {
		justify-content: center;
		width: 100%;
	}

	.fpl-brand-student-dashboard .fpl-elementor-student-dashboard-access {
		padding-left: 16px;
		padding-right: 16px;
	}

	.fpl-brand-student-dashboard .tutor-template-segment.tutor-login-wrap {
		padding: 28px 20px;
	}

	.fpl-brand-student-dashboard #tutor-login-form .tutor-d-flex {
		align-items: flex-start !important;
		flex-direction: column;
		gap: 18px;
	}
}

/* 1.2.6 tighter public-page rhythm and course card spacing. */
.fpl-brand-courses .fpl-courses-hero {
	padding-top: clamp(34px, 4vw, 58px);
}

.fpl-brand-courses .fpl-courses-hero__grid {
	gap: clamp(32px, 5vw, 74px);
}

.fpl-brand-courses .fpl-courses-hero__copy h1 {
	font-size: clamp(48px, 5.3vw, 82px);
	line-height: 1.01;
	max-width: 680px;
}

.fpl-brand-courses .fpl-courses-hero__copy .fpl-lead {
	font-size: 17px;
	max-width: 560px;
}

.fpl-brand-courses .fpl-courses-hero__media {
	grid-template-rows: repeat(7, 58px);
	min-height: 496px;
}

.fpl-brand-courses .fpl-courses-hero__meta {
	margin-top: 46px;
}

.fpl-brand-courses .fpl-course-catalogue-intro {
	padding-bottom: 54px !important;
	padding-top: 76px !important;
}

.fpl-brand-courses .fpl-elementor-courses-catalogue {
	padding-bottom: 126px !important;
	padding-top: 74px !important;
}

.fpl-brand-courses .fpl-course-grid {
	align-items: stretch !important;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.fpl-brand-courses .fpl-course-card {
	display: flex;
	height: 100%;
	min-width: 0;
}

.fpl-brand-courses .fpl-course-card__link {
	background: transparent;
	display: flex !important;
	flex-direction: column;
	min-height: 100%;
	width: 100%;
}

.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 4 / 4.85;
	flex: 0 0 auto;
}

.fpl-brand-courses .fpl-course-card__content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	padding-bottom: 42px;
	padding-top: 30px;
}

.fpl-brand-courses .fpl-course-card__meta {
	margin-bottom: 22px;
}

.fpl-brand-courses .fpl-course-card h3 {
	margin-bottom: 28px;
}

.fpl-brand-courses .fpl-course-card .fpl-text-link {
	margin-top: auto;
}

.fpl-brand-courses .fpl-course-method {
	padding-bottom: 84px !important;
	padding-top: 92px !important;
}

.fpl-brand-courses .fpl-course-method__heading {
	margin-bottom: 46px;
}

.fpl-brand-courses .fpl-course-method__heading h2 {
	font-size: clamp(40px, 4.8vw, 66px);
	max-width: 850px;
}

.fpl-brand-courses .fpl-course-cta {
	padding-bottom: 72px;
	padding-top: 72px;
}

body:not(.fpl-brand-home) .fpl-editorial-cta {
	padding-bottom: 72px !important;
	padding-top: 72px !important;
}

body:not(.fpl-brand-home) .fpl-editorial-cta h2 {
	font-size: clamp(40px, 5vw, 62px);
}

body:not(.fpl-brand-home) .fpl-page-hero--split,
body:not(.fpl-brand-home) .fpl-custom-hero {
	min-height: 0;
}

body:not(.fpl-brand-home) .fpl-page-hero__copy,
body:not(.fpl-brand-home) .fpl-course-hero__copy,
body:not(.fpl-brand-home) .fpl-custom-hero__copy {
	padding-bottom: clamp(64px, 7vw, 86px);
	padding-top: clamp(64px, 7vw, 86px);
}

body:not(.fpl-brand-home) .fpl-page-hero__portrait,
body:not(.fpl-brand-home) .fpl-course-hero__media,
body:not(.fpl-brand-home) .fpl-custom-hero figure {
	min-height: 560px;
}

body:not(.fpl-brand-home) .fpl-contact-hero {
	padding-bottom: 78px;
	padding-top: 78px;
}

.fpl-brand-student-dashboard .fpl-student-hero--hook {
	padding-top: clamp(46px, 5vw, 72px);
}

.fpl-brand-student-dashboard .fpl-student-hero__stats {
	margin-top: 54px;
}

.fpl-brand-student-dashboard .fpl-student-access-intro--hook {
	padding-bottom: 22px;
	padding-top: 68px;
}

.fpl-brand-student-dashboard #content>.ast-container {
	padding-bottom: 78px;
	padding-top: 22px;
}

.fpl-brand-student-dashboard .fpl-student-support--hook {
	padding-bottom: 86px !important;
	padding-top: 74px !important;
}

@media (max-width: 980px) {
	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.fpl-brand-courses .fpl-courses-hero {
		padding-top: 30px;
	}

	.fpl-brand-courses .fpl-courses-hero__copy h1 {
		font-size: 44px;
		max-width: 100%;
	}

	.fpl-brand-courses .fpl-courses-hero__meta {
		margin-top: 28px;
	}

	.fpl-brand-courses .fpl-elementor-courses-catalogue {
		padding-bottom: 82px !important;
		padding-top: 54px !important;
	}

	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: 1fr !important;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__copy,
	body:not(.fpl-brand-home) .fpl-course-hero__copy,
	body:not(.fpl-brand-home) .fpl-custom-hero__copy {
		padding-bottom: 58px;
		padding-top: 58px;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__portrait,
	body:not(.fpl-brand-home) .fpl-course-hero__media,
	body:not(.fpl-brand-home) .fpl-custom-hero figure {
		min-height: 430px;
	}

	.fpl-brand-student-dashboard .fpl-student-access-intro--hook {
		padding-top: 54px;
	}
}

/* 1.2.7 remove remaining interior-page top/bottom dead space. */
.fpl-brand-courses .fpl-courses-hero {
	padding-top: 20px;
}

.fpl-brand-courses .fpl-courses-hero__grid {
	align-items: start;
}

.fpl-brand-courses .fpl-courses-hero__copy {
	align-self: start;
	padding-top: 18px;
}

.fpl-brand-courses .fpl-courses-hero__copy h1 {
	font-size: clamp(46px, 4.8vw, 72px);
	max-width: 640px;
}

.fpl-brand-courses .fpl-courses-hero__media {
	grid-template-rows: repeat(7, 52px);
	min-height: 452px;
}

.fpl-brand-courses .fpl-courses-hero__meta {
	margin-top: 28px;
}

body:not(.fpl-brand-home) .fpl-page-hero__copy,
body:not(.fpl-brand-home) .fpl-custom-hero__copy {
	align-self: start;
	padding-top: clamp(48px, 5vw, 68px);
}

body:not(.fpl-brand-home) .fpl-page-hero h1,
body:not(.fpl-brand-home) .fpl-custom-hero h1,
body:not(.fpl-brand-home) .fpl-contact-hero h1 {
	font-size: clamp(44px, 5vw, 64px);
	max-width: 760px;
}

body:not(.fpl-brand-home) .fpl-page-hero__portrait,
body:not(.fpl-brand-home) .fpl-course-hero__media,
body:not(.fpl-brand-home) .fpl-custom-hero figure {
	min-height: 500px;
}

.fpl-brand-courses .fpl-course-cta,
body:not(.fpl-brand-home) .fpl-editorial-cta {
	padding-bottom: 56px !important;
	padding-top: 56px !important;
}

.fpl-brand-courses .fpl-course-cta h2 {
	font-size: clamp(38px, 4.6vw, 58px);
}

.fpl-brand-courses .fpl-course-method {
	padding-bottom: 72px !important;
	padding-top: 76px !important;
}

.fpl-brand-courses .fpl-course-method__heading h2 {
	font-size: clamp(38px, 4.4vw, 58px);
}

@media (max-width: 640px) {
	.fpl-brand-courses .fpl-courses-hero {
		padding-top: 18px;
	}

	.fpl-brand-courses .fpl-courses-hero__copy {
		padding-top: 0;
	}

	.fpl-brand-courses .fpl-courses-hero__copy h1 {
		font-size: 42px;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__copy,
	body:not(.fpl-brand-home) .fpl-custom-hero__copy {
		padding-top: 44px;
	}

	body:not(.fpl-brand-home) .fpl-page-hero h1,
	body:not(.fpl-brand-home) .fpl-custom-hero h1,
	body:not(.fpl-brand-home) .fpl-contact-hero h1 {
		font-size: 40px;
	}
}

/* 1.2.9 final Courses archive top trim. */
.fpl-editorial-course-archive.fpl-brand-courses .fpl-courses-hero {
	padding-top: 0;
}

.fpl-editorial-course-archive.fpl-brand-courses .fpl-courses-hero__grid {
	margin-top: -44px;
}

.fpl-editorial-course-archive.fpl-brand-courses .fpl-course-catalogue-intro {
	padding-top: 58px !important;
}

.fpl-editorial-course-archive.fpl-brand-courses .fpl-course-card__content {
	padding-bottom: 54px;
}

.fpl-editorial-course-archive.fpl-brand-courses .fpl-courses-hero__actions .fpl-text-link {
	color: var(--fpl-brown) !important;
}

@media (max-width: 760px) {
	.fpl-editorial-course-archive.fpl-brand-courses .fpl-courses-hero__grid {
		margin-top: 0;
	}
}

/* 1.3.0 account, dashboard, and interior-page UI hardening. */
.fpl-brand-student-dashboard .fpl-elementor-student-dashboard-access,
.fpl-brand-student-registration .elementor-widget-shortcode,
.fpl-brand-student-registration .elementor-shortcode {
	background: var(--fpl-paper);
	margin: 0;
	padding: 0;
}

.fpl-brand-student-dashboard #content>.ast-container,
.fpl-brand-student-registration #content>.ast-container {
	display: block;
	max-width: 100%;
	padding: 0;
}

.fpl-brand-student-dashboard .fpl-elementor-student-dashboard-access .elementor-shortcode,
.fpl-brand-student-dashboard .tutor-wrap.tutor-page-wrap {
	max-width: none;
}

.fpl-brand-student-dashboard .tutor-dashboard {
	background: transparent;
	border: 0;
	margin: 0 auto;
	max-width: 1320px;
	padding: 36px 24px 72px;
}

.fpl-brand-student-dashboard .tutor-dashboard>.tutor-container {
	max-width: none;
	padding: 0;
}

.fpl-brand-student-dashboard .tutor-frontend-dashboard-header {
	align-items: center;
	background: #fff;
	border: 1px solid var(--fpl-line);
	margin: 0 0 18px;
	min-height: 96px;
	padding: 22px 28px;
}

.fpl-brand-student-dashboard .tutor-dashboard-header {
	align-items: center;
	display: flex;
	gap: 22px;
	padding: 0;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-avatar {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 50%;
	display: flex;
	flex: 0 0 64px;
	height: 64px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	width: 64px;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-avatar,
.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-ratio {
	align-items: center !important;
	border-radius: 50% !important;
	display: block !important;
	height: 64px !important;
	justify-content: center !important;
	margin: 0 !important;
	min-height: 64px !important;
	min-width: 64px !important;
	overflow: hidden !important;
	position: relative !important;
	width: 64px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-ratio::before {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-avatar img {
	background: transparent !important;
	border-radius: 50% !important;
	color: transparent !important;
	display: block !important;
	font-size: 0 !important;
	height: 64px !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 64px !important;
	min-width: 64px !important;
	object-fit: cover !important;
	overflow: hidden;
	position: absolute !important;
	inset: 0 !important;
	transform: none !important;
	width: 64px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-avatar-text {
	align-items: center !important;
	background: #4566df !important;
	border-radius: 50% !important;
	box-sizing: border-box;
	color: #fff !important;
	display: flex !important;
	font-family: var(--fpl-sans);
	font-size: 18px !important;
	font-weight: 700;
	height: 64px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: 64px !important;
	min-width: 64px !important;
	overflow: hidden;
	position: absolute !important;
	inset: 0 !important;
	text-align: center !important;
	text-transform: uppercase;
	transform: none !important;
	white-space: nowrap;
	width: 64px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-greetings {
	color: #756a61 !important;
	font-size: 13px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-username {
	color: var(--fpl-brown) !important;
	font-family: var(--fpl-serif);
	font-size: 24px !important;
	line-height: 1.15;
}

.fpl-brand-student-dashboard .tutor-header-right-side {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-frontend-dashboard-maincontent {
	display: grid !important;
	gap: 18px;
	grid-template-columns: 238px minmax(0, 1fr);
	margin: 0;
}

.fpl-brand-student-dashboard .tutor-frontend-dashboard-maincontent>.tutor-dashboard-left-menu,
.fpl-brand-student-dashboard .tutor-frontend-dashboard-maincontent>.tutor-col-12:not(.tutor-dashboard-left-menu) {
	max-width: none;
	padding: 0;
	width: auto;
}

.fpl-brand-student-dashboard .tutor-dashboard-left-menu {
	align-self: start;
	background: #fff;
	border: 1px solid var(--fpl-line);
	padding: 10px;
}

.fpl-brand-student-dashboard .tutor-dashboard-permalinks {
	margin: 0;
	padding: 0;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item {
	margin: 0 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link,
.fpl-brand-student-dashboard .tutor-dashboard-left-menu a,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-text,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-icon {
	color: var(--fpl-ink) !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link {
	align-items: center;
	background: transparent !important;
	border-bottom: 1px solid rgba(43, 32, 27, 0.1);
	border-left: 4px solid transparent;
	border-radius: 0 !important;
	display: flex;
	font-family: var(--fpl-sans);
	font-size: 13px !important;
	font-weight: 600;
	gap: 12px;
	line-height: 1.3;
	min-height: 56px;
	overflow: hidden;
	padding: 14px 16px;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item:last-child .tutor-dashboard-menu-item-link {
	border-bottom: 0;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link:hover,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link:focus-visible {
	background: var(--fpl-cream) !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-item.active .tutor-dashboard-menu-item-link *,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link:hover *,
.fpl-brand-student-dashboard .tutor-dashboard-menu-item-link:focus-visible * {
	color: var(--fpl-ink) !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-divider {
	border-top: 1px solid rgba(43, 32, 27, 0.12);
	margin: 8px 0 !important;
	padding: 0 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-menu-divider-header {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-content {
	background: #fff;
	border: 1px solid var(--fpl-line);
	min-height: 520px;
	padding: clamp(20px, 2.8vw, 34px);
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table th,
.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table td {
	padding: 24px 28px !important;
	vertical-align: top;
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table .product-name {
	padding-left: 28px !important;
	padding-right: 24px !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order table.shop_table .product-total {
	padding-left: 24px !important;
	padding-right: 28px !important;
	text-align: right;
	white-space: nowrap;
}

.fpl-brand-student-dashboard .tutor-dashboard-content,
.fpl-brand-student-dashboard .tutor-dashboard-content p,
.fpl-brand-student-dashboard .tutor-dashboard-content span,
.fpl-brand-student-dashboard .tutor-dashboard-content label {
	color: var(--fpl-brown);
}

.fpl-brand-student-dashboard .tutor-dashboard-content a:not(.fpl-booking-history__join):not(.tutor-btn) {
	color: var(--fpl-brown);
}

.fpl-brand-student-dashboard #tutor-dashboard-footer-mobile a,
.fpl-brand-student-dashboard #tutor-dashboard-footer-mobile span,
.fpl-brand-student-dashboard #tutor-dashboard-footer-mobile i {
	color: var(--fpl-brown) !important;
}

.fpl-brand-student-dashboard #tutor-dashboard-footer-mobile a:nth-child(2) i::before {
	content: "\e95c";
}

.fpl-brand-contact .fpl-contact-hero {
	padding-bottom: 64px;
	padding-top: 64px;
}

.fpl-brand-contact .fpl-contact-hero h1 {
	font-size: clamp(44px, 5vw, 66px);
	margin-bottom: 24px;
	max-width: 760px;
}

.fpl-brand-contact .fpl-contact-hero .fpl-lead {
	margin-left: 0;
	max-width: 680px;
}

.fpl-brand-contact .fpl-contact-details {
	padding-bottom: 86px;
	padding-top: 86px;
}

.fpl-brand-contact .fpl-contact-details__primary>a {
	font-size: clamp(27px, 3.2vw, 42px);
	overflow-wrap: anywhere;
}

@media (max-width: 820px) {
	.fpl-brand-home .fpl-editorial-about__grid {
		gap: 52px;
		grid-template-columns: 1fr;
	}

	.fpl-brand-home .fpl-editorial-about__media {
		margin-left: 0;
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.fpl-brand-student-dashboard .tutor-dashboard {
		padding: 18px 14px 86px;
	}

	.fpl-brand-student-dashboard .tutor-frontend-dashboard-header {
		min-height: 82px;
		padding: 14px 16px;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-header-avatar,
	.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-avatar,
	.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-ratio {
		flex-basis: 52px;
		height: 52px !important;
		min-height: 52px !important;
		min-width: 52px !important;
		width: 52px !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-header-avatar img,
	.fpl-brand-student-dashboard .tutor-dashboard-header-avatar .tutor-avatar-text {
		height: 52px !important;
		min-height: 52px !important;
		min-width: 52px !important;
		width: 52px !important;
	}

	.fpl-brand-student-dashboard .tutor-frontend-dashboard-maincontent {
		grid-template-columns: 1fr;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-left-menu {
		display: none;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-content {
		min-height: 0;
		padding: 18px;
	}

	.fpl-brand-contact .fpl-contact-hero,
	.fpl-brand-contact .fpl-contact-details {
		padding-bottom: 54px;
		padding-top: 54px;
	}
}

/* 1.3.1 responsive polish across real devices. */
.fpl-brand-active #page,
.fpl-brand-active .site-content,
.fpl-brand-active .entry-content,
.fpl-brand-active .elementor,
.fpl-brand-active .fpl-elementor-section,
.fpl-brand-active .fpl-shell {
	max-width: 100%;
	overflow-x: clip;
}

.fpl-brand-active .fpl-shell>*,
.fpl-brand-active [class*="__grid"]>*,
.fpl-brand-active [class*="__copy"],
.fpl-brand-active [class*="__content"],
.fpl-brand-active [class*="__media"],
.fpl-brand-active figure {
	min-width: 0;
}

.fpl-brand-active h1,
.fpl-brand-active h2,
.fpl-brand-active h3,
.fpl-brand-active p {
	max-width: 100%;
	text-wrap: pretty;
}

.fpl-brand-active .fpl-button,
.fpl-brand-active .elementor-button,
.fpl-brand-active .woocommerce .button,
.fpl-brand-active .wp-block-button__link {
	text-align: center;
	white-space: normal;
}

@media (max-width: 921px) {

	.fpl-brand-active .ast-primary-header-bar,
	.fpl-brand-active .main-header-bar {
		min-height: 76px;
	}

	.fpl-brand-active .ast-builder-grid-row {
		gap: 12px;
		grid-template-columns: minmax(0, 1fr) auto;
		padding-left: 20px;
		padding-right: 20px;
		width: 100%;
	}

	.fpl-brand-active #ast-mobile-header .menu-toggle,
	.fpl-brand-active #ast-mobile-header .mobile-menu-toggle-icon,
	.fpl-brand-active #ast-mobile-header .ast-mobile-svg {
		color: var(--fpl-ink) !important;
		fill: currentColor !important;
	}

	.fpl-brand-active #ast-mobile-header .menu-toggle {
		align-items: center;
		border: 1px solid rgba(43, 32, 27, 0.18) !important;
		border-radius: 0 !important;
		justify-content: center;
		min-height: 44px;
		min-width: 44px;
		padding: 10px !important;
	}

	.fpl-brand-active .site-branding,
	.fpl-brand-active .ast-site-identity {
		min-width: 0;
	}

	.fpl-brand-active .site-branding::before {
		background-size: 27px 27px;
		flex-basis: 42px;
		height: 42px;
		width: 42px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		display: block;
		font-size: clamp(18px, 4.6vw, 22px);
		line-height: 1.08;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.fpl-brand-active [data-section="section-header-mobile-trigger"] {
		display: flex !important;
		justify-content: flex-end;
		min-width: 42px;
	}

	.fpl-brand-active .ast-mobile-menu-trigger-minimal {
		color: var(--fpl-brown) !important;
		display: inline-flex !important;
	}

	.fpl-brand-home .ast-mobile-menu-trigger-minimal {
		color: #fff !important;
	}

	.fpl-brand-active.ast-header-break-point .main-header-menu,
	.fpl-brand-active .ast-header-break-point .main-header-menu {
		background: var(--fpl-paper);
		border-top: 1px solid var(--fpl-line);
		padding: 10px 0;
	}

	.fpl-brand-active.ast-header-break-point .main-header-menu>.menu-item>.menu-link,
	.fpl-brand-active .ast-header-break-point .main-header-menu>.menu-item>.menu-link {
		color: var(--fpl-brown) !important;
		font-size: 12px;
		min-height: 46px;
		padding: 0 22px 0 28px;
	}

	.fpl-brand-active.ast-header-break-point .main-header-menu>.menu-item>.menu-link::after,
	.fpl-brand-active .ast-header-break-point .main-header-menu>.menu-item>.menu-link::after {
		content: none !important;
		display: none !important;
	}

	.fpl-brand-active.ast-header-break-point .main-header-menu>.menu-item>.menu-link::before,
	.fpl-brand-active .ast-header-break-point .main-header-menu>.menu-item>.menu-link::before {
		content: none !important;
		display: none !important;
	}

	.fpl-brand-active.ast-header-break-point .main-header-menu>.current-menu-item>.menu-link,
	.fpl-brand-active .ast-header-break-point .main-header-menu>.current-menu-item>.menu-link {
		background: rgba(43, 32, 27, 0.045);
		border-left: 2px solid var(--fpl-brown);
	}
}

@media (max-width: 700px) {
	.fpl-shell {
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-brand-active .fpl-section {
		padding-bottom: 62px;
		padding-top: 62px;
	}

	.fpl-brand-active .fpl-kicker {
		font-size: 10px;
		line-height: 1.35;
		margin-bottom: 16px;
	}

	.fpl-brand-active .fpl-display {
		font-size: clamp(34px, 10vw, 42px);
		line-height: 1.06;
	}

	.fpl-lux-hero {
		align-items: flex-end;
		display: flex;
		min-height: clamp(640px, 92svh, 760px);
	}

	.fpl-lux-hero__image {
		height: 100%;
		inset: 0;
		object-fit: cover;
		object-position: 66% top;
		position: absolute;
		width: 100%;
	}

	.fpl-lux-hero__shade {
		background:
			linear-gradient(180deg, rgba(8, 7, 6, 0.18) 0%, rgba(8, 7, 6, 0.42) 34%, rgba(6, 5, 4, 0.9) 68%, rgba(5, 5, 5, 0.98) 100%),
			linear-gradient(90deg, rgba(5, 5, 5, 0.72) 0%, rgba(5, 5, 5, 0.15) 100%);
		height: 100%;
		inset: 0;
	}

	.fpl-lux-hero__content {
		margin-top: 0;
		padding: clamp(210px, 38svh, 305px) 24px 40px;
		position: relative;
	}

	.fpl-lux-hero__dek {
		margin-bottom: 28px;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(48px, 14vw, 58px);
		line-height: 0.98;
	}

	.fpl-lux-hero__dek {
		font-size: 17px;
		line-height: 1.55;
		max-width: 310px;
		overflow-wrap: normal;
	}

	.fpl-lux-hero__actions,
	.fpl-editorial-cta__actions,
	.fpl-courses-hero__actions {
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-bottom: 0;
		width: min(100%, 320px);
	}

	.fpl-lux-hero__actions .fpl-button,
	.fpl-editorial-cta__actions .fpl-button,
	.fpl-courses-hero__actions .fpl-button {
		width: 100%;
	}

	.fpl-editorial-about__copy .fpl-display,
	.fpl-store-heading .fpl-display,
	.fpl-store-catalogue .fpl-display {
		font-size: clamp(33px, 9.8vw, 41px);
	}

	.fpl-editorial-about__copy .fpl-lead,
	.fpl-store-heading__copy,
	.fpl-section-heading>p {
		font-size: 17px;
		line-height: 1.65;
	}

	.fpl-editorial-about__media img,
	.fpl-page-hero__portrait img,
	.fpl-course-hero__media img,
	.fpl-custom-hero figure img,
	.fpl-custom-process figure img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	body:not(.fpl-brand-home) .fpl-page-hero--split,
	body:not(.fpl-brand-home) .fpl-custom-hero,
	.fpl-page-hero--split,
	.fpl-course-hero,
	.fpl-custom-process {
		display: grid;
		grid-template-columns: 1fr;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__copy,
	body:not(.fpl-brand-home) .fpl-custom-hero__copy,
	.fpl-page-hero__copy,
	.fpl-course-hero__copy,
	.fpl-custom-hero__copy,
	.fpl-custom-process__copy {
		padding: 48px 20px;
	}

	body:not(.fpl-brand-home) .fpl-page-hero h1,
	body:not(.fpl-brand-home) .fpl-custom-hero h1,
	body:not(.fpl-brand-home) .fpl-contact-hero h1,
	.fpl-page-hero h1,
	.fpl-course-hero h1,
	.fpl-contact-hero h1 {
		font-size: clamp(37px, 10.4vw, 44px);
		line-height: 1.03;
		overflow-wrap: break-word;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__portrait,
	body:not(.fpl-brand-home) .fpl-course-hero__media,
	body:not(.fpl-brand-home) .fpl-custom-hero figure,
	.fpl-page-hero__portrait,
	.fpl-course-hero__media,
	.fpl-custom-hero figure,
	.fpl-custom-process figure {
		min-height: 0;
	}

	body:not(.fpl-brand-home) .fpl-page-hero__portrait,
	body:not(.fpl-brand-home) .fpl-custom-hero figure,
	.fpl-page-hero__portrait,
	.fpl-custom-hero figure {
		aspect-ratio: 4 / 5;
	}

	.fpl-brand-courses .fpl-courses-hero {
		padding-top: 28px;
	}

	.fpl-editorial-course-archive.fpl-brand-courses .fpl-courses-hero__grid,
	.fpl-brand-courses .fpl-courses-hero__grid {
		gap: 30px;
		grid-template-columns: 1fr;
		margin-top: 0;
	}

	.fpl-brand-courses .fpl-courses-hero__copy {
		padding-top: 0;
	}

	.fpl-brand-courses .fpl-courses-hero__copy h1 {
		font-size: clamp(36px, 10vw, 43px);
		line-height: 1.04;
		margin-bottom: 22px;
		overflow-wrap: break-word;
	}

	.fpl-brand-courses .fpl-courses-hero__copy .fpl-lead {
		font-size: 16px;
		line-height: 1.66;
	}

	.fpl-brand-courses .fpl-courses-hero__media {
		display: grid;
		gap: 12px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: none;
		min-height: 0;
	}

	.fpl-brand-courses .fpl-courses-hero__image {
		aspect-ratio: 1 / 1.12;
		grid-column: auto;
		grid-row: auto;
		margin: 0;
	}

	.fpl-brand-courses .fpl-courses-hero__image--primary {
		aspect-ratio: 4 / 3;
		grid-column: 1 / -1;
	}

	.fpl-brand-courses .fpl-courses-hero__image img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	.fpl-brand-courses .fpl-courses-hero__image figcaption {
		font-size: 9px;
		padding: 8px 10px;
	}

	.fpl-courses-hero__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 28px;
	}

	.fpl-courses-hero__meta span {
		border-top: 1px solid var(--fpl-line);
		min-height: 82px;
		padding: 18px 16px;
	}

	.fpl-courses-hero__meta span:nth-child(odd) {
		border-left: 0;
	}

	.fpl-courses-hero__meta strong {
		font-size: 25px;
	}

	.fpl-brand-courses .fpl-course-catalogue-intro {
		padding-bottom: 42px !important;
		padding-top: 54px !important;
	}

	.fpl-course-catalogue-intro__grid,
	.fpl-course-method__heading,
	.fpl-course-cta__grid {
		grid-template-columns: 1fr;
	}

	.fpl-brand-courses .fpl-elementor-courses-catalogue {
		padding-bottom: 72px !important;
		padding-top: 48px !important;
	}

	.fpl-brand-courses .fpl-course-grid {
		gap: 42px !important;
		grid-template-columns: 1fr !important;
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-brand-courses .fpl-course-card__content {
		min-height: 0;
		padding-bottom: 34px;
		padding-top: 22px;
	}

	.fpl-brand-courses .fpl-course-card__meta {
		margin-bottom: 16px;
	}

	.fpl-brand-courses .fpl-course-card h3 {
		font-size: clamp(29px, 8vw, 34px);
		margin-bottom: 24px;
	}

	.fpl-course-method__rows>div {
		gap: 10px;
		grid-template-columns: 1fr;
		padding: 24px 0;
	}

	.fpl-course-method__rows h3 {
		font-size: 27px;
	}

	.fpl-course-method__rows p {
		grid-column: auto;
	}

	.fpl-brand-courses .fpl-course-cta,
	body:not(.fpl-brand-home) .fpl-editorial-cta {
		padding-bottom: 52px !important;
		padding-top: 52px !important;
	}

	.fpl-brand-courses .fpl-course-cta h2,
	body:not(.fpl-brand-home) .fpl-editorial-cta h2 {
		font-size: clamp(35px, 9.8vw, 42px);
		line-height: 1.04;
	}

	.fpl-brand-contact .fpl-contact-hero,
	.fpl-brand-contact .fpl-contact-details {
		padding-bottom: 50px;
		padding-top: 50px;
	}

	.fpl-contact-details__grid {
		gap: 42px;
		grid-template-columns: 1fr;
	}

	.fpl-contact-details__primary>a,
	.fpl-brand-contact .fpl-contact-details__primary>a {
		font-size: clamp(25px, 7.2vw, 34px);
		line-height: 1.08;
	}

	.fpl-contact-details__list>div {
		gap: 12px;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 430px) {
	.fpl-shell {
		padding-left: 18px;
		padding-right: 18px;
	}

	.fpl-brand-active .ast-builder-grid-row {
		padding-left: 16px;
		padding-right: 16px;
	}

	.fpl-brand-active .site-branding::before {
		background-size: 24px 24px;
		flex-basis: 38px;
		height: 38px;
		width: 38px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 19px;
		max-width: calc(100vw - 112px);
	}

	.fpl-lux-hero h1 {
		font-size: clamp(45px, 13.4vw, 53px);
	}

	.fpl-brand-courses .fpl-courses-hero__copy h1,
	.fpl-booking-hero h1,
	body:not(.fpl-brand-home) .fpl-page-hero h1,
	body:not(.fpl-brand-home) .fpl-custom-hero h1,
	body:not(.fpl-brand-home) .fpl-contact-hero h1 {
		font-size: clamp(34px, 9.5vw, 39px);
		line-height: 1.06;
	}

	.fpl-brand-courses .fpl-courses-hero__media {
		grid-template-columns: 1fr;
	}

	.fpl-brand-courses .fpl-courses-hero__image,
	.fpl-brand-courses .fpl-courses-hero__image--primary {
		aspect-ratio: 4 / 3.45;
		grid-column: auto;
	}

	.fpl-courses-hero__meta {
		grid-template-columns: 1fr;
	}

	.fpl-courses-hero__meta span {
		border-left: 0;
	}

	.fpl-editorial-footer {
		padding: 58px 18px 44px;
	}

	.fpl-editorial-footer__masthead {
		font-size: 30px;
		line-height: 1.08;
	}
}

@media (max-width: 480px) {

	.fpl-brand-active .fpl-shell,
	.fpl-brand-active .fpl-lux-hero__content,
	.fpl-brand-active .fpl-editorial-about__copy,
	.fpl-brand-active .fpl-courses-hero__copy,
	.fpl-brand-active .fpl-store-heading__grid,
	.fpl-brand-active .fpl-section-heading,
	.fpl-brand-active .fpl-contact-hero .fpl-shell {
		max-width: 100%;
	}

	.fpl-brand-active .fpl-display,
	.fpl-editorial-about__copy .fpl-display,
	.fpl-brand-courses .fpl-courses-hero__copy h1,
	body:not(.fpl-brand-home) .fpl-page-hero h1,
	body:not(.fpl-brand-home) .fpl-custom-hero h1,
	body:not(.fpl-brand-home) .fpl-contact-hero h1,
	.fpl-store-hero h1 {
		font-size: clamp(32px, 9vw, 36px) !important;
		line-height: 1.08;
		max-width: 310px;
		overflow-wrap: break-word;
	}

	.fpl-editorial-about__copy .fpl-lead,
	.fpl-editorial-about__copy p,
	.fpl-brand-courses .fpl-courses-hero__copy .fpl-lead,
	.fpl-store-heading__copy,
	.fpl-section-heading>p,
	.fpl-contact-hero .fpl-lead {
		font-size: 16px;
		line-height: 1.62;
		max-width: 310px;
		overflow-wrap: break-word;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(43px, 12.4vw, 50px) !important;
		max-width: 330px;
	}

	.fpl-lux-hero__dek {
		max-width: 310px;
	}

	.fpl-brand-courses .fpl-courses-hero__actions,
	.fpl-lux-hero__actions,
	.fpl-editorial-cta__actions {
		max-width: 310px;
	}

	.fpl-text-link {
		max-width: 100%;
		overflow-wrap: anywhere;
	}
}

/* Final homepage hero redesign. */
.fpl-button--outline {
	background: transparent;
	border-color: var(--fpl-ink);
	color: var(--fpl-ink);
}

.fpl-button--outline:hover,
.fpl-button--outline:focus-visible {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: #fff;
}

.fpl-brand-home .site-header {
	background: var(--fpl-paper);
	border-bottom: 1px solid var(--fpl-line);
	position: relative;
}

.fpl-brand-home .site-header .ast-primary-header-bar {
	background: transparent;
	border-bottom: 0;
}

.fpl-brand-home .site-header .site-title,
.fpl-brand-home .site-header .site-title a,
.fpl-brand-home .site-header .ast-site-title-wrap .site-title a {
	color: var(--fpl-brown) !important;
	opacity: 1 !important;
	text-shadow: none;
}

.fpl-brand-home .site-header .site-description {
	color: var(--fpl-taupe) !important;
}

.fpl-brand-home .main-header-menu>.menu-item>.menu-link,
.fpl-brand-home .ast-header-break-point .main-header-menu>.menu-item>.menu-link {
	color: var(--fpl-brown) !important;
}

.fpl-brand-home .ast-mobile-menu-trigger-minimal {
	color: var(--fpl-brown) !important;
}

.fpl-lux-hero {
	align-items: stretch;
	background: var(--fpl-paper);
	color: var(--fpl-brown);
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	min-height: clamp(620px, calc(100svh - 96px), 820px);
	overflow: hidden;
	position: relative;
}

.fpl-lux-hero__image,
.fpl-lux-hero__shade {
	grid-column: 2;
	grid-row: 1;
	height: 100%;
	inset: auto;
	min-height: inherit;
	position: relative;
	width: 100%;
}

.fpl-lux-hero__image {
	border-left: 1px solid var(--fpl-line);
	filter: none !important;
	opacity: 1 !important;
	object-fit: cover;
	object-position: center;
	transform: none !important;
}

.fpl-lux-hero__shade {
	background: none;
	display: none;
	pointer-events: none;
	z-index: 1;
}

.fpl-lux-hero__content {
	align-self: center;
	color: var(--fpl-brown);
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	max-width: none;
	padding: clamp(70px, 8vw, 118px) clamp(32px, 6vw, 104px);
	width: 100%;
	z-index: 2;
}

.fpl-lux-hero .fpl-kicker--light {
	color: var(--fpl-oxblood);
}

.fpl-lux-hero h1 {
	color: var(--fpl-brown);
	font-size: clamp(68px, 7.4vw, 116px);
	letter-spacing: 0;
	line-height: 0.88;
	margin: 0 0 26px;
	max-width: 720px;
}

.fpl-lux-hero__dek {
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: clamp(18px, 1.35vw, 23px);
	line-height: 1.5;
	margin-bottom: 32px;
	max-width: 610px;
}

.fpl-lux-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 0;
}

.fpl-lux-hero a.fpl-button--outline,
.fpl-lux-hero button.fpl-button--outline,
.fpl-lux-hero .fpl-button.fpl-button--outline {
	background: transparent !important;
	color: var(--fpl-ink) !important;
	border: 1px solid var(--fpl-ink) !important;
	box-shadow: none !important;
}

.fpl-lux-hero a.fpl-button--outline:hover,
.fpl-lux-hero button.fpl-button--outline:hover,
.fpl-lux-hero .fpl-button.fpl-button--outline:hover,
.fpl-lux-hero a.fpl-button--outline:focus-visible,
.fpl-lux-hero button.fpl-button--outline:focus-visible,
.fpl-lux-hero .fpl-button.fpl-button--outline:focus-visible {
	background: var(--fpl-ink) !important;
	color: #fff !important;
	border-color: var(--fpl-ink) !important;
}

.fpl-lux-hero__proof {
	border-top: 1px solid rgba(43, 32, 27, 0.18);
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin-top: 34px;
	max-width: 560px;
	padding-top: 18px;
}

.fpl-lux-hero__proof span {
	color: rgba(43, 32, 27, 0.72);
	font-family: var(--fpl-sans);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

@media (max-width: 1120px) {
	.fpl-lux-hero {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}

	.fpl-lux-hero h1 {
		font-size: clamp(58px, 7.5vw, 86px);
	}
}

@media (max-width: 760px) {
	.fpl-lux-hero {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		min-height: 0;
	}

	.fpl-lux-hero__content {
		grid-column: 1;
		grid-row: 1;
		padding: 38px 24px 30px;
	}

	.fpl-lux-hero__image,
	.fpl-lux-hero__shade {
		aspect-ratio: 4 / 4.45;
		grid-column: 1;
		grid-row: 2;
		min-height: 0;
	}

	.fpl-lux-hero__image {
		height: auto;
		object-position: center top;
	}

	.fpl-lux-hero__shade {
		background: linear-gradient(180deg, rgba(244, 239, 231, 0) 45%, rgba(244, 239, 231, 0.2) 100%);
	}

	.fpl-lux-hero h1 {
		font-size: clamp(52px, 14.5vw, 66px) !important;
		line-height: 0.92;
		max-width: 340px;
	}

	.fpl-lux-hero__dek {
		font-size: 16px;
		line-height: 1.6;
		margin-bottom: 24px;
		max-width: 330px;
	}

	.fpl-lux-hero__actions {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
		max-width: 330px;
		width: 100%;
	}

	.fpl-lux-hero__actions .fpl-button {
		width: 100%;
	}

	.fpl-lux-hero__proof {
		gap: 10px 14px;
		margin-top: 22px;
		padding-top: 14px;
	}
}

@media (max-width: 380px) {
	.fpl-lux-hero__content {
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(46px, 14vw, 54px) !important;
	}
}

/* Eight-course catalogue: 4 desktop, 3 tablet, 2 mobile. */
.fpl-brand-courses .fpl-elementor-courses-catalogue {
	background: var(--fpl-cream);
	overflow-x: clip;
	padding: 0 24px 28px !important;
	width: 100%;
}

.fpl-brand-courses .fpl-course-grid {
	align-items: stretch !important;
	gap: 28px 22px !important;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	max-width: 1440px !important;
	padding: 0 !important;
	width: 100% !important;
}

.fpl-brand-courses .fpl-course-card,
.fpl-brand-courses .fpl-course-card:nth-child(n) {
	background: #fffaf3;
	border: 1px solid rgba(43, 32, 27, 0.2);
	box-shadow: 0 8px 22px rgba(43, 32, 27, 0.06);
	display: flex;
	grid-column: auto !important;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	transition: border-color 240ms ease, box-shadow 240ms ease, transform 240ms ease;
	width: 100% !important;
}

.fpl-brand-courses .fpl-course-card:hover,
.fpl-brand-courses .fpl-course-card:focus-within {
	border-color: rgba(43, 32, 27, 0.45);
	box-shadow: 0 14px 32px rgba(43, 32, 27, 0.12);
	transform: translateY(-3px);
}

.fpl-brand-courses .fpl-course-card__link {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 4 / 4.8;
	background: #eee6da;
	border-bottom: 1px solid rgba(43, 32, 27, 0.16);
	flex: 0 0 auto;
	overflow: hidden;
	position: relative;
}

.fpl-brand-courses .fpl-course-card__image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	transform: scale(1);
	transition: opacity 520ms ease, transform 850ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 100%;
}

.fpl-brand-courses .fpl-course-card__image.is-active {
	opacity: 1;
	position: relative;
	z-index: 1;
}

.fpl-brand-courses .fpl-course-card__link:hover .fpl-course-card__image.is-active,
.fpl-brand-courses .fpl-course-card__link:focus-visible .fpl-course-card__image.is-active {
	transform: scale(1.035);
}

.fpl-brand-courses .fpl-course-card__content {
	color: var(--fpl-brown) !important;
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px 18px 18px !important;
}

.fpl-brand-courses .fpl-course-card__meta {
	color: var(--fpl-brown) !important;
	margin-bottom: 14px !important;
}

.fpl-brand-courses .fpl-course-card h3 {
	color: var(--fpl-brown) !important;
	font-size: clamp(25px, 2.1vw, 34px);
	line-height: 1.04;
	margin: 0 0 22px !important;
}

.fpl-brand-courses .fpl-course-card .fpl-text-link {
	color: var(--fpl-brown) !important;
	margin-top: auto;
}

@media (max-width: 1100px) {
	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.fpl-brand-courses .fpl-elementor-courses-catalogue {
		padding: 0 12px 24px !important;
	}

	.fpl-brand-courses .fpl-course-grid {
		box-sizing: border-box;
		gap: 26px 12px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: hidden;
		width: 100% !important;
	}

	.fpl-brand-courses .fpl-course-card,
	.fpl-brand-courses .fpl-course-card:nth-child(n),
	.fpl-brand-courses .fpl-course-card__link {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.fpl-brand-courses .fpl-course-card__media {
		aspect-ratio: 4 / 5;
	}

	.fpl-brand-courses .fpl-course-card__arrow {
		height: 30px;
		right: 10px;
		top: 10px;
		width: 30px;
	}

	.fpl-brand-courses .fpl-course-card__content {
		padding: 13px 11px 12px !important;
	}

	.fpl-brand-courses .fpl-course-card__meta {
		font-size: 8px !important;
		line-height: 1.45;
		margin-bottom: 9px !important;
	}

	.fpl-brand-courses .fpl-course-card h3 {
		font-size: clamp(19px, 5.8vw, 25px) !important;
		line-height: 1.05;
		margin-bottom: 16px !important;
		overflow-wrap: normal !important;
	}

	.fpl-brand-courses .fpl-course-card .fpl-text-link {
		font-size: 9px !important;
	}
}

/* Final public navbar and catalogue polish. */
.fpl-brand-active .site-header {
	border-bottom: 1px solid var(--fpl-line);
}

.fpl-brand-active .ast-primary-header-bar,
.fpl-brand-active .main-header-bar {
	min-height: 88px;
}

.fpl-brand-active .ast-builder-grid-row {
	align-items: center;
	gap: 24px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
	padding-left: 48px;
	padding-right: 48px;
	width: 100%;
}

.fpl-brand-active .site-branding,
.fpl-brand-active .ast-site-identity {
	gap: 16px;
}

.fpl-brand-active .site-title,
.fpl-brand-active .site-title a {
	font-size: 27px;
	line-height: 1;
}

.fpl-brand-active .main-header-menu {
	align-items: center;
	display: flex;
	gap: 6px;
	justify-content: flex-end;
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
	align-items: center;
	display: inline-flex;
	min-height: 88px;
	padding-left: 13px;
	padding-right: 13px;
	white-space: nowrap;
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link::after {
	bottom: 27px;
	left: 13px;
	width: calc(100% - 26px);
}

.fpl-brand-home .fpl-elementor-courses-grid,
.fpl-brand-courses .fpl-elementor-courses-catalogue {
	overflow-x: clip;
	width: 100%;
}

.fpl-brand-home .fpl-elementor-courses-grid {
	background: var(--fpl-ink);
	padding: 0 28px 112px !important;
}

.fpl-brand-courses .fpl-elementor-courses-catalogue {
	padding-left: 28px !important;
	padding-right: 28px !important;
}

.fpl-brand-home .fpl-course-grid,
.fpl-brand-courses .fpl-course-grid {
	align-items: stretch !important;
	display: grid !important;
	gap: 28px 22px !important;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px !important;
	padding: 0 !important;
	width: 100% !important;
}

.fpl-brand-home .fpl-course-card,
.fpl-brand-home .fpl-course-card:nth-child(n),
.fpl-brand-courses .fpl-course-card,
.fpl-brand-courses .fpl-course-card:nth-child(n) {
	display: flex;
	grid-column: auto !important;
	height: 100%;
	min-width: 0;
	width: 100% !important;
}

.fpl-brand-home .fpl-course-card {
	border: 1px solid rgba(255, 255, 255, 0.18);
}

.fpl-brand-home .fpl-course-card__link,
.fpl-brand-courses .fpl-course-card__link {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	width: 100%;
}

.fpl-brand-home .fpl-course-card__media,
.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 4 / 4.8;
	flex: 0 0 auto;
	height: auto !important;
}

.fpl-brand-home .fpl-course-card__content,
.fpl-brand-courses .fpl-course-card__content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 188px;
	padding: 20px 18px 18px !important;
}

.fpl-brand-home .fpl-course-card__meta,
.fpl-brand-courses .fpl-course-card__meta {
	flex-wrap: wrap;
	line-height: 1.45;
	margin-bottom: 14px !important;
}

.fpl-brand-home .fpl-course-card h3,
.fpl-brand-courses .fpl-course-card h3 {
	font-size: 28px;
	line-height: 1.05;
	margin: 0 0 22px !important;
	overflow-wrap: break-word;
}

.fpl-brand-home .fpl-course-card__price,
.fpl-brand-courses .fpl-course-card__price {
	color: inherit;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	margin: -8px 0 20px;
}

.fpl-brand-home .fpl-course-card__price .amount,
.fpl-brand-courses .fpl-course-card__price .amount {
	color: inherit;
}

.fpl-brand-home .fpl-course-card .fpl-text-link,
.fpl-brand-courses .fpl-course-card .fpl-text-link {
	margin-top: auto;
}

@media (max-width: 1180px) {
	.fpl-brand-active .ast-builder-grid-row {
		gap: 18px;
		padding-left: 30px;
		padding-right: 30px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 23px;
	}

	.fpl-brand-active .main-header-menu {
		gap: 2px;
	}

	.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
		font-size: 10px;
		padding-left: 9px;
		padding-right: 9px;
	}
}

@media (max-width: 1100px) {

	.fpl-brand-home .fpl-course-grid,
	.fpl-brand-courses .fpl-course-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 921px) {

	.fpl-brand-active .ast-primary-header-bar,
	.fpl-brand-active .main-header-bar {
		min-height: 76px;
	}

	.fpl-brand-active .ast-builder-grid-row {
		gap: 12px;
		grid-template-columns: minmax(0, 1fr) auto;
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 21px;
		line-height: 1.04;
		max-width: calc(100vw - 122px);
		white-space: normal;
	}

	.fpl-brand-active #ast-mobile-header .menu-toggle {
		background: transparent !important;
	}
}

@media (max-width: 640px) {

	.fpl-brand-home .fpl-elementor-courses-grid,
	.fpl-brand-courses .fpl-elementor-courses-catalogue {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.fpl-brand-home .fpl-course-grid,
	.fpl-brand-courses .fpl-course-grid {
		gap: 22px 12px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.fpl-brand-home .fpl-course-card__media,
	.fpl-brand-courses .fpl-course-card__media {
		aspect-ratio: 4 / 5;
	}

	.fpl-brand-home .fpl-course-card__content,
	.fpl-brand-courses .fpl-course-card__content {
		min-height: 162px;
		padding: 13px 11px 12px !important;
	}

	.fpl-brand-home .fpl-course-card__meta,
	.fpl-brand-courses .fpl-course-card__meta {
		font-size: 8px !important;
		gap: 6px;
		margin-bottom: 9px !important;
	}

	.fpl-brand-home .fpl-course-card__meta span,
	.fpl-brand-courses .fpl-course-card__meta span {
		width: 14px;
	}

	.fpl-brand-home .fpl-course-card h3,
	.fpl-brand-courses .fpl-course-card h3 {
		font-size: 20px !important;
		line-height: 1.08;
		margin-bottom: 16px !important;
	}

	.fpl-brand-home .fpl-course-card .fpl-text-link,
	.fpl-brand-courses .fpl-course-card .fpl-text-link {
		font-size: 9px !important;
	}
}

@media (max-width: 380px) {
	.fpl-brand-active .ast-builder-grid-row {
		padding-left: 14px;
		padding-right: 14px;
	}

	.fpl-brand-active .site-branding::before {
		flex-basis: 36px;
		height: 36px;
		width: 36px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 20px;
		max-width: calc(100vw - 110px);
	}
}

/* Premium responsive homepage refinement. */
.fpl-brand-active .ast-primary-header-bar,
.fpl-brand-active .main-header-bar {
	min-height: 90px;
}

.fpl-brand-active .site-primary-header-wrap,
.fpl-brand-active #ast-desktop-header,
.fpl-brand-active #ast-mobile-header {
	min-height: 90px;
}

.fpl-brand-active .ast-builder-grid-row {
	gap: clamp(14px, 1.7vw, 24px);
	min-height: 90px;
	padding-left: clamp(28px, 3.4vw, 48px);
	padding-right: clamp(28px, 3.4vw, 48px);
}

.fpl-brand-active .site-branding,
.fpl-brand-active .ast-site-identity {
	gap: 10px;
}

.fpl-brand-active .site-branding::before {
	background-size: 29px 29px;
	flex-basis: 44px;
	height: 44px;
	width: 44px;
}

.fpl-brand-active .site-title,
.fpl-brand-active .site-title a {
	font-size: clamp(23px, 2vw, 28px);
	line-height: 1;
}

.fpl-brand-active .main-header-menu {
	gap: clamp(0px, 0.35vw, 6px);
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
	font-size: 11px;
	height: 90px;
	letter-spacing: 0;
	line-height: 1;
	min-height: 90px;
	padding-left: clamp(8px, 0.8vw, 13px);
	padding-right: clamp(8px, 0.8vw, 13px);
}

.fpl-brand-active .main-header-menu>.menu-item>.menu-link::after {
	bottom: 28px;
	left: clamp(8px, 0.8vw, 13px);
	width: calc(100% - clamp(16px, 1.6vw, 26px));
}

.fpl-lux-hero {
	grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
	min-height: clamp(620px, calc(100svh - 90px), 820px);
}

.fpl-lux-hero__content {
	padding: clamp(64px, 7vw, 112px) clamp(32px, 5.6vw, 96px);
}

.fpl-lux-hero h1 {
	font-size: clamp(70px, 7vw, 112px);
	line-height: 0.9;
	margin-bottom: clamp(22px, 2vw, 28px);
}

.fpl-lux-hero__dek {
	font-size: clamp(17px, 1.25vw, 21px);
	line-height: 1.55;
	margin-bottom: 30px;
}

.fpl-lux-hero .fpl-button {
	min-height: 50px;
	padding-left: 26px;
	padding-right: 26px;
}

.fpl-lux-hero__proof {
	gap: 10px 22px;
	margin-top: 32px;
	padding-top: 17px;
}

.fpl-lux-hero__image {
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 1200px) {
	.fpl-brand-active .ast-builder-grid-row {
		padding-left: 30px;
		padding-right: 30px;
	}

	.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
		font-size: 10px;
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media (max-width: 1024px) {

	.fpl-brand-active .ast-primary-header-bar,
	.fpl-brand-active .main-header-bar {
		min-height: 70px;
	}

	.fpl-brand-active .site-primary-header-wrap,
	.fpl-brand-active #ast-desktop-header,
	.fpl-brand-active #ast-mobile-header {
		min-height: 70px;
	}

	.fpl-brand-active .ast-builder-grid-row {
		gap: 14px;
		min-height: 70px;
		padding-left: 24px;
		padding-right: 24px;
	}

	.fpl-brand-active .site-branding::before {
		background-size: 26px 26px;
		flex-basis: 40px;
		height: 40px;
		width: 40px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 23px;
	}

	.fpl-brand-active .main-header-menu>.menu-item>.menu-link {
		height: 70px;
		line-height: 1;
		min-height: 70px;
		padding-left: 7px;
		padding-right: 7px;
	}

	.fpl-lux-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		min-height: clamp(540px, calc(100svh - 70px), 680px);
	}

	.fpl-lux-hero__content {
		padding: clamp(44px, 5.4vw, 64px) clamp(28px, 4vw, 48px);
	}

	.fpl-lux-hero h1 {
		font-size: clamp(54px, 6.5vw, 72px);
		line-height: 0.94;
		max-width: 460px;
	}

	.fpl-lux-hero__dek {
		font-size: 17px;
		line-height: 1.58;
		margin-bottom: 26px;
		max-width: 430px;
	}

	.fpl-lux-hero .fpl-button {
		min-height: 48px;
	}

	.fpl-lux-hero__proof {
		margin-top: 26px;
	}
}

@media (max-width: 921px) {
	.fpl-brand-active .ast-builder-grid-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fpl-brand-active [data-section="section-header-mobile-trigger"] {
		justify-self: end;
		min-width: 42px;
	}

	.fpl-brand-active #ast-mobile-header .menu-toggle,
	.fpl-brand-active .ast-mobile-menu-trigger-minimal {
		min-height: 42px !important;
		min-width: 42px !important;
		padding: 9px !important;
	}
}

@media (max-width: 768px) {
	.fpl-lux-hero {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		min-height: 0;
	}

	.fpl-lux-hero__content {
		grid-column: 1;
		grid-row: 1;
		padding: clamp(30px, 5vw, 42px) 24px 26px;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(46px, 11.5vw, 58px) !important;
		line-height: 0.95;
		margin-bottom: 18px;
		max-width: 380px;
	}

	.fpl-lux-hero__dek {
		font-size: 16px;
		line-height: 1.58;
		margin-bottom: 22px;
		max-width: 390px;
	}

	.fpl-lux-hero__actions {
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 12px;
		max-width: 360px;
		width: 100%;
	}

	.fpl-lux-hero__actions .fpl-button {
		min-height: 46px;
		width: 100%;
	}

	.fpl-lux-hero__proof {
		gap: 9px 16px;
		margin-top: 20px;
		max-width: 360px;
		padding-top: 14px;
	}

	.fpl-lux-hero__image,
	.fpl-lux-hero__shade {
		aspect-ratio: 4 / 3.25;
		grid-column: 1;
		grid-row: 2;
		height: auto;
		min-height: 0;
	}

	.fpl-lux-hero__image {
		border-left: 0;
		border-top: 1px solid var(--fpl-line);
		object-position: center top;
		width: 100%;
	}
}

@media (max-width: 480px) {

	.fpl-brand-active .ast-primary-header-bar,
	.fpl-brand-active .main-header-bar {
		min-height: 60px;
	}

	.fpl-brand-active .site-primary-header-wrap,
	.fpl-brand-active #ast-desktop-header,
	.fpl-brand-active #ast-mobile-header {
		min-height: 60px;
	}

	.fpl-brand-active .ast-builder-grid-row {
		min-height: 60px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.fpl-brand-active .site-branding,
	.fpl-brand-active .ast-site-identity {
		gap: 9px;
	}

	.fpl-brand-active .site-branding::before {
		background-size: 23px 23px;
		flex-basis: 34px;
		height: 34px;
		width: 34px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 18px;
		max-width: calc(100vw - 106px);
	}

	.fpl-brand-active #ast-mobile-header .menu-toggle,
	.fpl-brand-active .ast-mobile-menu-trigger-minimal {
		min-height: 38px !important;
		min-width: 38px !important;
		padding: 8px !important;
	}

	.fpl-lux-hero__content {
		padding: 24px 20px 22px;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(42px, 12.4vw, 52px) !important;
		line-height: 0.96;
		margin-bottom: 16px;
		max-width: 330px;
	}

	.fpl-lux-hero__dek {
		font-size: 15.5px;
		line-height: 1.55;
		margin-bottom: 20px;
		max-width: 330px;
	}

	.fpl-lux-hero .fpl-button {
		min-height: 44px;
		padding-left: 18px;
		padding-right: 18px;
	}

	.fpl-lux-hero__proof {
		gap: 8px 12px;
		margin-top: 18px;
		max-width: 330px;
		padding-top: 13px;
	}

	.fpl-lux-hero__proof span {
		font-size: 9px;
	}

	.fpl-lux-hero__image,
	.fpl-lux-hero__shade {
		aspect-ratio: 4 / 3.35;
	}
}

@media (max-width: 360px) {
	.fpl-brand-active .ast-builder-grid-row {
		padding-left: 14px;
		padding-right: 14px;
	}

	.fpl-brand-active .site-title,
	.fpl-brand-active .site-title a {
		font-size: 17px;
		max-width: calc(100vw - 100px);
	}

	.fpl-lux-hero__content {
		padding: 22px 16px 20px;
	}

	.fpl-lux-hero h1 {
		font-size: clamp(39px, 12.5vw, 47px) !important;
	}

	.fpl-lux-hero__image,
	.fpl-lux-hero__shade {
		aspect-ratio: 1 / 0.86;
	}
}

/* Tutor v4 student dashboard shell: keep it aligned with the FPL brand. */
.fpl-brand-student-dashboard .tutor-dashboard-layout {
	background: #f7f1e8 !important;
	color: var(--fpl-brown) !important;
	grid-template-columns: 274px minmax(0, 1fr);
	min-height: 100vh;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar {
	background: #fffaf3 !important;
	border-right: 1px solid rgba(43, 32, 27, 0.16) !important;
	color: var(--fpl-brown) !important;
	min-height: 100vh;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-logo {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav {
	padding: 18px 12px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li {
	margin: 0 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a,
.fpl-brand-student-dashboard .tutor-see-all-courses {
	align-items: center;
	background: #fffaf3 !important;
	border-bottom: 1px solid rgba(43, 32, 27, 0.1);
	border-radius: 0 !important;
	color: #241914 !important;
	display: flex;
	font-family: var(--fpl-sans);
	font-size: 14px;
	font-weight: 700;
	gap: 12px;
	line-height: 1.3;
	min-height: 54px;
	padding: 14px 18px !important;
	text-decoration: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a.active,
.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li.active a,
.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a:hover,
.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a:focus-visible,
.fpl-brand-student-dashboard .tutor-see-all-courses:hover,
.fpl-brand-student-dashboard .tutor-see-all-courses:focus-visible {
	background: #ffffff !important;
	color: #050403 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a *,
.fpl-brand-student-dashboard .tutor-dashboard-sidebar-nav li a svg,
.fpl-brand-student-dashboard .tutor-see-all-courses *,
.fpl-brand-student-dashboard .tutor-see-all-courses svg {
	color: inherit !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-main,
.fpl-brand-student-dashboard .tutor-dashboard-body,
.fpl-brand-student-dashboard .tutor-dashboard-page {
	background: #f7f1e8 !important;
	color: var(--fpl-brown) !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header {
	background: #fffaf3 !important;
	border-bottom: 1px solid rgba(43, 32, 27, 0.14) !important;
	color: var(--fpl-brown) !important;
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header * {
	color: var(--fpl-brown) !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-left,
.fpl-brand-student-dashboard .tutor-dashboard-header-user,
.fpl-brand-student-dashboard .tutor-dashboard-header-avatar,
.fpl-brand-student-dashboard .tutor-dashboard-header-greetings,
.fpl-brand-student-dashboard .tutor-dashboard-header-username {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-inner {
	justify-content: flex-end !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar,
.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar .tutor-avatar,
.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar .tutor-ratio,
.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar img,
.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar .tutor-avatar-text {
	border-radius: 50% !important;
	height: 42px !important;
	min-height: 42px !important;
	min-width: 42px !important;
	overflow: hidden !important;
	width: 42px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-header-user-avatar img {
	object-fit: cover !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-page {
	margin: 0 auto !important;
	max-width: 1120px !important;
	padding: 28px 24px 72px !important;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-dashboard-page>.fpl-student-overview {
	margin: 0 auto;
	max-width: 1040px;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-dashboard-page>.fpl-student-overview~* {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-nav-mobile,
.fpl-brand-student-dashboard .tutor-dashboard-nav-mobile-more-popover,
.fpl-brand-student-dashboard #tutor-dashboard-footer-mobile {
	display: none !important;
}

.fpl-brand-student-dashboard .tutor-see-all-courses {
	bottom: 22px !important;
	color: var(--fpl-brown) !important;
	position: absolute;
}

@media (max-width: 768px) {
	.fpl-brand-student-dashboard .tutor-dashboard-layout {
		display: block !important;
		max-width: 100% !important;
		min-height: auto !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
		width: 100% !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-sidebar {
		display: none !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-main,
	.fpl-brand-student-dashboard .tutor-dashboard-body,
	.fpl-brand-student-dashboard .tutor-dashboard-page,
	.fpl-brand-student-dashboard .tutor-dashboard-page>.fpl-student-overview {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-page {
		padding: 22px 16px 48px !important;
	}

	.fpl-brand-student-dashboard .fpl-student-overview__grid,
	.fpl-brand-student-dashboard .fpl-student-overview__sessions,
	.fpl-brand-student-dashboard .fpl-student-overview__courses {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.fpl-brand-student-dashboard .fpl-booking-history__card,
	.fpl-brand-student-dashboard .fpl-student-overview__courses a {
		overflow-wrap: anywhere !important;
	}
}

/* Tutor course library: light editorial treatment with stable image sizing. */
.fpl-brand-student-dashboard .tutor-dashboard-courses-wrapper {
	--tutor-color-primary: #241914;
	--tutor-color-primary-rgb: 36, 25, 20;
	--tutor-color-secondary: #5f554f;
	--tutor-body-color: #443a35;
	--tutor-border-color: #d8cec1;
	--tutor-surface-base: #f7f1e8;
	--tutor-surface-l1: #fffaf3;
	--tutor-surface-l1-hover: #f4ecdf;
	--tutor-surface-l2: #eee6da;
	--tutor-surface-l2-hover: #e2d7ca;
	--tutor-text-primary: #241914;
	--tutor-text-secondary: #594e48;
	--tutor-text-subdued: #766961;
	--tutor-border-idle: #d8cec1;
	--tutor-button-secondary: #eee6da;
	--tutor-button-secondary-hover: #e2d7ca;
	--tutor-button-ghost-hover: #eee6da;
	color: #241914 !important;
	margin: 0 auto;
	max-width: 1080px;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-card {
	background: #fffaf3 !important;
	border: 1px solid #d8cec1 !important;
	border-radius: 8px !important;
	box-shadow: 0 18px 45px rgba(43, 32, 27, 0.07) !important;
	color: #241914 !important;
	overflow: hidden;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab {
	background: #fffaf3 !important;
	border-bottom: 1px solid #ded5c9 !important;
	padding: 14px 18px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link {
	border: 0 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav {
	align-items: center;
	background: #f4ecdf !important;
	border-radius: 6px !important;
	display: inline-flex !important;
	gap: 4px;
	padding: 4px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link {
	background: transparent !important;
	border-radius: 4px !important;
	color: #594e48 !important;
	font-family: var(--fpl-sans);
	font-size: 13px !important;
	font-weight: 700 !important;
	min-height: 38px;
	padding: 9px 14px !important;
	transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link:hover,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link:focus-visible {
	background: rgba(255, 255, 255, 0.7) !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.is-active {
	background: #fffaf3 !important;
	box-shadow: 0 0 0 1px #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link *,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link svg {
	color: inherit !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-list {
	background: #fffaf3 !important;
	gap: 14px !important;
	padding: 18px !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-wishlist-wrapper,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper,
.fpl-brand-student-dashboard .tutor-quiz-attempts,
.fpl-brand-student-dashboard .tutor-dashboard-courses-wrapper .tutor-flex-center-col {
	background: #fffaf3 !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-wishlist-wrapper,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper {
	min-height: 250px;
}

.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter,
.fpl-brand-student-dashboard .tutor-quiz-attempts-header,
.fpl-brand-student-dashboard .tutor-quiz-attempts-list,
.fpl-brand-student-dashboard .tutor-quiz-attempts-item-wrapper {
	background: #fffaf3 !important;
	border-color: #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn-primary,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn-primary-soft,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn-outline,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn-icon,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-dropdown-filter>button,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-form-select,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-js-form-select,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-dropdown-select-selected,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu {
	background: #fffaf3 !important;
	border-color: #d8cec1 !important;
	box-shadow: none !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu-item,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu-item *,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-btn *,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-form-select *,
.fpl-brand-student-dashboard .tutor-quiz-students-attempts-filter .tutor-dropdown-select-selected * {
	color: #241914 !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu-item:hover,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu-item:focus-visible,
.fpl-brand-student-dashboard .tutor-my-quiz-attempts-wrapper .tutor-popover-menu-item.tutor-active {
	background: #eee6da !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-wrapper .tutor-empty-state svg,
.fpl-brand-student-dashboard .tutor-dashboard-courses-wrapper .tutor-flex-center-col svg {
	color: #766961 !important;
	opacity: 1 !important;
}

.fpl-brand-student-dashboard .tutor-progress-card {
	background: #ffffff !important;
	border: 1px solid #ded5c9 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #241914 !important;
	cursor: pointer;
	min-height: 164px;
	outline: none !important;
	overflow: hidden;
	padding: 0 !important;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.fpl-brand-student-dashboard .tutor-progress-card:hover,
.fpl-brand-student-dashboard .tutor-progress-card:focus-visible,
.fpl-brand-student-dashboard .tutor-progress-card:focus-within {
	border-color: #8d7f74 !important;
	box-shadow: 0 14px 34px rgba(43, 32, 27, 0.1) !important;
	transform: translateY(-2px);
}

.fpl-brand-student-dashboard .tutor-progress-card-inner {
	align-items: stretch !important;
	display: grid !important;
	grid-template-columns: 236px minmax(0, 1fr) !important;
	min-height: 164px;
	width: 100%;
}

.fpl-brand-student-dashboard .tutor-progress-card-thumbnail {
	background: #e9e0d5 !important;
	border: 0 !important;
	height: 100% !important;
	min-height: 164px !important;
	overflow: hidden !important;
	position: relative;
	width: 100% !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-thumbnail::after {
	background: linear-gradient(180deg, transparent 70%, rgba(23, 16, 13, 0.12));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.fpl-brand-student-dashboard .tutor-progress-card-thumbnail img {
	display: block !important;
	height: 100% !important;
	inset: 0;
	object-fit: cover !important;
	object-position: center !important;
	position: absolute;
	transition: transform 420ms cubic-bezier(0.2, 0.7, 0, 1);
	width: 100% !important;
}

.fpl-brand-student-dashboard .tutor-progress-card:hover .tutor-progress-card-thumbnail img,
.fpl-brand-student-dashboard .tutor-progress-card:focus-within .tutor-progress-card-thumbnail img {
	transform: scale(1.025);
}

.fpl-brand-student-dashboard .tutor-progress-card-content {
	background: #ffffff !important;
	color: #241914 !important;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	padding: 24px 26px !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-header,
.fpl-brand-student-dashboard .tutor-progress-card-progress {
	background: transparent !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-category {
	color: #766961 !important;
	font-family: var(--fpl-sans);
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.4;
	margin-bottom: 8px !important;
	text-transform: uppercase;
}

.fpl-brand-student-dashboard .tutor-progress-card-title {
	color: #241914 !important;
	font-family: var(--fpl-serif) !important;
	font-size: clamp(25px, 2.1vw, 33px) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-details {
	color: #655a54 !important;
	font-family: var(--fpl-sans);
	font-size: 13px !important;
	font-weight: 500;
	margin-top: 20px;
}

.fpl-brand-student-dashboard .tutor-progress-card-bar {
	margin-top: 10px !important;
}

.fpl-brand-student-dashboard .tutor-progress-card .tutor-progress-bar,
.fpl-brand-student-dashboard .tutor-progress-card [role="progressbar"] {
	background: #eee6da !important;
	border-radius: 0 !important;
	height: 5px !important;
}

.fpl-brand-student-dashboard .tutor-progress-card .tutor-progress-value,
.fpl-brand-student-dashboard .tutor-progress-card [role="progressbar"]>* {
	background: #8a263d !important;
	border-radius: 0 !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-actions {
	background: rgba(255, 250, 243, 0.97) !important;
	border: 0 !important;
	box-shadow: -8px 0 18px rgba(43, 32, 27, 0.06) !important;
}

.fpl-brand-student-dashboard .tutor-progress-card-actions .tutor-btn {
	background: #eee6da !important;
	border-color: #d8cec1 !important;
	border-radius: 4px !important;
	color: #241914 !important;
}

/* Tutor lesson area: use the same light FPL palette as the dashboard. */
.fpl-brand-active .tutor-learning-area,
.fpl-brand-active .tutor-course-single-content-wrapper {
	--tutor-surface-base: #f7f1e8;
	--tutor-surface-l1: #fffaf3;
	--tutor-surface-l1-hover: #f4ecdf;
	--tutor-surface-l2: #eee6da;
	--tutor-surface-l2-hover: #e2d7ca;
	--tutor-surface-l3: #f4ecdf;
	--tutor-surface-sidebar-l1: #fffaf3;
	--tutor-text-primary: #241914;
	--tutor-text-secondary: #594e48;
	--tutor-text-subdued: #766961;
	--tutor-icon-idle: #241914;
	--tutor-icon-secondary: #766961;
	--tutor-icon-subdued: #9b9289;
	--tutor-border-idle: #d8cec1;
	--tutor-border-hover: #8d7f74;
	--tutor-border-brand: #8a263d;
	--tutor-actions-brand-primary: #8a263d;
	--tutor-actions-gray-empty: #eee6da;
	--tutor-button-primary: #eee6da;
	--tutor-button-primary-hover: #e2d7ca;
	--tutor-button-secondary: #eee6da;
	--tutor-button-secondary-hover: #e2d7ca;
	--tutor-button-ghost-hover: #eee6da;
	--tutor-tab-sidebar-l2-hover: #f4ecdf;
	--tutor-tab-sidebar-l2-active: #eee6da;
	--tutor-tab-l3-active-hover: #fffaf3;
	--tutor-quiz-idle: #fffaf3;
	background: #f7f1e8 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-learning-header,
.fpl-brand-active .tutor-learning-area-body,
.fpl-brand-active .tutor-learning-area-content,
.fpl-brand-active .tutor-learning-area-container,
.fpl-brand-active #tutor-single-entry-content,
.fpl-brand-active .tutor-course-topic-single-body {
	background: #f7f1e8 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-learning-header-inner,
.fpl-brand-active .tutor-learning-sidebar-curriculum,
.fpl-brand-active .tutor-learning-sidebar-pages,
.fpl-brand-active .tutor-course-topic-single-header,
.fpl-brand-active .tutor-single-page-top-bar,
.fpl-brand-active .tutor-course-single-sidebar-wrapper,
.fpl-brand-active .tutor-course-spotlight-wrapper,
.fpl-brand-active .tutor-course-spotlight-tab,
.fpl-brand-active .tutor-learning-area-footer,
.fpl-brand-active .tutor-course-topic-single-footer {
	background: #fffaf3 !important;
	border-color: #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-course-single-sidebar-title,
.fpl-brand-active .tutor-course-topic,
.fpl-brand-active .tutor-course-topic .tutor-accordion-item-header,
.fpl-brand-active .tutor-course-topic-item,
.fpl-brand-active .tutor-course-topic-item a,
.fpl-brand-active .tutor-learning-nav-header,
.fpl-brand-active .tutor-learning-pages-item,
.fpl-brand-active .tutor-lesson-wrapper,
.fpl-brand-active .tutor-lesson-wrapper p {
	color: #241914 !important;
}

.fpl-brand-active .tutor-course-topic-item.is-active,
.fpl-brand-active .tutor-course-topic-item:hover,
.fpl-brand-active .tutor-learning-nav-topic.active .tutor-learning-nav-header,
.fpl-brand-active .tutor-learning-nav-header:hover,
.fpl-brand-active .tutor-learning-pages-item.active,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.is-active,
.fpl-brand-active .tutor-course-spotlight-nav.tutor-nav-pills .tutor-nav-link.is-active,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.is-active,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.is-active {
	background: #eee6da !important;
	border-color: #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link,
.fpl-brand-active .tutor-learning-header-title,
.fpl-brand-active .tutor-learning-progress-text,
.fpl-brand-active .tutor-learning-nav-header-title {
	color: #241914 !important;
}

/* Course session plans use the same clean body type as the course overview lists. */
body.single-courses .tutor-course-content-title,
body.single-courses .tutor-accordion-item-header,
body.single-courses .tutor-course-content-list-item,
body.single-courses .tutor-course-content-list-item-title,
body.single-courses .tutor-course-content-list-item-title a,
body.single-courses .tutor-course-content-list-item-duration {
	font-family: var(--fpl-sans) !important;
	letter-spacing: 0 !important;
}

body.single-courses .tutor-course-content-title {
	color: #241914 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

body.single-courses .tutor-accordion-item-header {
	color: #241914 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.single-courses .tutor-course-content-list-item-title,
body.single-courses .tutor-course-content-list-item-title a {
	color: #241914 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
}

body.single-courses .tutor-course-content-list-item-duration {
	color: #655a54 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

.fpl-brand-active .tutor-learning-area .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-active .tutor-course-single-content-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-active .tutor-course-spotlight-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-active .tutor-learning-header .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-active .tutor-learning-area-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost),
.fpl-brand-active .tutor-course-topic-single-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) {
	background: #eee6da !important;
	border-color: #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-learning-area .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) *,
.fpl-brand-active .tutor-course-single-content-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) *,
.fpl-brand-active .tutor-course-spotlight-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) *,
.fpl-brand-active .tutor-learning-header .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) *,
.fpl-brand-active .tutor-learning-area-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) *,
.fpl-brand-active .tutor-course-topic-single-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost) * {
	color: #241914 !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpl-brand-active .tutor-learning-area .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover,
.fpl-brand-active .tutor-course-single-content-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover,
.fpl-brand-active .tutor-course-spotlight-wrapper .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover,
.fpl-brand-active .tutor-learning-header .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover,
.fpl-brand-active .tutor-learning-area-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover,
.fpl-brand-active .tutor-course-topic-single-footer .tutor-btn:not(.tutor-btn-link):not(.tutor-btn-ghost):hover {
	background: #e2d7ca !important;
	border-color: #8d7f74 !important;
	color: #241914 !important;
}

/* Final Tutor override for active controls that load later than the base palette. */
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.active,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.is-active,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.tutor-active,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link[aria-selected="true"],
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.active,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.is-active,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.tutor-active,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link[aria-selected="true"],
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.active,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.is-active,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.tutor-active,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link[aria-selected="true"],
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.active,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.is-active,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.tutor-active,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link[aria-selected="true"],
.fpl-brand-active .tutor-topbar-mark-btn,
.fpl-brand-active .tutor-topbar-mark-btn.tutor-btn-primary,
.fpl-brand-active .tutor-topbar-complete-btn .tutor-btn,
.fpl-brand-active .tutor-learning-header .tutor-btn-secondary,
.fpl-brand-active button[name="complete_course_btn"] {
	background: #eee6da !important;
	border-color: #d8cec1 !important;
	box-shadow: 0 0 0 1px #d8cec1 !important;
	color: #241914 !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.active *,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.is-active *,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.tutor-active *,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link[aria-selected="true"] *,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.active *,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.is-active *,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.tutor-active *,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link[aria-selected="true"] *,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.active *,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.is-active *,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.tutor-active *,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link[aria-selected="true"] *,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.active *,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.is-active *,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.tutor-active *,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link[aria-selected="true"] *,
.fpl-brand-active .tutor-topbar-mark-btn *,
.fpl-brand-active .tutor-topbar-complete-btn .tutor-btn *,
.fpl-brand-active .tutor-learning-header .tutor-btn-secondary *,
.fpl-brand-active button[name="complete_course_btn"] * {
	color: inherit !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.active:hover,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.is-active:hover,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link.tutor-active:hover,
.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav-link[aria-selected="true"]:hover,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.active:hover,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.is-active:hover,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link.tutor-active:hover,
.fpl-brand-active .tutor-course-spotlight-nav .tutor-nav-link[aria-selected="true"]:hover,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.active:hover,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.is-active:hover,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link.tutor-active:hover,
.fpl-brand-active .tutor-nav-pills .tutor-nav-link[aria-selected="true"]:hover,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.active:hover,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.is-active:hover,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link.tutor-active:hover,
.fpl-brand-active .tutor-nav-tabs .tutor-nav-link[aria-selected="true"]:hover,
.fpl-brand-active .tutor-topbar-mark-btn:hover,
.fpl-brand-active .tutor-topbar-complete-btn .tutor-btn:hover,
.fpl-brand-active .tutor-learning-header .tutor-btn-secondary:hover,
.fpl-brand-active button[name="complete_course_btn"]:hover {
	background: #e2d7ca !important;
	border-color: #8d7f74 !important;
	color: #241914 !important;
}

.fpl-brand-active .tutor-learning-sidebar-pages {
	display: none !important;
}

/* Route feedback: site-wide progress line plus the existing dashboard skeleton. */
body.fpl-brand-active::before {
	background: #8a263d;
	content: "";
	height: 3px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: opacity 160ms ease;
	width: 100%;
	z-index: 99999;
}

html.fpl-route-pending body.fpl-brand-active::before {
	animation: fpl-route-progress 1.15s cubic-bezier(0.2, 0.7, 0, 1) infinite;
	opacity: 1;
}

html.fpl-route-pending body.fpl-brand-active {
	cursor: progress;
}

.fpl-dashboard-skeleton {
	background: #fffaf3;
	border: 1px solid #d8cec1;
	border-radius: 8px;
	display: none;
	inset: 28px 24px auto;
	min-height: 560px;
	padding: 18px;
	position: absolute;
	z-index: 20;
}

.fpl-brand-student-dashboard .tutor-dashboard-page.is-route-loading {
	min-height: 660px;
	opacity: 1 !important;
	position: relative;
}

.fpl-brand-student-dashboard .tutor-dashboard-page.is-route-loading> :not(.fpl-dashboard-skeleton) {
	opacity: 0;
	pointer-events: none;
}

.fpl-brand-student-dashboard .tutor-dashboard-page.is-route-loading .fpl-dashboard-skeleton {
	display: block;
}

.fpl-dashboard-skeleton__tabs {
	background: #f4ecdf;
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
	padding: 8px;
}

.fpl-dashboard-skeleton__tabs span {
	height: 34px;
	width: 118px;
}

.fpl-dashboard-skeleton__rows {
	display: grid;
	gap: 14px;
}

.fpl-dashboard-skeleton__row {
	border: 1px solid #ded5c9;
	display: grid;
	grid-template-columns: 236px 1fr;
	min-height: 136px;
}

.fpl-dashboard-skeleton__image {
	height: 100%;
	min-height: 136px;
}

.fpl-dashboard-skeleton__copy {
	display: flex;
	flex-direction: column;
	gap: 13px;
	justify-content: center;
	padding: 22px 26px;
}

.fpl-dashboard-skeleton__line {
	height: 10px;
	width: 72%;
}

.fpl-dashboard-skeleton__line--short {
	width: 24%;
}

.fpl-dashboard-skeleton__line--title {
	height: 26px;
	width: 52%;
}

.fpl-dashboard-skeleton__tabs span,
.fpl-dashboard-skeleton__image,
.fpl-dashboard-skeleton__line {
	background: linear-gradient(90deg, #e9e0d5 22%, #f6efe5 42%, #e9e0d5 62%);
	background-size: 300% 100%;
	border-radius: 3px;
	animation: fpl-skeleton-shimmer 1.35s ease-in-out infinite;
}

@keyframes fpl-route-progress {
	0% {
		transform: scaleX(0);
	}

	55% {
		transform: scaleX(0.72);
	}

	100% {
		transform: scaleX(0.94);
	}
}

@keyframes fpl-skeleton-shimmer {
	0% {
		background-position: 100% 0;
	}

	100% {
		background-position: 0 0;
	}
}

@media (max-width: 900px) {

	.fpl-brand-student-dashboard .tutor-progress-card-inner,
	.fpl-dashboard-skeleton__row {
		grid-template-columns: 190px minmax(0, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.fpl-brand-student-dashboard .tutor-dashboard-courses-card {
		border-radius: 4px !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-courses-tab {
		overflow-x: auto;
		padding: 10px !important;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-courses-tab .tutor-nav {
		flex-wrap: nowrap !important;
		min-width: max-content;
	}

	.fpl-brand-student-dashboard .tutor-dashboard-courses-list {
		padding: 10px !important;
	}

	.fpl-brand-student-dashboard .tutor-progress-card {
		min-height: 0;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-inner,
	.fpl-dashboard-skeleton__row {
		display: grid !important;
		grid-template-columns: 112px minmax(0, 1fr) !important;
		min-height: 130px;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-thumbnail {
		min-height: 130px !important;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-content {
		padding: 16px !important;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-title {
		font-size: 21px !important;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-category {
		font-size: 9px !important;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-details {
		font-size: 11px !important;
		margin-top: 14px;
	}

	.fpl-brand-student-dashboard .tutor-progress-card-actions {
		display: none !important;
	}

	.fpl-dashboard-skeleton {
		inset: 14px 12px auto;
		min-height: 520px;
		padding: 10px;
	}

	.fpl-dashboard-skeleton__image {
		min-height: 130px;
	}

	.fpl-dashboard-skeleton__copy {
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {

	body.fpl-brand-active::before,
	.fpl-brand-student-dashboard .tutor-progress-card,
	.fpl-brand-student-dashboard .tutor-progress-card-thumbnail img,
	.fpl-dashboard-skeleton__tabs span,
	.fpl-dashboard-skeleton__image,
	.fpl-dashboard-skeleton__line {
		animation: none !important;
		transition: none !important;
	}

	html.fpl-route-pending body.fpl-brand-active::before {
		transform: scaleX(1);
	}
}

/* Brand label typography: use the approved clean sans style, not a Times-like serif. */
.fpl-brand-active .site-title,
.fpl-brand-active .site-title a,
.fpl-editorial-footer__masthead {
	font-family: var(--fpl-sans) !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

/* Home hero: replace the large text label with the black logo mark. */
.fpl-brand-home .fpl-lux-hero h1 {
	background: transparent url("/wp-content/uploads/fpl-brand/fashion-pattern-lab-hero-wordmark.png?fplv=20260717-hero-wordmark") left center / 100% auto no-repeat !important;
	color: transparent !important;
	display: block !important;
	font-size: 0 !important;
	height: clamp(150px, 15.2vw, 220px) !important;
	line-height: 0 !important;
	margin: 0 0 clamp(18px, 1.8vw, 26px) !important;
	margin-left: clamp(-32px, -2vw, -18px) !important;
	max-width: none !important;
	overflow: hidden !important;
	text-indent: -9999px !important;
	width: clamp(310px, 31.5vw, 455px) !important;
}

/* Black identity mark override after legacy white-box logo styles. */
.fpl-brand-active .site-branding::before {
	background: transparent url("/wp-content/uploads/fpl-brand/fashion-pattern-lab-logo.png?fplv=20260717-black-logo") center / contain no-repeat !important;
	border: 0 !important;
	border-radius: 50% !important;
}

.fpl-brand-active .custom-logo-link {
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
}

.fpl-editorial-footer__mark {
	background: transparent !important;
	border: 0 !important;
	border-radius: 50% !important;
}

.fpl-editorial-footer__mark img {
	filter: none !important;
	height: 100% !important;
	width: 100% !important;
}

/* PDF-approved homepage hero (HOME PAGE.pdf, page 1). */
.fpl-brand-home .fpl-lux-hero--pattern-reference {
	background: #fbf8f2 !important;
	grid-template-columns: minmax(0, 48fr) minmax(0, 52fr) !important;
	min-height: clamp(650px, calc(100svh - 90px), 850px) !important;
	padding-bottom: clamp(40px, 4vw, 80px);
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
	align-self: center !important;
	padding: clamp(70px, 6.4vw, 122px) clamp(38px, 3.5vw, 68px) clamp(70px, 6.4vw, 122px) clamp(72px, 6.4vw, 122px) !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
	height: clamp(160px, 11.5vw, 220px) !important;
	margin: 0 0 clamp(24px, 2vw, 38px) !important;
	margin-left: clamp(-24px, -1.3vw, -12px) !important;
	width: clamp(350px, 25vw, 480px) !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek {
	color: #090807 !important;
	font-family: Gabriola, var(--fpl-script) !important;
	font-size: clamp(22px, 1.45vw, 28px) !important;
	font-style: italic;
	font-weight: 500;
	line-height: 1.42 !important;
	margin: 0 0 clamp(30px, 2.35vw, 44px) !important;
	margin-left: clamp(24px, 2vw, 38px) !important;
	max-width: 650px !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__actions {
	gap: 14px !important;
	margin-bottom: 70px !important;
	margin-left: clamp(24px, 2vw, 38px) !important;
	max-width: none !important;
}



.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 30px;
	max-width: 620px;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 58px;
	padding: 0 18px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div:first-child {
	padding-left: 0;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons img {
	display: block;
	height: auto;
	max-height: 56px;
	max-width: 100%;
	object-fit: contain;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div:nth-child(1) img {
	width: 78px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div:nth-child(2) img {
	width: 72px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div:nth-child(3) img {
	width: 66px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-button {
	font-size: 11px !important;
	min-height: 56px !important;
	padding: 0 30px !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule {
	border-top: 1px solid rgba(9, 8, 7, 0.14);
	margin-left: clamp(24px, 2vw, 38px);
	margin-top: 5px;
	max-width: 620px;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
	border-top: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	max-width: 620px;
	padding-top: 0;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof>div {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 0 24px;
	position: relative;
	text-align: center;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof>div:first-child {
	padding-left: 0;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof>div+div::before {
	background: rgba(9, 8, 7, 0.16);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 1px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof strong {
	color: var(--fpl-ink);
	font-family: var(--fpl-sans);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1.2;
	text-transform: uppercase;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof span {
	color: #806744;
	font-family: var(--fpl-serif);
	font-size: 13px;
	letter-spacing: 0;
	line-height: 1.15;
	text-transform: none;
}

/* Tighten and align the three benefit callouts beneath the hero CTA. */
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons {
	margin-top: 24px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
	margin-left: clamp(24px, 2vw, 38px);
	margin-right: 0;
	width: calc(100% - clamp(24px, 2vw, 38px));
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons > div {
	min-height: 70px;
	padding-left: 12px;
	padding-right: 12px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons > div:first-child,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div:first-child {
	padding-left: 12px !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons img {
	max-height: 70px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule {
	margin-top: 0;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
	margin-top: 16px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div {
	gap: 4px;
	padding-left: 12px;
	padding-right: 12px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof strong {
	font-size: 13px;
	line-height: 1.25;
	min-height: 2.8em;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof span {
	font-size: 16px;
	line-height: 1.15;
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons,
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule,
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__image {
	align-self: center;
	background: transparent !important;
	border: 0 !important;
	height: min(100%, 850px) !important;
	max-height: 850px;
	object-fit: contain !important;
	object-position: center !important;
	padding: clamp(24px, 2.3vw, 44px) clamp(38px, 4vw, 76px) clamp(14px, 1.4vw, 28px);
	width: 100% !important;
}

@media (max-width: 1120px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference {
		grid-template-columns: minmax(0, 50fr) minmax(0, 50fr) !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		padding-left: clamp(44px, 5vw, 64px) !important;
		padding-right: 28px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
		width: clamp(310px, 37vw, 420px) !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek {
		font-size: clamp(20px, 2.15vw, 24px) !important;
	}
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto !important;
		min-height: 0 !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		grid-column: 1 !important;
		grid-row: 1 !important;
		padding: 40px 24px 30px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
		height: clamp(134px, 36vw, 180px) !important;
		margin-bottom: 20px !important;
		margin-left: -16px !important;
		max-width: 430px !important;
		width: min(100%, 430px) !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek {
		font-size: clamp(20px, 5vw, 24px) !important;
		margin-left: 0 !important;
		margin-bottom: 26px !important;
		max-width: 500px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek-break {
		display: none;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__actions {
		flex-direction: row !important;
		margin-left: 0 !important;
		max-width: none !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__actions .fpl-button {
		flex: 1 1 180px;
		width: auto !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons {
		margin-left: 0;
		margin-top: 22px;
		max-width: none;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div {
		min-height: 56px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule {
		margin-left: 0;
		margin-top: 10px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
		margin-left: 0;
		max-width: none;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__image {
		aspect-ratio: 1.05 / 1 !important;
		grid-column: 1 !important;
		grid-row: 2 !important;
		height: auto !important;
		max-height: none;
		padding: 18px 20px 28px !important;
	}
}

@media (max-width: 480px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		padding: 28px 20px 24px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
		height: clamp(112px, 34vw, 150px) !important;
		margin-left: -12px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek {
		font-size: 20px !important;
		line-height: 1.38 !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__actions {
		flex-direction: column !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__actions .fpl-button {
		flex: 0 0 auto;
		min-height: 50px !important;
		width: 100% !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
		margin-top: 18px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons {
		margin-top: 18px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons>div {
		min-height: 44px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons img {
		max-height: 40px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof>div {
		padding-left: 10px;
		padding-right: 10px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof strong {
		font-size: 9px;
		letter-spacing: 0.04em;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof span {
		font-size: 11px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__image {
		padding: 10px 12px 22px !important;
	}
}

/* PDF-approved section immediately below the homepage hero. */
.fpl-brand-home .fpl-home-why {
	background: transparent;
	color: #0a0a09;
	overflow: hidden;
}

.fpl-brand-home .fpl-home-why__inner {
	display: block;
	margin: 0 auto;
	max-width: 1920px;
	padding: clamp(72px, 5.8vw, 112px) clamp(24px, 6vw, 116px) clamp(38px, 3.5vw, 68px);
	position: relative;
	width: 100%;
}

.fpl-brand-home .fpl-home-why__inner::before {
	background-image: url('../images/fpl-home-pattern-pieces-ai-3000.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	filter: invert(1);
	height: 100%;
	left: 0;
	opacity: 0.4;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.fpl-brand-home .fpl-home-why__content {
	margin: 0 auto;
	max-width: 1540px;
	min-width: 0;
	position: relative;
	width: 100%;
	z-index: 1;
}

.fpl-brand-home .fpl-home-why__heading {
	background: transparent;
	margin: 0 0 clamp(26px, 2vw, 38px);
	text-align: center;
}

.fpl-brand-home .fpl-home-why__eyebrow {
	align-items: center;
	color: #aa7518;
	display: flex;
	font-family: var(--fpl-sans);
	font-size: clamp(12px, 1vw, 18px);
	font-weight: 700;
	gap: 14px;
	justify-content: center;
	letter-spacing: 0.11em !important;
	line-height: 1.25;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.fpl-brand-home .fpl-home-why__eyebrow::before,
.fpl-brand-home .fpl-home-why__eyebrow::after {
	background: #b8862d;
	content: "";
	height: 1px;
	max-width: 64px;
	position: relative;
	width: 8%;
}

.fpl-brand-home .fpl-home-why__heading h2 {
	color: #090807;
	font-family: var(--fpl-serif);
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -0.045em !important;
	line-height: 1.02;
	margin: 0;
}

.fpl-brand-home .fpl-home-why__heading h2::after {
	background: var(--fpl-mustard);
	content: "";
	display: block;
	height: 1px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 12px;
	width: 280px;
}

.fpl-brand-home .fpl-home-why__heading h2 em {
	color: #b47a16;
	font-style: normal;
}

.fpl-brand-home .fpl-home-why__flourish {
	align-items: center;
	color: #b47a16;
	display: flex;
	font-size: 15px;
	gap: 7px;
	justify-content: center;
	line-height: 1;
	margin-top: 4px;
}

.fpl-brand-home .fpl-home-why__flourish::before,
.fpl-brand-home .fpl-home-why__flourish::after {
	background: #b47a16;
	content: "";
	height: 1px;
	width: 26px;
}

.fpl-brand-home .fpl-home-why__list {
	list-style: none;
	margin: 0 0 clamp(42px, 3.2vw, 62px);
	padding: 0;
}

.fpl-brand-home .fpl-home-why__point {
	align-items: center;
	background: transparent;
	border-bottom: 1px solid rgba(180, 122, 22, 0.19);
	display: grid;
	font-family: var(--fpl-sans);
	grid-template-columns: clamp(48px, 4.2vw, 72px) clamp(62px, 5vw, 86px) minmax(188px, 0.86fr) minmax(260px, 1.6fr);
	min-height: clamp(54px, 3.8vw, 70px);
	position: relative;
}

.fpl-brand-home .fpl-home-why__point:first-child {
	border-radius: 11px 11px 0 0;
}

.fpl-brand-home .fpl-home-why__point:last-child {
	border-radius: 0 0 11px 11px;
}

.fpl-brand-home .fpl-home-why__number {
	align-items: center;
	align-self: stretch;
	background: linear-gradient(145deg, #d5a52b, #a96f0c);
	border-radius: 9px 0 0 9px;
	color: #fff;
	display: flex;
	font-family: var(--fpl-serif);
	font-size: clamp(22px, 1.8vw, 34px);
	justify-content: center;
	line-height: 1;
	margin: 3px 0;
	position: relative;
}


.fpl-brand-home .fpl-home-why__icon {
	align-items: center;
	background: #fbfaf6;
	border: 1px solid rgba(180, 122, 22, 0.28);
	border-radius: 50%;
	color: #26313a;
	display: flex;
	height: clamp(34px, 3vw, 50px);
	justify-content: center;
	margin: 0 auto;
	width: clamp(34px, 3vw, 50px);
}

.fpl-brand-home .fpl-home-why__icon svg {
	fill: none;
	height: 64%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
	width: 64%;
}

.fpl-brand-home .fpl-home-why__point h3 {
	color: #0b0b0a;
	font-family: var(--fpl-sans);
	font-size: clamp(11px, 0.8vw, 14px);
	font-weight: 700;
	line-height: 1.17;
	margin: 0;
	padding: 10px clamp(12px, 1.4vw, 24px) 10px 2px;
}

.fpl-brand-home .fpl-home-why__point p {
	border-left: 1px solid rgba(180, 122, 22, 0.38);
	color: #242321;
	font-family: var(--fpl-sans);
	font-size: clamp(9.5px, 0.7vw, 12px);
	line-height: 1.42;
	margin: 0;
	padding: 7px clamp(10px, 1.1vw, 19px) 7px clamp(18px, 1.9vw, 32px);
}

.fpl-brand-home .fpl-home-why__features {
	background: transparent;
	border: 1px solid rgba(180, 122, 22, 0.24);
	border-radius: 0 0 13px 13px;
	color: #aa7411;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: clamp(17px, 1.5vw, 27px) clamp(14px, 1.2vw, 22px);
	position: relative;
	width: 100%;
}

.fpl-brand-home .fpl-home-why__features::before {
	background: #c18a1f;
	border-radius: 2px;
	content: "";
	height: 3px;
	left: 9%;
	position: absolute;
	right: 0;
	top: 0;
}

.fpl-brand-home .fpl-home-why__feature {
	align-items: center;
	border-right: 1px solid rgba(180, 122, 22, 0.24);
	display: grid;
	gap: clamp(8px, 0.8vw, 14px);
	grid-template-columns: clamp(32px, 2.8vw, 46px) 1fr;
	min-width: 0;
	padding: 0 clamp(10px, 1.2vw, 20px);
}

.fpl-brand-home .fpl-home-why__feature:first-child {
	padding-left: 0;
}

.fpl-brand-home .fpl-home-why__feature:last-child {
	border-right: 0;
	padding-right: 0;
}

.fpl-brand-home .fpl-home-why__feature>span {
	display: block;
	height: clamp(32px, 2.8vw, 46px);
	width: clamp(32px, 2.8vw, 46px);
}

.fpl-brand-home .fpl-home-why__feature svg {
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.35;
	width: 100%;
}

.fpl-brand-home .fpl-home-why__feature p {
	margin: 0;
	min-width: 0;
}

.fpl-brand-home .fpl-home-why__feature strong,
.fpl-brand-home .fpl-home-why__feature small {
	display: block;
	font-family: var(--fpl-sans);
}

.fpl-brand-home .fpl-home-why__feature strong {
	font-size: clamp(10px, 0.74vw, 13px);
	font-weight: 700;
	letter-spacing: 0.015em !important;
	line-height: 1.16;
	text-transform: uppercase;
}

.fpl-brand-home .fpl-home-why__feature small {
	color: #4a4741;
	font-size: clamp(8px, 0.62vw, 11px);
	line-height: 1.25;
	margin-top: 4px;
}

@media (max-width: 1100px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding-left: 5vw;
		padding-right: 5vw;
	}

	.fpl-brand-home .fpl-home-why__content {
		max-width: 980px;
		width: 100%;
	}

	.fpl-brand-home .fpl-home-why__point {
		grid-template-columns: 50px 62px minmax(160px, 0.78fr) minmax(225px, 1.5fr);
	}
}

@media (max-width: 760px) {
	.fpl-brand-home .fpl-home-why__inner {
		display: block;
		padding: 56px 22px 38px;
	}

	.fpl-brand-home .fpl-home-why__content {
		max-width: none;
		width: 100%;
	}

	.fpl-brand-home .fpl-home-why__heading {
		margin-bottom: 26px;
	}

	.fpl-brand-home .fpl-home-why__eyebrow {
		font-size: 11px;
		gap: 8px;
		letter-spacing: 0.07em !important;
	}

	.fpl-brand-home .fpl-home-why__heading h2 {
		font-size: clamp(34px, 10vw, 48px);
	}

	.fpl-brand-home .fpl-home-why__point {
		grid-template-columns: 38px 44px minmax(0, 1fr);
		min-height: 56px;
	}

	.fpl-brand-home .fpl-home-why__number {
		font-size: 20px;
	}

	.fpl-brand-home .fpl-home-why__point h3 {
		font-size: 11px;
		line-height: 1.15;
		margin-bottom: 2px;
		padding: 0 12px 0 2px;
	}

	.fpl-brand-home .fpl-home-why__point p {
		border-left: 0;
		border-top: 1px solid rgba(180, 122, 22, 0.22);
		font-size: 10px;
		grid-column: 2 / -1;
		line-height: 1.2;
		padding: 0 12px 0 12px;
	}

	.fpl-brand-home .fpl-home-why__features {
		gap: 16px 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 30px;
	}

	.fpl-brand-home .fpl-home-why__feature {
		border-right: 0;
		padding: 0 12px !important;
	}

	.fpl-brand-home .fpl-home-why__feature:nth-child(even) {
		border-left: 1px solid rgba(217, 166, 55, 0.32);
	}

}

/* Original Students Words composition with improved testimonial readability. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words {
	background: #f2efe8;
	color: #090807;
	overflow: hidden;
	padding: clamp(66px, 5.2vw, 100px) 3.5vw clamp(46px, 4vw, 76px);
}

.fpl-brand-home .fpl-store-heading {
	border-top: 1px solid rgba(43, 32, 27, 0.26);
}

.fpl-brand-home .fpl-courses-heading {
	padding-bottom: 72px !important;
	padding-top: 48px !important;
}

.fpl-brand-home .fpl-courses-heading .fpl-display {
	margin-bottom: 0;
}

.fpl-brand-home .fpl-elementor-courses-grid {
	padding-bottom: 112px !important;
}

@media (max-width: 760px) {
	.fpl-brand-home .fpl-courses-heading {
		padding-bottom: 52px !important;
		padding-top: 32px !important;
	}

	.fpl-brand-home .fpl-elementor-courses-grid {
		padding-bottom: 72px !important;
	}
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__inner {
	margin: 0 auto;
	max-width: 1790px;
	width: 100%;
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__title {
	color: #090807;
	display: inline-block;
	font-family: var(--fpl-serif);
	font-size: clamp(34px, 2.35vw, 45px);
	font-weight: 500;
	line-height: 1.04;
	margin: 0 0 30px;
}

/* Testimonials run as a continuous, endless marquee. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__marquee {
	--fpl-marquee-gap: clamp(18px, 1.6vw, 28px);

	/* Fade the cards in and out at both edges. */
	-webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
	overflow: hidden;
	padding: 8px 0 18px;
	width: 100%;
}

/* Every card is the same size; the quote centres inside it. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__track {
	align-items: stretch;
	animation: fpl-student-marquee 64s linear infinite;
	display: flex;
	gap: var(--fpl-marquee-gap);
	width: max-content;
	will-change: transform;
}

/* Half the track is the duplicate set, so -50% lands on an identical frame. */
@keyframes fpl-student-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(calc(-50% - (var(--fpl-marquee-gap) / 2)), 0, 0);
	}
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__marquee:hover .fpl-student-words__track,
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__marquee:focus-within .fpl-student-words__track {
	animation-play-state: paused;
}

/* Each column stacks a long review with a short one so both columns fill
   to the same height. Cards share the column height between them. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__col {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: var(--fpl-marquee-gap);
	/* Wider columns wrap the quotes into fewer lines, which keeps the
	   stacked pair short rather than tall. */
	width: clamp(340px, 37vw, 560px);
}

/* Flat editorial plate: paper ground, hairline rule, oxblood corner accent. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card {
	background: var(--fpl-paper);
	border: 1px solid rgba(43, 32, 27, 0.14);
	border-radius: 0;
	box-shadow: none;
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	margin: 0;
	padding: clamp(24px, 1.9vw, 32px) clamp(22px, 1.7vw, 30px) clamp(20px, 1.5vw, 26px);
	position: relative;
	text-align: left;
	flex: 1 1 auto;
	transition: border-color 300ms ease;
	width: 100%;
}

/* Short oxblood accent along the top edge. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card::before {
	background: var(--fpl-oxblood);
	content: "";
	height: 2px;
	left: -1px;
	position: absolute;
	top: -1px;
	width: 62px;
}

@media (hover: hover) {
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card:hover {
		border-color: rgba(111, 36, 52, 0.5);
	}
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card__stars {
	color: #ffad32;
	font-family: Arial, sans-serif;
	font-size: clamp(19px, 1.4vw, 26px);
	letter-spacing: 2px;
	line-height: 1;
	margin-bottom: clamp(12px, 1vw, 17px);
	text-align: left;
	white-space: nowrap;
}

/* The stylish script, sized up — italic script needs more size than an
   upright serif to stay comfortable to read. Flexes to fill the card so
   a short review sits centred instead of stranded at the top. */
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card p {
	align-items: center;
	color: #4a423b;
	display: flex;
	flex: 1 1 auto;
	font-family: Gabriola, var(--fpl-script);
	font-size: clamp(17px, 1.25vw, 21px);
	font-style: italic;
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
	padding-bottom: 14px;
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card footer {
	flex: 0 0 auto;
	padding-top: clamp(12px, 1vw, 16px);
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card footer::before {
	background: rgba(9, 8, 7, 0.22);
	content: "";
	display: block;
	height: 1px;
	margin: 0 0 12px;
	width: 100%;
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card footer strong {
	color: #090807;
	display: block;
	font-family: var(--fpl-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card footer span {
	color: #7a736b;
	display: block;
	font-family: var(--fpl-sans);
	font-size: 10px;
	letter-spacing: 0.1em;
	margin-top: 5px;
	text-transform: uppercase;
}

@media (max-width: 620px) {
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words {
		padding: 48px 0 40px;
	}

	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__inner {
		padding: 0 20px;
	}

	/* Narrow fade so a card is never sliced mid-sentence at the edge. */
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__marquee {
		-webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
		mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
		padding: 6px 0 18px;
	}

	/* Columns keep their two-up stacking here too, so the width of the
	   card is set on the column and each card fills it. */
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__col {
		width: 92vw;
	}

	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card {
		padding: 20px 20px 18px;
		width: 100%;
	}

	/* Slightly smaller type on the narrow card, so the stacked pair does
	   not run away in height. */
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card p {
		font-size: 16px;
		line-height: 1.5;
		padding-bottom: 10px;
	}

	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card__stars {
		font-size: 17px;
		margin-bottom: 12px;
	}

	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-word-card footer::before {
		margin-bottom: 10px;
	}
}

@media (max-width: 440px) {
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__title {
		font-size: 32px;
	}
}

/* No motion: fall back to a normal swipeable row. */
@media (prefers-reduced-motion: reduce) {
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__marquee {
		-webkit-mask-image: none;
		mask-image: none;
		overflow-x: auto;
	}

	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__track {
		animation: none;
	}
}


/* Shared blank and heading-only placeholder pages. */
.fpl-placeholder-page {
	align-items: center;
	background: #f8f5ee;
	display: flex;
	justify-content: center;
	min-height: clamp(360px, 52vh, 640px);
	padding: clamp(72px, 9vw, 140px) 24px;
	text-align: center;
}

.fpl-placeholder-page--empty {
	display: block;
}

.fpl-placeholder-page__inner {
	margin: 0 auto;
	max-width: 1100px;
	width: 100%;
}

.fpl-placeholder-page h1 {
	color: #11100e;
	font-family: var(--fpl-serif);
	font-size: clamp(46px, 6vw, 92px);
	font-weight: 500;
	letter-spacing: -0.045em !important;
	line-height: 1.02;
	margin: 0;
}

/* PDF-approved public navigation and footer. */
.fpl-brand-active .site-header,
.fpl-brand-active .site-footer {
	display: none !important;
}

.fpl-reference-header {
	background: #f8f5ee;
	border-bottom: 1px solid rgba(17, 15, 12, 0.1);
	color: #11100e;
	font-family: var(--fpl-sans);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar .fpl-reference-header {
	top: 32px;
}

.fpl-reference-header__inner {
	align-items: center;
	display: flex;
	gap: clamp(12px, 1vw, 20px);
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1600px;
	min-height: 88px;
	padding: 0 clamp(24px, 3vw, 48px);
	width: 100%;
}

.fpl-reference-header__brand {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	min-width: 0;
	width: max-content;
}

.fpl-reference-header__mark {
	display: block;
	flex: 0 0 54px;
	height: 54px;
	overflow: hidden;
	width: 54px;
}

.fpl-reference-header__mark img {
	filter: invert(1) contrast(1.5);
	height: 100%;
	mix-blend-mode: multiply;
	object-fit: contain;
	width: 100%;
}

.fpl-reference-header__name {
	background: transparent;
	font-size: clamp(21px, 1.7vw, 28px);
	font-weight: 700;
	line-height: 1;
	padding: 7px 9px 8px;
	white-space: nowrap;
}

.fpl-reference-header__nav {
	align-items: center;
	display: flex;
	gap: clamp(14px, 1.35vw, 25px);
	min-width: 0;
}

.fpl-reference-header__nav a,
.fpl-reference-header__account {
	font-size: clamp(8.5px, 0.68vw, 10.5px);
	font-weight: 600;
	line-height: 1.25;
	padding: 36px 0 34px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}

.fpl-reference-header__nav a::after,
.fpl-reference-header__account::after {
	background: #11100e;
	bottom: 27px;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
	width: 100%;
}

.fpl-reference-header__nav a:hover::after,
.fpl-reference-header__nav a:focus-visible::after,
.fpl-reference-header__account:hover::after,
.fpl-reference-header__account:focus-visible::after {
	transform: scaleX(1);
}

.fpl-reference-header__nav a.is-current,
.fpl-reference-header__nav a[aria-current="page"],
.fpl-reference-header__account.is-current,
.fpl-reference-header__account[aria-current="page"] {
	color: #7a2f3b;
}

.fpl-reference-header__nav a.is-current::after,
.fpl-reference-header__nav a[aria-current="page"]::after,
.fpl-reference-header__account.is-current::after,
.fpl-reference-header__account[aria-current="page"]::after {
	background: #7a2f3b;
	height: 2px;
	transform: scaleX(1);
}

.fpl-reference-header__actions {
	align-items: center;
	display: flex;
	gap: clamp(14px, 1.3vw, 24px);
	min-width: 0;
}

.fpl-reference-header__cart {
	align-items: center;
	display: inline-flex;
	height: 52px;
	justify-content: center;
	position: relative;
	width: 52px;
}

.fpl-reference-header__cart-icon {
	display: block;
	height: 40px;
	object-fit: contain;
	width: 40px;
}

.fpl-reference-header__cart-count {
	align-items: center;
	background: #11100e;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 9px;
	font-weight: 700;
	height: 19px;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 4px;
	width: 19px;
}

.fpl-reference-header__mobile {
	display: none;
}

.fpl-reference-header a:focus-visible,
.fpl-reference-header summary:focus-visible,
.fpl-reference-footer a:focus-visible {
	outline: 2px solid #c89244;
	outline-offset: 4px;
}

.fpl-reference-footer {
	background: #0a0b0c;
	color: #f6f2e9;
	font-family: var(--fpl-sans);
	position: relative;
	z-index: 20;
}

.fpl-reference-footer__inner {
	margin: 0 auto;
	max-width: 1600px;
}

.fpl-reference-footer__grid {
	display: grid;
	gap: clamp(54px, 6vw, 100px);
	grid-template-columns: minmax(0, 1.35fr) minmax(210px, 0.6fr) minmax(260px, 0.72fr);
	padding: clamp(58px, 6vw, 88px) clamp(28px, 3vw, 48px) 46px;
}

.fpl-reference-footer__brand {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-bottom: 32px;
}

.fpl-reference-footer__mark {
	display: block;
	flex: 0 0 52px;
	height: 52px;
	width: 52px;
}

.fpl-reference-footer__mark img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.fpl-reference-footer h2 {
	color: #f6f2e9;
	font-family: var(--fpl-sans) !important;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0;
	margin: 0;
}

.fpl-reference-footer__brand h2 {
	font-size: clamp(24px, 2vw, 31px);
	line-height: 1;
}

.fpl-reference-footer__eyebrow {
	color: #d3a158;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em !important;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.fpl-reference-footer__description {
	color: rgba(255, 255, 255, 0.83);
	font-size: 13px;
	line-height: 1.48;
	margin: 0;
	max-width: 475px;
}

.fpl-reference-footer__signature {
	align-items: center;
	color: #d3a158;
	display: flex;
	font-family: var(--fpl-script);
	font-size: 21px;
	font-style: italic;
	gap: 10px;
	line-height: 1.25;
	margin: 13px 0 28px;
}

.fpl-reference-footer__signature .dashicons {
	font-size: 24px;
	height: 24px;
	line-height: 1;
	width: 24px;
}

.fpl-reference-footer__follow>p {
	align-items: center;
	display: flex;
	font-size: 11px;
	font-weight: 600;
	gap: 14px;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.fpl-reference-footer__follow>p::after {
	background: #b77f31;
	content: "";
	height: 1px;
	width: 34px;
}

.fpl-reference-footer__follow>div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}

.fpl-reference-footer__follow a {
	align-items: center;
	color: rgba(255, 255, 255, 0.86);
	display: inline-flex;
	font-size: 11px;
	gap: 7px;
}

.fpl-reference-footer__follow a span {
	align-items: center;
	border: 1px solid #c89244;
	border-radius: 50%;
	color: #d3a158;
	display: inline-flex;
	font-size: 14px;
	height: 22px;
	justify-content: center;
	line-height: 20px;
	width: 22px;
}

.fpl-reference-footer__links,
.fpl-reference-footer__contact {
	align-self: start;
	display: flex;
	flex-direction: column;
}

.fpl-reference-footer__links h2,
.fpl-reference-footer__contact h2 {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em !important;
	margin-bottom: 12px;
	padding-bottom: 12px;
	position: relative;
	text-transform: uppercase;
}

.fpl-reference-footer__links h2::after,
.fpl-reference-footer__contact h2::after {
	background: #b77f31;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	width: 28px;
}

.fpl-reference-footer__links>a {
	align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 255, 255, 0.85);
	display: grid;
	font-size: 12px;
	gap: 12px;
	grid-template-columns: 24px minmax(0, 1fr);
	padding: 10px 0;
}

.fpl-reference-footer__links>a span {
	color: #d3a158;
	font-size: 17px;
	height: 18px;
	line-height: 1;
	width: 18px;
}

.fpl-reference-footer__bottom nav span[aria-disabled="true"] {
	color: rgba(255, 255, 255, 0.46);
	cursor: default;
}

.fpl-reference-footer__links>a:hover,
.fpl-reference-footer__contact>a:hover {
	color: #e2b46e;
}

.fpl-reference-footer__contact>a,
.fpl-reference-footer__contact>p {
	border-bottom: 1px solid rgba(255, 255, 255, 0.13);
	color: rgba(255, 255, 255, 0.86);
	display: grid;
	font-size: 12px;
	grid-template-columns: 32px minmax(0, 1fr);
	line-height: 1.45;
	margin: 0;
	overflow-wrap: anywhere;
	padding: 10px 0;
}

.fpl-reference-footer__contact>a span,
.fpl-reference-footer__contact>p>span {
	color: #d3a158;
	font-size: 18px;
	height: 20px;
	line-height: 1;
	width: 20px;
}

.fpl-reference-footer__contact>p em {
	color: #d3a158;
	font-family: var(--fpl-script);
	font-size: 15px;
	grid-column: 2;
}

.fpl-reference-footer__promise {
	align-items: center;
	border-top: 1px solid #9a6926;
	display: flex;
	gap: 18px;
	margin-top: 0;
	padding-top: 13px;
}

.fpl-reference-footer__promise i {
	color: #d3a158;
	display: block;
	font-size: 42px;
	height: 44px;
	line-height: 1;
	width: 44px;
}

.fpl-reference-footer__promise p {
	color: rgba(255, 255, 255, 0.88);
	font-size: 11px;
	line-height: 1.45;
	margin: 0;
}

.fpl-reference-footer__promise em {
	color: #d3a158;
	font-family: var(--fpl-script);
	font-size: 16px;
}

.fpl-reference-footer__bottom {
	align-items: center;
	border-top: 1px solid #9a6926;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	min-height: 50px;
	padding: 12px clamp(28px, 3vw, 48px);
}

.fpl-reference-footer__bottom p {
	color: rgba(255, 255, 255, 0.64);
	font-size: 9px;
	margin: 0;
	text-transform: uppercase;
}

.fpl-reference-footer__bottom p span {
	color: #d3a158;
}

.fpl-reference-footer__bottom nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.fpl-reference-footer__bottom nav a,
.fpl-reference-footer__bottom nav>span {
	color: rgba(255, 255, 255, 0.72);
	font-size: 9px;
	padding: 0 18px;
	text-transform: uppercase;
}

.fpl-reference-footer__bottom nav>*+* {
	border-left: 1px solid rgba(255, 255, 255, 0.34);
}

@media (max-width: 1280px) {
	.fpl-reference-header__inner {
		gap: 18px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.fpl-reference-header__mark {
		flex-basis: 48px;
		height: 48px;
		width: 48px;
	}

	.fpl-reference-header__name {
		font-size: 21px;
	}

	.fpl-reference-header__nav a {
		font-size: 8.5px;
	}

	.fpl-reference-header__nav {
		gap: 13px;
	}

	.fpl-reference-header__actions {
		gap: 12px;
	}

	.fpl-reference-header__account {
		font-size: 8.5px;
	}
}

@media (max-width: 1120px) {
	.fpl-reference-header__inner {
		min-height: 78px;
	}

	.fpl-reference-header__nav,
	.fpl-reference-header__actions {
		display: none;
	}

	.fpl-reference-header__mobile {
		display: block;
		position: relative;
	}

	.fpl-reference-header__mobile summary {
		align-items: center;
		cursor: pointer;
		display: flex;
		font-size: 10px;
		font-weight: 600;
		gap: 10px;
		list-style: none;
		min-height: 44px;
		padding: 0 4px;
		text-transform: uppercase;
	}

	.fpl-reference-header__mobile summary::-webkit-details-marker {
		display: none;
	}

	.fpl-reference-header__menu-icon {
		display: block;
		font-size: 25px;
		height: 25px;
		line-height: 1;
		width: 25px;
	}

	.fpl-reference-header__menu-icon--close {
		display: none;
	}

	.fpl-reference-header__mobile[open] .fpl-reference-header__menu-icon {
		display: none;
	}

	.fpl-reference-header__mobile[open] .fpl-reference-header__menu-icon--close {
		display: block;
	}

	.fpl-reference-header__mobile nav {
		background: #f8f5ee;
		border-bottom: 1px solid rgba(17, 15, 12, 0.12);
		border-top: 1px solid rgba(17, 15, 12, 0.12);
		box-shadow: 0 16px 26px rgba(17, 15, 12, 0.08);
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		left: 0;
		padding: 14px 20px 20px;
		position: fixed;
		right: 0;
		top: 78px;
	}

	.admin-bar .fpl-reference-header__mobile nav {
		top: 110px;
	}

	.fpl-reference-header__mobile nav a {
		border-bottom: 1px solid rgba(17, 15, 12, 0.1);
		font-size: 10px;
		font-weight: 600;
		padding: 15px 6px;
		position: relative;
		text-transform: uppercase;
	}

	.fpl-reference-header__mobile nav a.is-current,
	.fpl-reference-header__mobile nav a[aria-current="page"] {
		background: rgba(122, 47, 59, 0.07);
		color: #7a2f3b;
		padding-left: 18px;
	}

	.fpl-reference-header__mobile nav a.is-current::before,
	.fpl-reference-header__mobile nav a[aria-current="page"]::before {
		background: #7a2f3b;
		content: "";
		inset: 10px auto 10px 6px;
		position: absolute;
		width: 2px;
	}

	.fpl-reference-footer__grid {
		gap: 50px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-reference-footer__about {
		grid-column: 1 / -1;
	}

	.fpl-reference-footer__description {
		max-width: 650px;
	}
}

@media (max-width: 782px) {
	.admin-bar .fpl-reference-header {
		top: 46px;
	}

	.admin-bar .fpl-reference-header__mobile nav {
		top: 124px;
	}
}

@media (max-width: 700px) {
	.fpl-reference-footer__grid {
		gap: 44px;
		grid-template-columns: 1fr;
		padding-left: 24px;
		padding-right: 24px;
	}

	.fpl-reference-footer__about {
		grid-column: auto;
	}

	.fpl-reference-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		padding: 18px 24px 22px;
	}

	.fpl-reference-footer__bottom nav a,
	.fpl-reference-footer__bottom nav>span {
		padding-left: 0;
		padding-right: 12px;
	}

	.fpl-reference-footer__bottom nav>*+* {
		border-left: 0;
		padding-left: 12px;
	}
}

@media (max-width: 520px) {
	.fpl-reference-header__inner {
		min-height: 72px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.fpl-reference-header__brand {
		gap: 7px;
	}

	.fpl-reference-header__mark {
		flex-basis: 42px;
		height: 42px;
		width: 42px;
	}

	.fpl-reference-header__name {
		font-size: 17px;
		padding: 6px;
	}

	.fpl-reference-header__mobile summary span {
		display: none;
	}

	.fpl-reference-header__mobile nav {
		grid-template-columns: 1fr;
		top: 72px;
	}

	.admin-bar .fpl-reference-header__mobile nav {
		top: 118px;
	}

	.fpl-reference-footer__brand {
		align-items: flex-start;
	}

	.fpl-reference-footer__brand h2 {
		font-size: 24px;
	}

	.fpl-reference-footer__follow>div {
		gap: 12px 18px;
	}

	.fpl-reference-footer__bottom nav {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.fpl-reference-footer__bottom nav a,
	.fpl-reference-footer__bottom nav>span,
	.fpl-reference-footer__bottom nav>*+* {
		border: 0;
		padding: 0;
	}
}

/* Student Projects - client-approved four-spread composition. */
.fpl-brand-student-projects,
.fpl-brand-student-projects .site-content,
.fpl-brand-student-projects .entry-content {
	background: #f7f3ed;
}

.fpl-brand-student-projects .entry-content {
	margin: 0;
}

.fpl-brand-student-projects .fpl-projects-spread {
	background: #f7f3ed;
	border-top: 1px solid rgba(35, 31, 27, 0.1);
	color: #090807;
	overflow: hidden;
	scroll-margin-top: 96px;
}

.fpl-brand-student-projects .fpl-projects-spread:first-child {
	border-top: 0;
}

.fpl-brand-student-projects .fpl-projects-spread__inner {
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	max-width: 1920px;
	min-height: 680px;
	position: relative;
	width: 100%;
}

.fpl-brand-student-projects .fpl-projects-spread__title {
	color: #050504;
	display: inline-block;
	font-family: var(--fpl-serif);
	font-size: clamp(34px, 2.35vw, 45px);
	font-weight: 500;
	left: 4.5%;
	line-height: 1.04;
	margin: 0;
	position: absolute;
	top: 5.5%;
	z-index: 4;
}

.fpl-brand-student-projects .fpl-projects-canvas,
.fpl-brand-student-projects .fpl-projects-testimonial-canvas,
.fpl-brand-student-projects .fpl-projects-feedback-canvas {
	inset: 0;
	position: absolute;
}

.fpl-brand-student-projects .fpl-project-frame {
	background: #eeeae4;
	box-shadow: none;
	margin: 0;
	overflow: hidden;
	position: absolute;
}

.fpl-brand-student-projects .fpl-project-frame img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fpl-brand-student-projects .fpl-project-frame--p01 {
	border: clamp(2px, 0.18vw, 4px) solid #111;
	height: 36.1%;
	left: 17.8%;
	top: 14.5%;
	width: 31.2%;
}

.fpl-brand-student-projects .fpl-project-frame--p02,
.fpl-brand-student-projects .fpl-project-frame--p03,
.fpl-brand-student-projects .fpl-project-frame--p04,
.fpl-brand-student-projects .fpl-project-frame--p08,
.fpl-brand-student-projects .fpl-project-frame--p09 {
	border: clamp(3px, 0.25vw, 5px) solid #da817c;
}

.fpl-brand-student-projects .fpl-project-frame--p02 {
	height: 38.8%;
	left: 49.6%;
	top: 15%;
	width: 12.7%;
}

.fpl-brand-student-projects .fpl-project-frame--p03 {
	height: 25%;
	left: 60.8%;
	top: 26.7%;
	width: 9%;
	z-index: 2;
}

.fpl-brand-student-projects .fpl-project-frame--p04 {
	height: 29%;
	left: 68.4%;
	top: 14.9%;
	width: 11.9%;
}

.fpl-brand-student-projects .fpl-project-frame--p05,
.fpl-brand-student-projects .fpl-project-frame--p06,
.fpl-brand-student-projects .fpl-project-frame--p07 {
	border: clamp(3px, 0.25vw, 5px) solid #c9c9c9;
}

.fpl-brand-student-projects .fpl-project-frame--p05 {
	height: 39.5%;
	left: 17.8%;
	top: 51.8%;
	width: 13.4%;
}

.fpl-brand-student-projects .fpl-project-frame--p06 {
	height: 31.8%;
	left: 31.4%;
	top: 51.8%;
	width: 13%;
}

.fpl-brand-student-projects .fpl-project-frame--p07 {
	height: 32.7%;
	left: 45.1%;
	top: 52%;
	width: 11.5%;
}

.fpl-brand-student-projects .fpl-project-frame--p08 {
	height: 36.5%;
	left: 57.5%;
	top: 54.2%;
	width: 13.8%;
}

.fpl-brand-student-projects .fpl-project-frame--p09 {
	height: 48.7%;
	left: 71.1%;
	top: 44.1%;
	width: 12.4%;
}

.fpl-brand-student-projects .fpl-project-frame--p10,
.fpl-brand-student-projects .fpl-project-frame--p11,
.fpl-brand-student-projects .fpl-project-frame--p12,
.fpl-brand-student-projects .fpl-project-frame--p13,
.fpl-brand-student-projects .fpl-project-frame--p14,
.fpl-brand-student-projects .fpl-project-frame--p15,
.fpl-brand-student-projects .fpl-project-frame--p16,
.fpl-brand-student-projects .fpl-project-frame--p17 {
	border: clamp(3px, 0.25vw, 5px) solid #d3d3d3;
}

.fpl-brand-student-projects .fpl-project-frame--p10 {
	height: 32%;
	left: 10.25%;
	top: 13.2%;
	width: 11.4%;
}

.fpl-brand-student-projects .fpl-project-frame--p11 {
	height: 33.1%;
	left: 10.25%;
	top: 48.3%;
	width: 11.4%;
}

.fpl-brand-student-projects .fpl-project-frame--p12 {
	height: 68.5%;
	left: 22.45%;
	top: 13.1%;
	width: 12%;
}

.fpl-brand-student-projects .fpl-project-frame--p13 {
	height: 34.9%;
	left: 35.2%;
	top: 12%;
	width: 11.8%;
}

.fpl-brand-student-projects .fpl-project-frame--p14 {
	height: 32.8%;
	left: 35.2%;
	top: 50%;
	width: 11.8%;
}

.fpl-brand-student-projects .fpl-project-frame--p15 {
	height: 68.9%;
	left: 47.7%;
	top: 15.5%;
	width: 13.5%;
}

.fpl-brand-student-projects .fpl-project-frame--p16 {
	height: 33%;
	left: 61.8%;
	top: 19.8%;
	width: 14.5%;
}

.fpl-brand-student-projects .fpl-project-frame--p17 {
	height: 40.8%;
	left: 77.2%;
	top: 10.9%;
	width: 14.3%;
}

.fpl-brand-student-projects .fpl-projects-story {
	left: 67%;
	position: absolute;
	text-align: center;
	top: 59.2%;
	width: 27%;
}

.fpl-brand-student-projects .fpl-projects-story p {
	color: #11100f;
	font-family: Gabriola, var(--fpl-script);
	font-size: clamp(22px, 2.2vw, 38px);
	line-height: 1.08;
	margin: 0 0 clamp(28px, 4vw, 72px);
}

.fpl-brand-student-projects .fpl-projects-story a,
.fpl-brand-student-projects .fpl-projects-story span,
.fpl-brand-student-projects .fpl-projects-story strong {
	display: block;
	font-family: var(--fpl-sans);
}

.fpl-brand-student-projects .fpl-projects-story a {
	font-size: clamp(15px, 1.45vw, 28px);
	line-height: 1.22;
	text-decoration: none;
}

.fpl-brand-student-projects .fpl-projects-story span {
	color: #050504;
	font-weight: 500;
	text-transform: uppercase;
}

.fpl-brand-student-projects .fpl-projects-story strong {
	align-items: center;
	color: #3c70cf;
	display: flex;
	font-weight: 700;
	gap: 0.38em;
	justify-content: center;
	margin-top: 6px;
}

.fpl-brand-student-projects .fpl-projects-story strong span {
	color: inherit;
	font: inherit;
	text-transform: none;
}

.fpl-brand-student-projects .fpl-projects-instagram-icon {
	fill: none;
	flex: 0 0 auto;
	height: 1.18em;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 1.18em;
}

.fpl-brand-student-projects .fpl-projects-instagram-icon__dot {
	fill: currentColor;
	stroke: none;
}

.fpl-brand-student-projects .fpl-projects-story a:hover strong,
.fpl-brand-student-projects .fpl-projects-story a:focus-visible strong {
	color: #2858b3;
}

.fpl-brand-student-projects .fpl-projects-review-card,
.fpl-brand-student-projects .fpl-projects-review-placeholder {
	background: #f0f0f0;
	border: clamp(4px, 0.42vw, 8px) solid #fff;
	border-radius: clamp(8px, 0.8vw, 16px);
	box-shadow: 5px 7px 10px rgba(9, 8, 7, 0.22);
	margin: 0;
	position: absolute;
}

.fpl-brand-student-projects .fpl-projects-review-card {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 42.5%;
	justify-content: center;
	left: 14.1%;
	overflow: hidden;
	padding: 3.2% 1.35% 2%;
	text-align: center;
	top: 25.3%;
	width: 14.5%;
}

.fpl-brand-student-projects .fpl-projects-review-card p {
	color: #aaa29a;
	font-family: Gabriola, var(--fpl-script);
	font-size: clamp(9px, 0.75vw, 14px);
	line-height: 1.18;
	margin: 0;
}

.fpl-brand-student-projects .fpl-projects-review-card div {
	font-size: clamp(11px, 0.9vw, 17px);
	margin-top: 7px;
}

.fpl-brand-student-projects .fpl-projects-review-card footer {
	border-top: 1px solid #111;
	color: #0b0b0a;
	font-family: var(--fpl-sans);
	font-size: clamp(7px, 0.48vw, 10px);
	letter-spacing: 0.32em !important;
	margin-top: 12px;
	padding-top: 10px;
	white-space: nowrap;
	width: 72%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--one {
	height: 42.5%;
	left: 31.3%;
	top: 15.7%;
	width: 14.6%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--two {
	height: 26.5%;
	left: 31.8%;
	top: 60%;
	width: 12.6%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--three {
	height: 22.9%;
	left: 49.5%;
	top: 29.6%;
	width: 14.6%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--four {
	height: 18%;
	left: 47.5%;
	top: 63%;
	width: 14.6%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--five {
	height: 23.5%;
	left: 67.6%;
	top: 17.9%;
	width: 14.6%;
}

.fpl-brand-student-projects .fpl-projects-review-placeholder--six {
	height: 42.4%;
	left: 67.6%;
	top: 48.4%;
	width: 14.6%;
}

.fpl-brand-student-projects .fpl-project-frame--f01,
.fpl-brand-student-projects .fpl-project-frame--f02,
.fpl-brand-student-projects .fpl-project-frame--f03,
.fpl-brand-student-projects .fpl-project-frame--f04,
.fpl-brand-student-projects .fpl-project-frame--f05 {
	background: transparent;
	border: 0;
	height: 43.8%;
	width: 12.1%;
}

.fpl-brand-student-projects .fpl-project-frame--f01 {
	left: 11.25%;
	top: 20%;
}

.fpl-brand-student-projects .fpl-project-frame--f02 {
	left: 28.9%;
	top: 43.2%;
}

.fpl-brand-student-projects .fpl-project-frame--f03 {
	left: 46.25%;
	top: 19.8%;
}

.fpl-brand-student-projects .fpl-project-frame--f04 {
	left: 64.9%;
	top: 35.1%;
}

.fpl-brand-student-projects .fpl-project-frame--f05 {
	height: 45.4%;
	left: 82.4%;
	top: 19.8%;
	width: 12.4%;
}

.fpl-brand-student-projects .fpl-projects-feedback-canvas .fpl-project-frame {
	background: #111;
	border: 2px solid #2a2a29;
	border-radius: clamp(16px, 1.45vw, 28px);
	box-shadow: 0 2px 3px rgba(9, 8, 7, 0.14);
	overflow: hidden;
	padding: clamp(3px, 0.26vw, 5px);
}

.fpl-brand-student-projects .fpl-projects-feedback-canvas .fpl-project-frame::before {
	background: #111;
	border-radius: 0 0 8px 8px;
	content: "";
	height: 3.1%;
	left: 29%;
	position: absolute;
	top: 0;
	width: 42%;
	z-index: 2;
}

.fpl-brand-student-projects .fpl-project-frame--f01 img,
.fpl-brand-student-projects .fpl-project-frame--f02 img,
.fpl-brand-student-projects .fpl-project-frame--f03 img,
.fpl-brand-student-projects .fpl-project-frame--f04 img,
.fpl-brand-student-projects .fpl-project-frame--f05 img {
	border-radius: inherit;
	object-fit: contain;
}

@media (max-width: 1000px) {
	.fpl-brand-student-projects .fpl-projects-spread__inner {
		aspect-ratio: auto;
		min-height: 0;
		padding: 70px 28px 80px;
	}

	.fpl-brand-student-projects .fpl-projects-spread__title {
		font-size: 34px;
		left: auto;
		margin-bottom: 40px;
		position: relative;
		top: auto;
	}

	.fpl-brand-student-projects .fpl-projects-canvas,
	.fpl-brand-student-projects .fpl-projects-testimonial-canvas,
	.fpl-brand-student-projects .fpl-projects-feedback-canvas {
		inset: auto;
		position: relative;
	}

	.fpl-brand-student-projects .fpl-projects-canvas {
		column-count: 3;
		column-gap: 14px;
	}

	.fpl-brand-student-projects .fpl-project-frame {
		break-inside: avoid;
		display: inline-block;
		height: auto;
		left: auto;
		margin: 0 0 14px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.fpl-brand-student-projects .fpl-project-frame img {
		height: auto;
		object-fit: contain;
	}

	.fpl-brand-student-projects .fpl-project-frame--p01 {
		column-span: all;
		display: block;
		margin: 0 auto 18px;
		max-width: 720px;
	}

	.fpl-brand-student-projects .fpl-projects-story {
		column-span: all;
		left: auto;
		margin: 42px auto 0;
		max-width: 650px;
		position: relative;
		top: auto;
		width: 100%;
	}

	.fpl-brand-student-projects .fpl-projects-story p {
		font-size: clamp(28px, 4.8vw, 42px);
		margin-bottom: 30px;
	}

	.fpl-brand-student-projects .fpl-projects-story a {
		font-size: clamp(16px, 2.7vw, 23px);
	}

	.fpl-brand-student-projects .fpl-projects-testimonial-canvas {
		display: grid;
		gap: 24px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fpl-brand-student-projects .fpl-projects-review-card,
	.fpl-brand-student-projects .fpl-projects-review-placeholder {
		height: 250px;
		left: auto;
		position: relative;
		top: auto;
		width: auto;
	}

	.fpl-brand-student-projects .fpl-projects-review-card {
		grid-column: span 2;
		height: auto;
		min-height: 410px;
		padding: 34px;
	}

	.fpl-brand-student-projects .fpl-projects-review-card p {
		font-size: clamp(15px, 2.15vw, 18px);
		line-height: 1.2;
	}

	.fpl-brand-student-projects .fpl-projects-review-card footer {
		font-size: 10px;
	}

	.fpl-brand-student-projects .fpl-projects-review-placeholder--one,
	.fpl-brand-student-projects .fpl-projects-review-placeholder--six {
		min-height: 410px;
	}

	.fpl-brand-student-projects .fpl-projects-feedback-canvas {
		display: flex;
		gap: 28px;
		overflow-x: auto;
		padding: 8px 4px 28px;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.fpl-brand-student-projects .fpl-projects-feedback-canvas .fpl-project-frame {
		aspect-ratio: 284 / 615;
		flex: 0 0 31%;
		margin: 0;
		scroll-snap-align: center;
	}

	.fpl-brand-student-projects .fpl-projects-feedback-canvas .fpl-project-frame img {
		height: 100%;
		object-fit: cover;
	}
}

@media (max-width: 680px) {
	.fpl-brand-student-projects .fpl-projects-spread__inner {
		padding: 52px 16px 64px;
	}

	.fpl-brand-student-projects .fpl-projects-spread__title {
		font-size: 32px;
		line-height: 1;
		margin-bottom: 30px;
	}

	.fpl-brand-student-projects .fpl-projects-canvas {
		column-count: 2;
		column-gap: 10px;
	}

	.fpl-brand-student-projects .fpl-project-frame {
		margin-bottom: 10px;
	}

	.fpl-brand-student-projects .fpl-project-frame--p01 {
		margin-bottom: 12px;
	}

	.fpl-brand-student-projects .fpl-projects-story {
		margin-top: 32px;
		padding: 0 8px;
	}

	.fpl-brand-student-projects .fpl-projects-story p {
		font-size: clamp(20px, 5.4vw, 26px);
		line-height: 1.18;
	}

	.fpl-brand-student-projects .fpl-projects-story a {
		font-size: 16px;
	}

	.fpl-brand-student-projects .fpl-projects-testimonial-canvas {
		gap: 14px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fpl-brand-student-projects .fpl-projects-review-card {
		grid-column: 1 / -1;
		min-height: 490px;
		padding: 30px 24px;
	}

	.fpl-brand-student-projects .fpl-projects-review-card p {
		font-size: clamp(18px, 5.1vw, 22px);
		line-height: 1.18;
	}

	.fpl-brand-student-projects .fpl-projects-review-placeholder {
		height: 180px;
		min-height: 0;
	}

	.fpl-brand-student-projects .fpl-projects-review-placeholder--one,
	.fpl-brand-student-projects .fpl-projects-review-placeholder--six {
		height: 265px;
		min-height: 0;
	}

	.fpl-brand-student-projects .fpl-projects-feedback-canvas {
		gap: 14px;
		margin-left: -16px;
		margin-right: -16px;
		padding: 8px 16px 24px;
		scroll-padding-left: 16px;
	}

	.fpl-brand-student-projects .fpl-projects-feedback-canvas .fpl-project-frame {
		flex-basis: min(78vw, 330px);
	}
}

/* Course page story from the approved course reference. */
.fpl-brand-courses .fpl-course-experience {
	background: #faf7f0;
	color: #171512;
	position: relative;
}

.fpl-brand-courses .fpl-course-experience--method {
	border-top: 1px solid rgba(43, 32, 27, 0.15);
	overflow: clip;
	padding: clamp(82px, 8vw, 136px) clamp(24px, 4vw, 72px) clamp(96px, 10vw, 164px);
}

.fpl-brand-courses .fpl-course-experience--method::before,
.fpl-brand-courses .fpl-course-experience--method::after {
	content: "";
	opacity: 0.22;
	pointer-events: none;
	position: absolute;
}

.fpl-brand-courses .fpl-course-experience--method::before {
	background:
		radial-gradient(ellipse at center, rgba(179, 160, 124, 0.7) 0 16%, transparent 17%),
		linear-gradient(111deg, transparent 42%, rgba(154, 139, 112, 0.65) 43% 46%, transparent 47%);
	filter: blur(1px);
	height: 370px;
	left: -130px;
	top: 20px;
	transform: rotate(-13deg);
	width: 370px;
}

.fpl-brand-courses .fpl-course-experience--method::after {
	border-left: 2px solid #777166;
	border-top: 2px solid #777166;
	height: 190px;
	right: -24px;
	top: 110px;
	transform: rotate(27deg) skew(-18deg);
	width: 110px;
}

.fpl-brand-courses .fpl-course-experience__shell {
	align-items: start;
	display: grid;
	gap: clamp(54px, 7vw, 112px);
	grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.98fr);
	margin: 0 auto;
	max-width: 1460px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.fpl-brand-courses .fpl-course-methodology__steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fpl-brand-courses .fpl-course-methodology {
	container-type: inline-size;
}

.fpl-brand-courses .fpl-course-methodology__step {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: -42px 0 0;
	min-height: 324px;
	padding: 66px 28px 30px;
	position: relative;
	text-align: center;
	width: min(49%, 350px);
}

.fpl-brand-courses .fpl-course-methodology__step:first-child {
	margin-top: 0;
}

.fpl-brand-courses .fpl-course-methodology__step:nth-child(even) {
	margin-left: auto;
}

.fpl-brand-courses .fpl-course-methodology__step:nth-child(odd):not(:first-child) {
	margin-left: 2%;
}

.fpl-brand-courses .fpl-course-methodology__connector {
	display: block;
	height: 104px;
	left: calc(100cqw - 50% - 164px);
	max-width: none;
	object-fit: fill;
	pointer-events: none;
	position: absolute;
	right: auto;
	top: calc(100% - 95.328px);
	transform: rotate(90deg);
	transform-origin: 100% 15.7%;
	width: 164px;
	z-index: 1;
}

.fpl-brand-courses .fpl-course-methodology__step:nth-child(odd):not(:first-child) .fpl-course-methodology__connector--desktop {
	left: calc(98cqw - 50% - 164px);
}

.fpl-brand-courses .fpl-course-methodology__step:nth-child(even) .fpl-course-methodology__connector {
	left: calc(150% - 98cqw - 164px);
	right: auto;
	transform: scaleX(-1) rotate(90deg);
	width: 164px;
}

.fpl-brand-courses .fpl-course-methodology__connector--mobile {
	display: none;
}

.fpl-brand-courses .fpl-course-methodology__number {
	align-items: center;
	background: #bf7480;
	border: 6px solid #faf7f0;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-family: var(--fpl-serif);
	font-size: 27px;
	height: 68px;
	justify-content: center;
	left: 50%;
	line-height: 1;
	position: absolute;
	top: -35px;
	transform: translateX(-50%);
	width: 68px;
	z-index: 2;
}

.fpl-brand-courses .fpl-course-methodology__step--two .fpl-course-methodology__number {
	background: #7d9272;
}

.fpl-brand-courses .fpl-course-methodology__step--three .fpl-course-methodology__number {
	background: #c5963f;
}

.fpl-brand-courses .fpl-course-methodology__step--four .fpl-course-methodology__number {
	background: #5f809e;
}

.fpl-brand-courses .fpl-course-methodology__step--five .fpl-course-methodology__number {
	background: #7e6395;
}

.fpl-brand-courses .fpl-course-methodology__icon {
	fill: none;
	height: 104px;
	margin: 0 auto 16px;
	stroke: #24211d;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.2;
	width: 160px;
}

.fpl-brand-courses .fpl-course-methodology__step h3 {
	color: #171512;
	font-family: var(--fpl-sans);
	font-size: clamp(18px, 1.45vw, 23px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
	margin: 0 auto 12px;
	max-width: 265px;
	text-transform: uppercase;
}

.fpl-brand-courses .fpl-course-methodology__rule {
	background: #c4a884;
	display: block;
	height: 2px;
	margin: 0 auto 17px;
	width: 58px;
}

.fpl-brand-courses .fpl-course-methodology__step p {
	color: #24211e;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.3;
	margin: 0 auto;
	max-width: 270px;
}

.fpl-brand-courses .fpl-course-methodology__step p strong {
	color: #a17925;
	font-weight: 700;
}

.fpl-brand-courses .fpl-course-live-sessions {
	min-width: 0;
}

.fpl-brand-courses .fpl-course-live-sessions__sticky {
	display: grid;
	gap: clamp(34px, 5vw, 76px);
	position: sticky;
	top: 122px;
}

.fpl-brand-courses .fpl-course-live-sessions__frame {
	background: #151515;
	box-shadow: 0 14px 36px rgba(23, 18, 12, 0.16);
	margin: 0;
	overflow: hidden;
}

.fpl-brand-courses .fpl-course-live-sessions__frame img {
	aspect-ratio: 13 / 6;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fpl-brand-courses .fpl-course-experience--support {
	border-top: 1px solid rgba(43, 32, 27, 0.15);
	padding: clamp(80px, 8vw, 132px) clamp(24px, 4vw, 72px) clamp(94px, 9vw, 146px);
}

.fpl-brand-courses .fpl-course-support-grid {
	align-items: start;
	display: grid;
	gap: clamp(40px, 7vw, 112px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1420px;
}

.fpl-brand-courses .fpl-course-support-card {
	align-items: center;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.fpl-brand-courses .fpl-course-support-card:nth-child(2) {
	padding-top: 34px;
}

.fpl-brand-courses .fpl-course-support-card:nth-child(3) {
	padding-top: 8px;
}

.fpl-brand-courses .fpl-course-support-card__media {
	background: #fff;
	box-shadow: 0 12px 28px rgba(46, 37, 24, 0.1);
	margin: 0;
	max-width: 340px;
	overflow: hidden;
	width: 100%;
}

.fpl-brand-courses .fpl-course-support-card__media img {
	aspect-ratio: 0.462;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fpl-brand-courses .fpl-course-support-card__arrow {
	fill: none;
	height: 132px;
	margin: 18px auto 8px;
	stroke: #111;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 4;
	width: 94px;
}

.fpl-brand-courses .fpl-course-support-card p {
	color: #15130f;
	font-family: var(--fpl-script);
	font-size: clamp(20px, 1.7vw, 27px);
	font-style: italic;
	line-height: 1.25;
	margin: 0;
	max-width: 330px;
	text-align: left;
}

@media (max-width: 1080px) {
	.fpl-brand-courses .fpl-course-experience__shell {
		grid-template-columns: 1fr;
	}

	.fpl-brand-courses .fpl-course-methodology {
		margin: 0 auto;
		max-width: 760px;
		width: 100%;
	}

	.fpl-brand-courses .fpl-course-methodology__step {
		width: min(48%, 350px);
	}

	.fpl-brand-courses .fpl-course-live-sessions__sticky {
		display: grid;
		gap: 22px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}

	.fpl-brand-courses .fpl-course-support-grid {
		gap: 34px;
	}

	.fpl-brand-courses .fpl-course-support-card__media {
		max-width: 290px;
	}
}

@media (max-width: 760px) {

	.fpl-brand-courses .fpl-course-experience--method,
	.fpl-brand-courses .fpl-course-experience--support {
		padding-left: 18px;
		padding-right: 18px;
	}

	.fpl-brand-courses .fpl-course-methodology__step {
		margin: -42px 0 0 !important;
		min-height: 324px;
		padding: 58px 10px 30px;
		width: 48%;
	}

	.fpl-brand-courses .fpl-course-methodology__step:first-child {
		margin-top: 0 !important;
	}

	.fpl-brand-courses .fpl-course-methodology__step:nth-child(odd) {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.fpl-brand-courses .fpl-course-methodology__step:nth-child(odd):not(:first-child) {
		margin-left: 2% !important;
	}

	.fpl-brand-courses .fpl-course-methodology__step:nth-child(even) {
		margin-left: auto !important;
		margin-right: 0 !important;
	}

	.fpl-brand-courses .fpl-course-methodology__connector--desktop {
		display: block;
		top: calc(100% - 95.328px);
	}

	.fpl-brand-courses .fpl-course-methodology__connector--mobile,
	.fpl-brand-courses .fpl-course-methodology__step:nth-child(even) .fpl-course-methodology__connector--mobile {
		display: none;
	}

	.fpl-brand-courses .fpl-course-methodology__icon {
		height: 92px;
		width: 142px;
	}

	.fpl-brand-courses .fpl-course-methodology__step h3 {
		font-size: 19px;
	}

	.fpl-brand-courses .fpl-course-methodology__step p {
		font-size: 15px;
	}

	.fpl-brand-courses .fpl-course-live-sessions__sticky {
		grid-template-columns: 1fr;
	}

	.fpl-brand-courses .fpl-course-support-grid {
		grid-template-columns: 1fr;
	}

	.fpl-brand-courses .fpl-course-support-card,
	.fpl-brand-courses .fpl-course-support-card:nth-child(n) {
		background: rgba(255, 253, 248, 0.75);
		border: 1px solid rgba(73, 63, 48, 0.14);
		border-radius: 18px;
		padding: 18px 18px 30px;
	}

	.fpl-brand-courses .fpl-course-support-card__media {
		border-radius: 12px;
		max-width: 330px;
	}

	.fpl-brand-courses .fpl-course-support-card__arrow {
		height: 92px;
		margin: 14px auto 2px;
		width: 64px;
	}

	.fpl-brand-courses .fpl-course-support-card p {
		font-size: 23px;
		max-width: 340px;
		text-align: center;
	}
}

@media (max-width: 420px) {
	.fpl-brand-courses .fpl-course-experience--method {
		padding-bottom: 76px;
		padding-top: 68px;
	}

	.fpl-brand-courses .fpl-course-experience__shell {
		gap: 58px;
	}

	.fpl-brand-courses .fpl-course-live-sessions__frame {
		border-radius: 10px;
	}

	.fpl-brand-courses .fpl-course-experience--support {
		padding-bottom: 72px;
		padding-top: 68px;
	}
}

/* Keep 4:5 course artwork edge-to-edge without sub-pixel side seams. */
.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 4 / 5 !important;
}

.fpl-brand-courses .fpl-course-card__image,
.fpl-brand-courses .fpl-course-card__image.is-active {
	height: calc(100% + 2px) !important;
	left: -1px !important;
	max-width: none !important;
	top: -1px !important;
	width: calc(100% + 2px) !important;
}

/* Paid course cards lead students directly to their active session booking. */
.fpl-course-card__purchase-status {
	align-items: center;
	align-self: flex-start;
	background: #050403;
	color: #fffaf3;
	display: inline-flex;
	font-family: var(--fpl-sans);
	font-size: 10px;
	font-weight: 800;
	gap: 6px;
	letter-spacing: 0.12em;
	margin-bottom: 14px;
	padding: 8px 11px;
	text-transform: uppercase;
}

.fpl-course-card.is-purchased {
	border-color: #050403 !important;
	box-shadow: inset 0 0 0 1px #050403;
}

.fpl-course-card__media-link,
.fpl-course-card__title-link {
	color: inherit !important;
	display: block;
	text-decoration: none !important;
}

.fpl-course-card__link:focus-within .fpl-course-card__image.is-active {
	transform: scale(1.035);
}

.fpl-course-card__actions {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr);
	margin-top: auto;
}

.fpl-course-card__actions.has-booking {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fpl-course-card__action {
	align-items: center;
	border: 1px solid currentColor;
	color: inherit !important;
	display: inline-flex;
	font-family: var(--fpl-sans);
	font-size: 9px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.2;
	min-height: 42px;
	padding: 9px 8px;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
}

.fpl-course-card__action--booking {
	background: #050403;
	border-color: #050403;
	color: #fffaf3 !important;
}

.fpl-course-card__action:hover,
.fpl-course-card__action:focus-visible {
	background: #2b201b;
	border-color: #2b201b;
	color: #fffaf3 !important;
}

@media (max-width: 420px) {
	.fpl-course-card__actions.has-booking {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Keep the homepage's primary section headings typographically consistent. */
.fpl-brand-home .fpl-courses-heading .fpl-display,
:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__title,
.fpl-brand-home .fpl-store-heading .fpl-display {
	font-family: var(--fpl-serif) !important;
	font-size: 50px !important;
	font-weight: 500 !important;
	letter-spacing: -0.04em !important;
	line-height: 1.08 !important;
}

@media (max-width: 760px) {

	.fpl-brand-home .fpl-courses-heading .fpl-display,
	:is(.fpl-brand-home, .fpl-brand-student-projects) .fpl-student-words__title,
	.fpl-brand-home .fpl-store-heading .fpl-display {
		font-size: 36px !important;
	}
}

/* Original black editorial course cards with working purchase actions. */
.fpl-brand-home .fpl-course-card__content,
.fpl-brand-courses .fpl-course-card__content {
	background: var(--fpl-ink);
	color: var(--fpl-cream) !important;
	min-height: 238px;
	padding: 20px 18px 18px !important;
}

.fpl-brand-home .fpl-course-card h3,
.fpl-brand-courses .fpl-course-card h3 {
	color: inherit !important;
	font-family: var(--fpl-serif);
	font-size: clamp(25px, 1.75vw, 30px) !important;
	font-weight: 500;
	letter-spacing: -0.035em !important;
	line-height: 1.05;
	margin: 0 0 12px !important;
	min-height: 2.1em;
}

.fpl-brand-home .fpl-course-card__meta,
.fpl-brand-courses .fpl-course-card__meta {
	align-items: center;
	color: var(--fpl-cream) !important;
	display: flex;
	font-family: var(--fpl-sans);
	font-size: 11px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: 0.06em;
	line-height: 1.3;
	margin: 0 0 14px !important;
	text-transform: uppercase;
}

.fpl-brand-home .fpl-course-card__meta span,
.fpl-brand-courses .fpl-course-card__meta span {
	background: rgba(255, 250, 243, 0.78);
	flex: 0 0 24px;
	height: 1px;
	width: 24px;
}

.fpl-brand-home .fpl-course-card__price,
.fpl-brand-courses .fpl-course-card__price {
	color: inherit !important;
	font-family: var(--fpl-sans);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.2;
	margin: 0 0 20px;
}

.fpl-brand-home .fpl-course-card__price .amount,
.fpl-brand-courses .fpl-course-card__price .amount {
	color: inherit;
	font: inherit;
}

.fpl-brand-home .fpl-course-card__actions,
.fpl-brand-courses .fpl-course-card__actions,
.fpl-brand-home .fpl-course-card__actions.has-booking,
.fpl-brand-courses .fpl-course-card__actions.has-booking {
	align-items: stretch;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr);
	margin-top: auto;
}

.fpl-brand-home .fpl-course-card__action,
.fpl-brand-courses .fpl-course-card__action {
	border: 1px solid rgba(255, 250, 243, 0.9);
	font-size: 9px;
	letter-spacing: 0.06em;
	min-height: 46px;
	padding: 11px 8px;
}

.fpl-brand-home .fpl-course-card__action--info,
.fpl-brand-courses .fpl-course-card__action--info {
	background: transparent;
	border-color: rgba(255, 250, 243, 0.9);
	color: var(--fpl-cream) !important;
	justify-content: center;
}

.fpl-brand-home .fpl-course-card__action--booking,
.fpl-brand-courses .fpl-course-card__action--booking {
	background: var(--fpl-cream);
	border-color: var(--fpl-cream);
	color: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-course-card__action--info:hover,
.fpl-brand-home .fpl-course-card__action--info:focus-visible,
.fpl-brand-courses .fpl-course-card__action--info:hover,
.fpl-brand-courses .fpl-course-card__action--info:focus-visible {
	background: var(--fpl-cream);
	border-color: var(--fpl-oxblood);
	color: var(--fpl-ink) !important;
}

@media (max-width: 760px) {

	.fpl-brand-home .fpl-course-card__content,
	.fpl-brand-courses .fpl-course-card__content {
		min-height: 236px;
		padding: 14px 11px 12px !important;
	}

	.fpl-brand-home .fpl-course-card h3,
	.fpl-brand-courses .fpl-course-card h3 {
		font-size: clamp(19px, 5vw, 22px) !important;
		margin-bottom: 10px !important;
	}

	.fpl-brand-home .fpl-course-card__meta,
	.fpl-brand-courses .fpl-course-card__meta {
		font-size: 9px !important;
		gap: 6px;
		margin-bottom: 10px !important;
	}

	.fpl-brand-home .fpl-course-card__meta span,
	.fpl-brand-courses .fpl-course-card__meta span {
		flex-basis: 14px;
		width: 14px;
	}

	.fpl-brand-home .fpl-course-card__price,
	.fpl-brand-courses .fpl-course-card__price {
		font-size: 14px;
		margin: 0 0 16px;
	}

	.fpl-brand-home .fpl-course-card__actions,
	.fpl-brand-courses .fpl-course-card__actions,
	.fpl-brand-home .fpl-course-card__actions.has-booking,
	.fpl-brand-courses .fpl-course-card__actions.has-booking {
		gap: 9px;
		grid-template-columns: minmax(0, 1fr);
	}

	.fpl-brand-home .fpl-course-card__action,
	.fpl-brand-courses .fpl-course-card__action {
		font-size: 9px;
		min-height: 44px;
		padding: 10px 8px;
	}

	.fpl-brand-home .fpl-course-card__action--info,
	.fpl-brand-courses .fpl-course-card__action--info {
		border-color: rgba(255, 250, 243, 0.9);
		justify-content: center;
	}
}

/* Merge the homepage course heading into the black catalogue section. */
.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading {
	background: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-elementor-courses-intro {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.fpl-brand-home .fpl-elementor-courses-grid {
	background: var(--fpl-ink) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	padding-bottom: 44px !important;
}

.fpl-brand-home .fpl-courses-heading .fpl-display {
	color: var(--fpl-cream) !important;
}

.fpl-brand-home .fpl-course-card {
	border-color: rgba(255, 255, 255, 0.18) !important;
	box-shadow: none;
}

.fpl-brand-home .fpl-course-card__content {
	min-height: 190px;
}

.fpl-brand-home .fpl-course-card h3 {
	min-height: 0;
}

/* Keep the four-card homepage catalogue compact with wide artwork. */
@media (min-width: 1101px) {
	.fpl-brand-home .fpl-course-card__media {
		aspect-ratio: 16 / 9;
	}

	.fpl-brand-home .fpl-course-card__content {
		min-height: 150px;
		padding: 14px 16px 15px !important;
	}

	.fpl-brand-home .fpl-course-card h3 {
		font-size: clamp(22px, 1.55vw, 26px) !important;
		margin-bottom: 8px !important;
	}

	.fpl-brand-home .fpl-course-card__meta {
		margin-bottom: 8px !important;
	}

	.fpl-brand-home .fpl-course-card__price {
		margin-bottom: 12px;
	}

	.fpl-brand-home .fpl-course-card__action {
		min-height: 38px;
	}
}

@media (min-width: 641px) and (max-width: 1100px) {
	.fpl-brand-home .fpl-course-card__media {
		aspect-ratio: 16 / 9;
	}

	.fpl-brand-home .fpl-course-card__content {
		min-height: 154px !important;
		padding: 14px 15px !important;
	}

	.fpl-brand-home .fpl-course-card h3 {
		font-size: clamp(21px, 2.4vw, 25px) !important;
		margin-bottom: 8px !important;
	}

	.fpl-brand-home .fpl-course-card__meta {
		margin-bottom: 8px !important;
	}
}

@media (max-width: 640px) {
	.fpl-brand-home .fpl-course-card__media {
		aspect-ratio: 4 / 3;
	}

	.fpl-brand-home .fpl-course-card__content {
		min-height: 166px !important;
		padding: 12px 11px !important;
	}

	.fpl-brand-home .fpl-course-card h3 {
		font-size: 18px !important;
		margin-bottom: 8px !important;
	}

	.fpl-brand-home .fpl-course-card__meta {
		margin-bottom: 8px !important;
	}

	.fpl-brand-home .fpl-course-card__price {
		font-size: 14px;
		margin-bottom: 10px;
	}
}

/* The catalogue page keeps the old card structure on the site's cream palette. */
.fpl-brand-courses .fpl-course-card {
	border-color: var(--fpl-line) !important;
	box-shadow: 0 8px 22px rgba(43, 32, 27, 0.06);
}

.fpl-brand-courses .fpl-course-card__content {
	background: var(--fpl-cream);
	color: var(--fpl-ink) !important;
	min-height: 190px;
}

.fpl-brand-courses .fpl-course-card h3 {
	min-height: 0;
}

.fpl-brand-courses .fpl-course-card__meta {
	color: var(--fpl-ink) !important;
}

.fpl-brand-courses .fpl-course-card__meta span {
	background: rgba(5, 4, 3, 0.72);
}

.fpl-brand-courses .fpl-course-card__action--info {
	border-color: var(--fpl-ink);
	color: var(--fpl-ink) !important;
}

.fpl-brand-courses .fpl-course-card__action--info:hover,
.fpl-brand-courses .fpl-course-card__action--info:focus-visible {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: var(--fpl-cream) !important;
}

@media (max-width: 760px) {
	.fpl-brand-home .fpl-elementor-courses-grid {
		padding-bottom: 30px !important;
	}
}

/* Fit all eight homepage learning benefits into a compact two-column section. */
@media (min-width: 1101px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding-bottom: 28px;
		padding-left: clamp(24px, 6vw, 116px);
		padding-right: clamp(24px, 6vw, 116px);
		padding-top: 38px;
	}

	.fpl-brand-home .fpl-home-why__content {
		margin-left: auto;
		margin-right: auto;
		max-width: 1540px;
		width: 100%;
	}

	.fpl-brand-home .fpl-home-why__heading {
		margin-bottom: 16px;
	}

	.fpl-brand-home .fpl-home-why__list {
		display: grid;
		gap: 6px 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 22px;
	}

	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		border: 1px solid rgba(180, 122, 22, 0.19);
		border-radius: 9px;
		grid-template-columns: 44px 46px minmax(138px, 0.82fr) minmax(210px, 1.45fr);
		min-height: 42px;
		overflow: hidden;
	}

	.fpl-brand-home .fpl-home-why__number {
		border-radius: 8px 0 0 8px;
		font-size: 22px;
		margin: 0;
	}

	.fpl-brand-home .fpl-home-why__number::after {
		height: 7px;
		right: -4px;
		width: 7px;
	}

	.fpl-brand-home .fpl-home-why__icon {
		height: 28px;
		width: 28px;
	}

	.fpl-brand-home .fpl-home-why__point h3 {
		font-size: 10.5px;
		line-height: 1.14;
		padding: 5px 10px 5px 2px;
	}

	.fpl-brand-home .fpl-home-why__point p {
		font-size: 9.5px;
		line-height: 1.3;
		padding: 4px 11px 4px 13px;
	}

	.fpl-brand-home .fpl-home-why__features {
		padding-bottom: 15px;
		padding-top: 15px;
	}
}

/* Keep the approved desktop composition while making each mobile benefit easy to scan. */
@media (max-width: 760px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding: 42px 16px 32px;
	}

	.fpl-brand-home .fpl-home-why__heading {
		margin-bottom: 22px;
	}

	.fpl-brand-home .fpl-home-why__heading h2 {
		font-size: 16px;
		line-height: 1;
	}

	.fpl-brand-home .fpl-home-why__list {
		display: grid;
		gap: 10px;
		margin-bottom: 18px;
	}

	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		border: 1px solid rgba(180, 122, 22, 0.2);
		border-radius: 10px;
		grid-template-columns: 46px 50px minmax(0, 1fr);
		grid-template-rows: auto auto;
		min-height: 0;
		overflow: hidden;
	}

	.fpl-brand-home .fpl-home-why__number {
		border-radius: 9px 0 0 9px;
		font-size: 27px;
		grid-row: 1 / 3;
		margin: 0;
	}

	.fpl-brand-home .fpl-home-why__icon {
		height: 36px;
		margin: 12px auto 8px;
		width: 36px;
	}

	.fpl-brand-home .fpl-home-why__point h3 {
		align-self: center;
		font-size: 14px;
		line-height: 1.16;
		padding: 12px 10px 8px 2px;
	}

	.fpl-brand-home .fpl-home-why__point p {
		border-top: 1px solid rgba(180, 122, 22, 0.2);
		font-size: 12px;
		grid-column: 2 / -1;
		line-height: 1.4;
		padding: 10px 11px 12px;
	}

	.fpl-brand-home .fpl-home-why__features {
		margin-top: 0;
	}
}

@media (max-width: 380px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding-left: 12px;
		padding-right: 12px;
	}

	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		grid-template-columns: 42px 45px minmax(0, 1fr);
	}

	.fpl-brand-home .fpl-home-why__point h3 {
		font-size: 13px;
	}

	.fpl-brand-home .fpl-home-why__point p {
		font-size: 11.5px;
	}
}

/* Match the course catalogue cards to the compact landscape homepage cards. */
@media (min-width: 1101px) {
	.fpl-brand-courses .fpl-course-card__media {
		aspect-ratio: 16 / 9 !important;
	}

	.fpl-brand-courses .fpl-course-card__content {
		min-height: 150px !important;
		padding: 14px 16px 15px !important;
	}

	.fpl-brand-courses .fpl-course-card h3 {
		font-size: clamp(22px, 1.55vw, 26px) !important;
		margin-bottom: 8px !important;
	}

	.fpl-brand-courses .fpl-course-card__meta {
		margin-bottom: 8px !important;
	}

	.fpl-brand-courses .fpl-course-card__price {
		margin-bottom: 12px;
	}

	.fpl-brand-courses .fpl-course-card__action {
		min-height: 38px;
	}
}

@media (min-width: 641px) and (max-width: 1100px) {
	.fpl-brand-courses .fpl-course-card__media {
		aspect-ratio: 16 / 9 !important;
	}

	.fpl-brand-courses .fpl-course-card__content {
		min-height: 154px !important;
		padding: 14px 15px !important;
	}

	.fpl-brand-courses .fpl-course-card h3 {
		font-size: clamp(21px, 2.4vw, 25px) !important;
		margin-bottom: 8px !important;
	}
}

@media (max-width: 640px) {
	.fpl-brand-courses .fpl-course-card__media {
		aspect-ratio: 4 / 3 !important;
	}

	.fpl-brand-courses .fpl-course-card__content {
		min-height: 166px !important;
		padding: 12px 11px !important;
	}

	.fpl-brand-courses .fpl-course-card h3 {
		font-size: 18px !important;
		margin-bottom: 8px !important;
	}

	.fpl-brand-courses .fpl-course-card__meta {
		margin-bottom: 8px !important;
	}

	.fpl-brand-courses .fpl-course-card__price {
		font-size: 14px;
		margin-bottom: 10px;
	}
}

/* Generated course posters are designed as landscape artwork, so keep the
 * image box and its active slide at the same ratio rather than clipping it
 * with the former portrait image rule. */
.fpl-brand-home .fpl-course-card__media,
.fpl-brand-courses .fpl-course-card__media {
	aspect-ratio: 3 / 2 !important;
}

.fpl-brand-home .fpl-course-card__image,
.fpl-brand-home .fpl-course-card__image.is-active,
.fpl-brand-courses .fpl-course-card__image,
.fpl-brand-courses .fpl-course-card__image.is-active {
	aspect-ratio: 3 / 2 !important;
	height: 100% !important;
	left: 0 !important;
	max-width: 100% !important;
	position: absolute !important;
	top: 0 !important;
	width: 100% !important;
}

/* Course categories are not part of the public course detail design. */
.single-courses .tutor-course-details-info {
	display: none;
}

/* Keep session rows intact; present the lesson points beneath them as bullets. */
.single-courses .fpl-curriculum-point .tutor-course-content-list-item-icon {
	display: none;
}

.single-courses .fpl-curriculum-point .tutor-course-content-list-item-title {
	align-items: flex-start;
	display: flex;
	gap: 6px;
	margin-left: 10px;
}

.single-courses .fpl-curriculum-point .tutor-course-content-list-item-title::before {
	color: #1c1c1c;
	content: "•";
	font-size: 0.9em;
	line-height: 1.2;
	margin-top: 1px;
}

.single-courses .fpl-curriculum-point {
	margin-top: 2px;
}

.single-courses .fpl-curriculum-session .tutor-course-content-list-item-icon {
	display: inline-block;
}

.single-courses .fpl-curriculum-session .tutor-course-content-list-item-title {
	display: block;
	margin-left: 0;
}

.single-courses .fpl-curriculum-session .tutor-course-content-list-item-title::before {
	content: none;
}


/* Mobile Why section: the pattern artwork remains fixed while its content
 * scrolls over it. Desktop keeps the approved cream background. */
@media (max-width: 760px) {
	.fpl-brand-home .fpl-home-why {
		background: #f2efe8;
	}

	.fpl-brand-home .fpl-home-why__inner {
		background-attachment: fixed;
		background-blend-mode: difference;
		background-color: #f2efe8;
		background-image: url("../images/fpl-mobile-why-background.png");
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.fpl-brand-home .fpl-home-why__heading h2 {
		color: #090807;
	}

	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		background: rgba(248, 245, 238, 0.92);
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
	}

	.fpl-brand-home .fpl-home-why__features {
		background: rgba(248, 245, 238, 0.94);
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
	}
}

/* Popular Courses returns to the site's cream palette. */
.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	background: #f2efe8 !important;
	border-color: rgba(43, 32, 27, 0.14) !important;
}

.fpl-brand-home .fpl-courses-heading .fpl-display {
	color: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-course-card {
	border-color: rgba(43, 32, 27, 0.18) !important;
	box-shadow: 0 8px 22px rgba(43, 32, 27, 0.06);
}

.fpl-brand-home .fpl-course-card__content {
	background: #f2efe8;
	color: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-course-card h3,
.fpl-brand-home .fpl-course-card__title-link,
.fpl-brand-home .fpl-course-card__meta,
.fpl-brand-home .fpl-course-card__price,
.fpl-brand-home .fpl-course-card__price .amount {
	color: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-course-card__meta span {
	background: rgba(5, 4, 3, 0.72);
}

.fpl-brand-home .fpl-course-card__action--info {
	border-color: var(--fpl-ink);
	color: var(--fpl-ink) !important;
}

.fpl-brand-home .fpl-course-card__action--info:hover,
.fpl-brand-home .fpl-course-card__action--info:focus-visible {
	background: var(--fpl-ink);
	border-color: var(--fpl-ink);
	color: var(--fpl-cream) !important;
}

/* On mobile the hero artwork follows the copy, while the Why section keeps
 * its own fixed subtle background below it. */

@media (max-width: 760px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding-bottom: 10px;
	}

	.fpl-brand-home .fpl-courses-heading {
		padding-bottom: 24px !important;
		padding-top: 16px !important;
	}
}

/* 1.6.78 homepage feedback pass: composed hero, drafting-line catalogue, and
 * a site-owned pattern-piece loading state. */
.fpl-brand-home .fpl-lux-hero--pattern-reference {
	background:
		linear-gradient(90deg, transparent 0 45.5%, rgba(109, 86, 51, 0.09) 45.5% calc(45.5% + 1px), transparent calc(45.5% + 1px)),
		#fbf8f2 !important;
	grid-template-columns: minmax(0, 45.5fr) minmax(0, 54.5fr) !important;
	min-height: clamp(680px, calc(100svh - 90px), 860px) !important;
	padding: clamp(30px, 3vw, 56px) clamp(34px, 4.2vw, 80px) !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
	align-self: center !important;
	padding: clamp(44px, 4vw, 76px) clamp(34px, 4vw, 74px) clamp(44px, 4vw, 76px) 0 !important;
}

.fpl-brand-home .fpl-lux-hero__eyebrow {
	align-items: center;
	color: #8b6928;
	display: flex;
	font-family: var(--fpl-sans);
	font-size: 10px;
	font-weight: 700;
	gap: 12px;
	letter-spacing: 0.12em !important;
	margin: 0 0 18px clamp(24px, 2vw, 38px);
	text-transform: uppercase;
}

.fpl-brand-home .fpl-lux-hero__eyebrow::before {
	background: currentColor;
	content: "";
	height: 1px;
	width: 32px;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
	height: clamp(140px, 10vw, 188px) !important;
	margin-bottom: clamp(18px, 1.5vw, 26px) !important;
	width: clamp(330px, 23vw, 430px) !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__dek {
	font-size: clamp(20px, 1.3vw, 25px) !important;
	margin-bottom: clamp(26px, 2vw, 36px) !important;
}

.fpl-brand-home .fpl-lux-hero__art {
	align-self: center;
	background: #eee6d8;
	border: 1px solid rgba(74, 55, 30, 0.2);
	box-shadow: 0 22px 60px rgba(51, 36, 18, 0.12);
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	margin: 0;
	max-height: 760px;
	min-height: 560px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero__art-stage {
	align-items: center;
	background-color: #f1eadf;
	background-image:
		linear-gradient(rgba(105, 82, 49, 0.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(105, 82, 49, 0.075) 1px, transparent 1px),
		linear-gradient(rgba(105, 82, 49, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(105, 82, 49, 0.045) 1px, transparent 1px);
	background-size: 72px 72px, 72px 72px, 18px 18px, 18px 18px;
	display: flex;
	justify-content: center;
	min-height: 0;
	overflow: hidden;
	position: relative;
}

.fpl-brand-home .fpl-lux-hero__art-stage::before,
.fpl-brand-home .fpl-lux-hero__art-stage::after {
	border-color: rgba(104, 77, 40, 0.4);
	border-style: solid;
	content: "";
	height: 16px;
	position: absolute;
	top: 22px;
	width: 16px;
	z-index: 2;
}

.fpl-brand-home .fpl-lux-hero__art-stage::before {
	border-width: 1px 0 0 1px;
	left: 22px;
}

.fpl-brand-home .fpl-lux-hero__art-stage::after {
	border-width: 1px 1px 0 0;
	right: 22px;
}

.fpl-brand-home .fpl-lux-hero__art-index {
	color: rgba(82, 61, 34, 0.58);
	font-family: var(--fpl-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	position: absolute;
	right: 25px;
	top: 22px;
	z-index: 3;
}

.fpl-brand-home .fpl-lux-hero__art-stage picture {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero__art .fpl-lux-hero__image {
	filter: drop-shadow(0 15px 16px rgba(58, 42, 23, 0.17));
	height: auto !important;
	inset: auto !important;
	max-height: 620px !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: clamp(34px, 3vw, 54px) !important;
	position: relative !important;
	transform: rotate(-0.8deg) scale(0.96);
	width: 100% !important;
	z-index: 1;
}

.fpl-brand-home .fpl-lux-hero__art figcaption {
	align-items: center;
	background: rgba(251, 248, 242, 0.96);
	border-top: 1px solid rgba(74, 55, 30, 0.17);
	display: grid;
	gap: 4px 18px;
	grid-template-columns: auto 1fr;
	padding: 17px 22px 18px;
}

.fpl-brand-home .fpl-lux-hero__art figcaption span {
	color: #8b6928;
	font-family: var(--fpl-sans);
	font-size: 9px;
	font-weight: 700;
	grid-row: 1 / 3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.fpl-brand-home .fpl-lux-hero__art figcaption strong {
	color: #211914;
	font-family: var(--fpl-serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
}

.fpl-brand-home .fpl-lux-hero__art figcaption small {
	color: #756a5e;
	font-family: var(--fpl-sans);
	font-size: 10px;
	line-height: 1.35;
}

.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	background-color: #f2efe8 !important;
	background-image:
		linear-gradient(rgba(242, 239, 232, 0.88), rgba(242, 239, 232, 0.88)),
		url("../images/fpl-mobile-why-background.png") !important;
	background-repeat: no-repeat !important;
	background-size: min(1640px, 132vw) auto !important;
	position: relative;
}

.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading {
	background-position: center 18% !important;
}

.fpl-brand-home .fpl-elementor-courses-grid {
	background-position: center 54% !important;
}

.fpl-brand-home .fpl-elementor-courses-intro>.elementor-container,
.fpl-brand-home .fpl-elementor-courses-grid>.elementor-container {
	position: relative;
	z-index: 1;
}

.fpl-site-loader {
	align-items: center;
	background: rgba(251, 248, 242, 0.98);
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 220ms ease, visibility 220ms ease;
	visibility: hidden;
	z-index: 100000;
}

html.fpl-initial-loading .fpl-site-loader,
html.fpl-route-pending .fpl-site-loader {
	opacity: 1;
	visibility: visible;
}

.fpl-site-loader__panel {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 360px;
	padding: 24px;
	text-align: center;
	width: min(88vw, 360px);
}

.fpl-site-loader__pattern {
	height: auto;
	overflow: visible;
	width: 220px;
}

.fpl-site-loader__piece {
	animation: fpl-loader-piece 1.8s ease-in-out infinite alternate;
	fill: #9a886a;
	stroke: #634b2c;
	stroke-linejoin: round;
	stroke-width: 1.2;
	transform-box: fill-box;
	transform-origin: center;
}

.fpl-site-loader__piece--two {
	animation-delay: -0.55s;
	fill: #b99a5a;
}

.fpl-site-loader__piece--three {
	animation-delay: -1.1s;
}

.fpl-site-loader__seam {
	fill: none;
	stroke: rgba(251, 248, 242, 0.85);
	stroke-dasharray: 3 3;
	stroke-width: 1;
}

.fpl-site-loader__measure {
	fill: none;
	stroke: rgba(99, 75, 44, 0.5);
	stroke-width: 1;
}

.fpl-site-loader__panel p {
	margin: 0;
}

.fpl-site-loader__panel strong,
.fpl-site-loader__panel span {
	display: block;
}

.fpl-site-loader__panel strong {
	color: #211914;
	font-family: var(--fpl-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
}

.fpl-site-loader__panel span {
	color: #8b6928;
	font-family: var(--fpl-sans);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.13em;
	margin-top: 7px;
	text-transform: uppercase;
}

@keyframes fpl-loader-piece {
	0% {
		transform: translateY(5px) rotate(-1.5deg);
	}

	100% {
		transform: translateY(-5px) rotate(1.5deg);
	}
}

@media (max-width: 980px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference {
		grid-template-columns: minmax(0, 48fr) minmax(0, 52fr) !important;
		padding: 28px 30px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		padding-right: 28px !important;
	}

	.fpl-brand-home .fpl-lux-hero__art {
		min-height: 510px;
	}

	.fpl-brand-home .fpl-lux-hero__art figcaption small {
		display: none;
	}
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference {
		background: #fbf8f2 !important;
		grid-template-columns: 1fr !important;
		grid-template-rows: auto auto !important;
		padding: 24px 18px 34px !important;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		padding: 28px 6px 26px !important;
	}

	.fpl-brand-home .fpl-lux-hero__eyebrow {
		font-size: 8px;
		margin-left: 0;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
		height: clamp(112px, 32vw, 150px) !important;
		margin-left: -12px !important;
		width: min(100%, 390px) !important;
	}

	.fpl-brand-home .fpl-lux-hero__art {
		grid-column: 1 !important;
		grid-row: 2 !important;
		max-height: none;
		min-height: 0;
	}

	.fpl-brand-home .fpl-lux-hero__art-stage {
		aspect-ratio: 1.14 / 1;
	}

	.fpl-brand-home .fpl-lux-hero__art .fpl-lux-hero__image {
		aspect-ratio: auto !important;
		grid-column: auto !important;
		grid-row: auto !important;
		padding: 24px !important;
	}

	.fpl-brand-home .fpl-elementor-courses-intro,
	.fpl-brand-home .fpl-courses-heading,
	.fpl-brand-home .fpl-elementor-courses-grid {
		background-image:
			linear-gradient(rgba(242, 239, 232, 0.9), rgba(242, 239, 232, 0.9)),
			url("../images/fpl-mobile-why-background.png") !important;
		background-size: 1180px auto !important;
	}
}

@media (max-width: 480px) {
	.fpl-brand-home .fpl-lux-hero__art figcaption {
		grid-template-columns: 1fr;
	}

	.fpl-brand-home .fpl-lux-hero__art figcaption span {
		grid-row: auto;
	}

	.fpl-brand-home .fpl-lux-hero__art figcaption small {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fpl-site-loader__piece {
		animation: none;
	}
}

/* 1.6.79 hero correction: keep the supplied pattern artwork clear and
 * unframed, and let the complete approved wordmark size itself naturally. */
.fpl-brand-home .fpl-lux-hero--pattern-reference {
	background: #fbf8f2 !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
	padding-right: clamp(28px, 3.4vw, 62px) !important;
}

.fpl-brand-home .fpl-lux-hero__eyebrow {
	margin-left: 0;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
	aspect-ratio: auto !important;
	background: none !important;
	height: auto !important;
	margin-left: 0 !important;
	max-width: 410px !important;
	overflow: visible !important;
	text-indent: 0 !important;
	width: min(100%, 410px) !important;
}

.fpl-brand-home .fpl-lux-hero__wordmark {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero__art {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: flex;
	justify-content: center;
	margin: 0;
	max-height: none;
	min-height: 0;
	overflow: visible;
}

.fpl-brand-home .fpl-lux-hero__art picture {
	display: block;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero__art .fpl-lux-hero__image {
	filter: none;
	height: auto !important;
	inset: auto !important;
	max-height: min(720px, calc(100svh - 150px)) !important;
	object-fit: contain !important;
	object-position: center !important;
	padding: 0 !important;
	position: relative !important;
	transform: none;
	width: 100% !important;
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference h1 {
		max-width: 390px !important;
		width: min(100%, 390px) !important;
	}

	.fpl-brand-home .fpl-lux-hero__art .fpl-lux-hero__image {
		max-height: none !important;
		padding: 0 !important;
	}
}

/* 1.6.83 client-supplied pattern-line background across the learning sections. */
.fpl-brand-home .fpl-home-why,
.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	box-shadow: none !important;
	border-bottom: 0 !important;
	border-top: 0 !important;
	outline: 0 !important;
}

.fpl-brand-home .fpl-home-why::after,
.fpl-brand-home .fpl-elementor-courses-intro::before,
.fpl-brand-home .fpl-courses-heading::before,
.fpl-brand-home .fpl-courses-heading::after,
.fpl-brand-home .fpl-elementor-courses-grid::before {
	border: 0 !important;
	box-shadow: none !important;
	content: none !important;
}

.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-home-why,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	background-attachment: fixed !important;
	background-blend-mode: multiply !important;
	background-color: #f2efe8 !important;
	background-image: image-set(url("../images/fpl-courses-pattern-lines-2026.webp") type("image/webp"),
			url("../images/fpl-courses-pattern-lines-2026.png") type("image/png")) !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.fpl-brand-home .fpl-home-why__inner {
	background-color: transparent !important;
	background-image: none !important;
}

/* Keep the original divider so Popular Courses reads as a separate section. */
.fpl-brand-home .fpl-elementor-courses-intro {
	border-top: 1px solid rgba(43, 32, 27, 0.14) !important;
}

/* Homepage learning benefits: numbered editorial cards. */
.fpl-brand-home .fpl-home-why {
	background-color: rgb(242, 239, 232) !important;
	background-image: none !important;
}

.fpl-brand-home .fpl-home-why__inner {
	max-width: 1680px;
	padding: clamp(48px, 4.2vw, 72px) clamp(24px, 3.8vw, 60px) clamp(54px, 4.8vw, 80px);
}

.fpl-brand-home .fpl-home-why__content {
	max-width: 1320px;
}

.fpl-brand-home .fpl-home-why__heading {
	margin-bottom: clamp(26px, 2.3vw, 38px);
}

.fpl-brand-home .fpl-home-why__eyebrow {
	color: #aa7518;
	font-size: clamp(12px, 1vw, 17px);
	gap: clamp(10px, 1vw, 16px);
	letter-spacing: 0.13em !important;
	margin-bottom: 11px;
}

.fpl-brand-home .fpl-home-why__eyebrow::before,
.fpl-brand-home .fpl-home-why__eyebrow::after {
	max-width: 48px;
	width: clamp(28px, 3.2vw, 48px);
}

.fpl-brand-home .fpl-home-why__heading h2 {
	font-size: clamp(28px, 3vw, 46px);
	letter-spacing: -0.055em !important;
	line-height: 0.98;
}

.fpl-brand-home .fpl-home-why__flourish {
	font-size: 16px;
	gap: 8px;
	margin-top: 12px;
}

.fpl-brand-home .fpl-home-why__flourish::before,
.fpl-brand-home .fpl-home-why__flourish::after {
	width: 40px;
}

.fpl-brand-home .fpl-home-why__list {
	display: grid;
	gap: clamp(12px, 1.15vw, 18px) clamp(16px, 1.7vw, 28px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.fpl-brand-home .fpl-home-why__point,
.fpl-brand-home .fpl-home-why__point:first-child,
.fpl-brand-home .fpl-home-why__point:last-child {
	align-items: stretch;
	background: rgba(255, 255, 255, 0.48);
	border: 1px solid rgba(129, 111, 74, 0.22);
	border-radius: 16px;
	grid-template-columns: clamp(58px, 4.6vw, 72px) clamp(94px, 7.6vw, 118px) minmax(0, 1fr);
	min-height: clamp(116px, 9.4vw, 148px);
	overflow: hidden;
}

.fpl-brand-home .fpl-home-why__point:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.fpl-brand-home .fpl-home-why__point:nth-child(2) {
	grid-column: 1;
	grid-row: 2;
}

.fpl-brand-home .fpl-home-why__point:nth-child(3) {
	grid-column: 1;
	grid-row: 3;
}

.fpl-brand-home .fpl-home-why__point:nth-child(4) {
	grid-column: 2;
	grid-row: 1;
}

.fpl-brand-home .fpl-home-why__point:nth-child(5) {
	grid-column: 2;
	grid-row: 2;
}

.fpl-brand-home .fpl-home-why__point:nth-child(6) {
	grid-column: 2;
	grid-row: 3;
}

.fpl-brand-home .fpl-home-why__number {
	background: linear-gradient(145deg, #d3a834, #9f6e10);
	border-radius: 15px 0 0 15px;
	font-size: clamp(32px, 2.9vw, 46px);
	margin: 0;
}

.fpl-brand-home .fpl-home-why__icon {
	align-self: center;
	background: transparent;
	border-color: rgba(155, 114, 28, 0.2);
	color: #af7c1d;
	height: clamp(62px, 5.2vw, 82px);
	margin: 0 auto;
	width: clamp(62px, 5.2vw, 82px);
}

.fpl-brand-home .fpl-home-why__icon svg {
	height: 44px;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 44px;
}

.fpl-brand-home .fpl-home-why__copy {
	align-self: center;
	border-left: 1px solid rgba(129, 111, 74, 0.2);
	min-width: 0;
	padding: 0 clamp(16px, 1.5vw, 24px);
}

.fpl-brand-home .fpl-home-why__point h3 {
	font-size: clamp(17px, 1.4vw, 22px);
	line-height: 1.14;
	margin: 0 0 5px;
	padding: 0;
}

.fpl-brand-home .fpl-home-why__point p {
	border: 0;
	color: #1d1c1a;
	font-size: clamp(14px, 1.04vw, 17px);
	line-height: 1.38;
	margin: 0;
	padding: 0;
}

@media (min-width: 981px) {
	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		min-height: clamp(84px, 6.25vw, 100px);
	}
}

@media (max-width: 980px) {
	.fpl-brand-home .fpl-home-why__list {
		grid-template-columns: 1fr;
	}

	.fpl-brand-home .fpl-home-why__point:nth-child(n) {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 600px) {
	.fpl-brand-home .fpl-home-why__inner {
		padding: 26px 14px 32px;
	}

	.fpl-brand-home .fpl-home-why__heading {
		margin-bottom: 22px;
	}

	.fpl-brand-home .fpl-home-why__eyebrow {
		font-size: 11px;
		letter-spacing: 0.07em !important;
		margin-bottom: 12px;
	}

	.fpl-brand-home .fpl-home-why__heading h2 {
		font-size: clamp(22px, 6.5vw, 28px);
		line-height: 1;
	}

	.fpl-brand-home .fpl-home-why__flourish {
		margin-top: 13px;
	}

	.fpl-brand-home .fpl-home-why__list {
		gap: 8px;
	}

	.fpl-brand-home .fpl-home-why__point,
	.fpl-brand-home .fpl-home-why__point:first-child,
	.fpl-brand-home .fpl-home-why__point:last-child {
		border-radius: 12px;
		grid-template-columns: 36px 46px minmax(0, 1fr);
		grid-template-rows: 1fr;
		min-height: 60px;
	}

	.fpl-brand-home .fpl-home-why__number {
		border-radius: 11px 0 0 11px;
		font-size: 20px;
	}

	.fpl-brand-home .fpl-home-why__icon {
		height: 28px;
		margin: auto;
		width: 28px;
	}

	.fpl-brand-home .fpl-home-why__copy {
		padding: 0 10px;
	}

	.fpl-brand-home .fpl-home-why__point h3 {
		font-size: 11px;
		line-height: 1.15;
		margin-bottom: 2px;
		padding: 0 10px 0 2px;
	}

	.fpl-brand-home .fpl-home-why__point p {
		border: 0;
		font-size: 10px;
		line-height: 1.2;
		padding: 0;
	}
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__content {
		padding: 0 !important;
		margin-bottom: 20px;
	}
}

/* Keep the learning and course sections image-free and visually calm. */
.fpl-brand-home .fpl-home-why,
.fpl-brand-home .fpl-home-why__inner,
.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	background-attachment: scroll !important;
	background-color: #fbf8f2 !important;
	background-image: none !important;
}

.fpl-brand-home .fpl-home-why__inner::before {
	background-image: none !important;
	content: none !important;
	display: none !important;
}

/* Give the next content block a distinct surface and a clear section break. */
.fpl-brand-home .fpl-elementor-courses-intro,
.fpl-brand-home .fpl-courses-heading,
.fpl-brand-home .fpl-elementor-courses-grid {
	background-color: #f3eee6 !important;
}

.fpl-brand-home .fpl-elementor-courses-intro {
  border-top: 0 !important;
}

/* Make the major content transitions easy to spot without adding visual noise. */
.fpl-brand-home .fpl-home-why,
.fpl-brand-home .fpl-student-words {
  border-top: 1px solid rgba(43, 32, 27, 0.18) !important;
}

/* Lock the hero's three icon cells and three text cells to one true 3 x 2 grid. */
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
	align-items: stretch !important;
	gap: 0 !important;
	grid-auto-rows: 84px;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons > div,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div {
	align-items: center !important;
	box-sizing: border-box;
	display: flex !important;
	height: 84px;
	justify-content: center !important;
	min-height: 84px !important;
	padding: 4px 12px !important;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div {
	align-content: center;
	display: grid !important;
	gap: 0 !important;
	grid-template-rows: 2.4em 2.3em;
	justify-items: center;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div + div {
	border-left: 1px solid rgba(9, 8, 7, 0.16);
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div + div::before {
	content: none !important;
	display: none !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__rule,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
	margin-top: 0 !important;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof strong,
.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof span {
	align-items: flex-start;
	display: flex;
	height: auto;
	justify-content: center;
	min-height: 0;
	text-align: center;
	width: 100%;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof strong {
	min-height: 2.4em;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof span {
	min-height: 2.3em;
}

.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div:first-child span {
	transform: translateY(-4px);
}

@media (max-width: 768px) {
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons,
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof {
		grid-auto-rows: 72px;
	}

	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__benefit-icons > div,
	.fpl-brand-home .fpl-lux-hero--pattern-reference .fpl-lux-hero__proof > div {
		height: 72px;
		min-height: 72px !important;
		padding: 4px 8px !important;
	}
}

/* ---------- Scroll-to-top ----------
   Astra renders this as a hard black square with no styling, so it reads as
   a defect sitting on top of the body copy rather than as floating UI.
   Brand it, round it, and lighten it so text stays readable underneath. */
.fpl-brand-active #ast-scroll-top {
	background-color: rgba(29, 26, 23, 0.82) !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 14px rgba(9, 8, 7, 0.22);
	color: #f4efe7 !important;
	height: 42px !important;
	line-height: 42px !important;
	opacity: 0.9;
	padding: 0 !important;
	text-align: center;
	transition: background-color 240ms ease, opacity 240ms ease, transform 240ms ease;
	width: 42px !important;
	/* Clear the iPhone home indicator and sit further from the text column. */
	bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
	right: 16px !important;
}

.fpl-brand-active #ast-scroll-top:hover,
.fpl-brand-active #ast-scroll-top:focus-visible {
	background-color: var(--fpl-oxblood) !important;
	opacity: 1;
	transform: translateY(-2px);
}

.fpl-brand-active #ast-scroll-top .ast-icon,
.fpl-brand-active #ast-scroll-top svg {
	height: 15px;
	width: 15px;
}

@media (max-width: 620px) {
	.fpl-brand-active #ast-scroll-top {
		height: 38px !important;
		line-height: 38px !important;
		opacity: 0.78;
		width: 38px !important;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
		right: 12px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fpl-brand-active #ast-scroll-top {
		transition: none;
	}

	.fpl-brand-active #ast-scroll-top:hover,
	.fpl-brand-active #ast-scroll-top:focus-visible {
		transform: none;
	}
}

/* ---------- Legal documents (Privacy, Terms, Refund policy) ----------
   A readable long-form column: title block, jump-to nav, numbered
   sections with stable anchors, editorial typography matching the rest
   of the site rather than a bare heading on a blank page. */
/* .fpl-section's default 140px top/bottom is tuned for short marketing
   sections. A long numbered document compounds that with its own section
   spacing (TOC margin, 40px per section) and reads as a huge, empty gap
   before and after the content — cut it down to something proportionate. */
.fpl-legal {
	background: var(--fpl-paper);
	padding: 56px 0 72px;
}

.fpl-legal__shell {
	max-width: 900px;
}

.fpl-legal__title {
	margin-bottom: 10px;
}

.fpl-legal__updated {
	color: var(--fpl-taupe);
	font-family: var(--fpl-sans);
	font-size: 13px;
	letter-spacing: 0.04em;
	margin-bottom: 30px;
	text-transform: uppercase;
}

.fpl-legal__intro {
	border-top: 1px solid var(--fpl-line);
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 17px;
	line-height: 1.75;
	max-width: 760px;
	padding-top: 26px;
}

/* Jump-to navigation: a quiet reference list, not a second heading. */
.fpl-legal__toc {
	background: var(--fpl-cream);
	border: 1px solid var(--fpl-line);
	margin: 36px 0 8px;
	padding: 26px 30px;
}

/* Each heading string already starts with its own number ("1. About…"),
   so the list adds no counter of its own — a CSS counter here would show
   the number twice. */
.fpl-legal__toc ol {
	columns: 2;
	column-gap: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fpl-legal__toc li {
	break-inside: avoid;
	font-family: var(--fpl-sans);
	font-size: 13px;
	line-height: 1.9;
}

.fpl-legal__toc a {
	border-bottom: 1px solid transparent;
	color: var(--fpl-brown);
	text-decoration: none;
	transition: border-color 200ms ease, color 200ms ease;
}

.fpl-legal__toc a:hover,
.fpl-legal__toc a:focus-visible {
	border-color: var(--fpl-oxblood);
	color: var(--fpl-oxblood);
}

.fpl-legal__body {
	margin-top: 44px;
}

.fpl-legal__section {
	border-top: 1px solid var(--fpl-line);
	padding: 40px 0;
	scroll-margin-top: 120px;
}

.fpl-legal__section:last-child {
	padding-bottom: 8px;
}

.fpl-legal__section h2 {
	color: var(--fpl-ink);
	font-size: clamp(21px, 2vw, 26px);
	margin-bottom: 18px;
}

.fpl-legal__section p {
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 15.5px;
	line-height: 1.75;
	margin-bottom: 16px;
	max-width: 760px;
}

.fpl-legal__section p:last-child {
	margin-bottom: 0;
}

.fpl-legal__section p strong {
	color: var(--fpl-ink);
}

.fpl-legal__section p a {
	color: var(--fpl-oxblood);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fpl-legal__section ul {
	margin: 0 0 16px;
	max-width: 760px;
	padding-left: 22px;
}

.fpl-legal__section ul:last-child {
	margin-bottom: 0;
}

.fpl-legal__section li {
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 15.5px;
	line-height: 1.7;
	margin-bottom: 8px;
}

.fpl-legal__section li:last-child {
	margin-bottom: 0;
}

.fpl-legal__section li::marker {
	color: var(--fpl-oxblood);
}

@media (max-width: 700px) {
	.fpl-legal {
		padding: 40px 0 56px;
	}

	.fpl-legal__toc {
		padding: 22px 22px;
	}

	.fpl-legal__toc ol {
		columns: 1;
	}

	.fpl-legal__section {
		padding: 30px 0;
	}
}

/* ---------- Checkout: policy agreement and digital-product notice ----------
   WooCommerce's native terms checkbox and this plugin's own notice, styled
   to match rather than sitting as unstyled default checkout markup. */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	background: var(--fpl-cream);
	border: 1px solid var(--fpl-line);
	margin-bottom: 22px;
	padding: 18px 20px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 14px;
	line-height: 1.6;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: var(--fpl-oxblood);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fpl-checkout-digital-notice {
	background: var(--fpl-cream);
	border-left: 3px solid var(--fpl-mustard);
	color: var(--fpl-brown);
	font-family: var(--fpl-sans);
	font-size: 13.5px;
	line-height: 1.6;
	margin: 0 0 18px;
	padding: 14px 16px;
}

.fpl-checkout-digital-notice strong {
	color: var(--fpl-ink);
}
