/* Tepoz Editorial 1.0.0 — home and online-program landing pages. */
body.tepoz-editorial-page {
	--tep-ink: #173f34;
	--tep-ink-deep: #0d2f27;
	--tep-olive: #62633b;
	--tep-sage: #83906a;
	--tep-gold: #b4864b;
	--tep-sand: #d6bd9a;
	--tep-paper: #fffdfa;
	--tep-cream: #f5f1e8;
	--tep-cream-2: #ebe4d7;
	--tep-line: rgba(52, 62, 43, .16);
	--tep-muted: #687069;
	--tep-shadow: 0 22px 65px rgba(26, 42, 34, .1);
	margin: 0;
	color: var(--tep-ink-deep);
	background: var(--tep-paper);
}

body.tepoz-editorial-page #content,
body.tepoz-editorial-page .site-content,
body.tepoz-editorial-page .content-area {
	padding: 0 !important;
	max-width: none !important;
}

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

.tep-editorial {
	overflow: clip;
	color: var(--tep-ink-deep);
	background: var(--tep-paper);
	font-family: var(--tc-body);
	font-size: 16px;
	line-height: 1.6;
}

.tep-editorial :where(h1, h2, h3, p, ul, ol, dl) { margin-top: 0; }
.tep-editorial :where(a) { color: inherit; }
.tep-editorial :where(img) { max-width: 100%; }
.tep-editorial :where(a, button, summary):focus-visible {
	outline: 3px solid #d8a758;
	outline-offset: 4px;
}

.tep-shell {
	width: min(1220px, calc(100% - 64px));
	margin-inline: auto;
}

.tep-section { padding: clamp(84px, 9vw, 136px) 0; }

.tep-eyebrow,
.tep-kicker {
	margin-bottom: 14px;
	color: var(--tep-gold);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .17em;
	line-height: 1.3;
	text-transform: uppercase;
}

.tep-kicker { margin-bottom: 8px; font-size: .66rem; letter-spacing: .13em; }

.tep-icon {
	width: 19px;
	height: 19px;
	flex: 0 0 auto;
}

.tep-section-head { max-width: 870px; margin-bottom: clamp(38px, 5vw, 68px); }
.tep-section-head h2,
.tep-philosophy h2,
.tep-format h2,
.tep-instructor h2,
.tep-faq h2 {
	margin-bottom: 0;
	color: var(--tep-ink);
	font-family: var(--tc-display);
	font-size: clamp(2.8rem, 5.2vw, 4.9rem);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .98;
}

.tep-section-head--split {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .6fr);
	align-items: end;
	gap: clamp(40px, 8vw, 120px);
}

