/* =============================================================================
   AICAD Faculty Recruitment — Pixel-perfect rewrite
   Source: Figma fileKey fhOmXqty2eiFjrjEHgwKPh / node 14455:26030
   Designed at 1440px desktop. Container 1240px (1440 - 100px gutter each side).
   Brand tokens used (from get_design_context):
     --fc-primary:        #0f3460  (brand navy / headings / CTAs)
     --fc-primary-2:      #533483  (accent purple)
     --fc-accent-pink:    #e94560
     --fc-accent-cyan:    #00d4ff
     --fc-accent-green:   #28a745
     --fc-text:           #1a1a2e  (body dark)
     --fc-muted:          #6c757d  (lead / muted body)
     --fc-bg-soft:        #f6f9ff  (section backgrounds)
     --fc-bg-card:        #f8f9fa
     --fc-border:         rgba(15,52,96,0.1)
   Fonts: Poppins (Medium 500, Regular 400, Bold 700) and Inter for some pills.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@400;500;700&display=swap');

:root {
	--fc-primary: #0f3460;
	--fc-primary-2: #533483;
	--fc-accent-pink: #e94560;
	--fc-accent-cyan: #00d4ff;
	--fc-accent-green: #28a745;
	--fc-text: #1a1a2e;
	--fc-muted: #6c757d;
	--fc-bg-soft: #f6f9ff;
	--fc-bg-card: #f8f9fa;
	--fc-border: rgba(15, 52, 96, 0.1);
	--fc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
	--fc-shadow-lg: 0 20px 25px rgba(0, 0, 0, 0.1), 0 8px 10px rgba(0, 0, 0, 0.1);
	--fc-stat-shadow: 0 0 12px rgba(61, 61, 61, 0.1);
}

.floating-wp-btn {
	display: none !important;
}
/* Reset / base — applied to BOTH pages (index = listing, master = single landing).
   The master page shares the same brand tokens, container width, font stack and
   typography defaults as the index page; only its component composition differs. */
.faculty-index,
.faculty-master {
	background: #ffffff;
	color: var(--fc-text);
	font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
.faculty-index *,
.faculty-index *::before,
.faculty-index *::after,
.faculty-master *,
.faculty-master *::before,
.faculty-master *::after {
	box-sizing: border-box;
}
.faculty-index h1,
.faculty-index h2,
.faculty-index h3,
.faculty-index h4,
.faculty-master h1,
.faculty-master h2,
.faculty-master h3,
.faculty-master h4 {
	color: var(--fc-primary);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	margin: 0;
}
.faculty-index p,
.faculty-master p {
	margin: 0;
}
.faculty-index a,
.faculty-master a {
	color: inherit;
	text-decoration: none;
}

/* Container override: page is 1240px wide with 100px gutter at 1440px */
.faculty-index .container-xxl,
.faculty-master .container-xxl {
	max-width: 1440px;
	width: 100%;
	margin-inline: auto;
	padding-inline: 100px;
}

/* Section helpers */
.faculty-index section,
.faculty-master section {
	width: 100%;
}
.faculty-index .section-lead,
.faculty-master .section-lead {
	max-width: 768px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	color: var(--fc-muted);
	text-align: center;
	margin-top: 16px;
}

/* =============================================================================
   1. HERO SECTION — node 14455:26035 (1440 x 911)
   Container 1240 x 723 at top:128 / left:100
   Background: linear-gradient 147.68deg, #fff 0%, #eff6ff 50%, #fff 100%
   ========================================================================== */
.faculty-hero {
	background: linear-gradient(147.68deg, #ffffff 0%, #eff6ff 50%, #ffffff 100%);
	padding: 128px 0 60px;
}
.faculty-hero .row {
	--bs-gutter-x: 48px;
	align-items: center;
}
.faculty-hero .col-lg-7,
.faculty-hero .col-lg-5 {
	padding-inline: calc(var(--bs-gutter-x) * 0.5);
}
.faculty-hero .meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #d5e8ff;
	color: var(--fc-primary);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	height: 36px;
	padding: 8px 16px;
	border-radius: 9999px;
	margin-bottom: 24px;
}
.faculty-hero .meta-pill i {
	font-size: 14px;
	color: var(--fc-primary);
}
.faculty-hero h1 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 60px;
	line-height: 60px;
	color: var(--fc-primary);
	letter-spacing: -0.5px;
	margin: 0 0 24px;
	max-width: 584px;
}
.faculty-hero .lead {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 32px;
	color: rgba(15, 52, 96, 0.9);
	margin: 0 0 16px;
	max-width: 584px;
}
.faculty-hero p:not(.lead) {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 29.25px;
	color: rgba(15, 52, 96, 0.8);
	margin: 0 0 32px;
	max-width: 584px;
}
.faculty-hero .btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background-color: var(--fc-primary);
	border: 1px solid rgba(15, 52, 96, 0.2);
	color: #f7fbff;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	height: 58px;
	padding: 0 24px;
	min-width: 170px;
	border-radius: 8px;
	box-shadow: none;
	transition: background 0.18s ease, transform 0.18s ease;
}
.faculty-hero .btn-primary:hover {
	background-color: #0a2849;
	color: #f7fbff;
}

/* Stats row — 4 cards 134 x 124, gap 16px */
.faculty-hero .stats-row {
	display: grid;
	grid-template-columns: repeat(4, 134px);
	gap: 16px;
	margin-top: 40px;
}
.faculty-hero .stat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 134px;
	height: 124px;
	background: #fdfdff;
	border-radius: 8px;
	box-shadow: var(--fc-stat-shadow);
	padding: 16px;
}
.faculty-hero .stat-card .stat-icon {
	font-size: 24px;
	color: var(--fc-primary);
	height: 24px;
	margin-bottom: 8px;
}
.faculty-hero .stat-card .stat-num {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 28px;
	color: var(--fc-primary);
	text-align: center;
}
.faculty-hero .stat-card .stat-label {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	color: rgba(15, 52, 96, 0.7);
	text-align: center;
}

/* Hero illustration — 608 x 388 rounded image */
.faculty-hero .hero-illustration {
	position: relative;
	width: 100%;
	max-width: 608px;
	aspect-ratio: 608 / 388;
	margin-left: auto;
}
.faculty-hero .hero-illustration::before {
	content: '';
	position: absolute;
	inset: -16px;
	background: linear-gradient(148.5deg, rgb(83, 52, 131) 0%, rgb(0, 212, 255) 100%);
	opacity: 0.3;
	filter: blur(64px);
	border-radius: 16px;
	z-index: 0;
}
.faculty-hero .hero-illustration img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 16px;
	z-index: 1;
}

