/*==========================================================
	Triguna Home (draft v2) - index-new.php
	Layout language follows the reference the client shared
	(photo hero, stat bar, ornamented section heads, pattern
	backgrounds, overlay course cards, numbered cards, deep
	green bands) in Triguna's own colours and type.
	Everything is scoped to body.tg-home.
==========================================================*/
/* Metric-matched fallbacks (widths measured on this page in Chrome, 2 Oct 2026) so text does not
   reflow when the web fonts swap in - this was the hero's layout shift (CLS 0.15). */
@font-face { font-family: "Cormorant Fallback"; src: local("Georgia"); size-adjust: 96.3%; }
@font-face { font-family: "Manrope Fallback"; src: local("Arial"); size-adjust: 91.4%; }
body.tg-home {
	--font-display: "Cormorant Garamond", "Cormorant Fallback", Georgia, "Times New Roman", serif;
	--font-ui: Manrope, "Manrope Fallback", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;

	--green-950: #15281A;
	--green-900: #1E3523;
	--green-800: #2A4A30;
	--green-700: #3F6938;   /* primary buttons */
	--green-600: #4F7D45;   /* brand primary */
	--green-100: #E6EEE2;
	--green-50:  #F1F5EE;
	--saffron:   #D9823B;
	--saffron-50:#FBF0E5;

	--ink:   #24261F;
	--body:  #55574F;
	--muted: #66685F; /* darkened from #7A7C73 for WCAG AA on white */
	--line:  #E3DED2;
	--ivory: #FFFDF7;
	--sand:  #F5F1E8;

	--radius: 16px;
	--container: 1240px;

	background: #fff;
	color: var(--body);
	font-family: var(--font-ui);
	font-size: 16px;
	line-height: 1.7;
}
body.tg-home .page-wraper,
body.tg-home .page-content { background: #fff; }

/*---------- Base type ----------*/
.tg-home .th h1, .tg-home .th h2, .tg-home .th h3 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--ink);
	margin: 0;
	letter-spacing: -0.01em;
}
.tg-home .th h2 { font-size: clamp(2.1rem, 3.6vw, 3.1rem); line-height: 1.1; }
.tg-home .th h3 { font-size: clamp(1.6rem, 2.2vw, 2rem); line-height: 1.2; }
.tg-home .th h4,
.tg-home .th h3.th-h4 {
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.35;
	color: var(--ink);
	margin: 0;
}
.tg-home .th p {
	font-size: 16px;
	line-height: 1.75;
	color: var(--body);
	margin: 0 0 1em;
	text-align: left;
}
.tg-home .th a:not(.th-btn) { color: var(--green-700); }
.tg-home .th a:not(.th-btn):hover { color: var(--green-900); }

.tg-home .th-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.tg-home .th-section { position: relative; padding: 96px 0; }

/* Light pattern background (Triguna Om/lotus tile, very faint) */
.tg-home .th-pattern { background: var(--sand); }
.tg-home .th-pattern:before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../images/pattern-bg.webp) repeat;
	background-size: 360px;
	opacity: 0.05;
	pointer-events: none;
}
.tg-home .th-pattern > .th-container { position: relative; }

/*---------- Section head with Triguna ornament ----------*/
.tg-home .th-head { text-align: center; max-width: 900px; margin: 0 auto 56px; }
.tg-home .th-head.is-left { text-align: left; margin-left: 0; }
.tg-home .th-ornament {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.tg-home .th-ornament:before {
	content: "";
	width: 1px;
	height: 28px;
	background: linear-gradient(transparent, var(--green-600));
}
.tg-home .th-ornament i {
	display: flex;
	gap: 6px;
	font-style: normal;
}
.tg-home .th-ornament i span {
	width: 7px; height: 7px; border-radius: 50%;
}
/* the three gunas, in the logo's three colours (sampled from images/brand/triguna-logo.webp, 2 Oct 2026) */
.tg-home .th-ornament i span:nth-child(1) { background: #FD6F00; }
.tg-home .th-ornament i span:nth-child(2) { background: #027800; }
.tg-home .th-ornament i span:nth-child(3) { background: #000CB8; }
.tg-home .th-eyebrow {
	display: block;
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: var(--green-600);
	margin-bottom: 10px;
}
.tg-home .th-head h2 { margin-bottom: 18px; }
.tg-home .th-head p { text-align: center; max-width: 820px; margin: 0 auto; font-size: 17px; }
.tg-home .th-head.is-left p { text-align: left; margin: 0; }

/*---------- Buttons ----------*/
.tg-home .th-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 30px;
	border-radius: 999px;
	border: 1.5px solid var(--green-700);
	background: var(--green-700);
	color: #fff;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.tg-home .th-btn:hover { background: var(--green-900); border-color: var(--green-900); color: #fff; transform: translateY(-1px); }
.tg-home .th-btn.is-outline { background: transparent; color: var(--green-700); }
.tg-home .th-btn.is-outline:hover { background: var(--green-50); color: var(--green-900); }
.tg-home .th-btn.is-light { background: transparent; border-color: rgba(255,255,255,.75); color: #fff; }
.tg-home .th-btn.is-light:hover { background: #fff; color: var(--green-900); }
.tg-home .th-btn.is-whatsapp { background: #25A244; border-color: #25A244; }
.tg-home .th-btn.is-whatsapp:hover { background: #1E8A39; border-color: #1E8A39; }
.tg-home .th-btn.is-block { width: 100%; }
.tg-home .th-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.tg-home .th-btn:focus-visible,
.tg-home .th a:focus-visible,
.tg-home .th-faq summary:focus-visible,
.tg-home .th-video-toggle:focus-visible { outline: 3px solid var(--saffron); outline-offset: 3px; }

/*==========================================================
	1. Hero (video background)
==========================================================*/
.tg-home .th-hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--green-950) url(../images/video/school-campus-poster.webp) center / cover no-repeat;
	color: #fff;
	text-align: center;
}
.tg-home .th-hero video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tg-home .th-hero:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(21,40,26,.55) 0%, rgba(21,40,26,.62) 60%, rgba(21,40,26,.78) 100%);
}
.tg-home .th-hero-inner { position: relative; z-index: 2; width: 100%; padding: 96px 0 72px; }
.tg-home .th-hero .th-eyebrow {
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin-bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.tg-home .th-hero .th-eyebrow:before,
.tg-home .th-hero .th-eyebrow:after { content: ""; width: 36px; height: 1px; background: rgba(255,255,255,.7); }
.tg-home .th .th-hero h1 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.8rem, 6.4vw, 5.6rem);
	line-height: 1;
	color: #fff;
	letter-spacing: -0.015em;
}
.tg-home .th-hero h1 em { font-style: normal; color: #F6C68F; }
.tg-home .th-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 22px auto 18px;
}
.tg-home .th-divider:before,
.tg-home .th-divider:after { content: ""; width: 90px; height: 1px; background: rgba(255,255,255,.55); }
.tg-home .th-divider span { width: 7px; height: 7px; border-radius: 50%; background: #F6C68F; }
.tg-home .th-hero .th-sub {
	display: block;
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	color: #fff;
	margin-bottom: 16px;
}
.tg-home .th .th-hero p {
	color: rgba(255,255,255,.9);
	font-size: 17px;
	max-width: 760px;
	margin: 0 auto 30px;
	text-align: center;
}
.tg-home .th-hero .th-actions { justify-content: center; margin-bottom: 48px; }

/* glass stat bar */
.tg-home .th-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 900px;
	margin: 0 auto;
	padding: 18px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.10);
	border: 1px solid rgba(255,255,255,.28);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.tg-home .th-stat { position: relative; padding: 0 10px; }
.tg-home .th-stat + .th-stat:before {
	content: ""; position: absolute; left: 0; top: 15%; height: 70%; width: 1px; background: rgba(255,255,255,.3);
}
.tg-home .th-stat strong {
	display: block;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
	color: #fff;
}
.tg-home .th-stat span {
	display: block;
	margin-top: 4px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.82);
}
.tg-home .th-video-toggle {
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.7);
	background: rgba(21,40,26,.45);
	color: #fff;
	font-size: 13px;
	cursor: pointer;
}

/*==========================================================
	2. About split
==========================================================*/
.tg-home .th-split {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 64px;
	align-items: center;
}
.tg-home .th-collage { position: relative; padding: 0 0 56px 0; }
.tg-home .th-collage .is-main {
	display: block;
	width: 88%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 22px;
}
.tg-home .th-collage .is-small {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 52%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 18px;
	border: 6px solid #fff;
	box-shadow: 0 20px 40px -20px rgba(21,40,26,.45);
}
.tg-home .th-collage .th-badge {
	position: absolute;
	left: 18px;
	bottom: 80px;
	padding: 14px 18px;
	border-radius: 14px;
	background: var(--green-900);
	color: #fff;
	box-shadow: 0 16px 30px -16px rgba(0,0,0,.5);
}
/* wide variant: landscape group photo, full width, pool photo tucked below so no one in the group is covered */
.tg-home .th-collage.is-wide { padding-bottom: calc(34.5% - 48px); }
.tg-home .th-collage.is-wide .is-main { width: 100%; aspect-ratio: 4 / 3; }
.tg-home .th-collage.is-wide .is-small { width: 46%; }.tg-home .th-collage .th-badge strong { display: block; font-family: var(--font-display); font-size: 28px; line-height: 1; }
.tg-home .th-collage .th-badge span { font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.tg-home .th-call {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.tg-home .th-call i {
	width: 52px; height: 52px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1.5px solid var(--green-700);
	color: var(--green-700);
	font-size: 20px;
}
.tg-home .th-call small { display: block; font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--green-700); }
.tg-home .th-call b { display: block; font-size: 16px; color: var(--ink); }

/*==========================================================
	3. Courses
==========================================================*/
.tg-home .th-courses { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.tg-home .th-course {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 18px 40px -28px rgba(21,40,26,.45);
	border: 1px solid var(--line);
}
.tg-home .th-course-media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.tg-home .th-course-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.tg-home .th-course:hover .th-course-media img { transform: scale(1.04); }
.tg-home .th-course-media:after {
	content: ""; position: absolute; inset: 40% 0 0 0;
	background: linear-gradient(transparent, rgba(21,40,26,.85));
}
.tg-home .th .th-course-media h4 {
	position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 1;
	color: #fff; font-size: 19px;
}
.tg-home .th-course-body { display: flex; flex-direction: column; flex: 1; padding: 20px 20px 22px; }
.tg-home .th-chip {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	margin-bottom: 14px;
	border-radius: 10px;
	background: var(--green-50);
	border: 1px solid var(--green-100);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--green-800);
}
.tg-home .th-chip small { font-weight: 600; font-size: 10.5px; letter-spacing: .12em; color: var(--muted); text-transform: uppercase; }
.tg-home .th .th-course p { font-size: 14.5px; line-height: 1.7; flex: 1; margin-bottom: 18px; }
.tg-home .th-course .th-more { font-size: 14px; font-weight: 700; text-decoration: none; margin: -6px 0 16px; }

/*==========================================================
	4. Techniques - numbered cards
==========================================================*/
.tg-home .th-steps { display: grid; gap: 16px; }
.tg-home .th-step {
	display: grid;
	grid-template-columns: 52px 1fr 220px;
	gap: 22px;
	align-items: start;
	padding: 26px 28px;
	background: #fff;
	border-radius: 16px;
	border: 1px solid var(--line);
}
.tg-home .th-step-num {
	width: 46px; height: 46px; border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green-900); color: #fff;
	font-weight: 700; font-size: 15px;
}
.tg-home .th .th-step h3 { font-family: var(--font-ui); font-weight: 700; font-size: 18px; letter-spacing: .08em; color: var(--green-700); margin: 8px 0 8px; }
.tg-home .th .th-step p { font-size: 15px; margin-bottom: .6em; }
.tg-home .th-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.tg-home .th-tags li {
	padding: 5px 12px; border-radius: 999px;
	background: var(--saffron-50); color: #8A4F1F;
	font-size: 13px; font-weight: 600;
}
.tg-home .th-step img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }

