:root {
	--o: #f58220;
	--o2: #e06f10;
	--navy: #152238;
	--txt: #5b6473;
	--cream: #fff4e6;
	--r: 14px;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: Inter,sans-serif;
	color: var(--txt);
	line-height: 1.6;
	background: #fff;
}

h1,h2,h3,.logo,.stats b {
	font-family: Outfit,sans-serif;
	color: var(--navy);
	line-height: 1.15;
}

a {
	text-decoration: none;
	color: inherit;
}

ul {
	list-style: none;
}

:focus-visible {
	outline: 3px solid var(--navy);
	outline-offset: 2px;
}

/* buttons */
.btn {
	display: inline-block;
	background: var(--o);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 14px 32px;
	border-radius: 6px;
	text-align: center;
	transition: background .2s;
}

.btn:hover {
	background: var(--o2);
}

.btn--sm {
	padding: 10px 22px;
	font-size: 13px;
}

.btn--block {
	display: block;
	border-radius: 8px;
	padding: 12px;
}

.btn--ghost {
	background: transparent;
	border: 1px solid rgba(255,255,255,.5);
}

.btn--ghost:hover {
	background: rgba(255,255,255,.12);
}

.btn--white {
	background: #fff;
	color: #6b21a8;
	border-radius: 40px;
	padding: 14px 34px;
}

.btn--white:hover {
	background: #f3e8ff;
}


/* header */
.header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(8px);
	box-shadow: 0 1px 0 rgba(20,34,56,.08);
}

.header__in {
	max-width: 1200px;
	margin: auto;
	padding: 10px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.logo {
	font-size: 22px;
	font-weight: 800;
	color: var(--o);
	display: block;
}

.logo img {
	height: 46px;
	width: auto;
	display: block;
}

.logo--w {
	display: block;
	margin-bottom: 10px;
}

.nav {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 auto;
}

.nav__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 0;
	font: 600 14.5px Inter,sans-serif;
	color: var(--navy);
	padding: 10px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: background .2s,color .2s;
}

.nav__link:hover,.dd.open>.nav__link {
	background: #fff1e3;
	color: var(--o);
}

.nav__link.active {
	color: var(--o);
}

.nav__link.active::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 3px;
	height: 2px;
	border-radius: 2px;
	background: var(--o);
}

.dd {
	position: relative;
}

.dd__btn::after {
	content: "";
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .2s;
}

.dd.open>.dd__btn::after {
	transform: rotate(-135deg) translateY(-2px);
}

.dd__menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 190px;
	background: #fff;
	border-radius: 14px;
	padding: 8px;
	box-shadow: 0 14px 40px rgba(20,34,56,.16);
	border: 1px solid #eef0f5;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s,transform .2s,visibility .2s;
}

.dd__menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -12px;
	height: 12px;
}

.dd__menu--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-width: 360px;
}

.dd__menu a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--navy);
	white-space: nowrap;
}

.dd__menu a:hover {
	background: #fff1e3;
	color: var(--o);
}

.dd__menu img {
	width: 22px;
	height: 15px;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0,0,0,.1);
}

.dd.open .dd__menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