/* =============================================================================
   2a. VACANTES — Opportunity grid (in InstitutionalTrustSection wrapper)
   Cards 388 x 360, 3-col x 2-row, gap 16px row / 24px column
   ========================================================================== */
.faculty-vacantes {
	background: var(--fc-bg-soft);
	padding: 60px 0;
}
.faculty-vacantes .vacantes-card-wrap {
	background: #f8f9ff;
	border-radius: 24px;
	padding: 40px 10px;
	box-shadow: inset 0 0 20px rgba(61, 61, 61, 0.25);
}
.faculty-vacantes h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 24px;
}
.faculty-vacantes .section-lead {
	color: var(--fc-text);
	margin: 0 auto 33px;
	max-width: 900px;
}
.faculty-vacantes .row {
	--bs-gutter-x: 16px;
	--bs-gutter-y: 24px;
	row-gap: 24px;
}

/* Single opportunity card — 388 x 360 */
.opportunity-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 388px;
	height: 360px;
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 16px;
	padding: 24px;
	margin: 0 auto;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
	position: relative;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.opportunity-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(15, 52, 96, 0.08);
	color: inherit;
}
.opportunity-card .opportunity-tag {
	display: inline-block;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	color: var(--fc-primary-2);
	margin-bottom: 12px;
}
.opportunity-card h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: var(--fc-primary);
	margin: 0 0 16px;
	min-height: 56px;
}
.opportunity-card p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
	margin: 0 0 16px;
	min-height: 60px;
}
.opportunity-card .opportunity-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 16px;
	min-height: 24px;
}
.opportunity-card .opportunity-pills span {
	display: inline-flex;
	align-items: center;
	background: #eff6ff;
	color: var(--fc-primary);
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	height: 24px;
	padding: 4px 8px;
	border-radius: 9999px;
}
.opportunity-card .opportunity-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--fc-primary);
	color: #ffffff;
	height: 40px;
	border-radius: 8px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	margin-top: auto;
}
.opportunity-card .opportunity-cta i {
	font-size: 14px;
}

/* =============================================================================
   2b. INSTITUTIONAL TRUST — feature cards 280x207, 4 across, gap 40px
   ========================================================================== */
.faculty-trust {
	background: var(--fc-bg-soft);
	padding: 102px 0 60px;
}
.faculty-trust h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 50px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 24px;
}
.faculty-trust .section-lead {
	color: var(--fc-text);
	max-width: 921px;
	margin: 0 auto 60px;
}
.faculty-trust .trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
.faculty-trust .trust-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 24px;
	height: 207px;
	box-shadow: var(--fc-shadow-sm);
	display: flex;
	flex-direction: column;
}
.faculty-trust .trust-card .trust-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: rgba(15, 52, 96, 0.1);
	border-radius: 8px;
	font-size: 20px;
	color: var(--fc-primary);
	margin-bottom: 16px;
}
.faculty-trust .trust-card:nth-child(2) .trust-icon {
	background: rgba(83, 52, 131, 0.1);
	color: var(--fc-primary-2);
}
.faculty-trust .trust-card:nth-child(3) .trust-icon {
	background: rgba(233, 69, 96, 0.1);
	color: var(--fc-accent-pink);
}
.faculty-trust .trust-card:nth-child(4) .trust-icon {
	background: rgba(40, 167, 69, 0.1);
	color: var(--fc-accent-green);
}
.faculty-trust .trust-card h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: var(--fc-text);
	margin: 0 0 8px;
}
.faculty-trust .trust-card p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
}

/* =============================================================================
   2c. RECOGNITIONS — 3 logo tiles 140x384 + paragraph
   ========================================================================== */
.faculty-recognitions {
	background: var(--fc-bg-soft);
	padding: 60px 0 80px;
}
.faculty-recognitions .recognitions-card {
	max-width: 1143px;
	margin: 0 auto;
	background: #ffffff;
	border-radius: 20px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.faculty-recognitions h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 32px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0;
}
.faculty-recognitions .recognitions-row {
	display: flex;
	gap: 25px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.faculty-recognitions .recognitions-paragraph {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 40px;
	color: var(--fc-text);
	margin: 0;
}
.faculty-recognitions .recognitions-paragraph strong {
	font-weight: 600;
}
.faculty-recognitions .recognitions-paragraph ul {
	padding-left: 24px;
	margin: 0;
}

/* =============================================================================
   3. BENEFITS — 6 cards 384x233, 3-col grid, 44px column gap, 32px row gap
   ========================================================================== */
.faculty-benefits-grid {
	background: #ffffff;
	padding: 60px 0;
}
.faculty-benefits-grid h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 24px;
}
.faculty-benefits-grid .section-lead {
	max-width: 978px;
	margin: 0 auto 60px;
}
.faculty-benefits-grid .benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px 44px;
}
.faculty-benefits-grid .benefit-card {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	height: 233px;
	display: flex;
	flex-direction: column;
}
.faculty-benefits-grid .benefit-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	background: rgba(15, 52, 96, 0.1);
	color: var(--fc-primary);
	font-size: 28px;
	margin-bottom: 16px;
}
.faculty-benefits-grid .benefit-card:nth-child(2) i { background: rgba(83, 52, 131, 0.1); color: var(--fc-primary-2); }
.faculty-benefits-grid .benefit-card:nth-child(3) i { background: rgba(0, 212, 255, 0.12); color: var(--fc-accent-cyan); }
.faculty-benefits-grid .benefit-card:nth-child(4) i { background: rgba(233, 69, 96, 0.1); color: var(--fc-accent-pink); }
.faculty-benefits-grid .benefit-card:nth-child(5) i { background: rgba(40, 167, 69, 0.1); color: var(--fc-accent-green); }
.faculty-benefits-grid .benefit-card:nth-child(6) i { background: rgba(15, 52, 96, 0.1); color: var(--fc-primary); }
.faculty-benefits-grid .benefit-card h4 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: var(--fc-primary);
	margin: 0 0 8px;
}
.faculty-benefits-grid .benefit-card p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-muted);
	margin: 0;
}

/* =============================================================================
   4. STUDENT EXPERIENCE — image 542x304 + 4x2 tile grid 284x86 + summary card
   ========================================================================== */