/*==========================================================
	5. Rishikesh / life at Triguna
==========================================================*/
.tg-home .th-mosaic { display: grid; grid-template-columns: 1.2fr 1fr; grid-auto-rows: 210px; gap: 12px; }
.tg-home .th-mosaic a { display: block; overflow: hidden; border-radius: 16px; position: relative; }
.tg-home .th-mosaic a:first-child { grid-row: span 2; }
.tg-home .th-mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.tg-home .th-mosaic a:hover img { transform: scale(1.04); }
.tg-home .th-quote-box {
	margin: 26px 0 30px;
	padding: 18px 22px;
	border-left: 3px solid var(--saffron);
	background: var(--saffron-50);
	border-radius: 0 12px 12px 0;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 21px;
	line-height: 1.45;
	color: var(--ink);
}
.tg-home .th-strip {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 40px;
}
.tg-home .th-strip a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 14px; }
.tg-home .th-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.tg-home .th-strip a:hover img { transform: scale(1.05); }

/*==========================================================
	6. Teachers
==========================================================*/
.tg-home .th-team {
	background:
		radial-gradient(ellipse 60% 50% at 0% 0%, rgba(217,130,59,.07), transparent 70%),
		radial-gradient(ellipse 60% 50% at 100% 100%, rgba(79,125,69,.08), transparent 70%),
		var(--ivory);
}
.tg-home .th-team .th-head { margin-bottom: 26px; }

/* Shared facts strip above the cards */
.tg-home .th-team-facts {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px;
	list-style: none; margin: 0 auto 44px; padding: 0;
}
.tg-home .th-team-facts li {
	display: inline-flex; align-items: center; gap: 9px;
	padding: 9px 16px; border-radius: 999px;
	background: #fff; border: 1px solid var(--line);
	font-size: 13.5px; font-weight: 600; color: var(--green-800);
	box-shadow: 0 6px 16px -12px rgba(30,53,35,.5);
}
.tg-home .th-team-facts i { color: var(--saffron); font-size: 15px; }

/* Cards: 5 across, last row centred when wrapping */
.tg-home .th-teachers { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.tg-home .th-teacher {
	flex: 1 1 0; min-width: 0; max-width: 260px;
	display: flex; flex-direction: column; align-items: center;
	padding: 26px 18px 20px;
	text-align: center; text-decoration: none;
	background: #fff; border: 1px solid var(--line); border-radius: 22px;
	box-shadow: 0 18px 40px -30px rgba(30,53,35,.45);
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.tg-home .th-teacher:hover,
.tg-home .th-teacher:focus-visible {
	transform: translateY(-6px);
	border-color: var(--green-100);
	box-shadow: 0 28px 50px -28px rgba(30,53,35,.55);
}
.tg-home .th-teacher:focus-visible { outline: 2px solid var(--green-600); outline-offset: 3px; }
.tg-home .th-teacher-info { display: flex; flex-direction: column; align-items: center; flex: 1; width: 100%; }
.tg-home .th-teacher .th-teacher-photo { flex: none; width: 150px; height: 150px; box-sizing: border-box; }
.tg-home .th-teacher-photo {
	position: relative;
	width: 150px;
	max-width: 100%;
	aspect-ratio: 1;
	margin: 0 auto 16px;
	border-radius: 50%;
	padding: 6px;
	background: conic-gradient(from 200deg, #FD6F00, #F6C68F, #027800, #9BC79A, #000CB8, #9AA8DA, #FD6F00);
}
.tg-home .th-teacher-photo img {
	width: 100%; height: 100%; object-fit: cover;
	border-radius: 50%;
	border: 5px solid #fff;
	display: block;
}
.tg-home .th .th-teacher .th-h4 { font-family: var(--font-display); font-size: 24px; font-weight: 600; color: var(--green-800); margin-bottom: 6px; line-height: 1.15; }
.tg-home .th-teacher-photo img.th-ryt {
	position: absolute; right: -4px; bottom: 2px;
	width: 56px; height: 56px; padding: 3px;
	border: 0; border-radius: 50%; background: #fff;
	box-shadow: 0 6px 14px -4px rgba(0,0,0,.35);
}
.tg-home .th-teacher-photo .th-cred {
	position: absolute; right: -6px; bottom: 6px;
	padding: 6px 10px; border-radius: 999px;
	background: var(--green-900); color: #fff;
	font-size: 11px; font-weight: 700; letter-spacing: .04em;
	box-shadow: 0 6px 14px -4px rgba(0,0,0,.35);
}
.tg-home .th-role {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--green-50);
	border: 1px solid var(--green-100);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--green-800);
}
.tg-home .th-teacher .th-role {
	padding: 0; border: 0; background: none;
	font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: #AD5F1E; /* deeper saffron: var(--saffron) was 2.9:1 on white, this is 4.7:1 (WCAG AA) */
}

/* Qualification / certification / experience rows */
.tg-home .th-teacher-facts {
	list-style: none; width: 100%;
	margin: 16px 0 14px; padding: 14px 0 0;
	border-top: 1px dashed var(--line);
	display: grid; gap: 10px; text-align: left;
}
.tg-home .th-teacher-facts li { display: flex; align-items: flex-start; gap: 10px; }
.tg-home .th-teacher-facts i {
	flex: none; width: 28px; height: 28px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--green-50); color: var(--green-700); font-size: 13px;
}
.tg-home .th-teacher-facts span { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--ink); }
.tg-home .th-teacher-facts small {
	display: block; margin-bottom: 1px;
	font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);
}

/* Expertise tags */
.tg-home .th-teacher-skills { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 16px; }
.tg-home .th-teacher-skills span {
	padding: 4px 10px; border-radius: 999px;
	background: var(--saffron-50); color: #8A4B17;
	font-size: 11.5px; font-weight: 600;
}
.tg-home .th-teacher-more {
	margin-top: auto; padding-top: 12px; width: 100%;
	border-top: 1px solid var(--line);
	font-size: 13px; font-weight: 700; color: var(--green-700);
}
.tg-home .th-teacher-more i { margin-left: 6px; transition: transform 300ms ease; }
.tg-home .th-teacher:hover .th-teacher-more i { transform: translateX(4px); }
.tg-home .th-center { text-align: center; margin-top: 48px; }

/*==========================================================
	7. Testimonials
==========================================================*/
.tg-home .th-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tg-home .th-review {
	position: relative;
	margin: 0;
	padding: 30px 28px 26px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 18px;
	font-style: normal;
	font-size: inherit;
	display: flex;
	flex-direction: column;
	box-shadow: 0 18px 40px -32px rgba(21,40,26,.5);
}
.tg-home .th-review:before {
	content: "\201C";
	position: absolute; right: 22px; top: 6px;
	font-family: var(--font-display); font-size: 90px; line-height: 1;
	color: var(--green-100);
}
.tg-home .th-review-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.tg-home .th-avatar {
	flex: 0 0 48px; height: 48px; border-radius: 50%;
	background: var(--green-900); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 17px;
}
.tg-home .th-review-head cite { font-style: normal; }
.tg-home .th-review-head strong { display: block; color: var(--ink); font-size: 16px; }
.tg-home .th-review-head cite span { font-size: 13px; color: var(--muted); }
.tg-home .th .th-review h3 { font-size: 22px; margin-bottom: 10px; color: var(--green-800); font-style: normal; }
.tg-home .th .th-review p { font-size: 15px; margin: 0; font-style: normal; }

/* Google reviews (Trustindex widget): restyled to match the cards above.
   !important is needed because the widget injects its own stylesheet after ours. */