@media(min-width:901px) {
	.dd:hover .dd__menu {
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.dd:hover>.dd__btn {
		background: #fff1e3;
		color: var(--o);
	}
}

.burger {
	display: none;
	width: 42px;
	height: 42px;
	background: none;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.burger span {
	width: 22px;
	height: 2px;
	background: var(--navy);
	border-radius: 2px;
	transition: transform .25s,opacity .2s;
}

.burger[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.burger[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.burger[aria-expanded="true"] span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

@media(max-width:900px) {
	.header__in {
		gap: 12px;
	}

	.logo {
		margin-right: auto;
	}

	.burger {
		display: flex;
	}

	.nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		margin: 0;
		background: #fff;
		padding: 12px 20px 20px;
		max-height: calc(100vh - 66px);
		overflow-y: auto;
		box-shadow: 0 14px 30px rgba(20,34,56,.14);
	}

	.nav.open {
		display: flex;
	}

	.nav__link {
		justify-content: space-between;
		padding: 14px 12px;
		font-size: 15px;
	}

	.nav__link.active::after {
		display: none;
	}

	.dd__menu,.dd__menu--2 {
		position: static;
		display: none;
		min-width: 0;
		box-shadow: none;
		border: 0;
		background: #faf7f2;
		opacity: 1;
		visibility: visible;
		transform: none;
		margin: 2px 0 6px;
	}

	.dd__menu::before {
		display: none;
	}

	.dd.open .dd__menu {
		display: block;
	}

	.dd.open .dd__menu--2 {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

@media(max-width:480px) {
	.header__cta {
		display: none;
	}

	.dd.open .dd__menu--2 {
		grid-template-columns: 1fr;
	}
}

/* hero */
.hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 560px;
	display: grid;
	place-items: center;
	text-align: center;
	color: #fff;
	padding: 80px 24px;
	background: #14203a;
}

.hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(rgba(20,34,56,.6),rgba(20,34,56,.75));
}

.hero__in {
	max-width: 960px;
}

.hero__tag {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #ffb066;
	font-weight: 700;
	margin-bottom: 16px;
}

.hero h1 {
	color: #fff;
	font-size: clamp(40px,6vw,64px);
	font-weight: 800;
	margin-bottom: 20px;
}

.hero h1 sup {
	font-size: .3em;
	vertical-align: super;
}

.hero__sub {
	max-width: 560px;
	margin: 0 auto 30px;
	font-size: 15px;
	color: #e8ecf2;
}

.hero__btns {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 26px;
}

.hero__link {
	font-size: 14px;
	font-weight: 600;
	border-bottom: 1px solid #fff;
}

/* stats */
.stats {
	background: var(--o);
	color: #fff;
	padding: 44px 24px;
}

.stats__in {
	max-width: 1150px;
	margin: auto;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 30px;
	text-align: center;
}

.stats b {
	display: block;
	font-size: clamp(34px,5vw,56px);
	font-weight: 800;
	color: #fff;
}

.stats span {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	opacity: .9;
}

/* sections */
.section {
	padding: 88px 24px;
}

.section--cream {
	background: linear-gradient(180deg, #fff8f0 0%, #fff1e0 100%);
}

.wrap {
	max-width: 1150px;
	margin: auto;
}

.wrap--narrow {
	max-width: 780px;
}

.head {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 48px;
}

.eyebrow {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--o);
	font-weight: 700;
	margin-bottom: 10px;
}

.head h2,.founder h2 {
	font-size: clamp(28px,4vw,42px);
	font-weight: 800;
	margin-bottom: 14px;
}

.head p {
	font-size: 14px;
}

/* program cards */
.grid3 {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 28px;
}

.pcard {
	border-radius: 20px;
	background: #fff;
	border: 3px solid;
	box-shadow: 0 10px 30px rgba(0,0,0,.1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.pcard--o {
	border-color: #f7b070;
}

.pcard--b {
	border-color: #93a8e8;
}

.pcard--g {
	border-color: #8fd0b4;
}

.pcard__img {
	height: 160px;
	background: var(--g);
	position: relative;
}

.pcard__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pcard__img i {
	z-index: 2;
	position: absolute;
	left: 14px;
	bottom: -16px;
 /* baaki purani properties same rahengi */
	;
}

.pcard__body {
	padding: 30px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pcard small {
	font-size: 10px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--o);
}

.pcard--b small {
	color: #4a63c9;
}

.pcard--g small {
	color: #1f9d6e;
}

.pcard h3 {
	font-size: 20px;
	margin: 6px 0 8px;
}

.pcard p {
	font-size: 12.5px;
	margin-bottom: 14px;
}

.pcard li {
	font-size: 12px;
	margin-bottom: 8px;
	padding-left: 22px;
	position: relative;
}

.pcard li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: 14px;
	height: 14px;
	border: 1.5px solid var(--o);
	color: var(--o);
	border-radius: 50%;
	font-size: 8px;
	display: grid;
	place-items: center;
}

.pcard--b li::before {
	border-color: #4a63c9;
	color: #4a63c9;
}

.pcard--g li::before {
	border-color: #1f9d6e;
	color: #1f9d6e;
}

.pcard ul {
	margin-bottom: 20px;
	flex: 1;
}

/* feature cards */
.grid4 {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 16px;
}

.fcard {
	background: var(--c);
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 14px rgba(0,0,0,.05);
}

.fcard em {
	display: inline-block;
	font-style: normal;
	font-size: 10px;
	font-weight: 700;
	color: var(--o);
	background: #fff;
	border-radius: 6px;
	padding: 6px 8px;
	margin-bottom: 12px;
}

.fcard h3 {
	font-size: 18px;
	margin-bottom: 8px;
}

.fcard p {
	font-size: 12px;
}

/* founder */
.founder {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 60px;
	align-items: center;
	max-width: 1100px;
}

.founder__photo {
	padding: 0 0 18px 18px;
}

.founder__img {
	position: relative;
	height: 440px;
	border-radius: 24px;
	background: linear-gradient(180deg,#6b6bd6,#1a1f3a 75%);
	box-shadow: -18px 18px 0 #5bb5e3;
}

.badge {
	position: absolute;
	top: -18px;
	right: -18px;
	background: var(--o);
	color: #fff;
	border-radius: 14px;
	padding: 12px 20px;
	text-align: center;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
}

.founder__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: 24px;
	display: block;
}

.founder__img::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 24px;
	background: linear-gradient(to top,rgba(10,15,35,.85),transparent 45%);
}

.badge,.founder__cap {
	z-index: 2;
}

.badge b {
	display: block;
	font-family: Outfit;
	font-size: 22px;
}

.founder__cap {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 24px;
	color: #fff;
	font-size: 13px;
}

.founder__cap b,.founder__cap small {
	display: block;
}

.founder__box {
	background: #f7f9fc;
	border-radius: 24px;
	padding: 40px;
}

.founder h2 {
	font-size: clamp(26px,3.4vw,38px);
}

blockquote {
	border-left: 3px solid var(--o);
	padding-left: 16px;
	font-style: italic;
	font-size: 13px;
	margin: 18px 0;
}

.founder__box>p:not(.eyebrow) {
	font-size: 13px;
}

.mini {
	display: flex;
	justify-content: space-around;
	text-align: center;
	font-size: 11px;
	border-top: 1px solid #e3e8ef;
	border-bottom: 1px solid #e3e8ef;
	padding: 16px 0;
	margin: 22px 0;
}

.mini b {
	display: block;
	font-family: Outfit;
	font-size: 18px;
	color: var(--o);
}

/* testimonials */
.slider {
	position: relative;
	max-width: 780px;
	margin: auto;
}

.slides {
	overflow: hidden;
	display: flex;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
}

.tcard {
	flex: 0 0 100%;
	scroll-snap-align: start;
	display: grid;
	grid-template-columns: 200px 1fr;
	background: #fffaf3;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0,0,0,.1);
	min-height: 230px;
}

.tcard__img {
	position: relative;
}

.tcard__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

.tcard__img span {
	position: absolute;
	z-index: 2;
	bottom: 0px;
}

.tcard__img span {
	background: #fff;
	border-radius: 8px;
	padding: 8px 10px;
	font-size: 10px;
	color: var(--txt);
}

.tcard__img b {
	display: block;
	font-size: 12px;
	color: var(--navy);
}

.tcard__txt {
	padding: 28px;
	align-self: center;
}

.stars {
	color: var(--o);
	letter-spacing: 3px;
	margin-bottom: 8px;
}

.tcard__txt p {
	color: var(--navy);
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 14px;
}

.tcard small {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 700;
}

.arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
	cursor: pointer;
	font-size: 18px;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,.1);
}

.arrow--l {
	left: -17px;
}

.arrow--r {
	right: -17px;
}

.dots {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin-top: 22px;
}

.dots button {
	width: 8px;
	height: 8px;
	border-radius: 8px;
	border: 0;
	background: #ecd9c3;
	cursor: pointer;
	transition: width .25s;
}

.dots button.on {
	width: 28px;
	background: var(--o);
}

/* Testimonials: 2 cards per view on desktop */
@media(min-width:901px) {
	.slider {
		max-width: 1150px;
	}

	.slides {
		gap: 20px;
	}

	.tcard {
		flex: 0 0 calc((100% - 20px) / 2);
		grid-template-columns: 210px 1fr;
		min-height: 260px;
	}

	.tcard__img span {
		left: 8px;
		right: 8px;
		bottom: 8px;
	}

	.tcard__txt {
		padding: 22px;
	}

	.tcard__txt p {
		font-size: 14px;
	}
}

/* faq */
.faq details {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 2px 12px rgba(0,0,0,.08);
	margin-bottom: 14px;
}

.faq summary {
	padding: 20px 22px;
	font-weight: 600;
	font-size: 14px;
	color: var(--navy);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.faq summary::after {
	content: "⌄";
	transition: transform .2s;
}

.faq details[open] summary::after {
	transform: rotate(180deg);
}

.faq p {
	padding: 0 22px 20px;
	font-size: 13px;
}

/* cta + footer */
.cta {
	background: var(--o);
	color: #fff;
	text-align: center;
	padding: 80px 24px;
}

.cta h2 {
	color: #fff;
	font-size: clamp(28px,4vw,40px);
	font-weight: 800;
	max-width: 600px;
	margin: 0 auto 14px;
}

.cta p {
	font-size: 13px;
	margin-bottom: 26px;
}

.footer {
	background: #0f1a30;
	color: #aab3c2;
	padding: 50px 24px 24px;
	font-size: 11px;
}

.footer__in {
	max-width: 1000px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.4fr;
	gap: 30px;
}

.footer h4 {
	color: #fff;
	font-size: 12px;
	margin-bottom: 12px;
}

.footer a:not(.logo) {
	display: block;
	margin-bottom: 8px;
}

.footer a:hover {
	color: var(--o);
}

.copy {
	text-align: center;
	margin-top: 50px;
	opacity: .5;
}

/* responsive */
@media(max-width:900px) {
	.grid3,.grid4 {
		grid-template-columns: 1fr 1fr;
	}

	.founder {
		grid-template-columns: 1fr;
	}

	.footer__in {
		grid-template-columns: 1fr 1fr;
	}
}

@media(max-width:640px) {

	.stats__in {
		grid-template-columns: 1fr 1fr;
	}

	.grid3,.grid4,.footer__in {
		grid-template-columns: 1fr;
	}

	.tcard {
		grid-template-columns: 1fr;
	}

	.tcard__img {
		min-height: 150px;
	}

	.arrow--l {
		left: 4px;
	}

	.arrow--r {
		right: 4px;
	}

	.section {
		padding: 60px 20px;
	}
}

@media(prefers-reduced-motion:reduce) {
	* {
		scroll-behavior: auto!important;
		transition: none!important;
	}
}


/* country section */
.section--soft {
	background: linear-gradient(180deg, #fff8f0 0%, #fff1e0 100%);
}

.country-head {
	max-width: 640px;
	margin: 0 auto 40px;
	text-align: center;
}

.country-head h2 {
	font-size: clamp(26px,3.4vw,34px);
	font-weight: 700;
	margin-bottom: 12px;
}

.country-head p {
	font-size: 15px;
	line-height: 1.7;
}

.country-grid {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
}

.ccard {
	display: block;
	background: #fff;
	border-radius: 12px;
	padding: 22px 20px;
	box-shadow: 0 2px 12px rgba(20,34,56,.06);
	transition: box-shadow .2s,transform .2s;
}

.ccard:hover {
	box-shadow: 0 8px 24px rgba(20,34,56,.12);
	transform: translateY(-3px);
}

.ccard__top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.ccard__top img {
	width: 32px;
	height: 22px;
	object-fit: cover;
	border-radius: 3px;
}

.ccard h3 {
	font-size: 20px;
	font-weight: 700;
}

.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tags span {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .03em;
	color: #3b4557;
	background: #f1f3f9;
	border: 1px solid #e1e5ef;
	border-radius: 20px;
	padding: 5px 12px;
}

@media(max-width:900px) {
	.country-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media(max-width:640px) {
	.country-grid {
		grid-template-columns: 1fr;
	}
}


/* platform section */
.wrap--wide {
	max-width: 1150px;
}

.pf {
	display: grid;
	grid-template-columns: 1fr 2.2fr 1fr;
	grid-template-areas: "a main c" "b main d";
	gap: 1px;
	background: #111;
	border: 1px solid #111;
}

.pf__a {
	grid-area: a;
}

.pf__b {
	grid-area: b;
}

.pf__c {
	grid-area: c;
}

.pf__d {
	grid-area: d;
}

.pf__main {
	grid-area: main;
	background: #fdd9c9;
}

.pf__cell {
	background: #fff;
	padding: 36px 20px 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pf__main {
	padding: 36px 28px 28px;
	gap: 14px;
}

.pf h3 {
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .01em;
	line-height: 1.2;
}

.pf__main p {
	font-size: 13.5px;
	color: #111;
	max-width: 480px;
}

.pf__big {
	width: 100%;
	flex: 1;
	min-height: 220px;
	object-fit: cover;
	border: 1px solid #f0a88a;
	margin-top: 12px;
	background: linear-gradient(135deg,#3a3f6b,#111);
}

.vthumb {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	border: 1px solid var(--a);
	padding: 0;
	cursor: pointer;
	background: var(--g);
	overflow: hidden;
}

.vthumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 38px;
	height: 38px;
	margin: -19px 0 0 -19px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.35);
	transition: transform .2s;
}

.play::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 11px;
	border-left: 12px solid #111;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

.vthumb:hover .play {
	transform: scale(1.12);
}

.vmodal {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: rgba(10,15,30,.85);
	display: grid;
	place-items: center;
	padding: 20px;
}

.vmodal[hidden] {
	display: none;
}

.vmodal__box {
	position: relative;
	width: min(900px,100%);
	aspect-ratio: 16/9;
	background: #000;
}

.vmodal__box video,.vmodal__box iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.vmodal__close {
	position: absolute;
	right: 0;
	top: -42px;
	background: none;
	border: 0;
	color: #fff;
	font-size: 34px;
	line-height: 1;
	cursor: pointer;
}

@media(max-width:800px) {
	.pf {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "main main" "a c" "b d";
	}

	.pf__big {
		min-height: 180px;
	}
}

@media(max-width:480px) {
	.pf {
		grid-template-columns: 1fr;
		grid-template-areas: "main" "a" "b" "c" "d";
	}
}

/* WHY CHOOSE US */
.why {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg,#fff8f0 0%,#fff1e0 100%);
}

.why::before,.why::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	opacity: .35;
	pointer-events: none;
}

.why::before {
	width: 320px;
	height: 320px;
	background: #ffc58a;
	top: -120px;
	left: -100px;
}

.why::after {
	width: 280px;
	height: 280px;
	background: #b9c8e6;
	bottom: -120px;
	right: -80px;
}

.why .wrap {
	position: relative;
	z-index: 1;
}

.why__grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 18px;
}

.why__card {
	--c1: #152238;
	--c2: #2f4d7c;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	min-height: 88px;
	border-radius: 16px;
	color: #fff;
	background: linear-gradient(135deg,var(--c1),var(--c2));
	box-shadow: 0 10px 24px rgba(21,34,56,.14);
	transition: transform .3s ease, box-shadow .3s ease;
}

.why__card.v1 {
	--c1: #152238;
	--c2: #2f4d7c;
}

.why__card.v2 {
	--c1: #f58220;
	--c2: #ffa54f;
}

.why__card.v3 {
	--c1: #e06f10;
	--c2: #f7b04a;
}

.why__card p {
	font-family: Outfit,sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	color: #fff;
}

.why__n {
	flex: none;
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 10px;
	background: rgba(255,255,255,.22);
	font: 700 14px Outfit,sans-serif;
	transition: transform .3s ease;
}

/* shine sweep on hover */
.why__card::after {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 50%;
	height: 100%;
	background: linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
	transform: skewX(-20deg);
	transition: left .6s ease;
}

.why__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 32px rgba(21,34,56,.22);
}

.why__card:hover::after {
	left: 130%;
}

.why__card:hover .why__n {
	transform: scale(1.1) rotate(-6deg);
}

/* scroll reveal (JS adds .pre then .in) */
.why__card.pre {
	opacity: 0;
	transform: translateY(26px);
}

.why__card.pre.in {
	opacity: 1;
	transform: none;
	transition: opacity .6s ease var(--d), transform .6s ease var(--d), box-shadow .3s ease;
}

.why__card.pre.in:hover {
	transform: translateY(-6px);
	transition-delay: 0s;
}

@media(max-width:900px) {
	.why__grid {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:560px) {
	.why__grid {
		grid-template-columns: 1fr;
	}
}

@media(prefers-reduced-motion:reduce) {
	.why__card.pre {
		opacity: 1;
		transform: none;
	}

	.why__card,.why__card::after,.why__n {
		transition: none;
	}
}

/* NEW FOOTER */
.ft {
	background: linear-gradient(180deg,#152238 0%,#0d1729 100%);
	color: #b4bdcc;
	font-size: 14px;
	padding: 64px 24px 0;
	border-top: 4px solid var(--o);
}

.ft__in {
	max-width: 1100px;
	margin: auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.4fr;
	gap: 40px;
}

.ft h4 {
	font-family: Outfit,sans-serif;
	color: #fff;
	font-size: 16px;
	margin-bottom: 18px;
	position: relative;
	padding-bottom: 10px;
}

.ft h4::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 32px;
	height: 3px;
	border-radius: 3px;
	background: var(--o);
}

.ft__logo {
	display: inline-block;
	background: #fff;
	padding: 8px 14px;
	border-radius: 10px;
	margin-bottom: 16px;
}

.ft__logo img {
	display: block;
	height: 44px;
	width: auto;
}

.ft__brand p {
	max-width: 300px;
	margin-bottom: 20px;
}

/* social */
.ft__social {
	display: flex;
	gap: 10px;
}

.ft__social a {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	transition: background .25s, transform .25s;
}

.ft__social svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: #fff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ft__social a:hover {
	background: var(--o);
	transform: translateY(-3px);
}

/* lists */
.ft__list li {
	margin-bottom: 10px;
}

.ft__list a {
	position: relative;
	transition: color .2s, padding-left .2s;
}

.ft__list a:hover {
	color: var(--o);
	padding-left: 6px;
}

/* contact */
.ft__contact li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 14px;
	line-height: 1.5;
}