.faculty-student-experience {
	background: linear-gradient(145.92deg, rgb(242, 248, 255) 0%, rgb(250, 251, 252) 33.33%, rgb(248, 249, 255) 66.66%, rgb(250, 252, 255) 100%);
	padding: 60px 0;
}
.faculty-student-experience h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-student-experience .section-lead {
	max-width: 768px;
	margin: 0 auto 48px;
}
.faculty-student-experience .experience-row {
	display: grid;
	grid-template-columns: 584px 1fr;
	gap: 48px;
	margin-bottom: 48px;
}
.faculty-student-experience .student-experience-img {
	position: relative;
	width: 584px;
	height: 328.5px;
	border-radius: 12px;
	background: linear-gradient(150.6deg, #0f3460 0%, #16213e 100%);
	box-shadow: var(--fc-shadow-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.faculty-student-experience .student-experience-img::before {
	content: '';
	position: absolute;
	inset: -16px;
	background: linear-gradient(149.66deg, rgba(15, 52, 96, 0.2) 0%, rgba(83, 52, 131, 0.2) 100%);
	filter: blur(40px);
	border-radius: 16px;
	z-index: -1;
}
.faculty-student-experience .student-experience-img img {
	width: 542px;
	height: 304px;
	border-radius: 10px;
	object-fit: cover;
}
.faculty-student-experience .experience-tiles {
	display: grid;
	grid-template-columns: repeat(2, 284px);
	grid-auto-rows: 86px;
	gap: 16px 40px;
	align-content: start;
}
.faculty-student-experience .experience-tile {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 8px;
	box-shadow: var(--fc-shadow-sm);
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.faculty-student-experience .experience-tile i {
	width: 24px;
	height: 24px;
	color: var(--fc-primary);
	font-size: 20px;
}
.faculty-student-experience .experience-tile span {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-text);
}

.faculty-student-experience .experience-summary {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 16px;
	padding: 32px;
	box-shadow: var(--fc-shadow-sm);
}
.faculty-student-experience .experience-summary h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	color: var(--fc-primary);
	margin: 0 0 16px;
}
.faculty-student-experience .experience-summary > p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-muted);
	margin: 0 0 24px;
}
.faculty-student-experience .experience-summary .summary-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.faculty-student-experience .experience-summary h4 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-primary);
	margin: 0 0 8px;
}
.faculty-student-experience .experience-summary .summary-grid > div:nth-child(2) h4 { color: var(--fc-primary-2); }
.faculty-student-experience .experience-summary .summary-grid > div:nth-child(3) h4 { color: var(--fc-accent-pink); }
.faculty-student-experience .experience-summary .summary-grid p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
	margin: 0;
}

/* =============================================================================
   5. TEACHING MODEL — 5 step horizontal, then 6 cards 389x186 (3 x 2)
   ========================================================================== */
.faculty-teaching-model {
	background: #ffffff;
	padding: 60px 0;
}
.faculty-teaching-model h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-teaching-model > .container-xxl > .section-lead {
	max-width: 962px;
	margin: 0 auto 64px;
}
.faculty-teaching-model h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 32px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 32px;
}
.faculty-teaching-model .process-steps {
	position: relative;
	list-style: none;
	margin: 0 0 64px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}
.faculty-teaching-model .process-steps::before {
	content: '';
	position: absolute;
	left: 6%;
	right: 6%;
	top: 32px;
	height: 2px;
	background: linear-gradient(90deg, var(--fc-primary) 0%, var(--fc-primary-2) 50%, var(--fc-primary) 100%);
	z-index: 0;
}
.faculty-teaching-model .process-steps li {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.faculty-teaching-model .step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 9999px;
	background: linear-gradient(135deg, var(--fc-primary) 0%, var(--fc-primary-2) 100%);
	color: #ffffff;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.1);
	margin-bottom: 10px;
}
.faculty-teaching-model .step-num i {
	font-size: 22px;
}
.faculty-teaching-model .process-steps li h4 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-primary);
	margin: 0 0 6px;
}
.faculty-teaching-model .process-steps li p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
	max-width: 220px;
	margin: 0;
}

.faculty-teaching-model .model-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 36px;
}
.faculty-teaching-model .model-card {
	background: linear-gradient(154.46deg, #ffffff 0%, #fdfdfd 33.33%, #fafbfc 66.66%, #f8f9fa 100%);
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	min-height: 186px;
}
.faculty-teaching-model .model-card .icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: rgba(15, 52, 96, 0.1);
	border-radius: 8px;
	color: var(--fc-primary);
	font-size: 20px;
	margin-bottom: 16px;
}
.faculty-teaching-model .model-card:nth-child(2) .icon-wrap { background: rgba(83, 52, 131, 0.1); color: var(--fc-primary-2); }
.faculty-teaching-model .model-card:nth-child(3) .icon-wrap { background: rgba(0, 212, 255, 0.12); color: var(--fc-accent-cyan); }
.faculty-teaching-model .model-card:nth-child(4) .icon-wrap { background: rgba(233, 69, 96, 0.1); color: var(--fc-accent-pink); }
.faculty-teaching-model .model-card:nth-child(5) .icon-wrap { background: rgba(40, 167, 69, 0.1); color: var(--fc-accent-green); }
.faculty-teaching-model .model-card h4 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-primary);
	margin: 0 0 8px;
}
.faculty-teaching-model .model-card p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
	margin: 0;
}

/* =============================================================================
   6. ACADEMIC CATEGORIES — 5 cols 230x140 then 6 cols 192x76(/92)
   ========================================================================== */
.faculty-categories {
	background: var(--fc-bg-soft);
	padding: 60px 0;
}
.faculty-categories h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-categories > .container-xxl > .section-lead {
	max-width: 768px;
	margin: 0 auto 48px;
}
.faculty-categories h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 24px;
}
.faculty-categories .tech-areas {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 22px;
	margin-bottom: 48px;
}
.faculty-categories .tech-area-card {
	background: #ffffff;
	border: 2px solid transparent;
	border-radius: 12px;
	height: 140px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.faculty-categories .tech-area-card:hover {
	border-color: rgba(15, 52, 96, 0.25);
	transform: translateY(-2px);
}
.faculty-categories .tech-area-card i {
	font-size: 28px;
	color: var(--fc-primary);
	width: 28px;
	height: 28px;
}
.faculty-categories .tech-area-card:nth-child(2) i { color: var(--fc-primary-2); }
.faculty-categories .tech-area-card:nth-child(3) i { color: var(--fc-accent-pink); }
.faculty-categories .tech-area-card:nth-child(4) i { color: var(--fc-accent-cyan); }
.faculty-categories .tech-area-card:nth-child(5) i { color: var(--fc-accent-green); }
.faculty-categories .tech-area-card span {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-text);
	text-align: center;
}