.tg-home .th-google-reviews .ti-widget,
.tg-home .th-google-reviews .ti-widget * { font-family: var(--font-ui) !important; }
.tg-home .th-google-reviews .ti-widget[data-layout-id][data-set-id] .ti-reviews-container .ti-review-item > .ti-inner {
	background: #fff !important;
	border: 1px solid var(--line) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 40px -32px rgba(21,40,26,.5) !important;
	padding: 24px 22px 20px !important;
}
.tg-home .th-google-reviews .ti-name { color: var(--ink) !important; font-weight: 700 !important; }
.tg-home .th-google-reviews .ti-date { color: var(--muted) !important; }
.tg-home .th-google-reviews .ti-review-content { color: var(--ink) !important; }
.tg-home .th-google-reviews .ti-read-more,
.tg-home .th-google-reviews .ti-read-more * { color: var(--green-700) !important; font-weight: 700 !important; opacity: 1 !important; }
.tg-home .th-google-reviews .ti-rating-text .ti-rating {
	font-family: var(--font-display) !important; font-size: 30px !important; font-weight: 600 !important;
	letter-spacing: .02em; color: var(--green-800) !important;
}
.tg-home .th-google-reviews .ti-footer { color: var(--ink) !important; }
.tg-home .th-google-reviews .ti-footer a,
.tg-home .th-google-reviews .ti-footer strong { color: var(--green-800) !important; }
.tg-home .th-google-reviews .ti-controls .ti-next,
.tg-home .th-google-reviews .ti-controls .ti-prev { box-shadow: 0 6px 18px -8px rgba(21,40,26,.45) !important; }

/*==========================================================
	8. CTA band (photo)
==========================================================*/
.tg-home .th-band {
	position: relative;
	padding: 110px 0;
	text-align: center;
	background: var(--green-950) url(../images/triguna/home-slide-havan-ceremony-ttc.webp) center / cover no-repeat;
	color: #fff;
	overflow: hidden;
}
.tg-home .th-band:before {
	content: ""; position: absolute; inset: 0;
	background: rgba(21,40,26,.72);
}
.tg-home .th-band .th-container { position: relative; }
.tg-home .th-pill {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid rgba(255,255,255,.6);
	border-radius: 999px;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.tg-home .th .th-band h2 { color: #fff; max-width: 860px; margin: 0 auto 30px; }
.tg-home .th-band .th-actions { justify-content: center; }

/*==========================================================
	9. FAQ
==========================================================*/
.tg-home .th-faq { max-width: 1000px; margin: 0 auto; display: grid; gap: 12px; }
.tg-home .th-faq details {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	overflow: hidden;
}
.tg-home .th-faq details[open] { border-color: var(--green-100); box-shadow: 0 14px 30px -26px rgba(21,40,26,.6); }
.tg-home .th-faq summary {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	list-style: none;
	cursor: pointer;
	padding: 18px 64px 18px 18px;
	font-weight: 600;
	font-size: 16.5px;
	color: var(--ink);
}
.tg-home .th-faq summary::-webkit-details-marker { display: none; }
.tg-home .th-faq summary b {
	flex: 0 0 38px; height: 38px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--line);
	font-size: 13px; font-weight: 600; color: var(--muted);
}
.tg-home .th-faq summary:after {
	content: "+";
	position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--green-900); color: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 18px; font-weight: 500;
}
.tg-home .th-faq details[open] summary:after { content: "\2212"; }
.tg-home .th .th-faq details p { padding: 0 24px 22px 72px; margin: 0; font-size: 15.5px; }

