/**
 * Theme overrides — WordPress conflicts + Stitch component polish.
 */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sr-only:focus {
	position: fixed;
	width: auto;
	height: auto;
	margin: 0;
	clip: auto;
	white-space: normal;
	z-index: 9999;
}

/* Strip WP global stylesheet when it still loads */
body.tqe-site .wp-block-button__link {
	all: unset;
}

/* Hero: warm cream background per design */
#hero,
.tqe-main > section:first-child {
	background-color: var(--tqe-background, #fcf9f8);
}

/* Buttons match design pills */
body.tqe-site .btn-hover-scale {
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

body.tqe-site .btn-hover-scale:hover {
	transform: scale(1.05);
}

body.tqe-site .btn-hover-scale:active {
	transform: scale(0.95);
}

.hidden {
	display: none !important;
}

#tqe-mobile-nav {
	border-top: 1px solid rgba(106, 43, 8, 0.05);
	background: rgba(252, 249, 248, 0.95);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
	padding: 0 20px 1.5rem;
}

#tqe-mobile-nav > div {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-top: 1rem;
}

@media (min-width: 1024px) {
	#tqe-mobile-nav {
		display: none !important;
	}
}

.tqe-footer-brand {
	display: inline-block;
	line-height: 0;
	margin-bottom: 1rem;
}

/* Nav links: never blue underline */
#tqe-desktop-nav a,
#tqe-mobile-nav a,
.tqe-brand {
	text-decoration: none !important;
}

#tqe-desktop-nav a:hover,
#tqe-mobile-nav a:hover {
	text-decoration: none !important;
}

/* Header bar — explicit layout (utility classes are not compiled) */
.tqe-header__inner {
	display: flex;
	align-items: center;
	min-height: 4.75rem;
	padding-block: 0.875rem;
}

.tqe-header__grid {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: 1rem;
	width: 100%;
	min-height: 3.25rem;
}

@media (min-width: 768px) {
	.tqe-header__grid {
		column-gap: 1.5rem;
	}
}

.tqe-header__nav {
	display: none;
	align-items: center;
	justify-content: center;
	justify-self: center;
	gap: 2rem;
	min-height: 3rem;
}

@media (min-width: 1024px) {
	.tqe-header__nav {
		display: flex;
	}
}

.tqe-header__nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	line-height: 1;
}

.tqe-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	min-height: 3rem;
}

.tqe-header__cta {
	display: none;
}

@media (min-width: 768px) {
	.tqe-header__cta {
		display: inline-flex;
	}
}

.tqe-header__menu-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	color: #6a2b08;
	background: transparent;
	border: none;
	cursor: pointer;
}

@media (min-width: 1024px) {
	.tqe-header__menu-toggle {
		display: none;
	}
}

.tqe-header .tqe-brand {
	display: inline-flex;
	align-items: center;
	align-self: center;
	line-height: 0;
}

.tqe-header .tqe-brand img {
	display: block;
	height: 56px;
	width: auto;
}

.tqe-footer-brand img {
	display: block;
	height: 48px;
	width: auto;
}

/* Consistent vertical rhythm between page sections */
.tqe-site .tqe-main > section {
	padding-top: clamp(3rem, 5vw, 4.5rem) !important;
	padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

.tqe-site .tqe-main > section#hero {
	padding-top: 5rem !important;
	padding-bottom: clamp(2.5rem, 4vw, 3.5rem) !important;
	min-height: min(100vh, 920px);
}

/* Trust / stats bar — slightly tighter */
.tqe-site .tqe-main > section.bg-surface-container-low {
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
}

/* Avoid double gaps from Tailwind mb-* on sections */
.tqe-site .tqe-main > section[class*='mb-'] {
	margin-bottom: 0 !important;
}

/* Currency capsule switcher */
[data-tqe-currency-switcher] {
	width: 100%;
	max-width: 42rem;
}