.faculty-categories .discipline-pills {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 17px;
}
.faculty-categories .discipline-pill {
	background: #ffffff;
	border-radius: 8px;
	min-height: 76px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	color: var(--fc-text);
	text-align: center;
}
.faculty-categories .discipline-pill i {
	font-size: 18px;
	color: var(--fc-primary);
}

/* =============================================================================
   7. RECOGNITION — 2 cards 577x341 + bottom strip 1240x147
   ========================================================================== */
.faculty-recognition {
	background: #ffffff;
	padding: 60px 0;
}
.faculty-recognition h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-recognition > .container-xxl > .section-lead {
	max-width: 768px;
	margin: 0 auto 48px;
}
.faculty-recognition .row {
	--bs-gutter-x: 24px;
	row-gap: 24px;
	margin-bottom: 32px;
}
.faculty-recognition .recognition-card {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 32px 24px;
	box-shadow: var(--fc-shadow-sm);
	height: 100%;
	min-height: 341px;
}
.faculty-recognition .recognition-card .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: rgba(15, 52, 96, 0.1);
	border-radius: 8px;
	color: var(--fc-primary);
	font-size: 24px;
	margin-bottom: 16px;
}
.faculty-recognition .col-lg-6:nth-child(2) .recognition-card .icon {
	background: rgba(83, 52, 131, 0.1);
	color: var(--fc-primary-2);
}
.faculty-recognition .recognition-card h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: var(--fc-primary);
	margin: 0 0 12px;
}
.faculty-recognition .recognition-card > p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 24px;
	color: var(--fc-muted);
	margin: 0 0 24px;
}
.faculty-recognition .check-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.faculty-recognition .check-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-text);
}
.faculty-recognition .check-list i {
	color: var(--fc-accent-green);
	font-size: 16px;
	width: 16px;
	flex-shrink: 0;
	margin-top: 2px;
}

.faculty-recognition .recognition-strip {
	background: linear-gradient(173.24deg, #0f3460 0%, #16213e 100%);
	border-radius: 16px;
	padding: 36px 40px;
	display: flex;
	align-items: center;
	gap: 24px;
	color: #ffffff;
	min-height: 147px;
}
.faculty-recognition .recognition-strip > i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 9999px;
	font-size: 28px;
	color: #ffffff;
	flex-shrink: 0;
}
.faculty-recognition .recognition-strip h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	color: #ffffff;
	margin: 0 0 8px;
}
.faculty-recognition .recognition-strip p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
}

/* =============================================================================
   8. TEACHING CALL — list cards (left) + 2x2 requirement cards (right) + tags
   ========================================================================== */
.faculty-teaching-call {
	background: #ffffff;
	padding: 60px 0;
}
.faculty-teaching-call h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-teaching-call > .container-xxl > .section-lead {
	max-width: 1018px;
	margin: 0 auto 48px;
}
.faculty-teaching-call .row {
	--bs-gutter-x: 48px;
	row-gap: 24px;
	margin-bottom: 32px;
}
.faculty-teaching-call .col-lg-6 > h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 24px;
	line-height: 32px;
	color: var(--fc-primary);
	margin: 0 0 24px;
}
.faculty-teaching-call .profile-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faculty-teaching-call .profile-list li {
	background: var(--fc-bg-card);
	border-radius: 8px;
	height: 58px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 16px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-text);
}
.faculty-teaching-call .profile-list li::before {
	content: '✓';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: var(--fc-primary);
	color: #ffffff;
	border-radius: 9999px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 20px;
	flex-shrink: 0;
}

.faculty-teaching-call .req-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.faculty-teaching-call .requirement-card {
	background: linear-gradient(146.97deg, #ffffff 0%, #fdfdfd 33.33%, #fafbfc 66.66%, #f8f9fa 100%);
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	min-height: 182px;
}
.faculty-teaching-call .requirement-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: rgba(15, 52, 96, 0.1);
	color: var(--fc-primary);
	font-size: 20px;
	margin-bottom: 16px;
}
.faculty-teaching-call .requirement-card:nth-child(2) i { background: rgba(83, 52, 131, 0.1); color: var(--fc-primary-2); }
.faculty-teaching-call .requirement-card:nth-child(3) i { background: rgba(0, 212, 255, 0.12); color: var(--fc-accent-cyan); }
.faculty-teaching-call .requirement-card:nth-child(4) i { background: rgba(233, 69, 96, 0.1); color: var(--fc-accent-pink); }
.faculty-teaching-call .requirement-card h4 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-primary);
	margin: 0 0 8px;
}
.faculty-teaching-call .requirement-card p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: var(--fc-muted);
	margin: 0;
}

.faculty-teaching-call .candidate-tags-card {
	background: linear-gradient(173.28deg, #f8f9fa 0%, #fafbfc 33.33%, #fdfdfd 66.66%, #ffffff 100%);
	border: 1px solid var(--fc-border);
	border-radius: 16px;
	padding: 33px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.faculty-teaching-call .candidate-tags-card h3 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 28px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0;
}
.faculty-teaching-call .candidate-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}
.faculty-teaching-call .candidate-tag {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 8px 16px;
	border-radius: 9999px;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
}
.faculty-teaching-call .tag-master { color: var(--fc-primary); background: rgba(15, 52, 96, 0.08); }
.faculty-teaching-call .tag-doctorado { color: var(--fc-primary-2); background: rgba(83, 52, 131, 0.08); }
.faculty-teaching-call .tag-exp { color: var(--fc-accent-pink); background: rgba(233, 69, 96, 0.08); }
.faculty-teaching-call .tag-online { color: var(--fc-accent-cyan); background: rgba(0, 212, 255, 0.1); }
.faculty-teaching-call .tag-active { color: var(--fc-accent-green); background: rgba(40, 167, 69, 0.08); }
.faculty-teaching-call .tag-digital { color: #16213e; background: rgba(22, 33, 62, 0.08); }

/* =============================================================================
   9. FAQ — accordion 727px wide, items 56-58px tall (1st: 167px when open)
   ========================================================================== */
.faculty-faq {
	background: var(--fc-bg-soft);
	padding: 80px 0 100px;
}
.faculty-faq h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: var(--fc-primary);
	text-align: center;
	margin: 0 0 16px;
}
.faculty-faq > .container-xxl > .section-lead {
	margin: 0 auto 48px;
}
.faculty-faq .faq-accordion {
	max-width: 727px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.faculty-faq .faq-item {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	transition: box-shadow 0.18s ease;
}
.faculty-faq .faq-trigger {
	all: unset;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 56px;
	padding: 0 24px;
	cursor: pointer;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-primary);
	box-sizing: border-box;
}
.faculty-faq .faq-trigger > span {
	flex: 1;
	text-align: left;
}
.faculty-faq .faq-trigger i {
	width: 20px;
	height: 20px;
	font-size: 14px;
	color: var(--fc-muted);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.faculty-faq .faq-item.is-open .faq-trigger i {
	transform: rotate(180deg);
}
.faculty-faq .faq-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease;
	padding: 0 24px;
}
.faculty-faq .faq-item.is-open .faq-body {
	max-height: 600px;
	padding: 0 24px 16px;
}
.faculty-faq .faq-body p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--fc-muted);
	margin: 0;
}