.ft__contact svg {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 3px;
	fill: none;
	stroke: var(--o);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ft__contact a:hover {
	color: var(--o);
}

.ft__btn {
	margin-top: 6px;
}

.ft__btn:hover {
	color: #fff;
}

/* bottom bar */
.ft__bar {
	max-width: 1100px;
	margin: 48px auto 0;
	padding: 20px 0;
	border-top: 1px solid rgba(255,255,255,.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13px;
}

.ft__bar div {
	display: flex;
	gap: 20px;
}

.ft__bar a:hover {
	color: var(--o);
}

@media(max-width:900px) {
	.ft__in {
		grid-template-columns: 1fr 1fr;
	}
}

@media(max-width:560px) {
	.ft {
		padding-top: 48px;
	}

	.ft__in {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ft__bar {
		flex-direction: column;
		text-align: center;
	}
}



/* ABOUT PAGE */
.ab-wrap {
	max-width: 1100px;
	margin: auto;
}

/* 1. intro */
.ab-intro {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 64px;
	align-items: center;
}

.ab-intro__img {
	position: relative;
}

.ab-intro__img::before {
	content: "";
	position: absolute;
	inset: 22px -18px -18px 22px;
	border: 2px solid var(--o);
	border-radius: 22px;
}

.ab-intro__img img {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 5 / 4.4;
	object-fit: cover;
	border-radius: 20px;
}

.ab-intro h1 {
	font-size: clamp(32px,4.4vw,48px);
	font-weight: 800;
	margin-bottom: 20px;
}

.ab-intro p {
	font-size: 16px;
	margin-bottom: 14px;
	max-width: 56ch;
}

.ab-facts {
	display: flex;
	gap: 36px;
	flex-wrap: wrap;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #e3e7ee;
}

.ab-facts b {
	display: block;
	font: 800 30px/1.1 Outfit,sans-serif;
	color: var(--o);
}

.ab-facts span {
	font-size: 13px;
}

/* 2. mission */
.ab-mission {
	background: var(--cream);
}

.ab-split {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 64px;
	align-items: start;
}

.ab-mission h2,
.ab-vision h2,
.ab-founder h2 {
	font-size: clamp(28px,3.6vw,40px);
	font-weight: 800;
	margin-bottom: 18px;
}

.ab-lead {
	font: 500 clamp(19px,2.2vw,24px)/1.45 Outfit,sans-serif;
	color: var(--navy);
	max-width: 30ch;
}

.ab-points li {
	padding-left: 22px;
	border-left: 3px solid var(--o);
	margin-bottom: 28px;
}

.ab-points li:last-child {
	margin-bottom: 0;
}

.ab-points h3 {
	font-size: 19px;
	margin-bottom: 6px;
}

/* 3. vision */
.ab-vision {
	background: var(--navy);
	color: #c3ccdb;
	text-align: center;
}

.ab-vision h2 {
	color: #fff;
}

.ab-vision__lead {
	font: 500 clamp(20px,2.6vw,28px)/1.4 Outfit,sans-serif;
	color: #fff;
	max-width: 760px;
	margin: 0 auto 52px;
}

.ab-goals {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	text-align: left;
}

.ab-goals > div {
	padding: 4px 32px;
	border-left: 1px solid rgba(255,255,255,.18);
}

.ab-goals > div:first-child {
	border-left: 0;
	padding-left: 0;
}

.ab-goals > div:last-child {
	padding-right: 0;
}

.ab-goals h3 {
	color: var(--o);
	font-size: 19px;
	margin-bottom: 8px;
}

/* 4. founder message */
.ab-fm {
	display: grid;
	grid-template-columns: 1.3fr .8fr;
	gap: 64px;
	align-items: center;
}

.ab-fm__txt p {
	font-size: 16px;
	margin-bottom: 16px;
	max-width: 58ch;
}

.ab-fm__txt p:first-of-type {
	font: 500 20px/1.5 Outfit,sans-serif;
	color: var(--navy);
}

.ab-sign {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid #e3e7ee;
}

.ab-sign b {
	display: block;
	font: 700 20px Outfit,sans-serif;
	color: var(--navy);
}

.ab-sign span {
	font-size: 13px;
}

.ab-fm__img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	border-radius: 20px;
	box-shadow: 14px 14px 0 var(--cream);
}

/* responsive */
@media(max-width:900px) {
	.ab-intro,
	.ab-split,
	.ab-fm {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.ab-intro__img {
		margin-right: 18px;
	}

	.ab-fm__img {
		order: -1;
		max-width: 360px;
	}

	.ab-goals {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ab-goals > div,
	.ab-goals > div:first-child,
	.ab-goals > div:last-child {
		padding: 22px 0 0;
		border-left: 0;
		border-top: 1px solid rgba(255,255,255,.18);
	}

	.ab-goals > div:first-child {
		border-top: 0;
		padding-top: 0;
	}
}

/* CONTACT PAGE */
.ct-wrap {
	max-width: 1100px;
	margin: auto;
}

/* 1. info */
.ct-intro {
	max-width: 620px;
	margin-bottom: 44px;
}

.ct-intro h1 {
	font-size: clamp(32px,4.4vw,48px);
	font-weight: 800;
	margin-bottom: 16px;
}

.ct-intro p {
	font-size: 16px;
}

.ct-items {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	border-top: 1px solid #e3e7ee;
}

.ct-item {
	padding: 28px 24px 0 0;
}

.ct-item + .ct-item {
	padding-left: 24px;
	border-left: 1px solid #e3e7ee;
}

.ct-item svg,
.ct-links svg {
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ct-item svg {
	width: 26px;
	height: 26px;
	stroke: var(--o);
	margin-bottom: 12px;
}

.ct-item h3 {
	font-size: 18px;
	margin-bottom: 8px;
}

.ct-item p {
	font-size: 14px;
	margin-bottom: 4px;
}

.ct-item a {
	color: var(--navy);
	font-weight: 600;
}

.ct-item a:hover {
	color: var(--o);
}

/* 2. form */
.ct-form-sec {
	background: var(--cream);
}

.ct-grid {
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 56px;
	align-items: start;
}

.ct-side h2,
.ct-social h2 {
	font-size: clamp(26px,3.4vw,36px);
	font-weight: 800;
	margin-bottom: 14px;
}

.ct-side > p {
	font-size: 16px;
	margin-bottom: 26px;
	max-width: 40ch;
}

.ct-steps {
	list-style: none;
	counter-reset: s;
}

.ct-steps li {
	counter-increment: s;
	position: relative;
	padding: 0 0 20px 46px;
	font-size: 14px;
}

.ct-steps li::before {
	content: counter(s);
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--o);
	color: #fff;
	font: 700 14px Outfit,sans-serif;
}

.ct-steps b {
	display: block;
	color: var(--navy);
	font-size: 15px;
}

.ct-form {
	background: #fff;
	border-radius: 18px;
	padding: 32px;
	box-shadow: 0 10px 30px rgba(21,34,56,.10);
}

.ct-form label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--navy);
	margin-bottom: 16px;
}

.ct-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ct-form input,
.ct-form select,
.ct-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	font: 400 15px Inter,sans-serif;
	color: var(--navy);
	background: #fbfbfd;
	border: 1px solid #d9dee8;
	border-radius: 8px;
	transition: border-color .2s, box-shadow .2s;
}

.ct-form textarea {
	resize: vertical;
	min-height: 120px;
}

.ct-form input:focus,
.ct-form select:focus,
.ct-form textarea:focus {
	outline: 0;
	border-color: var(--o);
	box-shadow: 0 0 0 3px rgba(245,130,32,.2);
}

.ct-submit {
	width: 100%;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	padding: 15px;
	border-radius: 8px;
}

.ct-hp {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.ct-status:empty {
	display: none;
}

.ct-status p {
	padding: 12px 14px;
	border-radius: 8px;
	font-size: 14px;
	margin-bottom: 18px;
}

.ct-ok {
	background: #e8f7ee;
	color: #146c3a;
	border: 1px solid #b7e4c9;
}

.ct-err {
	background: #fdeceb;
	color: #a12622;
	border: 1px solid #f3c1be;
}

/* 3. social */
.ct-social {
	background: var(--navy);
	text-align: center;
	color: #c3ccdb;
}

.ct-social h2 {
	color: #fff;
}

.ct-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 30px;
}

.ct-links a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 40px;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	transition: background .25s, border-color .25s;
}