[data-tqe-currency-switcher] .currency-btn {
	flex: 0 0 auto;
	min-width: 3rem;
}

/* Forminator — stacked layout + Sacred Minimalist theme */
.tqe-forminator-wrap .forminator-ui,
.tqe-forminator-wrap .forminator-custom-form {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Forminator puts every field in one row — force vertical stack */
.tqe-forminator-wrap .forminator-row {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	gap: 1.25rem !important;
	margin: 0 0 1.5rem !important;
	width: 100% !important;
}

.tqe-forminator-wrap .forminator-row .forminator-col {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.tqe-forminator-wrap .forminator-field {
	width: 100% !important;
	margin-bottom: 0 !important;
}

.tqe-forminator-wrap .forminator-label {
	display: block !important;
	color: #6a2b08 !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	margin-bottom: 0.5rem !important;
}

.tqe-forminator-wrap .forminator-input,
.tqe-forminator-wrap .forminator-textarea,
.tqe-forminator-wrap select,
.tqe-forminator-wrap input[type='text'],
.tqe-forminator-wrap input[type='email'],
.tqe-forminator-wrap input[type='tel'] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	min-height: 3rem !important;
	padding: 0.75rem 1rem !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	border-radius: 0.75rem !important;
	border: 1px solid rgba(106, 43, 8, 0.15) !important;
	background: #fffdf8 !important;
	color: #3d2b24 !important;
}

.tqe-forminator-wrap .forminator-textarea {
	min-height: 7rem !important;
	resize: vertical !important;
}

.tqe-forminator-wrap .forminator-input:focus,
.tqe-forminator-wrap .forminator-textarea:focus,
.tqe-forminator-wrap select:focus {
	border-color: #88411e !important;
	box-shadow: 0 0 0 3px rgba(136, 65, 30, 0.12) !important;
	outline: none !important;
}

/* Select2 dropdowns (Forminator) */
.tqe-forminator-wrap .forminator-field-select .forminator-field,
.tqe-forminator-wrap .forminator-field-select {
	width: 100% !important;
}

.tqe-forminator-wrap .select2-container {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
}

.tqe-forminator-wrap .select2-container .select2-selection--single {
	min-height: 3rem !important;
	height: auto !important;
	padding: 0.5rem 1rem !important;
	border-radius: 0.75rem !important;
	border: 1px solid rgba(106, 43, 8, 0.15) !important;
	background: #fffdf8 !important;
	display: flex !important;
	align-items: center !important;
}

.tqe-forminator-wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5 !important;
	color: #3d2b24 !important;
	padding: 0 !important;
	width: 100% !important;
	white-space: normal !important;
}

.tqe-forminator-wrap .forminator-row-last {
	margin-top: 0.5rem !important;
}

.tqe-forminator-wrap .forminator-row-last .forminator-col {
	width: 100% !important;
}

.tqe-forminator-wrap .forminator-button-submit {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: #88411e !important;
	color: #ffbb9e !important;
	border: none !important;
	border-radius: 9999px !important;
	padding: 1rem 2rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	box-shadow: 0 4px 14px rgba(106, 43, 8, 0.2) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	cursor: pointer !important;
	text-align: center !important;
}

.tqe-forminator-wrap .forminator-button-submit:hover {
	transform: scale(1.02);
	box-shadow: 0 6px 20px rgba(106, 43, 8, 0.28) !important;
}

.tqe-forminator-wrap .forminator-response-message {
	border-radius: 0.75rem !important;
	margin-bottom: 1rem !important;
}

/* Hide admin "Edit form" on front */
.tqe-forminator-wrap .forminator-edit-link {
	display: none !important;
}

/* Hero & header buttons — compact pills (design) */
.tqe-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.75rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2;
	border-radius: 9999px;
	text-decoration: none !important;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
	white-space: nowrap;
}

a.tqe-btn {
	text-decoration: none !important;
}

/* Main: no top pad on home (hero is full-height); pad inner pages below fixed nav */
.tqe-main {
	padding-top: 5rem;
}