/* =============================================================================
   BOTTOM CTA
   ========================================================================== */
.faculty-bottom-cta {
	background: linear-gradient(135deg, var(--fc-primary) 0%, var(--fc-primary-2) 100%);
	padding: 60px 0;
	color: #ffffff;
	text-align: center;
}
.faculty-bottom-cta h2 {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	color: #ffffff;
	margin: 0 0 16px;
}
.faculty-bottom-cta p {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	color: rgba(255, 255, 255, 0.9);
	max-width: 600px;
	margin: 0 auto 32px;
}
.faculty-bottom-cta .btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #ffffff;
	color: var(--fc-primary);
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	height: 58px;
	padding: 0 28px;
	border-radius: 8px;
	border: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.faculty-bottom-cta .btn-primary:hover {
	background: #f7fbff;
	color: var(--fc-primary);
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* =============================================================================
   ALERT (no vacantes fallback)
   ========================================================================== */
.faculty-vacantes .alert-info {
	background: #ffffff;
	border: 1px dashed var(--fc-border);
	color: var(--fc-muted);
	border-radius: 12px;
	padding: 32px;
	text-align: center;
	max-width: 600px;
	margin: 24px auto 0;
}

/* =============================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1199.98px) {
	.faculty-index .container-xxl { padding-inline: 60px; }
	.faculty-hero h1 { font-size: 48px; line-height: 52px; }
	.faculty-hero .stats-row { grid-template-columns: repeat(4, 1fr); }
	.faculty-hero .stat-card { width: 100%; }
	.faculty-recognitions .recognitions-paragraph { flex-basis: 100%; max-width: 100%; }
}

@media (max-width: 991.98px) {
	.faculty-index .container-xxl { padding-inline: 32px; }

	.faculty-hero { padding-top: 80px; }
	.faculty-hero h1 { font-size: 40px; line-height: 46px; }
	.faculty-hero .lead { font-size: 20px; line-height: 28px; }
	.faculty-hero .hero-illustration { margin: 32px auto 0; }
	.faculty-hero .stats-row { grid-template-columns: repeat(2, 1fr); }

	.faculty-trust .trust-grid { grid-template-columns: repeat(2, 1fr); }
	.faculty-benefits-grid .benefit-grid { grid-template-columns: repeat(2, 1fr); }

	.faculty-student-experience .experience-row { grid-template-columns: 1fr; }
	.faculty-student-experience .student-experience-img { width: 100%; height: auto; aspect-ratio: 542/304; }
	.faculty-student-experience .student-experience-img img { width: 100%; height: auto; }
	.faculty-student-experience .experience-tiles { grid-template-columns: repeat(2, 1fr); }
	.faculty-student-experience .experience-summary .summary-grid { grid-template-columns: 1fr; }

	.faculty-teaching-model .process-steps { grid-template-columns: repeat(3, 1fr); row-gap: 32px; }
	.faculty-teaching-model .process-steps::before { display: none; }
	.faculty-teaching-model .model-grid { grid-template-columns: repeat(2, 1fr); }

	.faculty-categories .tech-areas { grid-template-columns: repeat(3, 1fr); }
	.faculty-categories .discipline-pills { grid-template-columns: repeat(3, 1fr); }

	.faculty-recognition .recognition-strip { flex-direction: column; align-items: flex-start; text-align: left; padding: 28px; }
	.faculty-recognitions .recognitions-row { flex-direction: column; }
}

@media (max-width: 575.98px) {
	.faculty-index .container-xxl { padding-inline: 24px; }
	.faculty-hero h1 { font-size: 32px; line-height: 38px; }
	.faculty-hero .lead { font-size: 18px; line-height: 26px; }
	.faculty-hero p:not(.lead) { font-size: 16px; line-height: 24px; }
	.faculty-hero .stats-row { grid-template-columns: 1fr 1fr; gap: 12px; }

	.faculty-vacantes h2,
	.faculty-trust h2,
	.faculty-benefits-grid h2,
	.faculty-student-experience h2,
	.faculty-teaching-model h2,
	.faculty-categories h2,
	.faculty-recognition h2,
	.faculty-teaching-call h2,
	.faculty-faq h2,
	.faculty-bottom-cta h2 { font-size: 28px; line-height: 36px; }

	.faculty-trust .trust-grid,
	.faculty-benefits-grid .benefit-grid,
	.faculty-student-experience .experience-tiles,
	.faculty-teaching-model .model-grid,
	.faculty-categories .tech-areas,
	.faculty-categories .discipline-pills,
	.faculty-teaching-call .req-grid { grid-template-columns: 1fr; }

	.faculty-teaching-model .process-steps { grid-template-columns: 1fr; }

	.opportunity-card { height: auto; min-height: 360px; }
}

/* =============================================================================
   MASTER PAGE COMPONENTS — Pixel-perfect styles for /faculty/<slug>
   These selectors only render on master.php; the index page uses different markup.
   Source: Figma node 14486:20307 — Convocatoria Docente landing.
   ========================================================================== */

/* --- Hero meta-pill bar (Título oficial / Doble certificación / etc.) --- */
.faculty-master .hero-meta-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.faculty-master .hero-meta-pills .meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(15, 52, 96, 0.06);
	border: 1px solid var(--fc-border);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: var(--fc-primary);
}
.faculty-master .hero-meta-pills .meta-pill i {
	color: var(--fc-primary-2);
	font-size: 14px;
}