.ct-links svg {
	width: 18px;
	height: 18px;
	stroke: #fff;
}

.ct-links a:hover {
	background: var(--o);
	border-color: var(--o);
}

/* responsive */
@media(max-width:1000px) {
	.ct-items {
		grid-template-columns: 1fr 1fr;
	}

	.ct-item,
	.ct-item + .ct-item {
		padding: 24px 20px 0 0;
		border-left: 0;
	}
}

@media(max-width:900px) {
	.ct-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media(max-width:560px) {
	.ct-items,
	.ct-row {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ct-form {
		padding: 22px;
	}
}

/* COUNTRY PAGE (CANADA) */

/* 1. hero */
.hero--img {
	background-size: cover;
	background-position: center;
	min-height: 620px;
}

.cn-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 22px;
	font-size: 13px;
	color: #e8ecf2;
}

.cn-chips li {
	position: relative;
	padding-left: 18px;
}

.cn-chips li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #ffb066;
	font-weight: 700;
}

/* 2. problems */
.cn-probs {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

.cn-prob {
	background: #fff;
	border: 1px solid #e6e9f0;
	border-top: 3px solid var(--o);
	border-radius: 12px;
	padding: 24px;
}

.cn-prob h3 {
	font-size: 18px;
	margin-bottom: 8px;
}

.cn-prob p {
	font-size: 14px;
}

.cn-fix {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed #dfe3ec;
	color: var(--navy);
}

.cn-fix b {
	color: var(--o2);
}

/* shared tick list */
.cn-ticks li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	font-size: 14px;
}