.tep-section-head--split > p,
.tep-section-head--center > p,
.tep-faq__grid > div:first-child > p:last-child {
	margin: 0;
	color: var(--tep-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.tep-section-head--center { margin-inline: auto; text-align: center; }
.tep-section-head--center > p { max-width: 690px; margin: 18px auto 0; }
.tep-section-head--light h2,
.tep-section-head--light > p { color: #fff; }
.tep-section-head--light .tep-eyebrow { color: var(--tep-sand); }

.tep-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.tep-button,
.tep-button:visited {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.tep-button:hover { transform: translateY(-2px); }
.tep-button--light { color: var(--tep-ink-deep) !important; background: #fff; }
.tep-button--light:hover { background: var(--tep-sand); }
.tep-button--dark { color: #fff !important; background: var(--tep-ink); }
.tep-button--dark:hover { background: var(--tep-ink-deep); }
.tep-button--sand { color: var(--tep-ink-deep) !important; background: var(--tep-sand); }
.tep-button--sand:hover { background: #e1c9a8; }
.tep-button--ghost-light { border-color: rgba(255,255,255,.48); color: #fff !important; background: rgba(255,255,255,.05); backdrop-filter: blur(10px); }
.tep-button--ghost-light:hover { border-color: #fff; background: rgba(255,255,255,.13); }
.tep-button--outline { border-color: var(--tep-line); color: var(--tep-ink) !important; background: transparent; }
.tep-button--outline:hover { border-color: var(--tep-ink); background: var(--tep-cream); }

.tep-text-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--tep-ink) !important;
	font-size: .82rem;
	font-weight: 750;
	text-decoration: none !important;
}
.tep-text-link:hover { color: var(--tep-gold) !important; }

/* Home hero */
.tep-home-hero {
	position: relative;
	display: grid;
	min-height: min(860px, calc(100svh - 92px));
	align-items: end;
	isolation: isolate;
	overflow: hidden;
	color: #fff;
	background: var(--tep-ink-deep);
}

.tep-home-hero__media,
.tep-home-hero__veil {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.tep-home-hero__media {
	background-image: url("https://theelephantbowl.com/wp-content/uploads/2025/09/IMG_2809.webp");
	background-position: center 46%;
	background-size: cover;
	transform: scale(1.015);
}

.tep-home-hero__veil {
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(8, 32, 26, .9) 0%, rgba(8, 32, 26, .62) 48%, rgba(8, 32, 26, .12) 82%),
		linear-gradient(0deg, rgba(8, 32, 26, .7), transparent 55%);
}

.tep-home-hero__content { padding-block: clamp(78px, 10vh, 130px) clamp(74px, 9vh, 118px); }
.tep-home-hero .tep-eyebrow { color: var(--tep-sand); }
.tep-home-hero h1 {
	max-width: 920px;
	margin-bottom: 26px;
	font-family: var(--tc-display);
	font-size: clamp(4.2rem, 8.3vw, 8rem);
	font-weight: 400;
	letter-spacing: -.06em;
	line-height: .83;
	text-wrap: balance;
}
.tep-home-hero h1 em,
.tep-final-cta h2 em { color: var(--tep-sand); font-style: italic; }
.tep-home-hero__lead { max-width: 650px; margin-bottom: 34px; color: rgba(255,255,255,.83); font-size: clamp(1.06rem, 1.8vw, 1.3rem); line-height: 1.7; }
.tep-scroll-cue { position: absolute; right: max(32px, calc((100vw - 1220px) / 2)); bottom: 46px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.75) !important; font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-decoration: none !important; text-transform: uppercase; }
.tep-scroll-cue i { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; font-style: normal; }

.tep-trust { border-bottom: 1px solid var(--tep-line); background: var(--tep-cream); }
.tep-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.tep-trust__grid > div { display: grid; gap: 4px; padding: 30px clamp(16px, 3vw, 38px); border-right: 1px solid var(--tep-line); }
.tep-trust__grid > div:first-child { padding-left: 0; }
.tep-trust__grid > div:last-child { border: 0; padding-right: 0; }
.tep-trust strong { color: var(--tep-ink); font-family: var(--tc-display); font-size: 1.8rem; font-weight: 400; line-height: 1; }
.tep-trust span { color: var(--tep-muted); font-size: .72rem; }

/* Learning paths */
.tep-paths { background: var(--tep-paper); }
.tep-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tep-path-card { display: flex; min-height: 390px; flex-direction: column; justify-content: space-between; gap: 28px; padding: clamp(28px, 3vw, 42px); border: 1px solid var(--tep-line); border-radius: 28px; background: #fff; box-shadow: 0 12px 34px rgba(34, 48, 40, .045); }
.tep-path-card--featured { color: #fff; background: var(--tep-ink); }
.tep-path-card__number { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--tep-line); border-radius: 50%; color: var(--tep-gold); font-size: .72rem; font-weight: 800; }
.tep-path-card--featured .tep-path-card__number { border-color: rgba(255,255,255,.25); color: var(--tep-sand); }
.tep-path-card h3 { margin-bottom: 14px; color: var(--tep-ink); font-family: var(--tc-display); font-size: clamp(1.8rem, 2.5vw, 2.5rem); font-weight: 400; line-height: 1.03; }
.tep-path-card--featured h3 { color: #fff; }
.tep-path-card p:not(.tep-kicker) { margin: 0; color: var(--tep-muted); font-size: .92rem; line-height: 1.7; }
.tep-path-card--featured p:not(.tep-kicker) { color: rgba(255,255,255,.7); }
.tep-path-card > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 18px; border-top: 1px solid var(--tep-line); color: var(--tep-ink) !important; font-size: .78rem; font-weight: 800; text-decoration: none !important; }
.tep-path-card--featured > a { border-color: rgba(255,255,255,.17); color: #fff !important; }

/* Dynamic agenda */
.tep-agenda-section { background: var(--tep-cream); }
.tep-agenda-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tep-agenda-card { display: grid; overflow: hidden; border: 1px solid var(--tep-line); border-radius: 26px; background: #fff; box-shadow: 0 14px 40px rgba(31, 47, 38, .055); }
.tep-agenda-card__media { position: relative; min-height: 250px; background: linear-gradient(145deg, var(--tep-sage), var(--tep-ink)); background-position: center; background-size: cover; }
.tep-agenda-card__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(10,31,25,.45), transparent 55%); }
.tep-agenda-card__media > span { position: absolute; z-index: 1; left: 18px; bottom: 18px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(15,53,43,.85); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(8px); }
.tep-agenda-card__body { display: flex; min-height: 315px; flex-direction: column; padding: 28px; }
.tep-agenda-card h3 { margin-bottom: 18px; color: var(--tep-ink); font-family: var(--tc-display); font-size: clamp(1.55rem, 2.4vw, 2.15rem); font-weight: 400; line-height: 1.06; }
.tep-agenda-card ul { display: grid; gap: 9px; margin: 0 0 24px; padding: 0; list-style: none; }
.tep-agenda-card li { display: flex; align-items: flex-start; gap: 9px; color: var(--tep-muted); font-size: .78rem; }
.tep-agenda-card li .tep-icon { width: 16px; height: 16px; margin-top: 2px; }
.tep-agenda-card .tep-button { width: 100%; margin-top: auto; }
.tep-empty { padding: 54px; border: 1px solid var(--tep-line); border-radius: 28px; background: #fff; text-align: center; }
.tep-empty h3 { margin-bottom: 8px; color: var(--tep-ink); font-size: 2rem; }

/* Online school — visible, populated, no Elementor dependency. */
.tep-online-section { color: #fff; background: var(--tep-ink-deep); }
.tep-online-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tep-online-card { display: grid; grid-template-columns: minmax(170px, .75fr) minmax(0, 1.25fr); min-height: 360px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: rgba(255,255,255,.06); }
.tep-online-card--wide { grid-column: 1 / -1; grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); }
.tep-online-card__media { position: relative; min-height: 100%; background-color: #315348; background-position: center; background-size: cover; text-decoration: none !important; }
.tep-online-card__media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(5,25,20,.48), transparent 62%); }
.tep-online-card__media span { position: absolute; z-index: 1; top: 20px; left: 20px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; background: rgba(12,48,39,.7); font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; backdrop-filter: blur(9px); }
.tep-online-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 52px); }
.tep-online-card h3 { margin-bottom: 15px; color: #fff; font-family: var(--tc-display); font-size: clamp(2rem, 3.3vw, 3.2rem); font-weight: 400; line-height: .98; }
.tep-online-card p:not(.tep-kicker) { max-width: 550px; margin-bottom: 28px; color: rgba(255,255,255,.7); font-size: .9rem; }
.tep-online-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.tep-online-card__actions > a:not(.tep-button) { color: #fff !important; font-size: .75rem; font-weight: 750; text-underline-offset: 4px; }
.tep-online-assurance { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 24px; padding: 22px 4px 0; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.72); font-size: .72rem; }
.tep-online-assurance span { display: inline-flex; align-items: center; gap: 8px; }
.tep-online-assurance .tep-icon { width: 16px; height: 16px; color: var(--tep-sand); }
.tep-online-assurance > a { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: #fff !important; font-weight: 750; text-decoration: none !important; }

/* Philosophy, experts and store */
.tep-philosophy { background: var(--tep-paper); }
.tep-philosophy__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(48px, 8vw, 110px); }
.tep-philosophy__media { min-height: 690px; border-radius: 240px 240px 28px 28px; background: url("https://theelephantbowl.com/wp-content/uploads/2025/09/IMG_3252.webp") center/cover no-repeat; box-shadow: var(--tep-shadow); }
.tep-philosophy__copy > .tep-lead { max-width: 650px; margin: 26px 0 38px; color: var(--tep-muted); font-size: 1.05rem; line-height: 1.75; }
.tep-value-list { display: grid; margin-bottom: 30px; border-top: 1px solid var(--tep-line); }
.tep-value-list > div { display: grid; grid-template-columns: 42px 150px 1fr; align-items: baseline; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--tep-line); }
.tep-value-list span { color: var(--tep-gold); font-size: .68rem; font-weight: 800; }
.tep-value-list h3 { margin: 0; color: var(--tep-ink); font-size: 1.35rem; }
.tep-value-list p { margin: 0; color: var(--tep-muted); font-size: .82rem; }
.tep-experts { background: var(--tep-cream); }
.tep-experts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.tep-expert-card { min-width: 0; }
.tep-expert-card > a { display: block; color: inherit !important; text-decoration: none !important; }
.tep-expert-card__portrait { aspect-ratio: .82; margin-bottom: 20px; overflow: hidden; border-radius: 150px 150px 22px 22px; background: var(--tep-cream-2); }
.tep-expert-card__portrait img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); transition: filter .25s ease, transform .4s ease; }
.tep-expert-card:hover img { filter: saturate(1); transform: scale(1.025); }
.tep-expert-card h3 { margin-bottom: 12px; color: var(--tep-ink); font-size: 1.75rem; line-height: 1; }
.tep-expert-card > a > span { display: inline-flex; align-items: center; gap: 7px; color: var(--tep-muted); font-size: .7rem; font-weight: 700; }
.tep-expert-card .tep-icon { width: 15px; height: 15px; }
.tep-store { background: var(--tep-paper); }
.tep-store__card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr); min-height: 520px; overflow: hidden; border-radius: 34px; color: #fff; background: var(--tep-ink); box-shadow: var(--tep-shadow); }
.tep-store__card > div:first-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(40px, 7vw, 86px); }
.tep-store h2 { max-width: 710px; margin-bottom: 22px; color: #fff; font-size: clamp(2.8rem, 5vw, 4.9rem); line-height: .96; }
.tep-store p:not(.tep-eyebrow) { max-width: 560px; margin-bottom: 30px; color: rgba(255,255,255,.7); }
.tep-store__media { background: url("https://theelephantbowl.com/wp-content/uploads/2025/09/IMG_3252.webp") center/cover no-repeat; }

.tep-final-cta { padding: clamp(92px, 12vw, 170px) 0; color: #fff; background: var(--tep-ink-deep); text-align: center; }
.tep-final-cta .tep-eyebrow { color: var(--tep-sand); }
.tep-final-cta h2 { margin-bottom: 38px; color: #fff; font-size: clamp(3.4rem, 7vw, 6.8rem); font-weight: 400; letter-spacing: -.05em; line-height: .88; }
.tep-final-cta .tep-actions { justify-content: center; }

/* Shared course page */
.tep-course-hero { position: relative; display: grid; min-height: min(790px, calc(100svh - 92px)); align-items: center; isolation: isolate; overflow: hidden; color: #fff; background: var(--tep-ink-deep); }
.tep-course-hero__media,
.tep-course-hero__veil { position: absolute; inset: 0; z-index: -2; }
.tep-course-hero__media { background-position: center; background-size: cover; transform: scale(1.01); }
.tep-course-hero__veil { z-index: -1; background: linear-gradient(90deg, rgba(8,31,25,.96) 0%, rgba(8,31,25,.77) 51%, rgba(8,31,25,.28) 100%); }
.tep-course--amber .tep-course-hero__veil { background: linear-gradient(90deg, rgba(40,29,19,.94), rgba(40,29,19,.7) 55%, rgba(40,29,19,.2)); }
.tep-course-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, .58fr); align-items: center; gap: clamp(50px, 8vw, 120px); padding-block: clamp(76px, 10vw, 128px); }
.tep-course-hero .tep-eyebrow { color: var(--tep-sand); }
.tep-course-hero h1 { max-width: 850px; margin-bottom: 24px; color: #fff; font-size: clamp(4.4rem, 8.4vw, 8.3rem); font-weight: 400; letter-spacing: -.06em; line-height: .82; }
.tep-course-hero__lead { max-width: 690px; margin-bottom: 30px; color: rgba(255,255,255,.8); font-size: clamp(1.05rem, 1.8vw, 1.28rem); line-height: 1.7; }
.tep-course-hero__assurance { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 24px; color: rgba(255,255,255,.68); font-size: .7rem; }
.tep-course-hero__assurance span { display: inline-flex; align-items: center; gap: 7px; }
.tep-course-hero__assurance .tep-icon { width: 15px; height: 15px; color: var(--tep-sand); }
.tep-enrollment-card { padding: clamp(28px, 3.5vw, 42px); border: 1px solid rgba(255,255,255,.23); border-radius: 28px; background: rgba(255,255,255,.11); box-shadow: 0 22px 80px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.tep-enrollment-card h2 { margin-bottom: 24px; color: #fff; font-size: clamp(1.65rem, 2.5vw, 2.35rem); line-height: 1.08; }
.tep-enrollment-card dl { display: grid; gap: 0; margin-bottom: 22px; border-block: 1px solid rgba(255,255,255,.17); }
.tep-enrollment-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.tep-enrollment-card dl div:last-child { border: 0; }
.tep-enrollment-card dt { color: rgba(255,255,255,.58); font-size: .67rem; }
.tep-enrollment-card dd { margin: 0; color: #fff; font-size: .72rem; font-weight: 750; text-align: right; }
.tep-enrollment-card .tep-button { width: 100%; }
.tep-enrollment-card > small { display: block; margin-top: 12px; color: rgba(255,255,255,.53); font-size: .63rem; line-height: 1.5; text-align: center; }

.tep-course-nav { position: sticky; z-index: 80; top: 92px; border-bottom: 1px solid var(--tep-line); background: rgba(255,253,250,.94); backdrop-filter: blur(14px); }
body.admin-bar .tep-course-nav { top: 124px; }
.tep-course-nav .tep-shell { display: flex; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.tep-course-nav .tep-shell::-webkit-scrollbar { display: none; }
.tep-course-nav a { flex: 0 0 auto; padding: 18px 22px; color: var(--tep-muted) !important; font-size: .69rem; font-weight: 750; text-decoration: none !important; white-space: nowrap; }
.tep-course-nav a:hover { color: var(--tep-ink) !important; }

.tep-course-outcomes { background: var(--tep-paper); }
.tep-outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-block: 1px solid var(--tep-line); }
.tep-outcome-grid article { min-height: 265px; padding: 34px clamp(24px, 3vw, 42px); border-right: 1px solid var(--tep-line); }
.tep-outcome-grid article:first-child { padding-left: 0; }
.tep-outcome-grid article:last-child { border: 0; padding-right: 0; }
.tep-outcome-grid article > span { color: var(--tep-gold); font-size: .68rem; font-weight: 800; }
.tep-outcome-grid h3 { margin: 54px 0 12px; color: var(--tep-ink); font-size: clamp(1.6rem, 2.3vw, 2.2rem); line-height: 1; }
.tep-outcome-grid p { margin: 0; color: var(--tep-muted); font-size: .86rem; line-height: 1.7; }

.tep-course-audience { background: var(--tep-cream); }
.tep-course-audience__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(50px, 10vw, 140px); }
.tep-course-audience h2 { margin-bottom: 24px; color: var(--tep-ink); font-size: clamp(2.8rem,5vw,4.7rem); line-height: .98; }
.tep-course-audience .tep-lead { max-width: 520px; margin: 0; color: var(--tep-muted); }
.tep-course-audience ul { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--tep-line); list-style: none; }
.tep-course-audience li { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 14px; padding: 21px 0; border-bottom: 1px solid var(--tep-line); color: var(--tep-ink); font-size: .9rem; font-weight: 650; }
.tep-course-audience li .tep-icon { width: 28px; height: 28px; color: var(--tep-gold); }

.tep-curriculum { background: var(--tep-paper); }
.tep-curriculum-list { display: grid; border-top: 1px solid var(--tep-line); }
.tep-curriculum-list article { display: grid; grid-template-columns: 95px minmax(0,1fr); gap: 22px; padding: clamp(26px,4vw,44px) 0; border-bottom: 1px solid var(--tep-line); }
.tep-curriculum-list article > span { color: var(--tep-gold); font-family: var(--tc-display); font-size: 2.3rem; line-height: 1; }
.tep-curriculum-list h3 { margin-bottom: 8px; color: var(--tep-ink); font-size: clamp(1.7rem,2.5vw,2.4rem); line-height: 1; }
.tep-curriculum-list p { max-width: 780px; margin: 0; color: var(--tep-muted); font-size: .9rem; line-height: 1.7; }

.tep-format { background: var(--tep-cream); }
.tep-format__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(50px,9vw,130px); }
.tep-format__media { position: relative; min-height: 650px; border-radius: 28px 220px 28px 28px; background-color: var(--tep-ink); background-position: center; background-size: cover; box-shadow: var(--tep-shadow); }
.tep-format__media::after { position: absolute; inset: 0; border-radius: inherit; content: ""; background: linear-gradient(0deg, rgba(9,35,28,.52), transparent 55%); }
.tep-format__media > span { position: absolute; z-index: 1; right: 30px; bottom: 30px; display: grid; width: 66px; height: 66px; place-items: center; border-radius: 50%; color: var(--tep-ink); background: #fff; box-shadow: 0 12px 35px rgba(0,0,0,.2); }
.tep-format__media .tep-icon { width: 27px; height: 27px; }
.tep-format__copy h2 { margin-bottom: 30px; }
.tep-format__copy ol { display: grid; gap: 0; margin: 0 0 32px; padding: 0; border-top: 1px solid var(--tep-line); list-style: none; }
.tep-format__copy li { display: grid; grid-template-columns: 32px 1fr; gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--tep-line); }
.tep-format__copy li > span { color: var(--tep-gold); font-size: .68rem; font-weight: 800; }
.tep-format__copy li p { margin: 0; color: var(--tep-muted); font-size: .86rem; }

.tep-instructor { background: var(--tep-paper); }
.tep-instructor__card { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: center; gap: clamp(45px,7vw,95px); padding: clamp(38px,6vw,76px); border: 1px solid var(--tep-line); border-radius: 34px; background: var(--tep-cream); }
.tep-instructor__portrait { aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--tep-cream-2); }
.tep-instructor__portrait img { width: 100%; height: 100%; object-fit: cover; }
.tep-instructor h2 { margin-bottom: 20px; }
.tep-instructor .tep-lead { max-width: 710px; margin-bottom: 24px; color: var(--tep-muted); font-size: 1rem; line-height: 1.75; }

.tep-pricing { background: var(--tep-cream); }
.tep-price-card { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.55fr); overflow: hidden; border: 1px solid var(--tep-line); border-radius: 30px; background: #fff; box-shadow: var(--tep-shadow); }
.tep-price-card > div { padding: clamp(34px,5vw,64px); }
.tep-price-card h3 { margin-bottom: 24px; color: var(--tep-ink); font-size: clamp(2.1rem,4vw,3.7rem); line-height: .98; }
.tep-price-card ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tep-price-card li { display: flex; gap: 9px; color: var(--tep-muted); font-size: .82rem; }
.tep-price-card li .tep-icon { width: 17px; height: 17px; color: var(--tep-gold); }
.tep-price-card__amount { display: flex; flex-direction: column; justify-content: center; color: #fff; background: var(--tep-ink); text-align: center; }
.tep-price-card__amount > small { color: var(--tep-sand); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tep-price-card__amount > strong { margin: 12px 0 4px; color: #fff; font-family: var(--tc-display); font-size: 2.6rem; font-weight: 400; line-height: 1; }
.tep-price-card__amount > span { margin-bottom: 22px; color: rgba(255,255,255,.65); font-size: .7rem; }
.tep-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.tep-product-card { position: relative; display: flex; min-height: 390px; flex-direction: column; align-items: flex-start; padding: clamp(32px,4vw,52px); border: 1px solid var(--tep-line); border-radius: 28px; background: #fff; box-shadow: 0 14px 44px rgba(35,49,40,.06); }
.tep-product-card.is-recommended { border-color: rgba(180,134,75,.55); }
.tep-product-card__badge { position: absolute; top: 22px; right: 22px; padding: 6px 9px; border-radius: 999px; color: #fff; background: var(--tep-gold); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tep-product-card h3 { margin-bottom: 22px; color: var(--tep-ink); font-size: clamp(2rem,3.4vw,3rem); line-height: 1; }
.tep-product-card > strong { color: var(--tep-ink); font-family: var(--tc-display); font-size: 2.4rem; font-weight: 400; }
.tep-product-card > span:not(.tep-product-card__badge) { margin-bottom: 26px; color: var(--tep-muted); font-size: .76rem; }
.tep-product-card .tep-button { width: 100%; margin-top: auto; }
.tep-payment-assurance { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 22px; overflow: hidden; border: 1px solid var(--tep-line); border-radius: 18px; background: var(--tep-line); }
.tep-payment-assurance > span { display: grid; grid-template-columns: 34px 1fr; gap: 2px 11px; padding: 20px; background: rgba(255,255,255,.72); }
.tep-payment-assurance .tep-icon { grid-row: 1 / 3; width: 28px; height: 28px; color: var(--tep-gold); }
.tep-payment-assurance strong { color: var(--tep-ink); font-size: .74rem; }
.tep-payment-assurance small { color: var(--tep-muted); font-size: .65rem; }

.tep-faq { background: var(--tep-paper); }
.tep-faq__grid { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1fr); gap: clamp(55px,10vw,140px); }
.tep-faq h2 { margin-bottom: 20px; }
.tep-faq__list { border-top: 1px solid var(--tep-line); }
.tep-faq details { border-bottom: 1px solid var(--tep-line); }
.tep-faq summary { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 22px; color: var(--tep-ink); font-size: .94rem; font-weight: 750; cursor: pointer; list-style: none; }
.tep-faq summary::-webkit-details-marker { display: none; }
.tep-faq summary span { font-size: 1.4rem; font-weight: 400; transition: transform .2s ease; }
.tep-faq details[open] summary span { transform: rotate(45deg); }
.tep-faq details p { max-width: 760px; margin: -4px 42px 24px 0; color: var(--tep-muted); font-size: .86rem; line-height: 1.75; }
.tep-mobile-enroll { display: none; }

/* Tablet */
@media (max-width: 1024px) {
	.tep-shell { width: min(100% - 44px, 900px); }
	.tep-section { padding-block: 88px; }
	.tep-section-head--split { grid-template-columns: 1fr; gap: 22px; }
	.tep-home-hero { min-height: 740px; }
	.tep-home-hero h1 { font-size: clamp(4.4rem, 11vw, 7rem); }
	.tep-scroll-cue { display: none; }
	.tep-path-grid { grid-template-columns: 1fr; }
	.tep-path-card { display: grid; min-height: 0; grid-template-columns: 55px minmax(0,1fr) 190px; align-items: center; gap: 24px; }
	.tep-path-card > a { align-self: stretch; padding: 0 0 0 24px; border-top: 0; border-left: 1px solid var(--tep-line); }
	.tep-agenda-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.tep-agenda-card:first-child { grid-column: 1 / -1; grid-template-columns: 300px minmax(0,1fr); }
	.tep-online-card,
	.tep-online-card--wide { grid-column: auto; grid-template-columns: 1fr; }
	.tep-online-card--wide { grid-column: 1 / -1; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); }
	.tep-online-card__media { min-height: 270px; }
	.tep-philosophy__grid { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 50px; }
	.tep-philosophy__media { min-height: 560px; }
	.tep-experts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 16px; }
	.tep-store__card { grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); }
	.tep-course-hero { min-height: auto; }
	.tep-course-hero__grid { grid-template-columns: minmax(0,1fr) 320px; gap: 38px; }
	.tep-course-hero h1 { font-size: clamp(4.4rem, 10vw, 6.7rem); }
	.tep-course-nav { top: 78px; }
	body.admin-bar .tep-course-nav { top: 110px; }
	.tep-format__grid { gap: 55px; }
	.tep-format__media { min-height: 540px; }
	.tep-instructor__card { grid-template-columns: 220px minmax(0,1fr); }
}

/* Mobile */
@media (max-width: 760px) {
	body.tepoz-editorial-page--psicoacustica,
	body.tepoz-editorial-page--cuencoterapeuta,
	body.tepoz-editorial-page--facilitadores { padding-bottom: 82px; }
	.tep-editorial { font-size: 15px; }
	.tep-shell { width: calc(100% - 32px); }
	.tep-section { padding-block: 70px; }
	.tep-section-head { margin-bottom: 34px; }
	.tep-section-head h2,
	.tep-philosophy h2,
	.tep-format h2,
	.tep-instructor h2,
	.tep-faq h2 { font-size: clamp(2.5rem, 13vw, 3.65rem); line-height: .94; }
	.tep-button { min-height: 50px; padding-inline: 18px; }
	.tep-actions { align-items: stretch; flex-direction: column; }
	.tep-actions .tep-button { width: 100%; }
	.tep-home-hero { min-height: calc(100svh - 68px); align-items: end; }
	.tep-home-hero__media { background-position: 60% center; }
	.tep-home-hero__veil { background: linear-gradient(0deg, rgba(6,28,22,.96) 0%, rgba(6,28,22,.7) 62%, rgba(6,28,22,.3)); }
	.tep-home-hero__content { padding-block: 78px 58px; }
	.tep-home-hero h1 { margin-bottom: 20px; font-size: clamp(3.65rem, 18vw, 5.2rem); line-height: .84; }
	.tep-home-hero__lead { font-size: .98rem; line-height: 1.62; }
	.tep-trust__grid { grid-template-columns: repeat(2,1fr); }
	.tep-trust__grid > div { min-height: 100px; padding: 22px 16px !important; border-right: 1px solid var(--tep-line) !important; border-bottom: 1px solid var(--tep-line); }
	.tep-trust__grid > div:nth-child(2n) { border-right: 0 !important; }
	.tep-trust__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
	.tep-trust strong { font-size: 1.5rem; }
	.tep-path-card { display: flex; min-height: 350px; align-items: stretch; }
	.tep-path-card > a { align-self: auto; padding: 18px 0 0; border-top: 1px solid var(--tep-line); border-left: 0; }
	.tep-agenda-grid { grid-template-columns: 1fr; }
	.tep-agenda-card:first-child { grid-column: auto; grid-template-columns: 1fr; }
	.tep-agenda-card__media { min-height: 245px; }
	.tep-agenda-card__body { min-height: 300px; padding: 24px; }
	.tep-online-grid { grid-template-columns: 1fr; }
	.tep-online-card,
	.tep-online-card--wide { grid-column: auto; grid-template-columns: 1fr; }
	.tep-online-card__media { min-height: 245px; }
	.tep-online-card__body { min-height: 315px; padding: 28px 24px; }
	.tep-online-card h3 { font-size: 2.25rem; }
	.tep-online-card__actions { align-items: stretch; flex-direction: column; }
	.tep-online-card__actions .tep-button { width: 100%; }
	.tep-online-card__actions > a:not(.tep-button) { text-align: center; }
	.tep-online-assurance { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
	.tep-online-assurance > a { grid-column: 1 / -1; margin: 6px 0 0; justify-content: center; }
	.tep-philosophy__grid,
	.tep-store__card { grid-template-columns: 1fr; }
	.tep-philosophy__media { min-height: 470px; border-radius: 160px 160px 24px 24px; }
	.tep-value-list > div { grid-template-columns: 34px 1fr; }
	.tep-value-list p { grid-column: 2; }
	.tep-experts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 12px; }
	.tep-expert-card h3 { font-size: 1.38rem; }
	.tep-expert-card > a > span { align-items: flex-start; }
	.tep-store__card > div:first-child { padding: 38px 26px; }
	.tep-store h2 { font-size: 2.7rem; }
	.tep-store__media { min-height: 330px; }
	.tep-final-cta h2 { font-size: clamp(3rem, 15vw, 4.6rem); }

	.tep-course-hero { min-height: auto; align-items: end; }
	.tep-course-hero__media { background-position: 58% center; }
	.tep-course-hero__veil,
	.tep-course--amber .tep-course-hero__veil { background: linear-gradient(0deg, rgba(7,29,23,.98), rgba(7,29,23,.7) 67%, rgba(7,29,23,.3)); }
	.tep-course-hero__grid { grid-template-columns: 1fr; gap: 38px; padding-block: 86px 52px; }
	.tep-course-hero h1 { font-size: clamp(3.7rem, 18vw, 5.3rem); line-height: .84; }
	.tep-course-hero__lead { font-size: .98rem; }
	.tep-enrollment-card { padding: 26px 22px; }
	.tep-course-nav { top: 68px; }
	body.admin-bar .tep-course-nav { top: 114px; }
	.tep-course-nav .tep-shell { width: 100%; justify-content: flex-start; padding-inline: 8px; }
	.tep-course-nav a { padding: 15px 13px; }
	.tep-outcome-grid { grid-template-columns: 1fr; }
	.tep-outcome-grid article,
	.tep-outcome-grid article:first-child,
	.tep-outcome-grid article:last-child { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--tep-line); }
	.tep-outcome-grid article:last-child { border-bottom: 0; }
	.tep-outcome-grid h3 { margin-top: 26px; }
	.tep-course-audience__grid,
	.tep-format__grid,
	.tep-faq__grid { grid-template-columns: 1fr; gap: 42px; }
	.tep-course-audience h2 { font-size: 3.2rem; }
	.tep-curriculum-list article { grid-template-columns: 54px minmax(0,1fr); gap: 14px; }
	.tep-curriculum-list article > span { font-size: 1.85rem; }
	.tep-format__media { min-height: 470px; border-radius: 24px 140px 24px 24px; }
	.tep-instructor__card { grid-template-columns: 1fr; gap: 34px; padding: 30px 24px; }
	.tep-instructor__portrait { width: min(250px, 84%); margin-inline: auto; }
	.tep-price-card,
	.tep-product-grid { grid-template-columns: 1fr; }
	.tep-price-card > div { padding: 32px 24px; }
	.tep-product-card { min-height: 360px; padding: 34px 24px; }
	.tep-payment-assurance { grid-template-columns: 1fr; }
	.tep-faq__grid { gap: 28px; }
	.tep-faq summary { min-height: 70px; font-size: .86rem; }
	.tep-mobile-enroll { position: fixed; z-index: 9998; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); left: 8px; display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); align-items: center; gap: 10px; min-height: 70px; padding: 9px 10px 9px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: #fff !important; background: rgba(13,47,39,.96); box-shadow: 0 18px 45px rgba(0,0,0,.25); text-decoration: none !important; backdrop-filter: blur(14px); }
	.tep-mobile-enroll > span { display: grid; min-width: 0; }
	.tep-mobile-enroll small { overflow: hidden; color: rgba(255,255,255,.62); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
	.tep-mobile-enroll strong { overflow: hidden; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
	.tep-mobile-enroll b { display: flex; min-height: 50px; align-items: center; justify-content: center; gap: 7px; padding: 8px 12px; border-radius: 13px; color: var(--tep-ink-deep); background: var(--tep-sand); font-size: .68rem; text-align: center; }
	.tep-mobile-enroll .tep-icon { width: 16px; height: 16px; }
}

@media (max-width: 420px) {
	.tep-shell { width: calc(100% - 24px); }
	.tep-home-hero h1,
	.tep-course-hero h1 { overflow-wrap: anywhere; }
	.tep-experts-grid { grid-template-columns: 1fr; }
	.tep-expert-card__portrait { aspect-ratio: 1; }
	.tep-online-assurance { grid-template-columns: 1fr; }
	.tep-payment-assurance > span { padding: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.tep-editorial *,
	.tep-editorial *::before,
	.tep-editorial *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; }
}