/* --- Hero (master-specific tweaks: form on the right) --- */
.faculty-master .faculty-hero {
	background: linear-gradient(147.68deg, #ffffff 0%, #eff6ff 50%, #ffffff 100%);
	padding: 80px 0 60px;
}
.faculty-master .faculty-hero h1 {
	font-size: 48px;
	line-height: 1.15;
	font-weight: 700;
	color: var(--fc-primary);
	margin-bottom: 16px;
}
.faculty-master .faculty-hero .lead {
	font-size: 20px;
	line-height: 1.5;
	color: var(--fc-text);
	font-weight: 500;
	margin-bottom: 12px;
}
.faculty-master .faculty-hero p:not(.lead) {
	font-size: 16px;
	line-height: 1.7;
	color: var(--fc-muted);
	margin-bottom: 16px;
}
.faculty-master .hero-img {
	border-radius: 16px;
	box-shadow: var(--fc-shadow-lg);
	max-width: 100%;
}

/* --- Hero compact form card --- */
.faculty-master .hero-form-card {
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 16px;
	box-shadow: var(--fc-shadow-lg);
	padding: 24px;
}
/* Per-step h3 title above the field grid (Figma: "Datos personales" etc.) */
.faculty-master .form-step-title {
	font-size: 24px;
	font-weight: 700;
	color: var(--fc-primary);
	margin: 0 0 20px;
}

/* --- Step indicator (3-step compact form, no dividers — Figma reference) --- */
.faculty-master .step-indicator {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--fc-border);
}
.faculty-master .step-indicator .step {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.faculty-master .step-indicator .step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #e6e8ec;
	color: #9aa0a6;
	font-weight: 700;
	font-size: 16px;
	flex-shrink: 0;
}
.faculty-master .step-indicator .step.active .step-num {
	background: var(--fc-primary);
	color: #fff;
}
.faculty-master .step-indicator .step.done .step-num {
	background: var(--fc-primary);
	color: #fff;
	opacity: 0.7;
}
.faculty-master .step-indicator .step-label {
	font-size: 13px;
	font-weight: 500;
	color: #9aa0a6;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.faculty-master .step-indicator .step.active .step-label {
	color: var(--fc-primary);
	font-weight: 600;
}

/* "Volver" — text-style back button matching Figma */
.faculty-master .btn-step-back {
	color: var(--fc-muted);
	font-weight: 500;
	text-decoration: none;
	padding: 12px 16px;
}
.faculty-master .btn-step-back:hover {
	color: var(--fc-primary);
	text-decoration: none;
}

/* "Siguiente" / "Enviar" — solid primary CTA */
.faculty-master .btn-step-next {
	min-width: 180px;
	padding: 12px 28px;
	font-weight: 600;
	border-radius: 8px;
}

/* Privacy block — Figma's longer notice in step 3 (with embedded links) */
.faculty-master .privacy-block {
	display: flex;
	gap: 10px;
	background: var(--fc-bg-soft);
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--fc-muted);
}
.faculty-master .privacy-block .form-check-input {
	flex-shrink: 0;
	margin-top: 2px;
}
.faculty-master .privacy-block .form-check-label {
	margin: 0;
	font-size: 12px;
	color: var(--fc-muted);
}
.faculty-master .privacy-block a {
	color: var(--fc-primary);
	font-weight: 600;
	text-decoration: underline;
}

.faculty-master .form-step {
	display: none;
}
.faculty-master .form-step.active {
	display: block;
}

/* --- Form fields (shared by hero compact + section long) --- */
.faculty-master .faculty-form label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: var(--fc-text);
	margin-bottom: 6px;
}
.faculty-master .faculty-form .form-control {
	border: 1px solid var(--fc-border);
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 14px;
	color: var(--fc-text);
	background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.faculty-master .faculty-form .form-control:focus {
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 3px rgba(15, 52, 96, 0.1);
	outline: none;
}
.faculty-master .faculty-form .form-control.is-invalid {
	border-color: var(--fc-accent-pink);
}
.faculty-master .faculty-form textarea.form-control {
	resize: vertical;
	min-height: 80px;
}
.faculty-master .faculty-form .form-check-input {
	margin-top: 4px;
}
.faculty-master .faculty-form .form-check-label {
	font-size: 13px;
	color: var(--fc-muted);
	margin-left: 4px;
}

/* --- CV uploader --- */
.faculty-master .cv-uploader {
	border: 2px dashed var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	text-align: center;
	background: var(--fc-bg-soft);
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
}
.faculty-master .cv-uploader.is-drag-over {
	border-color: var(--fc-primary);
	background: rgba(15, 52, 96, 0.04);
}
.faculty-master .cv-uploader.is-invalid {
	border-color: var(--fc-accent-pink);
}
.faculty-master .cv-uploader-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	margin: 0;
}
.faculty-master .cv-uploader-label i {
	font-size: 28px;
	color: var(--fc-primary);
}
.faculty-master .cv-prompt {
	font-size: 14px;
	font-weight: 500;
	color: var(--fc-text);
}
.faculty-master .cv-hint {
	font-size: 12px;
	color: var(--fc-muted);
}
.faculty-master .cv-selected {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--fc-border);
	border-radius: 8px;
	font-size: 13px;
}
.faculty-master .cv-remove {
	background: transparent;
	border: 0;
	padding: 4px 8px;
	color: var(--fc-accent-pink);
	cursor: pointer;
}

/* --- Optional fields collapse --- */
.faculty-master .toggle-optional {
	background: transparent;
	border: 0;
	padding: 8px 0;
	color: var(--fc-primary);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.faculty-master .toggle-optional i {
	transition: transform 0.2s;
}
.faculty-master .toggle-optional.expanded i {
	transform: rotate(180deg);
}
.faculty-master .optional-fields {
	border-top: 1px solid var(--fc-border);
	padding-top: 16px;
}

/* --- Submit button --- */
.faculty-master .btn-submit {
	background: var(--fc-primary);
	border-color: var(--fc-primary);
	font-weight: 600;
	padding: 12px 24px;
	border-radius: 8px;
}
.faculty-master .btn-submit:hover {
	background: var(--fc-primary-2);
	border-color: var(--fc-primary-2);
}

/* --- Form success panel --- */
.faculty-master .form-success {
	text-align: center;
	padding: 32px 16px;
}
.faculty-master .form-success .success-icon {
	font-size: 56px;
	color: var(--fc-accent-green);
	margin-bottom: 16px;
}
.faculty-master .form-success h3 {
	font-size: 22px;
	margin-bottom: 8px;
}

/* --- Description section + 4-card meta grid --- */
.faculty-master .faculty-description {
	background: #ffffff;
	padding: 20px 0;
}
.faculty-master .faculty-description h2 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 16px;
	color: var(--fc-primary);
}
.faculty-master .faculty-description .rich-content {
	font-size: 15px;
	line-height: 1.7;
	color: var(--fc-text);
}
.faculty-master .faculty-description .rich-content p {
	margin-bottom: 12px;
}
.faculty-master .meta-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}
.faculty-master .meta-card {
	background: #fff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	box-shadow: var(--fc-stat-shadow);
}
.faculty-master .meta-card .meta-label {
	font-size: 13px;
	font-weight: 500;
	color: var(--fc-muted);
	text-transform: uppercase;
	letter-spacing: 0.4px;
}
.faculty-master .meta-card .meta-value {
	font-size: 20px;
	font-weight: 700;
	color: var(--fc-primary);
}