body.home .tqe-main {
	padding-top: 0;
}

.tqe-hero .container {
	width: 100%;
}

.tqe-section-header {
	text-align: center;
}

/* Home courses slider — 1 / 2 / 3 / 4 cards visible by breakpoint */
.tqe-courses-slider {
	position: relative;
	padding: 0 2.75rem 3rem;
	max-width: var(--tqe-container-max, 75rem);
	margin: 0 auto;
	width: 100%;
}

@media (min-width: 768px) {
	.tqe-courses-slider {
		padding: 0 3.25rem 3.5rem;
	}
}

.tqe-courses-slider__viewport {
	overflow: hidden;
	border-radius: 1.25rem;
}

.tqe-courses-slider__track {
	display: flex;
	transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.tqe-courses-slider__slide {
	flex: 0 0 100%;
	min-width: 0;
	padding: 0 0.5rem;
	box-sizing: border-box;
}

@media (min-width: 640px) {
	.tqe-courses-slider__slide {
		flex: 0 0 50%;
	}
}

@media (min-width: 1024px) {
	.tqe-courses-slider__slide {
		flex: 0 0 33.3333%;
	}
}

@media (min-width: 1280px) {
	.tqe-courses-slider__slide {
		flex: 0 0 25%;
	}
}

.tqe-home-course-card--slider .tqe-home-course-card__media {
	height: 10rem;
}

.tqe-home-course-card--slider .tqe-home-course-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
}

.tqe-home-course-card--slider h3 {
	font-size: 1.125rem !important;
	margin-bottom: 0.5rem !important;
}

.tqe-home-course-card--slider .tqe-home-course-card__teaser {
	margin-bottom: 1rem !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.tqe-home-course-card__media--icon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, rgba(106, 43, 8, 0.12), rgba(136, 65, 30, 0.06));
}

.tqe-home-course-card__media--icon .material-symbols-outlined {
	font-size: 3.5rem;
	color: #6a2b08;
	opacity: 0.85;
}

.tqe-courses-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 9999px;
	border: 1px solid rgba(106, 43, 8, 0.12);
	background: rgba(252, 249, 248, 0.95);
	color: #6a2b08;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(106, 43, 8, 0.1);
	transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.tqe-courses-slider__nav:hover {
	transform: translateY(-50%) scale(1.06);
	background: #88411e;
	color: #ffbb9e;
}

.tqe-courses-slider__nav--prev {
	left: 0;
}

.tqe-courses-slider__nav--next {
	right: 0;
}

.tqe-courses-slider__dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.tqe-courses-slider__dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 9999px;
	border: none;
	padding: 0;
	background: rgba(106, 43, 8, 0.2);
	cursor: pointer;
	transition: width 0.35s ease, background 0.35s ease;
}

.tqe-courses-slider__dot.is-active {
	width: 1.75rem;
	background: #6a2b08;
}

a.tqe-home-course-card,
a.tqe-course-card {
	text-decoration: none !important;
	color: inherit;
}

