/* ==========================================================================
   AIC – FM Training landing page
   ========================================================================== */

.aic-fm { color: var(--aic-ink); overflow-x: hidden; }
.aic-fm .aic-section { padding: 56px 0; }
.aic-fm__heading { font-size: clamp(24px, 3vw, 34px); font-weight: 700; margin: 0 0 20px; text-align: center; }
.aic-fm__lead { color: var(--aic-muted); line-height: 1.7; max-width: 820px; margin: 0 auto 26px; text-align: center; }
.aic-fm__head-center { text-align: center; margin-bottom: 34px; }

/* rose button variant + large */
.aic-btn--rose { background: var(--aic-rose); color: #fff; }
.aic-btn--rose:hover { background: var(--aic-rose-d); color: #fff; }
.aic-btn--lg { padding: 15px 40px; font-size: 15px; }

/* video facade (shared on this page) */
.aic-fm__video { position: relative; display: block; border-radius: 16px; overflow: hidden; background: #000; }
.aic-fm__video img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aic-fm__play {
	position: absolute; inset: 0; margin: auto;
	width: 62px; height: 62px; border-radius: 50%;
	background: rgba(255, 255, 255, .92); color: var(--aic-rose);
	display: grid; place-items: center; font-size: 20px; padding-left: 4px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3); transition: transform .15s ease;
}
.aic-fm__video:hover .aic-fm__play { transform: scale(1.08); }

/* ---- hero ---- */
.aic-fm__hero {
	min-height: 62vh;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* ---- course intro ---- */
.aic-fm__intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; }
.aic-fm__intro-media .aic-fm__video { aspect-ratio: 4 / 3; }
.aic-fm__title { font-size: clamp(24px, 3vw, 34px); font-weight: 700; margin: 0 0 6px; }
.aic-fm__title span { color: var(--aic-green-d); }
.aic-fm__subtitle { font-size: 17px; font-weight: 600; color: var(--aic-ink); margin: 0 0 18px; }
.aic-fm__list { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 10px; }
.aic-fm__list li { position: relative; padding-left: 28px; color: #4b524e; line-height: 1.5; }
.aic-fm__list li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%;
	background: var(--aic-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f8a51' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-11'/%3E%3C/svg%3E") center/12px no-repeat;
}
.aic-fm__batch { font-size: 17px; margin: 0 0 6px; }
.aic-fm__price { margin: 0 0 20px; font-size: 22px; font-weight: 700; }
.aic-fm__price del { color: var(--aic-muted); font-weight: 500; margin-right: 8px; }
.aic-fm__price ins { text-decoration: none; color: var(--aic-rose-d); }
.aic-fm__price span { display: block; font-size: 13px; font-weight: 500; color: var(--aic-muted); margin-top: 4px; }

/* ---- benefits ---- */
.aic-fm__benefits { background: #edfcfa; }
.aic-fm__checklist, .aic-fm__ticks { list-style: none; margin: 0 auto; padding: 0; max-width: 940px; display: grid; gap: 14px; }
.aic-fm__checklist li, .aic-fm__ticks li { position: relative; padding-left: 34px; line-height: 1.6; color: #3f463f; }
.aic-fm__checklist li::before, .aic-fm__ticks li::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--aic-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-11'/%3E%3C/svg%3E") center/13px no-repeat;
}
.aic-fm__note { max-width: 940px; margin: 26px auto 0; color: var(--aic-muted); line-height: 1.7; text-align: center; }

/* ---- audience ---- */
.aic-fm__audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 50px; max-width: 900px; margin: 0 auto; }

/* ---- certificate banner ---- */
.aic-fm__cert { text-align: center; }
.aic-fm__cert-img { width: 100%; max-width: 900px; border-radius: 16px; display: block; margin: 0 auto 26px; box-shadow: var(--aic-shadow); }

/* ---- modules ---- */
.aic-fm__modules { background: #f3f3f3; }
.aic-fm__module-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px; max-width: 1000px; margin: 0 auto 46px; }
.aic-fm__module { display: flex; gap: 14px; }
.aic-fm__module-icon { flex: none; width: 30px; height: 30px; color: var(--aic-green-d); }
.aic-fm__module-icon svg { width: 100%; height: 100%; }
.aic-fm__module-title { margin: 2px 0 4px; font-size: 16px; font-weight: 700; }
.aic-fm__module-desc { margin: 0; font-size: 14px; color: var(--aic-muted); line-height: 1.6; }
.aic-fm__preview { background: #fff7f9; border-radius: 20px; padding: 40px; max-width: 1000px; margin: 0 auto; }
.aic-fm__preview-title { font-size: clamp(20px, 2.4vw, 30px); font-weight: 400; margin: 0 0 24px; }
.aic-fm__preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.aic-fm__preview-text { font-size: 18px; line-height: 1.6; color: var(--aic-ink); margin: 0; }
.aic-fm__preview .aic-fm__video { aspect-ratio: 16 / 9; }

/* ---- experts ---- */
.aic-fm__experts { background: #eef6ee; }
.aic-fm__experts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 40px; max-width: 1040px; margin: 0 auto; }
.aic-fm__expert { display: flex; gap: 16px; align-items: center; }
.aic-fm__expert-photo { flex: none; width: 84px; height: 84px; border-radius: 50%; overflow: hidden; background: #fff; box-shadow: var(--aic-shadow); }
.aic-fm__expert-photo img { width: 100%; height: 100%; object-fit: cover; }
.aic-fm__expert-name { margin: 0 0 4px; font-size: 17px; font-weight: 700; }
.aic-fm__expert-role { margin: 0; font-size: 13px; color: var(--aic-muted); line-height: 1.5; }

/* ---- trainee reviews (carousel) ---- */
.aic-fm__review {
	background: #fff; border: 1px solid var(--aic-line); border-radius: 16px;
	padding: 24px; margin: 0; box-shadow: var(--aic-shadow); scroll-snap-align: start;
	display: flex; flex-direction: column; height: 100%;
}
.aic-fm__stars { color: #ffbf14; font-size: 15px; letter-spacing: 2px; margin-bottom: 12px; }
.aic-fm__review-text { margin: 0 0 16px; font-size: 14.5px; line-height: 1.7; color: #4b524e; font-style: italic; }
.aic-fm__review-name { margin-top: auto; font-weight: 700; color: var(--aic-ink); }

/* ---- video wall ---- */
.aic-fm__vid-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.aic-fm__vid { margin: 0; }
.aic-fm__vid .aic-fm__video { aspect-ratio: 9 / 12; }
.aic-fm__vid-cap { display: flex; flex-direction: column; gap: 2px; margin-top: 12px; }
.aic-fm__vid-role { font-size: 13px; font-weight: 600; color: var(--aic-muted); text-decoration: underline; }
.aic-fm__vid-title { font-size: 16px; font-weight: 700; color: var(--aic-ink); }
.aic-fm__vid-name { font-size: 13px; color: var(--aic-muted); }

/* ---- CTA ---- */
.aic-fm__cta { text-align: center; background: #fff7f9; }
.aic-fm__contact { list-style: none; margin: 0 0 26px; padding: 0; display: inline-flex; flex-direction: column; gap: 12px; text-align: left; }
.aic-fm__contact li { display: flex; align-items: center; gap: 10px; color: var(--aic-ink); }
.aic-fm__contact a { color: var(--aic-green-d); text-decoration: none; font-weight: 600; }
.aic-fm__contact-icon { flex: none; width: 22px; height: 22px; color: var(--aic-rose); }
.aic-fm__contact-icon svg { width: 100%; height: 100%; }

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.aic-fm__intro-grid,
	.aic-fm__preview-grid { grid-template-columns: 1fr; }
	.aic-fm__audience-grid,
	.aic-fm__module-list { grid-template-columns: 1fr; }
	.aic-fm__experts-grid { grid-template-columns: repeat(2, 1fr); }
	.aic-fm__vid-grid { grid-template-columns: repeat(2, 1fr); }
	.aic-fm__hero { min-height: 40vh; }
}
@media (max-width: 560px) {
	.aic-fm__experts-grid { grid-template-columns: 1fr; }
	.aic-fm__vid-grid { grid-template-columns: 1fr; }
}