.cn-ticks li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 2px;
	width: 17px;
	height: 17px;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--c,var(--o));
	color: var(--c,var(--o));
	border-radius: 50%;
	font-size: 10px;
	font-weight: 700;
}

/* 3. trust */
.cn-trust {
	max-width: 1100px;
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 56px;
	align-items: center;
}

.cn-trust__img {
	position: relative;
}

.cn-trust__img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center top;
	border-radius: 20px;
}

.cn-trust__img .badge {
	position: absolute;
	right: -14px;
	bottom: 24px;
	background: var(--o);
	color: #fff;
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 12px;
	text-align: center;
	line-height: 1.2;
}

.cn-trust__img .badge b {
	display: block;
	font: 800 26px Outfit,sans-serif;
}

.cn-trust h2 {
	font-size: clamp(26px,3.4vw,38px);
	font-weight: 800;
	margin-bottom: 14px;
}

.cn-lead {
	font-size: 16px;
	max-width: 56ch;
	margin-bottom: 24px;
}

.cn-ticks--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 24px;
	margin-bottom: 20px;
}

/* 4. plans: price row */
.cn-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 16px;
	padding-top: 16px;
	border-top: 1px solid #edeff4;
}

.cn-price b {
	font: 800 28px Outfit,sans-serif;
	color: var(--navy);
}