/*==========================================================
	v4: detailed course cards + Yoga Alliance
==========================================================*/
/* Triguna SVG icons (inlined, inherit colour) */
.tg-home i.th-ico { display: inline-flex; align-items: center; justify-content: center; font-style: normal; line-height: 0; }
.tg-home .th-svg { width: 62%; height: 62%; display: block; }
.tg-home .th-day-icon .th-ico,
.tg-home .th-ya-ico .th-ico { width: 100%; height: 100%; }
.tg-home .th-day-icon .th-svg { width: 30px; height: 30px; }
.tg-home .th-ya-ico .th-svg { width: 38px; height: 38px; }
.tg-home .th-elements b .th-ico { width: 100%; height: 100%; color: #fff; }
.tg-home .th-elements b { flex-basis: 42px; height: 42px; }
.tg-home .th-elements b .th-svg { width: 26px; height: 26px; }
/* thin line icons need more room in small chips */
.tg-home .th-ttc-meta i.th-ico .th-svg,
.tg-home .th-ttc-rows i.th-ico .th-svg { width: 24px; height: 24px; }
.tg-home .th-reg i.th-ico .th-svg { width: 34px; height: 34px; }
/* official badges / logos */
.tg-home i.th-ico.is-badge { background: none !important; border: 0 !important; border-radius: 0 !important; }
.tg-home i.th-ico.is-badge img { width: 100%; height: 100%; object-fit: contain; display: block; }
.tg-home .th .th-regs-grid { grid-template-columns: repeat(5, 1fr); }
.tg-home .th-reg i.th-ico.is-badge { flex: 0 0 56px; height: 56px; }
/* YAI logo file has white space around the seal, so scale it to match the RYS badges */
.tg-home i.th-ico.is-badge img[src*="yai.webp"] { transform: scale(1.22); }
.tg-home .th-ya-ico:has(.is-badge) { background: #fff; border-color: transparent; padding: 2px; }
.tg-home .th-ya-ico .th-ico.is-badge { width: 100%; height: 100%; }
.tg-home .th-ttc-media img.th-ttc-badge {
	position: absolute; top: 14px; right: 14px; left: auto; z-index: 2;
	width: 72px; height: 72px; padding: 3px; object-fit: contain;
	transform: none !important;
	border: 0; border-radius: 50%;
	background: #fff;
	box-shadow: 0 6px 16px -6px rgba(0,0,0,.4);
}
.tg-home .th-ya-photo figcaption img { width: 120px; padding: 6px 8px; }
@media (max-width: 1199px) {
	.tg-home .th .th-regs-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
	.tg-home .th .th-regs-grid { grid-template-columns: 1fr 1fr; }
	.tg-home .th-reg i.th-ico.is-badge { flex-basis: 44px; height: 44px; }
}

/* schedule: light circle, larger green line icon */
.tg-home .th-day .th-day-icon { width: 68px; height: 68px; background: var(--green-50); border: 1px solid var(--green-100); color: var(--green-800); }
.tg-home .th-day .th-day-icon .th-svg { width: 42px; height: 42px; }
/* five elements: soft ring on the dark panel, warm icon */
.tg-home .th .th-elements li > b { flex: 0 0 56px; height: 56px; background: rgba(255,255,255,.08); border: 1px solid rgba(246,198,143,.5); }
.tg-home .th .th-elements li > b .th-ico { color: #F6C68F; }
.tg-home .th .th-elements li > b .th-svg { width: 38px; height: 38px; }
.tg-home .th-incl-item i.th-ico .th-svg { width: 28px; height: 28px; }
.tg-home .th-ttc {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 24px;
}
.tg-home .th-ttc-card { grid-column: span 2; }
.tg-home .th-ttc-card:nth-child(4) { grid-column: 2 / span 2; }
.tg-home .th-ttc-card:nth-child(5) { grid-column: 4 / span 2; }
.tg-home .th-ttc-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 24px 50px -36px rgba(21,40,26,.55);
	transition: transform 220ms ease, box-shadow 220ms ease;
}
.tg-home .th-ttc-card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -34px rgba(21,40,26,.6); }
.tg-home .th-ttc-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.tg-home .th-ttc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.tg-home .th-ttc-card:hover .th-ttc-media img { transform: scale(1.04); }
.tg-home .th-ttc-media:after { content: ""; position: absolute; inset: 45% 0 0 0; background: linear-gradient(transparent, rgba(21,40,26,.88)); }
.tg-home .th .th-ttc-media h3 {
	position: absolute; left: 20px; right: 20px; bottom: 16px; z-index: 1;
	font-family: var(--font-ui); font-weight: 700; font-size: 18px; line-height: 1.3; color: #fff; letter-spacing: 0;
}
.tg-home .th-ttc-badge {
	position: absolute; top: 14px; right: 14px; z-index: 1;
	width: 64px; height: 64px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; text-align: center;
	background: rgba(255,255,255,.92);
	border: 2px dashed var(--green-600);
	font-size: 12px; font-weight: 800; line-height: 1.1; color: var(--green-800);
}
.tg-home .th-ttc-meta {
	display: grid; grid-template-columns: 1fr 1fr;
	margin: 18px 20px 0;
	border: 1px solid var(--green-100);
	border-radius: 12px;
	background: var(--green-50);
}
.tg-home .th-ttc-meta > div { display: flex; gap: 10px; align-items: center; padding: 10px 12px; }
.tg-home .th-ttc-meta > div:only-child { grid-column: span 2; }
.tg-home .th-ttc-meta > div + div { border-left: 1px solid var(--green-100); }
.tg-home .th-ttc-meta i,
.tg-home .th-ttc-rows i,
.tg-home .th-ttc-price i {
	flex: 0 0 32px; height: 32px; border-radius: 9px;
	display: inline-flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--green-100); color: var(--green-700); font-size: 14px;
}
.tg-home .th-ttc-meta span,
.tg-home .th-ttc-rows span { font-size: 13.5px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.tg-home .th-ttc-card small {
	display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px;
}
.tg-home .th .th-ttc-text { padding: 16px 20px 0; margin: 0 0 14px; font-size: 14.5px; line-height: 1.7; flex: 1; }
.tg-home .th-ttc-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.tg-home .th-ttc-rows li { display: flex; gap: 12px; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--line); }
.tg-home .th-ttc-rows span { font-weight: 600; }
.tg-home .th-ttc-foot { padding: 16px 20px 20px; }
.tg-home .th-ttc-price {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px 6px 6px; margin-bottom: 14px;
	border-radius: 999px; background: var(--saffron-50);
	font-size: 13.5px; color: #8A4F1F;
}
.tg-home .th-ttc-price i { background: var(--saffron); border-color: var(--saffron); color: #fff; border-radius: 50%; flex-basis: 28px; height: 28px; font-size: 13px; }
.tg-home .th-ttc-price b { font-size: 15px; color: #6E3D14; }
.tg-home .th-ttc-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tg-home .th-ttc-btns .th-btn { min-height: 46px; padding: 0 12px; font-size: 14px; }

/* Yoga Alliance */
.tg-home .th-ya { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; }
.tg-home .th-ya-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.tg-home .th-ya-steps:before {
	content: ""; position: absolute; left: 31px; top: 30px; bottom: 30px; width: 2px;
	background: linear-gradient(var(--green-600), var(--green-100));
}
.tg-home .th-ya-steps li { position: relative; display: flex; gap: 22px; padding: 0 0 30px; }
.tg-home .th-ya-steps li:last-child { padding-bottom: 0; }
.tg-home .th-ya-ico {
	position: relative; z-index: 1;
	flex: 0 0 64px; height: 64px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #fff; border: 2px solid var(--green-100);
	box-shadow: 0 0 0 6px #fff;
	color: var(--green-700); font-size: 24px;
}
.tg-home .th-ya-ico .th-ico-img { width: 34px; height: 34px; }
.tg-home .th .th-ya-steps .th-h4 { display: flex; align-items: center; gap: 10px; font-size: 18px; color: var(--green-800); margin: 6px 0 2px; }
.tg-home .th-ya-num {
	display: inline-block; padding: 2px 8px; border-radius: 6px;
	background: var(--green-900); color: #fff; font-size: 11.5px; font-weight: 700;
}
.tg-home .th-ya-steps small { display: block; font-size: 13px; font-weight: 600; color: var(--saffron); margin-bottom: 6px; letter-spacing: .02em; }
.tg-home .th .th-ya-steps p { font-size: 15px; margin: 0; }
.tg-home .th-ya-photo {
	position: relative; margin: 0;
	padding: 14px; border-radius: 26px;
	background: #fff; border: 1px solid var(--line);
	box-shadow: 0 30px 60px -36px rgba(21,40,26,.55);
}
.tg-home .th-ya-photo:before {
	content: ""; position: absolute; inset: -18px -18px auto auto; width: 120px; height: 120px;
	border-radius: 50%; background: var(--green-50); z-index: -1;
}
.tg-home .th-ya-photo > img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; }
.tg-home .th-ya-photo figcaption {
	position: absolute; left: 30px; right: 30px; bottom: 30px;
	display: flex; align-items: center; gap: 14px;
	padding: 12px 16px; border-radius: 14px;
	background: rgba(30,53,35,.92); color: #fff;
	font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.tg-home .th-ya-photo figcaption img { width: 96px; height: auto; background: #fff; border-radius: 8px; padding: 4px 6px; }

@media (max-width: 1199px) {
	.tg-home .th-ttc { grid-template-columns: repeat(2, 1fr); }
	.tg-home .th-ttc-card,
	.tg-home .th-ttc-card:nth-child(4),
	.tg-home .th-ttc-card:nth-child(5) { grid-column: auto; }
}
@media (max-width: 991px) {
	.tg-home .th-ya { grid-template-columns: 1fr; gap: 44px; }
	.tg-home .th-ya-photo > img { aspect-ratio: 4 / 3; }
}
@media (max-width: 767px) {
	.tg-home .th-ttc { grid-template-columns: 1fr; }
	.tg-home .th-ya-ico { flex-basis: 52px; height: 52px; font-size: 20px; }
	.tg-home .th-ya-steps:before { left: 25px; }
	.tg-home .th-ya-photo figcaption { left: 22px; right: 22px; bottom: 22px; font-size: 11.5px; }
	.tg-home .th-ya-photo:before { display: none; }
}

/*==========================================================
	v3 sections
==========================================================*/
/* Registrations strip (overlaps hero bottom) */
.tg-home .th-regs { position: relative; z-index: 3; margin-top: -44px; }
.tg-home .th-regs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.tg-home .th-reg {
	display: flex; align-items: center; gap: 14px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: 0 20px 40px -26px rgba(21,40,26,.5);
}
.tg-home .th-reg i {
	flex: 0 0 48px; height: 48px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green-50); color: var(--green-700); font-size: 20px;
}
.tg-home .th-reg small { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.tg-home .th-reg strong { display: block; font-size: 17px; color: var(--ink); line-height: 1.25; }

/* Why choose */
.tg-home .th-ticks {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px;
	list-style: none; padding: 0; margin: -20px auto 48px;
}
.tg-home .th-ticks li {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 8px 16px; border-radius: 999px;
	background: var(--green-50); border: 1px solid var(--green-100);
	font-size: 14.5px; font-weight: 600; color: var(--green-800);
}
.tg-home .th-ticks i { color: var(--saffron); }
.tg-home .th-kind { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.tg-home .th-kind-card {
	position: relative;
	padding: 34px 28px 28px;
	text-align: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 20px;
	box-shadow: 0 20px 40px -32px rgba(21,40,26,.55);
	transition: transform 220ms ease;
}
.tg-home .th-kind-card:nth-child(3n+2) { transform: translateY(28px); }
.tg-home .th-kind { padding-bottom: 28px; }
.tg-home .th-kind-num {
	position: absolute; right: 22px; top: 10px;
	font-family: var(--font-display); font-weight: 700; font-size: 58px; line-height: 1;
	color: var(--green-50);
}
.tg-home .th-kind-card img {
	position: relative;
	width: 118px; height: 118px; border-radius: 50%; object-fit: cover;
	border: 4px solid #fff; box-shadow: 0 0 0 2px var(--green-100);
	margin-bottom: 18px;
}
.tg-home .th .th-kind-card .th-h4 { font-size: 18px; color: var(--green-800); margin-bottom: 10px; }
.tg-home .th .th-kind-card p { font-size: 14.5px; text-align: center; margin: 0; }

/* Daily schedule */
.tg-home .th-day {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	counter-reset: none;
}
.tg-home .th-day li {
	display: flex; flex-direction: column; align-items: center; text-align: center;
	padding: 22px 16px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
}
.tg-home .th-day-icon {
	width: 50px; height: 50px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green-900); color: #fff; font-size: 19px;
	margin-bottom: 12px;
}
.tg-home .th-day-time {
	display: inline-block; padding: 3px 12px; margin-bottom: 8px;
	border-radius: 999px; background: var(--saffron-50);
	font-size: 12.5px; font-weight: 700; color: #8A4F1F; letter-spacing: .04em;
}
.tg-home .th-day strong { font-size: 15.5px; color: var(--ink); line-height: 1.35; }

/* Fee includes + five elements */
.tg-home .th-split-top { align-items: start; }
.tg-home .th-split-top .th-ornament { align-items: flex-start; }
.tg-home .th-split-top .th-ornament:before { margin-left: 10px; }
.tg-home .th-incl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 10px 0 20px; }
.tg-home .th-incl-item {
	display: flex; align-items: center; gap: 12px;
	padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px;
	font-weight: 600; color: var(--ink); font-size: 15px; line-height: 1.35;
}
.tg-home .th-incl-item i {
	flex: 0 0 42px; height: 42px; border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green-700); color: #fff; font-size: 17px;
}
.tg-home .th-elements {
	padding: 34px 32px;
	border-radius: 22px;
	background: var(--green-900);
	color: #fff;
}
.tg-home .th .th-elements h3 { color: #fff; margin-bottom: 22px; }
.tg-home .th-elements ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tg-home .th-elements li { display: flex; gap: 14px; align-items: flex-start; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
.tg-home .th-elements li:last-child { border-bottom: 0; padding-bottom: 0; }
.tg-home .th-elements b {
	flex: 0 0 34px; height: 34px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--saffron); color: #fff; font-size: 14px;
}
.tg-home .th-elements strong { display: block; font-size: 16px; color: #fff; }
.tg-home .th-elements span { font-size: 14.5px; color: rgba(255,255,255,.78); }

/* Immersion band (left aligned, 3 columns of text) */
.tg-home .th-band-left {
	text-align: left;
	background-image: url(../images/triguna/banner-sunrise-group-trip.webp);
}
.tg-home .th .th-band-left h2 { margin: 0 0 26px; max-width: none; }
.tg-home .th-band-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tg-home .th .th-band-cols p {
	margin: 0; padding: 22px;
	border-radius: 16px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18);
	color: rgba(255,255,255,.9);
	font-size: 15px;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}

@media (max-width: 1199px) {
	.tg-home .th-day { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 991px) {
	.tg-home .th-regs-grid { grid-template-columns: repeat(2, 1fr); }
	.tg-home .th-kind { grid-template-columns: repeat(2, 1fr); }
	.tg-home .th-kind-card:nth-child(3n+2) { transform: none; }
	.tg-home .th-band-cols { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.tg-home .th-regs { margin-top: 20px; }
	.tg-home .th-reg { padding: 14px; gap: 10px; }
	.tg-home .th-reg i { flex-basis: 38px; height: 38px; font-size: 16px; }
	.tg-home .th-reg strong { font-size: 15px; }
	.tg-home .th-ticks { margin-top: -8px; }
	.tg-home .th-kind { grid-template-columns: 1fr; }
	.tg-home .th-day { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.tg-home .th-day li { padding: 16px 10px; }
	.tg-home .th-incl { grid-template-columns: 1fr; }
	.tg-home .th-elements { padding: 26px 20px; }
}

/*==========================================================
	Header + footer restyle (markup unchanged)
==========================================================*/











@media (min-width: 992px) {
	/* last nav item ("Book Now") as a pill button */
}













/* registration badges are dark artwork - give them a light panel on the dark footer */




/*==========================================================
	Responsive
==========================================================*/
@media (max-width: 1199px) {
	.tg-home .th-courses { grid-template-columns: repeat(2, 1fr); }
	.tg-home .th-teacher { flex: 0 1 calc((100% - 44px) / 3); max-width: 320px; }
	.tg-home .th-step { grid-template-columns: 52px 1fr; }
	.tg-home .th-step img { display: none; }
}
@media (max-width: 991px) {
	.tg-home .th-section { padding: 72px 0; }
	.tg-home .th-split { grid-template-columns: 1fr; gap: 44px; }
	.tg-home .th-reviews { grid-template-columns: 1fr; }
	.tg-home .th-stats { border-radius: 22px; grid-template-columns: repeat(2, 1fr); row-gap: 16px; }
	.tg-home .th-stat:nth-child(3):before { display: none; }
}
@media (max-width: 767px) {
	.tg-home .th-container { padding: 0 16px; }
	.tg-home .th-section { padding: 56px 0; }
	.tg-home .th-head { margin-bottom: 36px; }
	.tg-home .th-hero { min-height: 0; }
	.tg-home .th-hero-inner { padding: 64px 0 40px; }
	.tg-home .th-hero .th-eyebrow { letter-spacing: .16em; font-size: 11.5px; }
	.tg-home .th-hero .th-eyebrow:before,
	.tg-home .th-hero .th-eyebrow:after { width: 18px; }
	.tg-home .th-stat strong { font-size: 22px; }
	.tg-home .th-stat span { font-size: 10px; letter-spacing: .1em; }
	.tg-home .th-courses { grid-template-columns: 1fr; }
	.tg-home .th-step { grid-template-columns: 1fr; padding: 22px; gap: 10px; }
	.tg-home .th-mosaic { grid-auto-rows: 150px; }
	.tg-home .th-strip { grid-template-columns: repeat(2, 1fr); }
	/* Phone: one card per row, photo beside the details */
	.tg-home .th-teachers { gap: 14px; }
	.tg-home .th-teacher {
		flex: 1 1 100%; max-width: none;
		flex-direction: row; align-items: flex-start; gap: 14px;
		padding: 18px 16px; text-align: left;
	}
	.tg-home .th-teacher:hover { transform: none; }
	.tg-home .th-teacher .th-teacher-photo { width: 92px; height: 92px; margin: 0; padding: 4px; }
	.tg-home .th-teacher-photo img { border-width: 3px; }
	.tg-home .th-teacher-photo img.th-ryt { width: 36px; height: 36px; right: -6px; bottom: -2px; padding: 2px; }
	.tg-home .th-teacher-info { align-items: flex-start; }
	.tg-home .th .th-teacher .th-h4 { font-size: 21px; }
	.tg-home .th-teacher-facts { margin: 12px 0 12px; padding-top: 12px; gap: 8px; }
	.tg-home .th-teacher-skills { justify-content: flex-start; margin-bottom: 12px; }
	.tg-home .th-teacher-more { padding-top: 10px; }
	.tg-home .th-team-facts { flex-direction: column; align-items: stretch; margin-bottom: 28px; }
	.tg-home .th-team-facts li { border-radius: 14px; }
	.tg-home .th-band { padding: 72px 0; }
	.tg-home .th .th-faq details p { padding: 0 18px 18px 18px; }
	.tg-home .th-faq summary { font-size: 15.5px; padding-right: 56px; }
	.tg-home .th-faq summary b { display: none; }
	.tg-home .th-collage .th-badge { bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) {
	.tg-home .th-btn,
	.tg-home .th img { transition: none !important; }
	.tg-home .th-teacher,
	.tg-home .th-teacher-more i { transition: none !important; }
	.tg-home .th-teacher:hover,
	.tg-home .th-teacher:focus-visible { transform: none; }
	.tg-home .th-btn:hover { transform: none; }
}

/*==========================================================
	QA fixes (1 Oct 2026)
==========================================================*/
/* hero: poster <img> is the LCP element; video fades in once loaded */
.tg-home .th-hero { background-image: none; }
.tg-home .th-hero .th-hero-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tg-home .th-hero video { opacity: 0; transition: opacity 600ms ease; }
.tg-home .th-hero video.is-ready { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	.tg-home .th-hero video { display: none; }
}
/* decorative card numbers drawn from data-num (not text, so not read or contrast-checked) */
.tg-home .th-kind-num:before { content: attr(data-num); }
/* small saffron labels: darker clay for 4.5:1 on white */
.tg-home .th-ya-steps small { color: #A3561C; }
/*---------- Hero photo slider (replaces the video, 2 Oct 2026) ----------*/
.tg-home .th-hero { background: var(--green-950); }
.tg-home .th-slides { position: absolute; inset: 0; z-index: 0; }
.tg-home .th-slide {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 1200ms ease;
}
.tg-home .th-slide.is-on { opacity: 1; }
.tg-home .th-hero-inner { padding-bottom: 104px; }
.tg-home .th-slide-arrow {
	position: absolute; top: 42%; z-index: 3;
	width: 52px; height: 52px; border-radius: 50%;
	border: 1px solid rgba(255,255,255,.6);
	background: rgba(21,40,26,.35);
	color: #fff; font-size: 26px; line-height: 1; cursor: pointer;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	transition: background-color 180ms ease;
}
.tg-home .th-slide-arrow:hover { background: rgba(255,255,255,.22); }
.tg-home .th-slide-arrow.is-prev { left: 24px; }
.tg-home .th-slide-arrow.is-next { right: 24px; }
.tg-home .th-slide-ctrl {
	position: absolute; left: 50%; bottom: 58px; z-index: 3;
	transform: translateX(-50%);
	display: flex; align-items: center; gap: 14px;
}
/* Dots look 10px, but each button is a 24px tap target (padding + background-clip) */
.tg-home .th-slide-dots { display: flex; gap: 0; }
.tg-home .th-slide-dots button {
	width: 24px; height: 24px; padding: 7px; border: 0; border-radius: 999px;
	background: rgba(255,255,255,.5); background-clip: content-box; cursor: pointer;
	transition: width 250ms ease, background-color 250ms ease;
}
.tg-home .th-slide-dots button.is-on { width: 42px; background-color: #F6C68F; }
.tg-home .th-slide-ctrl .th-video-toggle { position: static; width: 32px; height: 32px; font-size: 10px; }
.tg-home .th-slide-arrow:focus-visible,
.tg-home .th-slide-dots button:focus-visible { outline: 3px solid #F6C68F; outline-offset: 3px; }
@media (max-width: 767px) {
	.tg-home .th-slide-arrow { display: none; }
	/* swipe-free: dots + pause are enough on phones */
	.tg-home .th-hero-inner { padding-bottom: 84px; }
	.tg-home .th-slide-ctrl { bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) {
	.tg-home .th-slide { transition: none; }
}
/* registrations: never wider than the screen on phones */
@media (max-width: 767px) {
	.tg-home .th .th-regs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tg-home .th-reg { min-width: 0; padding: 12px; }
	.tg-home .th-reg small { font-size: 10.5px; letter-spacing: .04em; }
	.tg-home .th-reg strong { font-size: 14.5px; }
	.tg-home .th-reg:last-child { grid-column: 1 / -1; justify-content: center; }
}

/*---------- Course carousel (one row, swipe / arrows) ----------*/
.tg-home .th-carousel { position: relative; }
.tg-home .th .th-ttc {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 4px;
	padding: 6px 4px 26px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.tg-home .th .th-ttc::-webkit-scrollbar { display: none; }
.tg-home .th .th-ttc:focus-visible { outline: 3px solid var(--saffron); outline-offset: 4px; border-radius: 12px; }
.tg-home .th .th-ttc .th-ttc-card,
.tg-home .th .th-ttc .th-ttc-card:nth-child(4),
.tg-home .th .th-ttc .th-ttc-card:nth-child(5) {
	grid-column: auto;
	flex: 0 0 calc((100% - 48px) / 3.15); /* ~3 cards + a peek of the next */
	scroll-snap-align: start;
}
.tg-home .th-carousel-nav {
	position: absolute; right: 0; top: -84px;
	display: flex; gap: 10px;
}
.tg-home .th-carousel-btn {
	width: 48px; height: 48px; border-radius: 50%;
	border: 1.5px solid var(--green-700);
	background: #fff; color: var(--green-700);
	font-size: 22px; line-height: 1; cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease;
}
.tg-home .th-carousel-btn:hover:not(:disabled) { background: var(--green-700); color: #fff; }
.tg-home .th-carousel-btn:disabled { opacity: .35; cursor: default; }
.tg-home .th-carousel-btn:focus-visible { outline: 3px solid var(--saffron); outline-offset: 3px; }
.tg-home .th-carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 6px; }
.tg-home .th-carousel-dots span { width: 8px; height: 8px; border-radius: 999px; background: var(--green-100); transition: width 200ms ease, background-color 200ms ease; }
.tg-home .th-carousel-dots span.is-on { width: 26px; background: var(--green-700); }
.tg-home .th-carousel.is-static .th-carousel-nav,
.tg-home .th-carousel.is-static .th-carousel-dots { display: none; }
/* tighter card body so the row is shorter */
.tg-home .th .th-ttc .th-ttc-text { font-size: 14px; line-height: 1.6; }
.tg-home .th .th-ttc .th-ttc-rows li { padding: 9px 20px; }
@media (max-width: 1199px) {
	.tg-home .th .th-ttc .th-ttc-card,
	.tg-home .th .th-ttc .th-ttc-card:nth-child(4),
	.tg-home .th .th-ttc .th-ttc-card:nth-child(5) { flex-basis: calc((100% - 24px) / 2.15); }
}
@media (max-width: 767px) {
	.tg-home .th .th-ttc { gap: 14px; }
	.tg-home .th .th-ttc .th-ttc-card,
	.tg-home .th .th-ttc .th-ttc-card:nth-child(4),
	.tg-home .th .th-ttc .th-ttc-card:nth-child(5) { flex-basis: 86%; }
	.tg-home .th-carousel-nav { position: static; justify-content: center; margin-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.tg-home .th .th-ttc { scroll-behavior: auto; }
}

/* <use>-referenced icons on the dark five-elements panel: set colour on the svg itself */
.tg-home .th .th-elements li > b .th-svg { color: #F6C68F; fill: #F6C68F; }
/*==========================================================
	Tighter, wider layout (2 Oct 2026) — no content changes
==========================================================*/
/* 1. wider site + less vertical air */
body.tg-home { --container: 1360px; }
.tg-home .th-container { padding: 0 32px; }
.tg-home .th-section { padding: 68px 0; }
.tg-home .th-head { margin-bottom: 36px; }
.tg-home .th-head h2 { margin-bottom: 12px; }
.tg-home .th-ornament { margin-bottom: 6px; }
.tg-home .th-ornament:before { height: 18px; }
.tg-home .th-eyebrow { margin-bottom: 6px; }
.tg-home .th-center { margin-top: 32px; }
.tg-home .th-band { padding: 80px 0; }
.tg-home .th-split { gap: 48px; }
.tg-home .th-kind { gap: 20px; }
.tg-home .th-steps { gap: 12px; }
.tg-home .th-step { padding: 20px 24px; }

/* 2. compact course cards */
.tg-home .th .th-ttc .th-ttc-media { aspect-ratio: 16 / 9; }
.tg-home .th .th-ttc .th-ttc-meta { margin: 14px 18px 0; }
.tg-home .th .th-ttc .th-ttc-meta > div { padding: 8px 10px; }
.tg-home .th .th-ttc .th-ttc-text {
	padding: 12px 18px 0; margin-bottom: 10px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; /* full text stays in the page and on the course page */
}
.tg-home .th .th-ttc .th-ttc-rows li { padding: 7px 18px; gap: 10px; }
.tg-home .th .th-ttc .th-ttc-rows i { flex-basis: 28px; height: 28px; }
.tg-home .th .th-ttc .th-ttc-foot { padding: 12px 18px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tg-home .th .th-ttc .th-ttc-price { margin: 0; }
.tg-home .th .th-ttc .th-ttc-btns { width: 100%; }
.tg-home .th .th-ttc .th-ttc-btns .th-btn { min-height: 42px; }
.tg-home .th .th-ttc { padding-bottom: 18px; }

/* 3. abstract background for the courses section (replaces the Om/lotus tile there) */
.tg-home #courses.th-pattern { background: #F4EFE4; overflow: hidden; }
.tg-home #courses.th-pattern:before {
	opacity: 1;
	background:
		radial-gradient(38% 55% at 8% 18%, rgba(79,125,69,.16), transparent 70%),
		radial-gradient(30% 45% at 92% 12%, rgba(217,130,59,.14), transparent 70%),
		radial-gradient(42% 60% at 85% 92%, rgba(43,77,184,.08), transparent 70%),
		radial-gradient(35% 50% at 20% 95%, rgba(217,130,59,.10), transparent 70%);
}
.tg-home #courses.th-pattern:after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='600' viewBox='0 0 1440 600' fill='none' stroke='%234F7D45' stroke-opacity='.18' stroke-width='1.2'%3E%3Cpath d='M-40 420 C 240 300, 420 520, 720 380 S 1180 260, 1480 360'/%3E%3Cpath d='M-40 460 C 260 350, 440 560, 740 420 S 1200 300, 1480 400'/%3E%3Cpath d='M-40 120 C 300 40, 520 220, 860 110 S 1260 40, 1480 120' stroke='%23D9823B' stroke-opacity='.16'/%3E%3C/svg%3E") center / cover no-repeat;
}
.tg-home #courses .th-container { position: relative; z-index: 1; }

@media (max-width: 991px) {
	.tg-home .th-section { padding: 56px 0; }
}
@media (max-width: 767px) {
	.tg-home .th-container { padding: 0 16px; }
	.tg-home .th-section { padding: 44px 0; }
	.tg-home .th-head { margin-bottom: 26px; }
	.tg-home .th-band { padding: 56px 0; }
}/* clamp fix: the text box must not stretch (flex:1) or the 4th line shows below the ellipsis */
.tg-home .th .th-ttc .th-ttc-text { flex: 0 0 auto; padding: 0; margin: 12px 18px 10px; max-height: calc(1.6em * 3); }
.tg-home .th .th-ttc .th-ttc-rows { margin-top: auto; }
.tg-home .th .th-ttc .th-ttc-media { aspect-ratio: 16 / 8; }
/*==========================================================
	"One of a kind" redesign (2 Oct 2026) — split layout, photo cards
==========================================================*/
.tg-home .th-why { background: linear-gradient(180deg, #fff 0%, var(--green-50) 100%); }
.tg-home .th-why-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr);
	gap: 56px;
	align-items: start;
}
.tg-home .th-why-intro { position: sticky; top: 110px; }
.tg-home .th-why-intro .th-head { margin-bottom: 22px; }
.tg-home .th-why-intro .th-ornament { align-items: flex-start; }
.tg-home .th-why-intro .th-ornament:before { margin-left: 10px; }
.tg-home .th .th-why-intro h2 { font-size: clamp(2rem, 3.2vw, 2.9rem); }
.tg-home .th .th-why-intro .th-head p { font-size: 16.5px; }
/* ticks become a vertical checklist */
.tg-home .th .th-why .th-ticks {
	display: grid; gap: 10px; justify-content: stretch;
	margin: 0 0 26px; padding: 0;
}
.tg-home .th .th-why .th-ticks li {
	justify-content: flex-start;
	padding: 12px 16px; border-radius: 12px;
	background: #fff; border: 1px solid var(--line);
	font-size: 15px;
}
.tg-home .th .th-why .th-ticks i {
	flex: 0 0 26px; height: 26px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--green-700); color: #fff; font-size: 12px;
}
/* photo cards */
.tg-home .th .th-why .th-kind { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; padding: 0; }
.tg-home .th .th-why .th-kind-card,
.tg-home .th .th-why .th-kind-card:nth-child(3n+2) {
	transform: none;
	display: flex; flex-direction: column;
	padding: 0; text-align: left; overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 18px 40px -30px rgba(21,40,26,.55);
	transition: transform 220ms ease, box-shadow 220ms ease;
}
.tg-home .th .th-why .th-kind-card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -30px rgba(21,40,26,.6); }
.tg-home .th-why .th-kind-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.tg-home .th .th-why .th-kind-media img {
	width: 100%; height: 100%; object-fit: cover;
	border: 0; border-radius: 0; box-shadow: none; margin: 0;
	transition: transform 500ms ease;
}
.tg-home .th-why .th-kind-card:hover .th-kind-media img { transform: scale(1.05); }
.tg-home .th-why .th-kind-media:after { content: ""; position: absolute; inset: 55% 0 0 0; background: linear-gradient(transparent, rgba(21,40,26,.55)); }
.tg-home .th .th-why .th-kind-num {
	position: absolute; left: 14px; bottom: 10px; right: auto; top: auto; z-index: 1;
	color: #fff; font-size: 40px; line-height: 1; opacity: .95;
	text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.tg-home .th-why .th-kind-body { padding: 18px 20px 20px; border-top: 3px solid var(--green-600); }
.tg-home .th-why .th-kind-card:nth-child(3n+2) .th-kind-body { border-top-color: var(--saffron); }
.tg-home .th-why .th-kind-card:nth-child(3n) .th-kind-body { border-top-color: #000CB8; }
.tg-home .th .th-why .th-kind-card .th-h4 { font-size: 17.5px; margin-bottom: 8px; color: var(--ink); }
.tg-home .th .th-why .th-kind-card p { text-align: left; font-size: 14.5px; line-height: 1.65; }

@media (max-width: 1199px) {
	.tg-home .th-why-grid { grid-template-columns: 1fr; gap: 36px; }
	.tg-home .th-why-intro { position: static; }
}
@media (max-width: 767px) {
	.tg-home .th .th-why .th-kind { grid-template-columns: 1fr; gap: 16px; }
	.tg-home .th .th-why .th-kind-num { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	.tg-home .th .th-why .th-kind-card, .tg-home .th-why .th-kind-media img { transition: none; }
}
/*==========================================================
	Course cards — shorter (2 Oct 2026): slimmer photo, facts in a 2-col grid, 2-line intro
==========================================================*/
.tg-home .th .th-ttc .th-ttc-media { aspect-ratio: 16 / 6.6; }
.tg-home .th .th-ttc .th-ttc-media h3 { font-size: 19px; }
.tg-home .th .th-ttc .th-ttc-media img.th-ttc-badge { width: 64px; height: 64px; top: 10px; right: 10px; }
.tg-home .th .th-ttc .th-ttc-meta { margin: 12px 16px 0; }
.tg-home .th .th-ttc .th-ttc-meta > div { padding: 6px 10px; }
.tg-home .th .th-ttc .th-ttc-text { -webkit-line-clamp: 2; max-height: calc(1.6em * 2); margin: 10px 16px 10px; }
.tg-home .th .th-ttc .th-ttc-rows {
	display: grid; grid-template-columns: 1fr 1fr;
	margin: auto 16px 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.tg-home .th .th-ttc .th-ttc-rows li { padding: 7px 10px; gap: 8px; border-bottom: 0; }
.tg-home .th .th-ttc .th-ttc-rows li.is-lang { border-left: 1px solid var(--line); }
.tg-home .th .th-ttc .th-ttc-rows li.is-cert { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.tg-home .th .th-ttc .th-ttc-rows li:only-child,
.tg-home .th .th-ttc .th-ttc-rows li.is-style:nth-last-child(2):has(+ .is-cert) { grid-column: 1 / -1; }
.tg-home .th .th-ttc .th-ttc-rows i { flex-basis: 26px; height: 26px; }
.tg-home .th .th-ttc .th-ttc-rows span { font-size: 13px; }
.tg-home .th .th-ttc .th-ttc-foot { padding: 10px 16px 14px; gap: 8px; }
.tg-home .th .th-ttc .th-ttc-price { padding-top: 4px; padding-bottom: 4px; }
.tg-home .th .th-ttc .th-ttc-btns .th-btn { min-height: 40px; }
/* softer keyboard focus ring on the scroll track */
.tg-home .th .th-ttc:focus { outline: none; }
.tg-home .th .th-ttc:focus-visible { outline: 2px solid rgba(79,125,69,.45); outline-offset: 4px; }.tg-home .th .th-ttc .th-ttc-rows { margin-top: 0; }
.tg-home .th .th-ttc .th-ttc-foot { margin-top: auto; }
.tg-home #courses .th-head { margin-bottom: 28px; }@media (max-width: 767px) {
	.tg-home .th .th-ttc .th-ttc-price { font-size: 12.5px; white-space: nowrap; }
	.tg-home .th .th-ttc .th-ttc-price b { font-size: 14px; }
	.tg-home .th .th-ttc .th-ttc-btns { gap: 8px; }
	.tg-home .th .th-ttc .th-ttc-btns .th-btn { font-size: 13px; padding: 0 8px; white-space: nowrap; }
	.tg-home .th .th-ttc .th-ttc-media { aspect-ratio: 16 / 8; }
}
/*==========================================================
	Daily schedule (2 Oct 2026) — the day in four parts, dawn → night
==========================================================*/
.tg-home .th-sched-sec { background: var(--ivory, #FFFDF7); }
.tg-home .th-sched {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px;
	position: relative; counter-reset: part;
}
/* thin "path of the sun" line running behind the card headers */
.tg-home .th-sched:before {
	content: ""; position: absolute; left: 4%; right: 4%; top: 52px; height: 2px; z-index: 0;
	background: linear-gradient(90deg, #F2C48D, #E9A548, #D9823B, var(--green-700));
	opacity: .55;
}
.tg-home .th .th-part {
	--part-bg: #fff; --part-ink: var(--ink); --part-soft: var(--muted); --part-accent: var(--saffron); --part-line: rgba(21,40,26,.10); --part-icon-bg: #FFF3E4;
	position: relative; z-index: 1; overflow: hidden;
	display: flex; flex-direction: column;
	padding: 24px 22px 26px; border-radius: 22px;
	background: var(--part-bg); color: var(--part-ink);
	border: 1px solid var(--part-line);
	box-shadow: 0 22px 44px -36px rgba(21,40,26,.55);
	transition: transform 220ms ease, box-shadow 220ms ease;
}
.tg-home .th .th-part:hover { transform: translateY(-4px); box-shadow: 0 30px 54px -36px rgba(21,40,26,.6); }
.tg-home .th .th-part.is-morning { --part-bg: linear-gradient(180deg, #FFF8EE 0%, #fff 70%); }
.tg-home .th .th-part.is-midday { --part-bg: linear-gradient(180deg, #FCEFD6 0%, #FFF9EE 75%); --part-icon-bg: #fff; }
.tg-home .th .th-part.is-afternoon { --part-bg: linear-gradient(180deg, #F3DDBC 0%, #FAEEDB 75%); --part-icon-bg: #fff; --part-accent: #B4611F; }
.tg-home .th .th-part.is-evening {
	--part-bg: linear-gradient(180deg, #1E3523 0%, #15281A 100%);
	--part-ink: #fff; --part-soft: rgba(255,255,255,.72); --part-accent: #F6C68F; --part-line: rgba(255,255,255,.12); --part-icon-bg: rgba(255,255,255,.08);
}
.tg-home .th .th-part-head { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; margin-bottom: 6px; border-bottom: 1px solid var(--part-line); }
.tg-home .th .th-part-icon {
	flex: 0 0 56px; height: 56px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--part-icon-bg); color: var(--part-accent);
	box-shadow: 0 0 0 6px rgba(255,255,255,.55);
	font-size: 24px;
}
.tg-home .th .th-part.is-evening .th-part-icon { box-shadow: 0 0 0 6px rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.18); }
.tg-home .th .th-part-icon .th-svg { width: 30px; height: 30px; fill: currentColor; color: inherit; }
.tg-home .th .th-part-head h3 { font-size: 26px; line-height: 1.1; margin: 0 0 4px; color: var(--part-ink); }
.tg-home .th .th-part-head small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--part-accent); text-transform: uppercase; }
.tg-home .th .th-part-list { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
.tg-home .th .th-part-list li { display: flex; gap: 12px; align-items: flex-start; padding: 13px 0; border-bottom: 1px dashed var(--part-line); }
.tg-home .th .th-part-list li:last-child { border-bottom: 0; }
.tg-home .th .th-part-ico {
	flex: 0 0 36px; height: 36px; border-radius: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--part-icon-bg); color: var(--part-accent);
	border: 1px solid var(--part-line);
}
.tg-home .th .th-part-ico .th-svg { width: 22px; height: 22px; fill: currentColor; }
.tg-home .th .th-part-list time { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; color: var(--part-accent); margin-bottom: 2px; }
.tg-home .th .th-part-list strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--part-ink); }
/* oversized faded watermark of the part-of-day icon */
.tg-home .th .th-part-mark {
	position: absolute; right: -18px; bottom: -22px; z-index: 0; pointer-events: none;
	color: var(--part-accent); opacity: .09; font-size: 150px; line-height: 1;
}
.tg-home .th .th-part.is-evening .th-part-mark { opacity: .12; }
.tg-home .th .th-part-mark .th-ico { display: block; }
.tg-home .th .th-part-mark .th-svg { width: 150px; height: 150px; fill: currentColor; }

@media (max-width: 1199px) {
	.tg-home .th-sched { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tg-home .th-sched:before { display: none; }
}
@media (max-width: 575px) {
	.tg-home .th-sched { grid-template-columns: 1fr; gap: 14px; }
	.tg-home .th .th-part { padding: 20px 18px 22px; }
	.tg-home .th .th-part-head h3 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.tg-home .th .th-part { transition: none; }
}
/*==========================================================
	Fee includes — icon rework (2 Oct 2026): soft tiles, green line icons (currentColor fill)
==========================================================*/
.tg-home .th .th-incl-item { gap: 16px; padding: 16px 18px; transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.tg-home .th .th-incl-item:hover { border-color: var(--green-100); box-shadow: 0 18px 34px -28px rgba(21,40,26,.5); transform: translateY(-2px); }
.tg-home .th .th-incl-item i {
	position: relative; flex: 0 0 56px; height: 56px; border-radius: 16px;
	background: linear-gradient(145deg, #F1F6EE 0%, #E3EEDD 100%);
	border: 1px solid var(--green-100);
	color: var(--green-700);
	transition: background-color 200ms ease, color 200ms ease;
}
/* small saffron accent dot — ties in with the ornament dots */
.tg-home .th .th-incl-item i:after {
	content: ""; position: absolute; top: -3px; right: -3px; width: 10px; height: 10px; border-radius: 50%;
	background: var(--saffron); box-shadow: 0 0 0 3px #fff;
}
.tg-home .th .th-incl-item i.th-ico .th-svg { width: 32px; height: 32px; fill: currentColor; color: inherit; }
.tg-home .th .th-incl-item:hover i { background: var(--green-700); color: #fff; }
.tg-home .th .th-incl-item i.th-ico .th-svg { width: 36px; height: 36px; }
.tg-home .th .th-incl-item i { color: var(--green-800, #2F5229); }

/* registrations strip: 4 items (RYS 500 and BookRetreats removed, 2 Oct 2026) */
.tg-home .th .th-regs-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.tg-home .th .th-regs-grid .th-reg { padding-left: 18px; padding-right: 18px; gap: 12px; }
.tg-home .th .th-regs-grid .th-reg strong { font-size: 16px; }
@media (max-width: 1199px) {
	.tg-home .th .th-regs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tg-home .th .th-regs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tg-home .th .th-regs-grid .th-reg:last-child { grid-column: auto; justify-content: flex-start; }
}/* BookRetreats: wide logo, so stack logo over the text */
.tg-home .th .th-regs-grid .th-reg:has(img[src*="bookretreats"]) { flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; }
.tg-home .th .th-regs-grid .th-reg i.th-ico.is-badge:has(img[src*="bookretreats"]) { flex: 0 0 auto; height: auto; width: auto; }
.tg-home .th .th-regs-grid .th-reg i.th-ico.is-badge img[src*="bookretreats"] { width: 120px; height: auto; }
/*==========================================================
	FAQ redesign (2 Oct 2026) — split layout, lotus abstract background
==========================================================*/
.tg-home .th-faq-sec {
	position: relative; overflow: hidden;
	background:
		radial-gradient(45% 60% at 0% 100%, rgba(79,125,69,.10), transparent 70%),
		radial-gradient(35% 45% at 100% 0%, rgba(217,130,59,.08), transparent 70%),
		linear-gradient(180deg, #FBF8F1 0%, #F2F6EE 100%);
}
/* abstract lotus art from "Triguna Images/abstact Bg Image" */
.tg-home .th-faq-sec:before,
.tg-home .th-faq-sec:after { content: ""; position: absolute; pointer-events: none; z-index: 0; background-repeat: no-repeat; }
.tg-home .th-faq-sec:before {
	left: -60px; bottom: -40px; width: 420px; height: 630px;
	background-image: url("../images/triguna/bg-lotus-portrait.webp"); background-size: contain; background-position: left bottom;
	transform: scaleX(-1); opacity: .55;
}
.tg-home .th-faq-sec:after {
	right: -120px; top: -40px; width: 760px; height: 380px;
	background-image: url("../images/triguna/bg-floral-wide.webp"); background-size: contain; background-position: right top;
	opacity: .35;
}
.tg-home .th-faq-sec .th-container { position: relative; z-index: 1; }
.tg-home .th-faq-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: 56px; align-items: start; }
.tg-home .th-faq-intro { position: sticky; top: 110px; }
.tg-home .th-faq-intro .th-head { margin-bottom: 22px; }
.tg-home .th-faq-intro .th-ornament { align-items: flex-start; }
.tg-home .th-faq-intro .th-ornament:before { margin-left: 10px; }
.tg-home .th .th-faq-intro h2 { font-size: clamp(2.1rem, 3.4vw, 3rem); }
.tg-home .th-faq-photo { position: relative; margin: 0 0 22px; border-radius: 22px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: 0 26px 50px -34px rgba(21,40,26,.6); }
.tg-home .th-faq-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tg-home .th-faq-photo:after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 6px rgba(255,255,255,.55); }
.tg-home .th-faq-contact {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
	padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.85);
	border: 1px solid var(--line); backdrop-filter: blur(6px);
}
.tg-home .th-faq-contact .th-btn { min-height: 44px; }

/* accordion */
.tg-home .th .th-faq-grid .th-faq { max-width: none; margin: 0; gap: 12px; }
.tg-home .th .th-faq-grid .th-faq details {
	background: rgba(255,255,255,.92); border-radius: 18px; border: 1px solid var(--line);
	transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}
.tg-home .th .th-faq-grid .th-faq details:hover { border-color: var(--green-100); }
.tg-home .th .th-faq-grid .th-faq details[open] {
	background: #fff; border-color: var(--green-100);
	box-shadow: 0 22px 44px -32px rgba(21,40,26,.55);
	border-left: 4px solid var(--green-600);
}
.tg-home .th .th-faq-grid .th-faq summary { padding: 20px 70px 20px 20px; font-size: 17px; line-height: 1.4; }
.tg-home .th .th-faq-grid .th-faq summary b {
	flex: 0 0 42px; height: 42px; border: 0;
	background: var(--green-50); color: var(--green-700);
	font-family: "Cormorant Garamond", "Cormorant Fallback", Georgia, serif; font-size: 19px; font-weight: 700;
}
.tg-home .th .th-faq-grid .th-faq details[open] summary b { background: var(--green-700); color: #fff; }
.tg-home .th .th-faq-grid .th-faq summary:after {
	width: 34px; height: 34px; right: 20px;
	background: transparent; color: var(--green-700); border: 1px solid var(--green-100);
	transition: transform 200ms ease, background-color 200ms ease, color 200ms ease;
}
.tg-home .th .th-faq-grid .th-faq details[open] summary:after { background: var(--saffron); border-color: var(--saffron); color: #fff; transform: translateY(-50%) rotate(180deg); }
.tg-home .th .th-faq-grid .th-faq details p { padding: 0 28px 24px 82px; font-size: 15.5px; line-height: 1.75; color: var(--muted); }

@media (max-width: 991px) {
	.tg-home .th-faq-grid { grid-template-columns: 1fr; gap: 28px; }
	.tg-home .th-faq-intro { position: static; display: grid; grid-template-columns: 1fr; }
	.tg-home .th-faq-photo { display: none; }
	.tg-home .th-faq-sec:after { width: 480px; height: 240px; right: -160px; opacity: .25; }
	.tg-home .th-faq-sec:before { width: 260px; height: 390px; opacity: .35; }
}
@media (max-width: 767px) {
	.tg-home .th .th-faq-grid .th-faq summary { padding: 16px 58px 16px 16px; font-size: 15.5px; }
	.tg-home .th .th-faq-grid .th-faq summary:after { right: 14px; width: 30px; height: 30px; }
	.tg-home .th .th-faq-grid .th-faq details p { padding: 0 18px 18px; }
	.tg-home .th-faq-contact { padding: 14px; }
}
.tg-home .th-faq-intro { position: static; }
@media (max-width: 991px) {
	.tg-home .th-faq-intro { display: contents; }
	.tg-home .th-faq-grid { gap: 20px; }
	.tg-home .th-faq-intro .th-head { margin-bottom: 0; }
	.tg-home .th-faq-contact { order: 3; }
}
/* FAQ focus fix: the summary outline was clipped by details{overflow:hidden} and showed as an orange bar after a click.
   Mouse clicks get no ring; keyboard users get a ring around the whole card instead. */
.tg-home .th .th-faq summary:focus,
.tg-home .th .th-faq summary:focus-visible { outline: none; }
.tg-home .th .th-faq details:has(summary:focus-visible) { box-shadow: 0 0 0 3px rgba(217,130,59,.55); }
/*==========================================================
	Yoga Alliance (2 Oct 2026) — original timeline layout + abstract art background
==========================================================*/
.tg-home .th-ya-sec { position: relative; overflow: hidden; isolation: isolate; background: #F4F8F1; }
/* the art: abstract yoga silhouette, shifted from sky blue to the site's sage green */
.tg-home .th-ya-sec:before {
	content: ""; position: absolute; inset: 0; z-index: -2;
	background: url("../images/triguna/bg-yoga-abstract.webp") left bottom / cover no-repeat;
	filter: hue-rotate(-62deg) saturate(.6) brightness(1.04);
	opacity: .55;
}
/* ivory wash keeps the timeline text easy to read */
.tg-home .th-ya-sec:after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(255,253,247,.55) 0%, rgba(255,253,247,.35) 45%, rgba(255,253,247,.6) 100%);
}
/* photo: landscape so all faces stay in frame */
.tg-home .th .th-ya-photo > img { aspect-ratio: 3 / 2; object-position: center 30%; }
.tg-home .th-ya { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 991px) {
	.tg-home .th-ya { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.tg-home .th-ya-sec:before { background-image: url("../images/triguna/bg-yoga-abstract-800.webp"); background-size: auto 300px; background-position: left top; opacity: .4; }
	.tg-home .th .th-ya-photo figcaption { position: static; margin-top: 10px; font-size: 10.5px; padding: 8px 10px; gap: 10px; }
	.tg-home .th .th-ya-photo figcaption img { width: 78px; }
}/* use only the abstract part of the art (swirls, bokeh, mandalas) — no silhouette behind text */
.tg-home .th-ya-sec:before { background-image: url("../images/triguna/bg-yoga-abstract.webp"); background-position: center; opacity: .75; }
.tg-home .th-ya-sec:after { background: linear-gradient(180deg, rgba(255,253,247,.35) 0%, rgba(255,253,247,.15) 50%, rgba(255,253,247,.45) 100%); }
/* timeline line stops at the last item now that YAI was removed */
.tg-home .th-ya-steps li:last-child { padding-bottom: 0; }
@media (max-width: 767px) {
	.tg-home .th-ya-sec:before { background-image: url("../images/triguna/bg-yoga-abstract-800.webp"); background-size: cover; background-position: center; opacity: .6; }
}/* connector line drawn per step, so it ends at the last badge */
.tg-home .th-ya-steps:before { display: none; }
.tg-home .th-ya-steps li:not(:last-child):before {
	content: ""; position: absolute; left: 31px; top: 66px; bottom: 0; width: 2px;
	background: linear-gradient(var(--green-600), var(--green-100));
}
@media (max-width: 767px) {
	.tg-home .th-ya-steps li:not(:last-child):before { left: 25px; top: 54px; }
}
/*==========================================================
	Header redesign (2 Oct 2026) — CSS only, header.php untouched
==========================================================*/
/* top bar: slimmer, social icons as round chips */














/* main bar */





@media (min-width: 992px) {
	/* dropdown card */
	/* Book Now pill */
	/* compact sticky state after scrolling */
}


/* phones / tablets */


@media (max-width: 991px) {
	/* slide-in panel */
	/* "Book Now" as a full-width button in the panel */
}
/*==========================================================
	Glass header (2 Oct 2026) — one floating bar: nav + call / WhatsApp / email / social / BookRetreats / Book Now
==========================================================*/











/* actions cluster */






















@media (min-width: 992px) {
	/* Book Now lives in the actions cluster on desktop */
}




/* phones / tablets: bar = logo + call + WhatsApp + menu; rest lives in the slide-in panel */
@media (max-width: 991px) {
	/* panel extras */
}

/* hero sits under the floating header */
body.tg-home .th-hero-inner { padding-top: 168px; }
@media (max-width: 991px) {
	body.tg-home .th-hero-inner { padding-top: 116px; }
}
   





/* backdrop-filter on the bar made it the containing block for the fixed phone menu (panel collapsed to the bar's width).
   The glass now lives on a ::before layer, so the bar itself has no filter. */




/*==========================================================
	Menu icons (2 Oct 2026) — dropdown items everywhere, top-level items only on phones
==========================================================*/




/* dropdown rows: icon replaces the dot */



@media (min-width: 992px) {
	/* desktop main menu stays text-only */
}
  

/* six menu items now — tighten the bar on mid-size screens */




/*==========================================================
	Footer redesign (2 Oct 2026) — new markup via th_filter, footer.php untouched
==========================================================*/








/* contact strip */







/* columns */




















/* registrations */










/* bottom bar */








/* footer art: meditating figure + halo from "Triguna Images/abstact Bg Image/Footer.svg" (gradient square dropped),
   used as a mask so it glows saffron→green on the dark footer */


/* place the figure in the empty space under the "Links" column, not behind the badges */

/*==========================================================
	"Yoga Courses" mega menu (2 Oct 2026)
==========================================================*/
/* template's teal hover bar under menu items */












/*==========================================================
	Footer — compact (2 Oct 2026)
==========================================================*/




















/* course cards (2 Oct 2026): Level removed, so Duration fills the meta row; price strip on one line, full width */
.tg-home .th .th-ttc .th-ttc-price { display: flex; width: 100%; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; white-space: nowrap; }
.tg-home .th .th-ttc .th-ttc-price b { white-space: nowrap; }
.tg-home .th .th-ttc .th-ttc-price em { font-style: normal; font-size: 13px; color: #8A4F1F; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
@media (max-width: 767px) { .tg-home .th .th-ttc .th-ttc-price em { font-size: 12px; } }

/* Speed (2 Oct 2026): the two photo bands get their background photo only when they come near the screen.
   html.lazybg is set by a script in index.php <head>; the script below the page adds .is-bg-in. Without JS the photos load as before. */
.lazybg .tg-home .th-band:not(.is-bg-in) { background-image: none; }