/* ==========================================================================
   IAMLC landing pages — Level 1 certification (/certification/) and Level 2 (/level-2/)
   Root: .lp  (modifiers .lp--l1 / .lp--l2)
   Rebuilt from capture/assets/css/page-pages_certification.css + page-pages_level-2.css
   ========================================================================== */

/* ---------- Base ---------- */
.lp { color: var(--text); overflow-x: clip; }
.lp h2 {
	font-size: 30px; line-height: 1.3em; font-weight: 400; text-transform: uppercase;
	color: var(--text); margin: 0;
}
.lp h2 span { color: var(--purple); }
.lp h3 { margin: 0; font-weight: 400; line-height: 1.3; color: var(--text); }
.lp p { font-size: 16px; line-height: 1.6em; margin: 0; }
.lp ul { list-style: none; margin: 0; padding: 0; }
.lp strong { font-weight: inherit; }
.lp img { max-width: 100%; height: auto; }

.lp a:focus-visible,
.lp button:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }

.lp .lp-wide { max-width: 1400px; margin: 0 auto; }
.lp .lp-c { max-width: 1140px; margin: 0 auto; padding: 0; }

/* ---------- CTA buttons ---------- */
.lp .lp-btns { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px; }
.lp .lp-btns--center { justify-content: center; }
.lp .lp-btn {
	display: inline-block; margin-top: 30px; padding: 15px 30px;
	font-family: var(--font); font-size: 16px; line-height: 25px; font-weight: 400; text-align: center;
	color: #fff; background: var(--orange); border: 1px solid var(--orange); border-radius: 10px;
	cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.lp .lp-btn:hover,
.lp .lp-btn:focus-visible { background: transparent; color: var(--orange); border-color: var(--orange); }

/* ---------- Banner (Level 1: single image) ---------- */
.lp .lp-banner { position: relative; }
.lp .lp-banner-img { display: block; width: 100%; height: 530px; object-fit: cover; }

/* ---------- Banner slider (Level 2) ---------- */
.lp .lp-slider { overflow: hidden; }
.lp .lp-slides { position: relative; }
.lp .lp-slide {
	position: absolute; top: 0; left: 0; display: block; width: 100%; height: auto;
	opacity: 0; transition: opacity 1s ease-in-out;
}
.lp .lp-slide.is-active { position: relative; opacity: 1; }
.lp .lp-slider-btn {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	margin: 0; padding: 10px 15px; border: 0; border-radius: 5px;
	background: rgba(0, 0, 0, .4); color: #fff; font-size: 18px; line-height: 25px; cursor: pointer;
	transition: background .2s;
}
.lp .lp-slider-btn:hover,
.lp .lp-slider-btn:focus-visible { background: rgba(0, 0, 0, .7); }
.lp .lp-slider-btn:focus-visible { outline-color: #fff; }
.lp .lp-slider-prev { left: 10px; }
.lp .lp-slider-next { right: 10px; }

/* ---------- Split sections (intro + aligned) ---------- */
.lp .lp-split { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.lp .lp-col-text { width: 50%; }
.lp .lp-col-img { width: 50%; display: flex; align-items: center; padding: 10px; }

.lp .lp-intro { padding-top: 0; }
.lp .lp-intro .lp-wide { padding: 0 20px 30px; }
.lp .lp-intro .lp-col-text p { padding-top: 20px; width: 70%; }
.lp .lp-intro .lp-btn { margin-top: 20px; }
.lp .lp-intro .lp-col-text .lp-tagline { padding-top: 0; width: auto; font-size: 20px; line-height: 28px; color: #000; }

.lp .lp-aligned .lp-wide { padding: 20px; }
.lp .lp-aligned p { color: var(--muted); }
.lp .lp-aligned .lp-lead { margin-top: 20px; }
.lp .lp-aligned .lp-note { font-style: italic; }

/* ---------- Tick lists ---------- */
.lp .lp-ticks li { position: relative; padding-left: 30px; margin-bottom: 12px; }
.lp .lp-ticks li::before {
	content: "\2714"; position: absolute; left: 0; top: 2px; color: var(--purple); font-weight: 700;
}
.lp .lp-ticks--compact li { line-height: 24px; }

/* ---------- Purple band ---------- */
.lp .lp-band { background: var(--purple); }
.lp .lp-band-inner { max-width: 1140px; margin: 0 auto; padding: 50px 20px; text-align: center; color: #fff; }
.lp .lp-band h2,
.lp .lp-band h2 span { color: #fff; }
.lp .lp-band p { padding-top: 20px; color: #fff; }
.lp .lp-pills { display: flex; justify-content: space-between; }
.lp .lp-pills li {
	flex: 1 1 0; margin-top: 20px; padding: 15px 30px; line-height: 25px;
	border: 1px solid #fff; border-radius: 50px; color: #fff;
}
.lp .lp-band .lp-btns { justify-content: center; }
.lp .lp-band .lp-btn:hover,
.lp .lp-band .lp-btn:focus-visible { background: transparent; color: #fff; border-color: #fff; }
.lp .lp-band a:focus-visible { outline-color: #fff; }

/* ---------- Icon rows: "You'll guide people to" / "Why Level 2" ---------- */
.lp .lp-guide { text-align: center; }
.lp .lp-guide-sub { font-size: 16px; }
.lp .lp-guide-row { display: flex; justify-content: space-evenly; padding: 40px 0; }
.lp .lp-guide-item { width: 25%; }
.lp .lp-guide-item img { margin: 0 auto; }
.lp .lp-guide-item h3 { font-size: 20px; }
.lp .lp-guide-item p { font-size: 18px; }

/* ---------- Feature bands (60/40 text + image) ---------- */
.lp .lp-feature { display: flex; align-items: center; justify-content: space-between; }
.lp .lp-feature--gray { background: var(--bg-gray); }
.lp .lp-feature--cream { background: var(--bg-cream); }
.lp .lp-feature-text { width: 60%; padding-left: 40px; }
.lp .lp-feature-img { width: 40%; display: flex; align-items: center; }
.lp .lp-feature-img img { width: 100%; }
.lp .lp-feature h2 { padding: 0 0 20px 20px; }
.lp .lp-feature h2 span,
.lp .lp-panel h2 span { color: var(--accent); }
.lp .lp-feature .lp-ticks li { font-size: 18px; line-height: 35px; padding-right: 20px; }
.lp .lp-feature-intro { padding-left: 20px; font-size: 18px !important; }
/* Level 2 variant: rounded panels with inner padding */
.lp .lp-feature--rounded { padding: 50px; border-radius: 20px; }
.lp .lp-feature--rounded .lp-feature-text { padding: 40px; }
.lp .lp-img-rounded { border-radius: 20px; }

/* ---------- What makes us different ---------- */
.lp .lp-different { background: var(--bg-gray); padding: 50px 0; text-align: center; }
.lp .lp-different h2 { padding-bottom: 30px; }
.lp .lp-different-row { display: flex; justify-content: center; }
.lp .lp-different-item { width: 30%; }
.lp .lp-different-item img { margin: 0 auto; }
.lp .lp-different-item h3 { font-size: 16px; }

/* ---------- Certificate panel ("By the end of this program") ---------- */
.lp .lp-panel {
	display: flex; align-items: center; justify-content: space-between;
	background: var(--bg-cream); padding: 50px; border-radius: 20px;
}
.lp .lp-panel-img { width: 40%; display: flex; align-items: center; }
.lp .lp-panel-img img { width: 100%; border-radius: 20px; }
.lp .lp-panel-text { width: 60%; padding-left: 40px; }
.lp .lp-panel h2 { padding-bottom: 20px; }
.lp .lp-panel .lp-ticks li { font-size: 18px; line-height: 35px; }

/* ---------- Jump / Back buttons ---------- */
.lp .lp-jump { text-align: center; }
.lp .lp-feature--rounded + .lp-jump { padding-top: 21px; } /* keeps the original's spacing below the requirements panel */

/* ---------- Master coaches ---------- */
.lp .lp-coaches { text-align: center; }
.lp .lp-coaches h2 { padding-top: 1.3em; }
.lp .lp-coach-row { display: flex; justify-content: center; gap: 20px; padding-top: 20px; }
.lp .lp-coach {
	width: 50%; margin-bottom: 20px; padding: 20px; text-align: left;
	border: 1px solid #E4E4E7; border-radius: 10px;
}
.lp .lp-coach img { width: 100%; }
.lp .lp-coach h3 { font-size: 16px; padding-top: 20px; }
.lp .lp-coach .lp-coach-role { padding-top: 10px; line-height: 1.3; color: var(--muted); }
.lp .lp-coach p { padding-top: 10px; }
.lp .lp-coaches .lp-btn { margin-top: 35px; }

/* ---------- FAQ ---------- */
.lp .lp-faq .lp-c { padding: 50px 0; text-align: center; }
.lp .lp-faq-panel { margin: 20px auto; padding: 50px; background: var(--bg-gray); border-radius: 20px; }
.lp .lp-faq-item { border-bottom: 1px solid #ddd; padding: 10px 0; }
.lp .lp-faq-q { font-size: 16px; }
.lp .lp-faq-q button {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%;
	margin-top: 30px; padding: 10px 0; background: none; border: 0; border-radius: 0;
	font-family: var(--font); font-size: 16px; line-height: 25px; font-weight: 400; color: #000; text-align: left; cursor: pointer;
}
.lp .lp-faq-icon { flex: 0 0 auto; font-weight: 700; font-size: 1.2rem; transition: transform .3s ease; }
.lp .lp-faq-item.is-open .lp-faq-icon { transform: rotate(180deg); }
.lp .lp-faq-a { text-align: left; }
.lp .lp-faq-a-inner { padding: 10px 0; }
.lp .lp-faq-a p { margin: 10px 0; }
.lp .lp-faq-a li { line-height: 1.5; margin-bottom: 4px; }
/* collapsed state only once JS is running (content stays readable without JS) */
.lp .lp-faq-panel.is-ready .lp-faq-a {
	max-height: 0; overflow: hidden; visibility: hidden;
	transition: max-height .4s ease, visibility 0s linear .4s;
}
.lp .lp-faq-panel.is-ready .lp-faq-item.is-open .lp-faq-a {
	visibility: visible; transition: max-height .4s ease, visibility 0s linear 0s;
}

/* ---------- Testimonials ---------- */
.lp .lp-testimonials { background: var(--bg-lavender); padding: 50px 0; text-align: center; }
.lp .lp-tslider { width: 1400px; max-width: 100%; margin: 0 auto; padding: 30px 20px; overflow: hidden; }
.lp .lp-tswiper { overflow: hidden; }
.lp .lp-tswiper .swiper-slide { height: auto; }
.lp .lp-tcard {
	position: relative; height: 100%; margin: 0; padding: 30px; text-align: left;
	background: #fff; border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, .1);
}
.lp .lp-tcard-head { display: flex; align-items: center; }
.lp .lp-tcard-head img { width: 50px; height: 50px; border-radius: 50%; flex: 0 0 auto; }
.lp .lp-tcard-who { display: flex; flex-direction: column; margin-left: 15px; }
.lp .lp-tcard-name { font-size: 18px; line-height: 1.3; color: var(--text); }
.lp .lp-tcard-batch { font-size: 14px; line-height: 1.6; color: #777; }
.lp .lp-tcard-text { margin: 15px 0; }
.lp .lp-tcard-text p { height: 300px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.lp .lp-tcard-comma { position: absolute; right: 15px; bottom: 15px; width: 30px; height: auto; opacity: .3; }

/* ---------- Supervision Sessions popup (Level 2) ---------- */
.lp .lp-popup {
	padding: 0; border: 0; background: transparent; max-width: min(900px, 94vw); max-height: 96vh; overflow: visible;
}
.lp .lp-popup::backdrop { background: rgba(0, 0, 0, .8); }
.lp .lp-popup-content { position: relative; text-align: center; }
.lp .lp-popup-content img { display: block; width: auto; max-width: 100%; max-height: 92vh; margin: 0 auto; border-radius: 8px; }
.lp .lp-popup-close {
	position: absolute; top: 6px; right: 6px; z-index: 1; width: 40px; height: 40px; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff;
	font-size: 30px; line-height: 40px; font-weight: 700; cursor: pointer;
}
.lp .lp-popup-close:focus-visible { outline-color: #fff; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1169px) {
	.lp .lp-c { padding: 0 15px; }
}

@media (max-width: 1023px) {
	/* intro */
	.lp .lp-intro { padding: 40px 20px 0; }
	.lp .lp-intro .lp-wide { flex-direction: column; text-align: center; padding: 0 20px; }
	.lp .lp-split .lp-col-text,
	.lp .lp-split .lp-col-img { width: 100%; }
	.lp .lp-intro .lp-btns { justify-content: center; }

	/* aligned */
	.lp .lp-aligned { padding: 0 20px 20px; }
	.lp .lp-aligned .lp-wide { flex-direction: column; gap: 0; padding: 0 20px 20px; text-align: center; }
	.lp .lp-aligned .lp-btns { justify-content: center; }
	.lp .lp-aligned .lp-ticks { text-align: left; }
	.lp .lp-col-img { justify-content: center; }

	/* icon rows */
	.lp .lp-guide-row { padding: 0; flex-wrap: wrap; }
	.lp .lp-guide-item { width: 45%; margin-bottom: 20px; }

	/* feature bands */
	.lp .lp-feature { flex-wrap: wrap; padding: 20px; }
	.lp .lp-feature-text,
	.lp .lp-feature-img { width: 100%; }

	/* certificate panel */
	.lp .lp-panel { flex-wrap: wrap; padding: 20px; }
	.lp .lp-panel-text,
	.lp .lp-panel-img { width: 100%; padding: 20px 0 0; }

	/* coaches */
	.lp .lp-coach-row { flex-wrap: wrap; padding: 20px; }
	.lp .lp-coach { width: 90%; }
	.lp .lp-coaches .lp-c { padding: 0; }

	/* testimonials */
	.lp .lp-testimonials { padding: 20px 0; }
	.lp .lp-tslider { width: 700px; padding: 40px 20px; }
	.lp .lp-tcard-text p { height: auto; }
}

@media (max-width: 767px) {
	.lp h2 { font-size: 20px; line-height: 1.2em; }

	/* buttons: Level 1 stacks centred half-width buttons, Level 2 keeps a centred row */
	.lp .lp-btns { justify-content: center; }
	.lp .lp-btn { padding: 10px 20px; border-radius: 4px; margin-top: 20px; }
	.lp--l1 .lp-btns { flex-direction: column; align-items: center; gap: 0; }
	.lp--l1 .lp-btn { width: 50%; min-width: max-content; }
	.lp--l1 .lp-jump .lp-btn { width: 45%; }
	.lp--l2 .lp-btns { flex-wrap: nowrap; gap: 10px; }
	.lp--l2 .lp-btn { flex: 0 1 auto; }
	.lp .lp-coaches .lp-btn { margin-top: 20px; }

	/* banners */
	.lp .lp-slider-btn { display: none; }

	/* intro */
	.lp .lp-intro .lp-wide { gap: 0; }
	.lp .lp-intro .lp-col-text p { width: 100%; }
	.lp .lp-intro .lp-col-text .lp-tagline { font-size: 16px; line-height: 1.4; }
	.lp .lp-intro .lp-col-img { flex-direction: column; gap: 10px; }
	.lp .lp-split .lp-col-img { width: calc(100% + 80px); margin: 0 -40px; }
	.lp .lp-split .lp-col-img img { width: 400px; }

	/* band */
	.lp .lp-pills { flex-direction: column; }
	.lp .lp-pills li { flex: none; width: 100%; }

	/* icon rows */
	.lp .lp-guide-row { flex-direction: column; align-items: center; }
	.lp .lp-guide-item { width: 80%; }
	.lp--l2 .lp-guide { padding: 0 20px; }
	.lp--l2 .lp-guide-item { width: 100%; }
	.lp .lp-different-row { flex-wrap: wrap; }
	.lp .lp-different-item { width: 100%; padding: 20px; }

	/* feature bands */
	.lp .lp-feature-text { padding-left: 0; }
	.lp .lp-feature--rounded .lp-feature-text { padding: 0; }
	.lp .lp-feature .lp-ticks li { font-size: 16px; }
	.lp .lp-feature--gray { gap: 20px; }
	.lp .lp-feature--cream .lp-feature-text { padding-top: 20px; }
	.lp .lp-feature--cream h2 { padding-bottom: 0; }

	/* panel */
	.lp .lp-panel h2 { padding-bottom: 0; }

	/* FAQ */
	.lp .lp-faq .lp-c { padding: 20px 0; }
	.lp .lp-faq-panel { padding: 20px; margin: 10px auto; }

	/* coaches */
	.lp .lp-coach { width: 100%; }

	/* testimonials */
	.lp .lp-tslider { width: 100%; padding: 20px; }
}

/* the original crops the Level 1 banner to 530px tall down to 641px wide, which cuts off the
   baked-in title on tablets; show the whole image below desktop width instead */
@media (max-width: 1023px) {
	.lp .lp-banner-img { height: auto; }
}

@media (max-width: 359px) {
	.lp--l2 .lp-btns { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	.lp .lp-slide,
	.lp .lp-faq-panel.is-ready .lp-faq-a,
	.lp .lp-faq-icon { transition: none; }
}