a.tqe-home-course-card:focus-visible,
a.tqe-course-card:focus-visible {
	outline: 2px solid var(--color-primary, #6a2b08);
	outline-offset: 3px;
}

/* Breadcrumbs & related internal links (SEO navigation) */
.tqe-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tqe-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.tqe-breadcrumbs__link {
	text-decoration: none;
}

.tqe-breadcrumbs__current {
	font-weight: 600;
}

.tqe-related-links__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 640px) {
	.tqe-related-links__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.tqe-related-links__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.tqe-related-links__card {
	display: block;
	padding: 1.25rem 1.5rem;
	border-radius: 1rem;
	background: #fff;
	border: 1px solid rgba(106, 43, 8, 0.1);
	text-decoration: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.tqe-related-links__card:hover {
	border-color: rgba(106, 43, 8, 0.25);
	box-shadow: 0 8px 24px rgba(106, 43, 8, 0.08);
}

.tqe-related-links__label {
	display: block;
	margin-bottom: 0.35rem;
}

.tqe-related-links__desc {
	display: block;
	line-height: 1.45;
}

.tqe-legal__body h2:first-of-type {
	padding-top: 0;
}

.tqe-legal__body p {
	margin: 0;
}

.tqe-btn--primary,
a.tqe-btn--primary {
	background-color: #88411e !important;
	color: #ffbb9e !important;
	border: none;
	box-shadow: 0 4px 14px rgba(106, 43, 8, 0.2);
}

.tqe-btn--outline {
	background: transparent !important;
	border: 2px solid rgba(106, 43, 8, 0.2) !important;
	color: #6a2b08 !important;
}

.tqe-btn--light {
	background: #fffdf8 !important;
	color: #6a2b08 !important;
	border: none;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.tqe-header a.bg-primary-container,
.tqe-header .tqe-btn--primary {
	padding: 0.5rem 1.25rem !important;
	font-size: 0.875rem !important;
}

/* Primary CTA legacy */
a.bg-primary-container,
button.bg-primary-container {
	background-color: #88411e !important;
	color: #ffbb9e !important;
	border: none;
	cursor: pointer;
	padding: 0.5rem 1.25rem !important;
}

/* Educator Way card — force light text on brown */
.bg-primary.text-on-primary h3,
.bg-primary.text-on-primary p,
.bg-primary.text-on-primary li,
.bg-primary.text-on-primary .font-body-md,
.bg-primary.text-on-primary .font-headline-md {
	color: #ffffff !important;
}

.bg-primary.text-on-primary .material-symbols-outlined {
	color: #ffbb9e !important;
}

/* Final CTA band */
.bg-primary.p-16 h2,
.bg-primary.p-16 .font-display-lg,
section .bg-primary h2.text-on-primary {
	color: #ffffff !important;
}

.bg-primary.p-16 p,
section .bg-primary p.font-body-lg {
	color: #ffbb9e !important;
}

/* Brown container bands — FAQ CTA, pricing footer CTA */
.bg-primary-container.text-on-primary-container h1,
.bg-primary-container.text-on-primary-container h2,
.bg-primary-container.text-on-primary-container h3,
.bg-primary-container.text-on-primary-container .font-headline-lg,
.bg-primary-container.text-on-primary-container .font-headline-md,
.bg-primary-container.text-on-primary-container .font-headline-sm,
.bg-primary-container.text-on-primary-container [class*='font-headline'],
.bg-primary-container.text-on-primary-container [class*='font-display'] {
	color: #ffffff !important;
}

.bg-primary-container.text-on-primary-container p,
.bg-primary-container.text-on-primary-container .font-body-lg,
.bg-primary-container.text-on-primary-container .font-body-md {
	color: rgba(255, 255, 255, 0.92) !important;
}

.bg-primary-container.text-on-primary-container a.bg-surface,
.bg-primary-container.text-on-primary-container .tqe-book-trial-link.bg-surface {
	background-color: #ffffff !important;
	color: var(--tqe-primary) !important;
	border: none !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
}

.bg-primary-container.text-on-primary-container a.tqe-contact-link,
.bg-primary-container.text-on-primary-container a.border-surface\/30,
.bg-primary-container.text-on-primary-container button.border-surface\/30 {
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.85) !important;
	background: transparent !important;
}

.bg-primary-container.text-on-primary-container a.tqe-contact-link:hover,
.bg-primary-container.text-on-primary-container a.border-surface\/30:hover,
.bg-primary-container.text-on-primary-container button.border-surface\/30:hover {
	background: rgba(255, 255, 255, 0.14) !important;
	color: #ffffff !important;
}

/* Counter animation */
.counter {
	font-variant-numeric: tabular-nums;
}

/* Secondary ghost button on hero */
button.border-primary\/20,
a.border-primary\/20 {
	border: 2px solid rgba(106, 43, 8, 0.2) !important;
	color: var(--tqe-primary) !important;
	background: transparent !important;
}

/* Trust badge */
.rounded-full.bg-surface-container-low {
	background-color: #f6f3f2 !important;
}

/* Pattern overlay */
.pattern-overlay {
	background-image: radial-gradient(#6a2b08 0.5px, transparent 0.5px);
	background-size: 24px 24px;
	opacity: 0.03;
}

/* Blur orbs */
.bg-primary\/5 { background-color: rgba(106, 43, 8, 0.05) !important; }
.bg-secondary\/10 { background-color: rgba(121, 88, 48, 0.1) !important; }

/* Cards */
.premium-card-lift {
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.premium-card-lift:hover {
	transform: translateY(-8px) scale(1.01);
	box-shadow: 0 50px 50px -15px rgba(136, 65, 30, 0.15);
}

.luxury-shadow {
	box-shadow: 0 40px 40px -10px rgba(136, 65, 30, 0.08);
}

.rounded-3xl { border-radius: 1.5rem !important; }
.rounded-full { border-radius: 9999px !important; }

/* Scroll reveal animations */
.reveal-up,
.reveal-down,
.reveal-left,
.reveal-right,
.reveal-scale,
.reveal-fade {
	transition: opacity 0.85s cubic-bezier(0.2, 1, 0.3, 1), transform 0.85s cubic-bezier(0.2, 1, 0.3, 1);
}

.reveal-up {
	opacity: 0;
	transform: translateY(32px);
}

.reveal-down {
	opacity: 0;
	transform: translateY(-24px);
}

.reveal-left {
	opacity: 0;
	transform: translateX(-36px);
}

.reveal-right {
	opacity: 0;
	transform: translateX(36px);
}

.reveal-scale {
	opacity: 0;
	transform: scale(0.94);
}

.reveal-fade {
	opacity: 0;
}

.reveal-up.active,
.reveal-down.active,
.reveal-left.active,
.reveal-right.active,
.reveal-scale.active,
.reveal-fade.active {
	opacity: 1;
	transform: none;
}

.tqe-stagger > .reveal-up,
.tqe-stagger > .reveal-scale,
.tqe-stagger > * {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s cubic-bezier(0.2, 1, 0.3, 1), transform 0.7s cubic-bezier(0.2, 1, 0.3, 1);
}

.tqe-stagger.active > .reveal-up.active,
.tqe-stagger.active > .reveal-scale.active,
.tqe-stagger.active > * {
	opacity: 1;
	transform: translateY(0);
}

.tqe-stagger.active > *:nth-child(1) { transition-delay: 0.05s; }
.tqe-stagger.active > *:nth-child(2) { transition-delay: 0.12s; }
.tqe-stagger.active > *:nth-child(3) { transition-delay: 0.19s; }
.tqe-stagger.active > *:nth-child(4) { transition-delay: 0.26s; }
.tqe-stagger.active > *:nth-child(5) { transition-delay: 0.33s; }
.tqe-stagger.active > *:nth-child(6) { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
	.reveal-up,
	.reveal-down,
	.reveal-left,
	.reveal-right,
	.reveal-scale,
	.reveal-fade,
	.tqe-stagger > * {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.tqe-courses-slider__track {
		transition: none;
	}
}

/* Header entrance */
.tqe-header {
	animation: tqe-header-in 0.7s cubic-bezier(0.2, 1, 0.3, 1) both;
}

@keyframes tqe-header-in {
	from {
		opacity: 0;
		transform: translateY(-12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Hide dashboard mockup inner nav from conflicting */
.tqe-site nav.tqe-header + main nav:not(.tqe-header) {
	/* inner page navs OK */
}

/* About page — faculty cards */
.tqe-teacher-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

@media (min-width: 640px) {
	.tqe-teacher-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.tqe-teacher-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 1.75rem;
	}

	.tqe-teacher-card {
		grid-column: span 2;
	}

	.tqe-teacher-card:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.tqe-teacher-card:nth-child(5) {
		grid-column: 4 / span 2;
	}
}

.tqe-teacher-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
}

.tqe-teacher-card__photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
	max-height: 280px;
	margin-bottom: 1.25rem;
	border-radius: 1rem;
	overflow: hidden;
	background: #f6f3f2;
	box-shadow: 0 24px 32px -12px rgba(106, 43, 8, 0.12);
	flex-shrink: 0;
}

.tqe-teacher-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.tqe-teacher-card:hover .tqe-teacher-card__photo img {
	transform: scale(1.04);
}

.tqe-teacher-card__photo-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(106, 43, 8, 0.55), transparent 55%);
	opacity: 0;
	transition: opacity 0.45s ease;
	pointer-events: none;
}

.tqe-teacher-card:hover .tqe-teacher-card__photo-overlay {
	opacity: 1;
}

.tqe-teacher-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.tqe-teacher-card__name {
	margin: 0 0 0.25rem;
}

.tqe-teacher-card__title {
	margin: 0 0 0.75rem;
}

.tqe-teacher-card__bio {
	flex: 1;
	margin: 0;
	min-height: 4.75rem;
}

.tqe-teacher-note {
	margin-top: 4rem;
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.tqe-founder-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.25rem;
}

@media (min-width: 640px) {
	.tqe-founder-block {
		flex-direction: row;
		align-items: flex-start;
	}
}

.tqe-founder-block__photo {
	width: 5rem;
	height: 5rem;
	border-radius: 9999px;
	overflow: hidden;
	flex-shrink: 0;
	box-shadow: 0 16px 24px -8px rgba(106, 43, 8, 0.15);
}

@media (min-width: 640px) {
	.tqe-founder-block__photo {
		width: 6rem;
		height: 6rem;
	}
}

.tqe-founder-block__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.tqe-faq-trigger[aria-expanded="true"] .material-symbols-outlined {
	transform: rotate(180deg);
}

.tqe-faq-item .faq-content > div strong {
	font-weight: 600;
	color: inherit;
}

.tqe-faq-item .faq-content > div em {
	font-style: italic;
}

.tqe-faq-item .faq-content > div a {
	color: #6a2b08;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tqe-faq-item .faq-content > div a:hover {
	opacity: 0.85;
}

/* Blog archive + single post */
.tqe-blog-card__media {
	display: block;
	text-decoration: none !important;
}

.tqe-blog-card:hover .tqe-blog-card__image {
	transform: scale(1.04);
}

.tqe-blog-card__title {
	color: inherit;
	text-decoration: none !important;
}

.tqe-blog-card__link {
	text-decoration: none !important;
}

.tqe-blog-pagination__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	padding: 0.625rem 1rem;
	border-radius: 9999px;
	border: 1px solid rgba(106, 43, 8, 0.12);
	color: #6a2b08 !important;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.tqe-blog-pagination__link:hover,
.tqe-blog-pagination__link:focus-visible {
	background: rgba(106, 43, 8, 0.06);
}

.tqe-blog-pagination__link.is-current {
	background: #88411e !important;
	border-color: #88411e !important;
	color: #ffffff !important;
}

.tqe-post-content > * + * {
	margin-top: 1.25rem;
}

.tqe-post-content h2,
.tqe-post-content h3,
.tqe-post-content h4 {
	color: #6a2b08 !important;
	margin-top: 2rem;
}

.tqe-post-content a {
	color: #6a2b08;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tqe-post-content ul,
.tqe-post-content ol {
	padding-left: 1.5rem;
}

.tqe-post-content li + li {
	margin-top: 0.5rem;
}

.tqe-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 1rem;
}

.tqe-post-content blockquote {
	border-left: 4px solid rgba(106, 43, 8, 0.2);
	padding-left: 1rem;
	color: #54433c;
	font-style: italic;
}