.cn-price span {
	font-size: 12px;
}

/* 5. boards */
.cn-boards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.cn-board {
	background: #fff;
	border-radius: 16px;
	border-left: 6px solid var(--c);
	padding: 26px 28px;
	box-shadow: 0 6px 20px rgba(21,34,56,.08);
}

.cn-board h3 {
	font-size: 26px;
	color: var(--c);
}

.cn-for {
	font-size: 13px;
	margin: 2px 0 16px;
}

/* responsive */
@media(max-width:900px) {
	.cn-probs {
		grid-template-columns: 1fr 1fr;
	}

	.cn-trust {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.cn-trust__img {
		max-width: 360px;
	}

	.cn-boards {
		grid-template-columns: 1fr;
	}
}

@media(max-width:560px) {
	.hero--img {
		min-height: 520px;
	}

	.cn-probs,
	.cn-ticks--2 {
		grid-template-columns: 1fr;
	}
}

/* WhatsApp CTA after each section */
.cn-cta {
	text-align: center;
	margin-top: 44px;
}

.cn-cta--left {
	text-align: left;
	margin-top: 26px;
}

.btn.cn-wa {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.cn-wa svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #fff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

@media(max-width:560px) {
	.cn-cta .btn {
		display: flex;
		justify-content: center;
	}
}


/* FLOATING WHATSAPP BUTTON */
.wa-float {
	position: fixed;
	right: 20px;
	bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	display: flex;
	align-items: center;
	gap: 10px;
}

.wa-float__icon {
	position: relative;
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 6px 18px rgba(0,0,0,.28);
	transition: transform .25s ease, background .25s ease;
}

.wa-float__icon svg {
	width: 32px;
	height: 32px;
}

/* soft pulse ring */
.wa-float__icon::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid #25d366;
	animation: wa-pulse 2.4s ease-out infinite;
}

@keyframes wa-pulse {
	0% {
		transform: scale(1);
		opacity: .7;
	}

	100% {
		transform: scale(1.6);
		opacity: 0;
	}
}

/* label appears on hover (desktop) */
.wa-float__label {
	background: #fff;
	color: var(--navy);
	font: 600 13px Inter,sans-serif;
	padding: 8px 14px;
	border-radius: 20px;
	box-shadow: 0 4px 14px rgba(0,0,0,.18);
	opacity: 0;
	transform: translateX(8px);
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
}

.wa-float:hover .wa-float__label,
.wa-float:focus-visible .wa-float__label {
	opacity: 1;
	transform: none;
}

.wa-float:hover .wa-float__icon {
	transform: scale(1.08);
	background: #1ebe5b;
}

@media(max-width:560px) {
	.wa-float {
		right: 14px;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
	}

	.wa-float__icon {
		width: 54px;
		height: 54px;
	}

	.wa-float__label {
		display: none;
	}
}

@media(prefers-reduced-motion:reduce) {
	.wa-float__icon::after {
		animation: none;
		display: none;
	}
}

/* ===== ABOUT / SEO CONTENT SECTION ===== */
.om-intro {
	max-width: 820px;
	margin: 0 auto 44px;
	text-align: center;
}

.om-intro p {
	font-size: 15.5px;
	line-height: 1.8;
	margin-bottom: 14px;
}

.om-intro b,.om-cta b {
	color: var(--navy);
}

.om-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
}

.om-chips span {
	font-size: 12px;
	font-weight: 700;
	color: var(--navy);
	background: var(--cream);
	border: 1px solid #ffdcb8;
	border-radius: 30px;
	padding: 7px 16px;
}

.om-sub {
	text-align: center;
	margin: 0 auto 30px;
	max-width: 680px;
}

.om-sub h3 {
	font-family: Outfit,sans-serif;
	font-size: clamp(22px,3vw,30px);
	font-weight: 800;
	color: var(--navy);
	margin-bottom: 10px;
}

.om-sub p {
	font-size: 14.5px;
	line-height: 1.7;
}

.om-boards {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 20px;
	margin-bottom: 72px;
}

.om-board {
	background: #fff;
	border-radius: var(--r);
	padding: 26px 22px;
	box-shadow: 0 2px 14px rgba(20,34,56,.07);
	border-top: 4px solid var(--o);
	transition: transform .2s,box-shadow .2s;
}