/* --- Plan de estudios accordion --- */
.faculty-master .faculty-study-plan {
	background: var(--fc-bg-soft);
	padding: 60px 0;
}
.faculty-master .faculty-study-plan h2 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 12px;
}
.faculty-master .faculty-study-plan .section-lead {
	text-align: left;
	margin: 0 0 24px;
}
.faculty-master .plan-estudios-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faculty-master .plan-estudios-item {
	background: #fff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.2s;
}
.faculty-master .plan-estudios-item.is-open {
	box-shadow: var(--fc-shadow-sm);
}
.faculty-master .plan-estudios-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 24px;
	background: transparent;
	border: 0;
	font-size: 17px;
	font-weight: 600;
	color: var(--fc-primary);
	cursor: pointer;
	text-align: left;
}
.faculty-master .plan-estudios-trigger .area-title {
	flex: 1;
}
.faculty-master .plan-estudios-trigger .area-meta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.faculty-master .plan-estudios-trigger .area-ects {
	background: var(--fc-primary);
	color: #ffffff;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3px;
	white-space: nowrap;
}
.faculty-master .plan-estudios-trigger i {
	transition: transform 0.2s;
	font-size: 14px;
}
.faculty-master .plan-estudios-item.is-open .plan-estudios-trigger i {
	transform: rotate(180deg);
}
.faculty-master .plan-estudios-body {
	display: none;
	padding: 0 24px 20px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--fc-text);
}
.faculty-master .plan-estudios-item.is-open .plan-estudios-body {
	display: block;
}
.faculty-master .plan-estudios-body p {
	margin-bottom: 8px;
}
.faculty-master .plan-estudios-body strong {
	color: var(--fc-primary);
}

/* --- Participate cards (¿Cómo puede participar?) --- */
.faculty-master .faculty-participate {
	background: #fff;
	padding: 40px 0;
}
.faculty-master .faculty-participate h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 8px;
	text-align: center;
}
.faculty-master .faculty-participate .section-lead {
	margin: 0 auto 32px;
}
.faculty-master .participate-grid {
	margin-top: 12px;
}
.faculty-master .participate-card {
	background: #fff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	height: 100%;
	transition: transform 0.2s, box-shadow 0.2s;
}
.faculty-master .participate-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--fc-shadow-sm);
}
.faculty-master .participate-card .participate-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(15, 52, 96, 0.08), rgba(83, 52, 131, 0.12));
	margin-bottom: 14px;
}
.faculty-master .participate-card .participate-icon i {
	font-size: 22px;
	color: var(--fc-primary);
	margin: 0;
}
/* Fallback for any legacy markup that still uses a bare <i> child */
.faculty-master .participate-card > i {
	font-size: 28px;
	color: var(--fc-primary-2);
	margin-bottom: 12px;
}
.faculty-master .participate-card h4 {
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 8px;
}
.faculty-master .participate-card p {
	font-size: 14px;
	color: var(--fc-muted);
	line-height: 1.6;
}

/* --- Importante callout (Figma node 14486:20652) — light-blue notice card.
       Exact tokens from Figma: bg #eff6ff, border #bedbff (1px solid), radius 8px,
       padding 25px. Heading #0f3460 / Poppins Medium 16px / 24 line-height.
       Body #6c757d / Poppins Regular 14px / 20 line-height. Icon 20×20 left.    --- */
.faculty-master .faculty-important-callout {
	padding: 8px 0 32px;
}
.faculty-master .callout {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #eff6ff;
	border: 1px solid #bedbff;
	border-radius: 8px;
	padding: 25px;
}
.faculty-master .callout-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	margin-top: 2px;
}
.faculty-master .callout-icon i {
	font-size: 18px;
	color: var(--fc-primary);
	line-height: 1;
}
.faculty-master .callout > div:not(.callout-icon) {
	flex: 1;
	min-width: 0;
}
.faculty-master .callout h4 {
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 8px;
	color: var(--fc-primary);
	line-height: 24px;
}
.faculty-master .callout p {
	font-size: 14px;
	color: var(--fc-muted);
	line-height: 20px;
	margin: 0;
}
.faculty-master .callout p + p {
	margin-top: 8px;
}

/* --- Hero CTA button (Figma: solid primary "Postular ahora" below body) --- */
.faculty-master .hero-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	padding: 14px 32px;
	margin-top: 20px;
	background: var(--fc-primary);
	border: 0;
	border-radius: 10px;
	color: #ffffff;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.2px;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
	box-shadow: 0 2px 8px rgba(15, 52, 96, 0.18);
}
.faculty-master .hero-cta:hover {
	background: var(--fc-primary-2);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(15, 52, 96, 0.22);
}

/* --- Looking for / Requirements / Benefits — 2-col checklists --- */
.faculty-master .faculty-looking-for,
.faculty-master .faculty-requirements,
.faculty-master .faculty-benefits {
	padding: 30px 0;
}
.faculty-master .faculty-looking-for h2,
.faculty-master .faculty-requirements h2,
.faculty-master .faculty-benefits h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 24px;
}
.faculty-master .check-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 16px 32px;
}
.faculty-master .check-list.two-col {
	grid-template-columns: repeat(2, 1fr);
}
.faculty-master .check-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--fc-text);
}
.faculty-master .check-list li i {
	flex-shrink: 0;
	color: var(--fc-accent-green);
	font-size: 16px;
	margin-top: 4px;
}
.faculty-master .faculty-looking-for .rich-content {
	font-size: 15px;
	line-height: 1.7;
	color: var(--fc-text);
}
.faculty-master .faculty-looking-for .rich-content p {
	margin-bottom: 8px;
}

/* --- Apply section (long single-step form) --- */
.faculty-master .faculty-apply-section {
	background: var(--fc-bg-soft);
	padding: 60px 0;
}
.faculty-master .apply-section-header h2 {
	font-size: 32px;
	font-weight: 700;
	color: var(--fc-primary);
	margin-bottom: 12px;
}
.faculty-master .apply-section-header .section-lead {
	margin: 0 auto 32px;
}
.faculty-master .apply-form-card {
	max-width: 832px;
	background: #ffffff;
	border: 1px solid var(--fc-border);
	border-radius: 16px;
	box-shadow: var(--fc-shadow-lg);
	padding: 40px;
}
@media (max-width: 575.98px) {
	.faculty-master .apply-form-card {
		padding: 24px 20px;
	}
}

/* --- Cross-sell opportunity cards --- */
.faculty-master .faculty-cross-sell {
	background: #fff;
	padding: 60px 0;
}
.faculty-master .faculty-cross-sell h2 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 12px;
}
.faculty-master .faculty-cross-sell .section-lead {
	margin: 0 0 32px;
	text-align: left;
}
.faculty-master .opportunity-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: 24px;
	height: 100%;
	overflow: hidden;
}
.faculty-master .opportunity-card .opportunity-image {
	margin: -24px -24px 4px;
	height: 160px;
	overflow: hidden;
	background: var(--fc-bg-soft);
}
.faculty-master .opportunity-card .opportunity-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s;
}
.faculty-master .opportunity-card:hover .opportunity-image img {
	transform: scale(1.04);
	transition: transform 0.2s, box-shadow 0.2s;
}
.faculty-master .opportunity-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--fc-shadow-sm);
}
.faculty-master .opportunity-tag {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	color: var(--fc-primary-2);
	text-transform: uppercase;
	letter-spacing: 0.6px;
	width: fit-content;
}
.faculty-master .opportunity-card h3 {
	font-size: 18px;
	font-weight: 600;
	color: var(--fc-primary);
	line-height: 1.3;
}
.faculty-master .opportunity-card p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--fc-muted);
}
.faculty-master .opportunity-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
}
.faculty-master .opportunity-pills span {
	background: rgba(15, 52, 96, 0.06);
	color: var(--fc-primary);
	font-size: 11px;
	font-weight: 500;
	padding: 4px 10px;
	border-radius: 999px;
}
.faculty-master .opportunity-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	margin-top: 4px;
}

/* --- Master responsive overrides --- */
@media (max-width: 1199.98px) {
	.faculty-master .container-xxl { padding-inline: 60px; }
	.faculty-master .faculty-hero h1 { font-size: 40px; }
}
@media (max-width: 991.98px) {
	.faculty-master .container-xxl { padding-inline: 32px; }
	.faculty-master .faculty-hero { padding-top: 48px; }
	.faculty-master .faculty-hero h1 { font-size: 32px; }
	.faculty-master .meta-cards { grid-template-columns: repeat(2, 1fr); }
	.faculty-master .check-list.two-col { grid-template-columns: 1fr; }
	.faculty-master .step-indicator .step-label { display: none; }
}
@media (max-width: 575.98px) {
	.faculty-master .container-xxl { padding-inline: 20px; }
	.faculty-master .faculty-hero h1 { font-size: 26px; }
	.faculty-master .meta-cards { grid-template-columns: 1fr; }
	.faculty-master .plan-estudios-trigger { padding: 14px 16px; font-size: 15px; }
}

/* =============================================================================
   PLAN DE ESTUDIOS — ported from course-detail.css so the faculty page accordion
   inherits the exact same typography / ECTS pill / gradient title that the
   course catalogue uses. Scoped to .faculty-master so course-detail's own CSS
   isn't required to load on this page.
   ========================================================================== */

.faculty-master .title-40px {
	color: var(--Color-en-mov-2, var(--fc-primary));
	font-family: var(--bs-font-monospace, 'Poppins', sans-serif);
	font-size: 40px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.15;
}

.faculty-master .course-accordion-title {
	font-family: var(--bs-font-monospace, 'Poppins', sans-serif);
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 170%;
	text-align: justify;
	letter-spacing: 0.05em;
	color: var(--color-aicad-dark, var(--fc-text));
}
.faculty-master .course-accordion-title h3 {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	margin: 0;
}
.faculty-master .course-accordion-title[aria-expanded="true"] i:before {
	content: "\f286"; /* bi-chevron-up */
}

.faculty-master .course-accordion-gradient {
	border-radius: 5px;
	border: 1px solid var(--S-1, var(--color-text-grey-e, #e5e7eb));
	background: var(--Prueba-1, linear-gradient(170deg, var(--color-gradient-white-blue, #eff6ff) 7.67%, var(--transparent-black, rgba(0, 0, 0, 0)) 92.32%));
}

.faculty-master .ects-wrapper {
	border-radius: 5px 5px 0 0;
	background: var(--Color-en-mov-2, var(--fc-primary));
	color: var(--text-semi-white-blue, #ffffff);
	font-family: var(--bs-font-monospace, 'Poppins', sans-serif);
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
	letter-spacing: 0.6px;
	display: inline-flex;
	padding: 4px 8px;
	justify-content: center;
	align-items: center;
	gap: 4px;
}
.faculty-master .ects-wrapper strong {
	font-weight: 700;
}

/* `course-lines` — the curriculum body typography. Originally lives in
   webinar-detail.css; replicating here so faculty page doesn't have to load
   that whole stylesheet. */
.faculty-master .course-lines {
	font-family: var(--bs-font-monospace, 'Poppins', sans-serif);
	color: var(--Color-en-mov-2, var(--fc-text));
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 36px;
	letter-spacing: 0.4px;
}
.faculty-master .course-lines strong,
.faculty-master .course-lines b {
	font-weight: 700;
}
.faculty-master .course-lines p {
	margin-bottom: 12px;
}
.faculty-master .course-lines h2,
.faculty-master .course-lines h3,
.faculty-master .course-lines h4 {
	font-family: var(--bs-font-monospace, 'Poppins', sans-serif);
	font-style: normal;
	font-weight: 600;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.05em;
	color: var(--color-aicad-dark, var(--fc-primary));
	margin: 12px 0 8px;
}
.recognition-logo {
	margin:10px
}
.recognition-logo img {
min-width: 210px;
	object-fit: contain;
}

@media (max-width: 768px) {

	.recognition-logo img {
		min-width: unset;
			object-fit: contain;
		}
	.faculty-recognitions .recognitions-card {
		padding: 20px;
	}
	.faculty-master .course-lines {
		font-weight: 400;
		font-size: 16px;
		line-height: 28px;
	}
	.faculty-master .course-lines strong { font-weight: 600; }
	.faculty-master .course-lines p,
	.faculty-master .course-lines span,
	.faculty-master .course-lines li {
		font-size: 14px;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	.faculty-master .title-40px { font-size: 28px; }
}

/* invert-img is the small star/3-dot icon next to ECTS — keep it visible */
.faculty-master .invert-img {
	width: 18px;
	height: auto;
	opacity: 0.85;
}