.om-board:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 28px rgba(20,34,56,.13);
}

.om-board:nth-child(2) {
	border-top-color: var(--navy);
}

.om-board:nth-child(3) {
	border-top-color: #2f4d7c;
}

.om-board:nth-child(4) {
	border-top-color: #f7b04a;
}

.om-board__tag {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--o2);
	background: var(--cream);
	border-radius: 20px;
	padding: 4px 12px;
	margin-bottom: 12px;
}

.om-board h4 {
	font-family: Outfit,sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 10px;
	line-height: 1.3;
}

.om-board p {
	font-size: 13.5px;
	line-height: 1.7;
}

/* 1-on-1 benefits */
.om-why {
	background: linear-gradient(135deg,#152238,#2f4d7c);
	border-radius: 20px;
	padding: 56px 48px;
	margin-bottom: 72px;
	color: #fff;
}

.om-why .om-sub h3 {
	color: #fff;
}

.om-why .om-sub p {
	color: #c9d3e6;
}

.om-why__grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 20px;
}

.om-why__item {
	display: flex;
	gap: 16px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 14px;
	padding: 22px;
}

.om-why__n {
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--o);
	color: #fff;
	font-family: Outfit,sans-serif;
	font-weight: 800;
	font-size: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.om-why__item h4 {
	font-family: Outfit,sans-serif;
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 6px;
	color: #fff;
}

.om-why__item p {
	font-size: 13.5px;
	line-height: 1.7;
	color: #d5dded;
}

/* class-wise */
.om-levels {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 20px;
	margin-bottom: 72px;
}

.om-level {
	position: relative;
	background: #fff;
	border-radius: var(--r);
	padding: 28px 24px;
	box-shadow: 0 2px 14px rgba(20,34,56,.07);
	overflow: hidden;
}

.om-level::after {
	content: "";
	position: absolute;
	right: -30px;
	top: -30px;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: var(--cream);
}

.om-level__cls {
	position: relative;
	z-index: 1;
	font-family: Outfit,sans-serif;
	font-size: 34px;
	font-weight: 800;
	color: var(--o);
	line-height: 1;
	margin-bottom: 6px;
}

.om-level h4 {
	position: relative;
	z-index: 1;
	font-family: Outfit,sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 10px;
}

.om-level p {
	position: relative;
	z-index: 1;
	font-size: 13.5px;
	line-height: 1.7;
}

/* regions */
.om-regions {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 20px;
	margin-bottom: 56px;
}

.om-region {
	background: #fff;
	border-radius: var(--r);
	padding: 24px 22px;
	box-shadow: 0 2px 14px rgba(20,34,56,.07);
	border-left: 4px solid var(--o);
}

.om-region h4 {
	font-family: Outfit,sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 8px;
}

.om-region p {
	font-size: 13.5px;
	line-height: 1.7;
}

/* CTA */
.om-cta {
	text-align: center;
	background: linear-gradient(135deg,var(--o),#ffa54f);
	border-radius: 20px;
	padding: 52px 32px;
	color: #fff;
}

.om-cta h3 {
	font-family: Outfit,sans-serif;
	font-size: clamp(24px,3.4vw,34px);
	font-weight: 800;
	margin-bottom: 14px;
	color: #fff;
}

.om-cta p {
	max-width: 720px;
	margin: 0 auto 12px;
	font-size: 15px;
	line-height: 1.75;
	color: #fff;
}

.om-cta b {
	color: #fff;
}

.om-cta .btn {
	background: #fff;
	color: var(--o2);
	margin-top: 14px;
}

.om-cta .btn:hover {
	background: var(--navy);
	color: #fff;
}

@media(max-width:1000px) {
	.om-boards {
		grid-template-columns: repeat(2,1fr);
	}
}

@media(max-width:900px) {
	.om-levels,.om-regions {
		grid-template-columns: 1fr;
	}

	.om-why {
		padding: 40px 24px;
	}
}

@media(max-width:640px) {
	.om-boards,.om-why__grid {
		grid-template-columns: 1fr;
	}

	.om-cta {
		padding: 40px 20px;
	}
}

/* ===== PRICING SECTION ===== */
.pr__grades {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin-bottom: 40px;
}

.pr__label {
	font-family: Outfit,sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--navy);
}

.pr__opts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	background: #fff;
	padding: 8px;
	border-radius: 50px;
	box-shadow: 0 2px 14px rgba(20,34,56,.08);
}

.pr__opt {
	font-family: Outfit,sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--navy);
	background: transparent;
	border: 0;
	border-radius: 40px;
	padding: 12px 24px;
	cursor: pointer;
	transition: background .2s,color .2s;
}

.pr__opt:hover {
	background: var(--cream);
}

.pr__opt:focus-visible {
	outline: 2px solid var(--o);
	outline-offset: 2px;
}

.pr__opt.is-on {
	background: var(--o);
	color: #fff;
}

.pr__note {
	font-size: 14px;
	color: var(--txt);
	text-align: center;
}

.pr__note b {
	color: var(--navy);
}

.pr__cards {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 28px;
	max-width: 900px;
	margin: 0 auto;
}

.pr__card {
	--c: #ffb48a;
	--bg: #fff1e6;
	--bd: #f58220;
	background: var(--bg);
	border: 2px solid var(--bd);
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s,box-shadow .2s;
}

.pr__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(20,34,56,.13);
}

.pr__card--b {
	--c: #c9d6f5;
	--bg: #eef3ff;
	--bd: #2f4d7c;
}

.pr__top {
	background: var(--c);
	padding: 26px 28px;
	font-family: Outfit,sans-serif;
	font-size: 26px;
	font-weight: 800;
	color: var(--navy);
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
}

.pr__big {
	font-size: 56px;
	line-height: 1;
}

.pr__top small {
	font-size: 15px;
	font-weight: 600;
	margin-left: auto;
}

.pr__body {
	padding: 26px 28px 30px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pr__rate {
	font-size: 15px;
	font-weight: 700;
	color: var(--txt);
	margin-bottom: 4px;
}

.pr__rate-v {
	font-size: 45px;
	color: var(--navy);
}

.pr__list b[data-total-out] {
	display: inline-block;
	/*
	font-size: 20px;
	color: var(--o2);
	*/
	transition: transform .25s,opacity .25s;
}

.pr__list b[data-total-out].is-swap {
	transform: translateY(4px);
	opacity: 0;
}

.pr__list {
	list-style: none;
	margin-bottom: 26px;
	flex: 1;
}

.pr__list li {
	position: relative;
	padding: 0 0 12px 30px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--navy);
}

.pr__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 16px;
	height: 9px;
	border-left: 3px solid #10b35a;
	border-bottom: 3px solid #10b35a;
	transform: rotate(-45deg);
}

.pr__foot {
	text-align: center;
	margin-top: 32px;
	font-size: 14px;
}

@media(max-width:700px) {
	.pr__cards {
		grid-template-columns: 1fr;
	}

	.pr__opts {
		border-radius: 20px;
	}

	.pr__opt {
		padding: 10px 16px;
		font-size: 14px;
	}
}

@media(prefers-reduced-motion:reduce) {
	.pr__card,.pr__list b[data-total-out] {
		transition: none;
	}
}

/* Grades 6-12 */
.cn-grades {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}

.cn-grade {
	width: calc((100% - 72px) / 3);
	background: #fff;
	border-radius: 16px;
	border-top: 4px solid var(--c);
	box-shadow: 0 6px 20px rgba(21,34,56,.08);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.cn-grade__img {
	position: relative;
	height: 150px;
	background: var(--c);
}

.cn-grade__img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cn-grade__tag {
	position: absolute;
	left: 14px;
	bottom: 12px;
	background: var(--c);
	color: #fff;
	font-family: Outfit,sans-serif;
	font-weight: 600;
	font-size: 14px;
	padding: 4px 14px;
	border-radius: 20px;
}

.cn-grade__body {
	padding: 20px 20px 10px;
	flex: 1;
}

.cn-grade__body h3 {
	font-size: 18px;
	margin-bottom: 8px;
}

.cn-grade__body > p {
	font-size: 13.5px;
	margin-bottom: 14px;
}

.cn-grade .cn-ticks li {
	font-size: 13px;
}

@media(max-width:1100px) {
	.cn-grade {
		width: calc((100% - 48px) / 3);
	}
}

@media(max-width:800px) {
	.cn-grade {
		width: calc((100% - 24px) / 2);
	}
}

@media(max-width:560px) {
	.cn-grade {
		width: 100%;
	}
}

/* Right tutor */
.cn-rt {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 60px;
	align-items: center;
	max-width: 1100px;
}

.cn-rt__left h2 {
	font-size: clamp(30px,4vw,44px);
	margin-bottom: 16px;
}

.cn-rt__left p {
	font-size: 16px;
	max-width: 420px;
	margin-bottom: 28px;
}

.cn-rt__list li {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 22px 0;
	border-bottom: 1px dashed #dfe3ec;
}

.cn-rt__list li:first-child {
	padding-top: 0;
}

.cn-rt__list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.cn-rt__ic {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--cream);
	border: 2px solid var(--o);
	display: grid;
	place-items: center;
}

.cn-rt__ic svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: var(--o);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.cn-rt__list h3 {
	font-size: 22px;
	margin-bottom: 4px;
}

.cn-rt__list p {
	font-size: 15px;
}

@media(max-width:800px) {
	.cn-rt {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media(max-width:560px) {
	.cn-rt__left .btn {
		display: flex;
		justify-content: center;
	}
}

/* 8. SEO CONTENT */
.cn-seo {
	max-width: 1100px;
}

.cn-seo h1 {
	font-size: clamp(28px,4vw,40px);
	font-weight: 800;
	margin-bottom: 18px;
}

.cn-seo h2 {
	font-size: clamp(22px,3vw,30px);
	font-weight: 700;
	margin: 40px 0 14px;
}

.cn-seo h3 {
	font-size: 19px;
	font-weight: 700;
	margin: 26px 0 10px;
}

.cn-seo h4 {
	font-family: Outfit,sans-serif;
	font-size: 17px;
	color: var(--navy);
	margin: 18px 0 8px;
}

.cn-seo h5 {
	font-family: Outfit,sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--o2);
	margin-bottom: 8px;
}

.cn-seo p {
	font-size: 15px;
	line-height: 1.75;
	margin-bottom: 14px;
}

.cn-seo strong {
	color: var(--navy);
	font-weight: 700;
}

.cn-seo a strong {
	color: var(--o2);
}

.cn-seo .cn-ticks li {
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 14px;
}

.cn-seo .cn-ticks li h3,
.cn-seo .cn-ticks li h4 {
	display: inline;
	font-size: 15px;
	margin: 0;
	font-family: Inter,sans-serif;
}

.cn-seo .cn-ticks li h3::after,
.cn-seo .cn-ticks li h4::after {
	content: ":";
}

.cn-seo__cities {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 20px 0 24px;
}

.cn-seo__cities > div {
	background: #fff8f0;
	border: 1px solid #f3dfc7;
	border-radius: var(--r);
	padding: 20px;
}

.cn-seo__cities p {
	font-size: 14px;
	margin-bottom: 0;
}

.cn-seo__img {
	margin-top: 32px;
}

.cn-seo__img img {
	display: block;
	width: 100%;
	max-width: 620px;
	height: auto;
	margin: 0 auto;
	border-radius: 20px;
}

@media(max-width:640px) {
	.cn-seo__cities {
		grid-template-columns: 1fr;
	}
}

/* SEO content: comparison table */
.cn-seo__table {
	overflow-x: auto;
	margin: 20px 0 24px;
	border: 1px solid #f3dfc7;
	border-radius: var(--r);
}

.cn-seo__table table {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: 14px;
}

.cn-seo__table th,
.cn-seo__table td {
	padding: 14px 16px;
	text-align: left;
	border-bottom: 1px solid #f3dfc7;
	vertical-align: top;
}

.cn-seo__table thead th {
	background: var(--o);
	color: #fff;
	font-weight: 700;
}

.cn-seo__table tbody th {
	color: var(--navy);
	font-weight: 700;
	background: #fff8f0;
}

.cn-seo__table tbody tr:last-child th,
.cn-seo__table tbody tr:last-child td {
	border-bottom: 0;
}

.cn-seo__cities--3 {
	grid-template-columns: repeat(3,1fr);
}

@media(max-width:900px) {
	.cn-seo__cities--3 {
		grid-template-columns: 1fr 1fr;
	}
}

@media(max-width:640px) {
	.cn-seo__cities--3 {
		grid-template-columns: 1fr;
	}
}