/* ==========================================================================
   FIRE ON THE ALTAR — Estilos principales
   ========================================================================== */

:root {
	--fea-negro: #0a0a0a;
	--fea-grafito: #1a1a1a;
	--fea-grafito-2: #232323;
	--fea-naranja: #ff6a00;
	--fea-rojo: #d1001f;
	--fea-dorado: #d4af37;
	--fea-blanco: #f5f5f5;
	--fea-font-titulo: 'Poppins', sans-serif;
	--fea-font-texto: 'Montserrat', sans-serif;
	--fea-radius: 14px;
	--fea-transition: 0.3s ease;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	background: var(--fea-negro);
	color: var(--fea-blanco);
	font-family: var(--fea-font-texto);
	line-height: 1.6;
	margin: 0;
	overflow-x: hidden;
}

h1, h2, h3, h4 {
	font-family: var(--fea-font-titulo);
	font-weight: 800;
	letter-spacing: 0.5px;
	margin: 0 0 16px;
}

a { color: var(--fea-naranja); text-decoration: none; transition: color var(--fea-transition); }
a:hover { color: var(--fea-dorado); }

img { max-width: 100%; height: auto; display: block; }

.fea-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.fea-section { padding: 80px 0; }
.fea-section-title { text-align: center; font-size: clamp(28px, 4vw, 44px); text-transform: uppercase; }
.fea-section-subtitle { text-align: center; opacity: 0.75; margin-top: -8px; margin-bottom: 40px; }
.fea-empty-state { text-align: center; opacity: 0.6; padding: 40px 0; }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; background: var(--fea-naranja); color: #000; padding: 10px 16px; z-index: 9999; border-radius: 6px; }

/* ============ BOTONES ============ */
.fea-btn {
	display: inline-block;
	padding: 14px 30px;
	border-radius: 50px;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 1px;
	transition: transform var(--fea-transition), box-shadow var(--fea-transition);
	border: 2px solid transparent;
	cursor: pointer;
}
.fea-btn:hover { transform: translateY(-3px); }
.fea-btn-fuego { background: linear-gradient(135deg, var(--fea-naranja), var(--fea-rojo)); color: #fff; box-shadow: 0 8px 24px rgba(255, 106, 0, 0.35); }
.fea-btn-fuego:hover { color: #fff; box-shadow: 0 12px 32px rgba(255, 106, 0, 0.5); }
.fea-btn-outline { background: transparent; color: var(--fea-blanco); border-color: var(--fea-blanco); }
.fea-btn-outline:hover { color: var(--fea-negro); background: var(--fea-blanco); }
.fea-btn-dorado { background: transparent; color: var(--fea-dorado); border-color: var(--fea-dorado); }
.fea-btn-dorado:hover { background: var(--fea-dorado); color: var(--fea-negro); }

/* ==========================================================================
   PANTALLA DE INTRO — logo heartbeat + llamas
   ========================================================================== */
.fea-intro {
	position: fixed; inset: 0; z-index: 9999;
	background: #000;
	display: flex; align-items: center; justify-content: center;
	transition: opacity 1.1s ease, visibility 1.1s ease;
}
.fea-intro.fea-intro-hide { opacity: 0; visibility: hidden; pointer-events: none; }
.fea-intro-logo-wrap { position: relative; text-align: center; }
.fea-intro-logo { animation: fea-heartbeat 1.4s ease-in-out infinite; max-width: 220px; margin: 0 auto; }
.fea-intro-title { font-size: 22px; letter-spacing: 4px; color: var(--fea-blanco); margin-top: 24px; opacity: 0; animation: fea-fade-in 1s ease 0.6s forwards; }

@keyframes fea-heartbeat {
	0%, 100% { transform: scale(1); }
	15% { transform: scale(1.08); }
	30% { transform: scale(1); }
	45% { transform: scale(1.05); }
	60% { transform: scale(1); }
}
@keyframes fea-fade-in { to { opacity: 1; } }

.fea-flame-core {
	position: absolute; inset: 0; margin: auto;
	width: 60px; height: 100px;
	background: linear-gradient(0deg, var(--fea-rojo), var(--fea-naranja) 55%, #ffd23f);
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	animation: fea-flicker 1.6s ease-in-out infinite;
	filter: blur(0.3px);
}
.fea-flame-glow {
	position: absolute; inset: 0; margin: auto;
	width: 140px; height: 140px;
	background: radial-gradient(circle, rgba(255,106,0,0.45) 0%, rgba(255,106,0,0) 70%);
	animation: fea-glow-pulse 2s ease-in-out infinite;
}
@keyframes fea-flicker {
	0%, 100% { transform: scaleY(1) scaleX(1) rotate(0deg); }
	25% { transform: scaleY(1.06) scaleX(0.96) rotate(-1deg); }
	50% { transform: scaleY(0.97) scaleX(1.03) rotate(1deg); }
	75% { transform: scaleY(1.04) scaleX(0.98) rotate(-0.5deg); }
}
@keyframes fea-glow-pulse {
	0%, 100% { opacity: 0.6; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.15); }
}
.fea-intro-particles::before, .fea-intro-particles::after {
	content: ''; position: absolute; width: 4px; height: 4px; border-radius: 50%;
	background: var(--fea-naranja); box-shadow: 0 0 8px 2px var(--fea-naranja);
	animation: fea-particle-rise 3s linear infinite;
}
.fea-intro-particles::after { left: 60%; animation-delay: 1.2s; }
@keyframes fea-particle-rise {
	0% { transform: translateY(0) translateX(0); opacity: 1; }
	100% { transform: translateY(-160px) translateX(20px); opacity: 0; }
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.fea-header {
	position: sticky; top: 0; z-index: 500;
	background: rgba(10,10,10,0.85);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255,106,0,0.15);
}
.fea-header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; }
.fea-logo-link img { max-height: 56px; width: auto; }
.fea-logo-text { font-family: var(--fea-font-titulo); font-weight: 800; font-size: 20px; color: var(--fea-blanco); }
.fea-menu { list-style: none; display: flex; gap: 28px; margin: 0; padding: 0; }
.fea-menu a { color: var(--fea-blanco); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; }
.fea-menu a:hover { color: var(--fea-naranja); }
.fea-menu-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
.fea-menu-toggle span { width: 26px; height: 2px; background: var(--fea-blanco); }

.fea-breadcrumbs { padding: 14px 0; font-size: 13px; opacity: 0.7; }
.fea-breadcrumbs a { color: var(--fea-blanco); }

/* ==========================================================================
   HERO
   ========================================================================== */
.fea-hero {
	position: relative; min-height: 90vh; display: flex; align-items: center; justify-content: center;
	text-align: center; overflow: hidden; background: radial-gradient(ellipse at 50% 30%, #1a0800 0%, #0a0a0a 70%);
}
.fea-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.5; }
.fea-hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,0.3), rgba(10,10,10,0.95)); }
.fea-hero-content { position: relative; z-index: 2; }
.fea-hero-title {
	font-size: clamp(38px, 7vw, 84px);
	background: linear-gradient(180deg, #ffd23f 0%, var(--fea-naranja) 45%, var(--fea-rojo) 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	margin-bottom: 8px;
}
.fea-hero-subtitle { font-family: var(--fea-font-titulo); font-size: clamp(16px, 2.4vw, 22px); color: var(--fea-dorado); letter-spacing: 3px; text-transform: uppercase; margin-bottom: 40px; }
.fea-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.fea-hero-scroll { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); width: 2px; height: 40px; background: linear-gradient(var(--fea-naranja), transparent); }

/* ==========================================================================
   UPCOMING EVENT
   ========================================================================== */
.fea-event-card {
	display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; align-items: center;
	background: var(--fea-grafito); border-radius: var(--fea-radius); overflow: hidden;
	border: 1px solid rgba(255,106,0,0.2);
}
.fea-event-flyer img { width: 100%; height: 100%; object-fit: cover; }
.fea-event-info { padding: 32px; }
.fea-event-meta { color: var(--fea-dorado); font-size: 14px; margin-bottom: 16px; }

/* ==========================================================================
   MAPA
   ========================================================================== */
.fea-world-map {
	position: relative; min-height: 320px; border-radius: var(--fea-radius);
	background: radial-gradient(ellipse at center, #150800 0%, #0a0a0a 80%);
	border: 1px solid rgba(212,175,55,0.2); margin-bottom: 32px;
	display: flex; align-items: center; justify-content: center;
}
.fea-map-glow-trail { width: 80%; height: 2px; background: linear-gradient(90deg, transparent, var(--fea-naranja), transparent); animation: fea-glow-pulse 2.5s ease-in-out infinite; }
.fea-countries-list { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; justify-content: center; }
.fea-country-chip {
	padding: 8px 18px; border-radius: 30px; font-size: 13px; font-weight: 600;
	background: var(--fea-grafito); border: 1px solid var(--fea-naranja); color: var(--fea-blanco);
}
.fea-country-proximo { border-color: var(--fea-dorado); opacity: 0.7; }

/* ==========================================================================
   CONTADORES
   ========================================================================== */
.fea-counters-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.fea-counter-number { display: block; font-family: var(--fea-font-titulo); font-size: clamp(36px, 5vw, 56px); font-weight: 800; color: var(--fea-naranja); }
.fea-counter-label { text-transform: uppercase; font-size: 13px; letter-spacing: 1px; opacity: 0.8; }

/* ==========================================================================
   VERSÍCULO
   ========================================================================== */
.fea-verse-section { background: var(--fea-grafito); }
.fea-verse { text-align: center; max-width: 760px; margin: 0 auto; }
.fea-verse p { font-family: var(--fea-font-titulo); font-size: clamp(20px, 3vw, 30px); font-style: italic; color: var(--fea-blanco); }
.fea-verse cite { color: var(--fea-dorado); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }

/* ==========================================================================
   GALERÍA
   ========================================================================== */
.fea-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fea-gallery-item { position: relative; border-radius: var(--fea-radius); overflow: hidden; aspect-ratio: 1/1; }
.fea-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--fea-transition); }
.fea-gallery-item:hover img { transform: scale(1.08); }
.fea-gallery-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 28px; color: #fff; text-shadow: 0 0 10px #000; }
.fea-gallery-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px; background: linear-gradient(0deg, rgba(0,0,0,0.85), transparent); font-size: 13px; }
.fea-gallery-more { text-align: center; margin-top: 32px; }

/* ==========================================================================
   TESTIMONIOS
   ========================================================================== */
.fea-testimonials-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fea-testimonial-card { background: var(--fea-grafito); padding: 28px; border-radius: var(--fea-radius); border-left: 3px solid var(--fea-naranja); }
.fea-testimonial-card cite { display: block; margin-top: 12px; color: var(--fea-dorado); font-weight: 700; font-style: normal; }

/* ==========================================================================
   CONTACTO
   ========================================================================== */
.fea-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.fea-contact-form { display: flex; flex-direction: column; gap: 6px; background: var(--fea-grafito); padding: 32px; border-radius: var(--fea-radius); }
.fea-contact-form label { font-size: 13px; text-transform: uppercase; opacity: 0.8; margin-top: 10px; }
.fea-contact-form input, .fea-contact-form textarea {
	background: var(--fea-negro); border: 1px solid #333; color: var(--fea-blanco);
	padding: 12px 14px; border-radius: 8px; font-family: var(--fea-font-texto);
}
.fea-contact-form input:focus, .fea-contact-form textarea:focus { outline: none; border-color: var(--fea-naranja); }
.fea-contact-form button { margin-top: 18px; }
.fea-contact-status { min-height: 20px; color: var(--fea-dorado); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.fea-footer { position: relative; background: var(--fea-negro); border-top: 1px solid rgba(255,106,0,0.15); padding-top: 60px; overflow: hidden; }
.fea-footer-glow { position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 400px; height: 200px; background: radial-gradient(ellipse, rgba(255,106,0,0.15), transparent 70%); }
.fea-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 40px; }
.fea-footer-brand p { opacity: 0.7; font-size: 14px; margin-top: 12px; }
.fea-footer-social { display: flex; gap: 10px; margin-top: 16px; }
.fea-footer-social a { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--fea-naranja); font-size: 11px; font-weight: 700; }
.fea-widget-title { font-size: 15px; text-transform: uppercase; color: var(--fea-dorado); }
.fea-footer-menu { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fea-footer-verse { text-align: center; padding: 30px 0; border-top: 1px solid #222; font-style: italic; opacity: 0.8; }
.fea-footer-verse span { display: block; color: var(--fea-dorado); margin-top: 6px; font-style: normal; font-size: 13px; text-transform: uppercase; }
.fea-footer-bottom { text-align: center; padding: 24px 0; border-top: 1px solid #222; font-size: 13px; opacity: 0.6; }
.fea-footer-bottom a { opacity: 0.9; }

/* ==========================================================================
   COOKIES / GDPR
   ========================================================================== */
.fea-cookie-banner {
	position: fixed; bottom: 20px; left: 20px; right: 20px; max-width: 560px; margin: 0 auto;
	background: var(--fea-grafito); border: 1px solid var(--fea-naranja); border-radius: var(--fea-radius);
	padding: 20px; z-index: 10001; display: block; box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}
.fea-cookie-banner.fea-cookie-hidden { display: none; }
.fea-cookie-banner p { font-size: 14px; margin: 0 0 14px; }
.fea-cookie-actions { display: flex; gap: 10px; }
.fea-cookie-actions .fea-btn { padding: 10px 20px; font-size: 12px; }

/* ==========================================================================
   WHATSAPP FLOTANTE
   ========================================================================== */
.fea-whatsapp-float {
	position: fixed; bottom: 24px; right: 24px; width: 56px; height: 56px; border-radius: 50%;
	background: linear-gradient(135deg, var(--fea-naranja), var(--fea-rojo));
	display: flex; align-items: center; justify-content: center; font-size: 24px; z-index: 700;
	box-shadow: 0 8px 24px rgba(255,106,0,0.4);
}

/* ==========================================================================
   TARJETAS GENÉRICAS (archive/index/search)
   ========================================================================== */
.fea-posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.fea-card { background: var(--fea-grafito); border-radius: var(--fea-radius); overflow: hidden; border: 1px solid rgba(255,106,0,0.12); }
.fea-card-body { padding: 20px; }
.fea-card-title { font-size: 18px; margin-bottom: 6px; }
.fea-card-meta, .fea-card-excerpt { font-size: 14px; opacity: 0.75; }

.fea-single { max-width: 820px; }
.fea-single-title { font-size: clamp(28px, 4vw, 44px); }
.fea-single-image { margin-bottom: 24px; border-radius: var(--fea-radius); overflow: hidden; }

.fea-404 { text-align: center; }
.fea-404 h1 { font-size: 100px; background: linear-gradient(180deg, #ffd23f, var(--fea-rojo)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ==========================================================================
   ACCESIBILIDAD
   ========================================================================== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 3px solid var(--fea-dorado); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 960px) {
	.fea-event-card { grid-template-columns: 1fr; }
	.fea-counters-grid { grid-template-columns: repeat(2, 1fr); }
	.fea-gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.fea-testimonials-track { grid-template-columns: 1fr; }
	.fea-contact-grid { grid-template-columns: 1fr; }
	.fea-footer-grid { grid-template-columns: 1fr 1fr; }
	.fea-posts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
	.fea-primary-nav { position: fixed; top: 78px; left: 0; right: 0; background: var(--fea-negro); flex-direction: column; padding: 20px; transform: translateY(-120%); transition: transform var(--fea-transition); }
	.fea-primary-nav.fea-nav-open { transform: translateY(0); }
	.fea-menu { flex-direction: column; gap: 16px; }
	.fea-menu-toggle { display: flex; }
	.fea-counters-grid { grid-template-columns: 1fr 1fr; }
	.fea-gallery-grid { grid-template-columns: 1fr 1fr; }
	.fea-footer-grid { grid-template-columns: 1fr; text-align: center; }
	.fea-footer-social { justify-content: center; }
	.fea-posts-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   NUEVO — Logo oficial transparente + efecto de latido
   ========================================================================== */
.fea-intro-logo {
	width: min(72vw, 520px);
	margin: 0 auto;
	position: relative;
	animation: fea-heartbeat 1.35s ease-in-out infinite;
	filter: drop-shadow(0 0 28px rgba(255,106,0,.18));
}
.fea-intro-logo img { width: 100%; height: auto; display: block; }
.fea-intro-logo::after {
	content: '';
	position: absolute;
	inset: 8% 14%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,106,0,.18), transparent 65%);
	z-index: -1;
	animation: fea-logo-aura 1.35s ease-in-out infinite;
}
.fea-intro-title { opacity: .9; }
@keyframes fea-logo-aura {
	0%,100% { transform: scale(.88); opacity: .25; }
	30% { transform: scale(1.04); opacity: .65; }
	60% { transform: scale(.94); opacity: .35; }
}
.fea-bundled-logo { max-height: 62px !important; width: auto !important; }

/* ==========================================================================
   NUEVO — Mapa OpenStreetMap + recorrido visual de la llama
   ========================================================================== */
.fea-live-map-card {
	background: #0b0b0b;
	border: 1px solid rgba(255,106,0,.24);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 55px rgba(0,0,0,.38), 0 0 35px rgba(255,106,0,.08);
}
.fea-live-map-head {
	display: flex; justify-content: space-between; align-items: center; gap: 18px;
	padding: 15px 20px;
	background: linear-gradient(90deg, rgba(255,106,0,.12), rgba(212,175,55,.06));
	font-size: 13px;
}
.fea-map-live-dot {
	display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px;
	background: #ff6a00; box-shadow: 0 0 0 0 rgba(255,106,0,.55); animation: fea-map-pulse 1.8s infinite;
}
.fea-map-note { opacity: .65; }
@keyframes fea-map-pulse { 70% { box-shadow: 0 0 0 10px rgba(255,106,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,106,0,0); } }
.fea-live-map-frame { line-height: 0; background: #111; }
.fea-live-map-frame iframe { display: block; width: 100%; min-height: 430px; }
.fea-map-bottom {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	padding: 14px 20px; font-size: 13px; background: #101010;
}
.fea-map-bottom a { margin-left: auto; font-weight: 700; }
.fea-map-status-dot {
	display: inline-block; width: 8px; height: 8px; border-radius: 50%;
	background: var(--fea-naranja); box-shadow: 0 0 0 0 rgba(255,106,0,.45);
	animation: fea-map-status-pulse 1.8s ease-out infinite;
}
@keyframes fea-map-status-pulse { 70% { box-shadow: 0 0 0 8px rgba(255,106,0,0); } 100% { box-shadow: 0 0 0 0 rgba(255,106,0,0); } }
.fea-route-motion { position: relative; height: 38px; margin: 14px auto 0; max-width: 900px; overflow: hidden; }
.fea-route-line {
	position: absolute; left: 1%; right: 1%; top: 50%; height: 2px; overflow: hidden;
	background: linear-gradient(90deg, transparent, rgba(255,106,0,.28), var(--fea-naranja), rgba(212,175,55,.28), transparent);
	box-shadow: 0 0 14px rgba(255,106,0,.22);
}
.fea-route-light {
	position: absolute; top: 0; left: -18%; width: 18%; height: 100%;
	background: linear-gradient(90deg, transparent, #fff, var(--fea-naranja), transparent);
	filter: blur(.3px);
	animation: fea-route-sweep 3.8s linear infinite;
}
@keyframes fea-route-sweep { from { left: -18%; } to { left: 100%; } }
@media (max-width: 680px) {
	.fea-live-map-frame iframe { min-height: 330px; height: 330px; }
	.fea-live-map-head { align-items: flex-start; flex-direction: column; gap: 5px; }
	.fea-map-bottom a { margin-left: 0; width: 100%; }
	.fea-intro-logo { width: min(82vw, 420px); }
}

/* ==========================================================================
   V1.2 — Splash de 8 segundos + identidad humana + fondo cartográfico
   ========================================================================== */
.fea-intro {
	background: #020202;
	overflow: hidden;
}
.fea-intro-bg {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.45)), url('../images/intro-map.svg');
	background-size: cover;
	background-position: center;
	filter: saturate(.9) contrast(1.08);
	transform: scale(1.04);
	animation: fea-intro-map 10s ease-in-out infinite alternate;
}
.fea-intro-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 48%, rgba(255,106,0,.13), transparent 35%), linear-gradient(90deg, rgba(0,0,0,.5), transparent 45%, rgba(0,0,0,.5));
}
.fea-intro-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 60px 60px;
	mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent);
}
.fea-intro-logo-wrap {
	z-index: 2;
	width: min(90vw, 760px);
	padding: 20px;
}
.fea-intro-logo {
	width: min(72vw, 560px);
	filter: drop-shadow(0 0 24px rgba(255,106,0,.26)) drop-shadow(0 0 70px rgba(255,60,0,.12));
}
.fea-intro-title {
	font-weight: 800;
	font-size: clamp(18px, 3vw, 28px);
	letter-spacing: clamp(4px, 1vw, 8px);
	text-transform: uppercase;
	text-shadow: 0 0 18px rgba(255,106,0,.25);
}
.fea-intro-kicker {
	margin-top: 12px;
	font-size: clamp(10px, 1.2vw, 14px);
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #d4af37;
	opacity: 0;
	animation: fea-fade-in 1.2s ease 1.2s forwards;
}
.fea-intro-line {
	width: min(300px, 60vw);
	height: 2px;
	margin: 20px auto 0;
	background: rgba(255,255,255,.12);
	overflow: hidden;
	opacity: 0;
	animation: fea-fade-in .8s ease 1.4s forwards;
}
.fea-intro-line span {
	display: block;
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, transparent, #ff6a00, #ffd23f, transparent);
	box-shadow: 0 0 14px #ff6a00;
	animation: fea-intro-progress 8s linear forwards;
}
@keyframes fea-intro-progress { to { width: 100%; } }
@keyframes fea-intro-map { from { transform: scale(1.04) translate3d(0,0,0); } to { transform: scale(1.10) translate3d(-1%,1%,0); } }

/* Hero: mapa oscuro + luces en movimiento */
.fea-hero {
	min-height: 92vh;
	background: #050505;
}
.fea-hero-map-bg {
	position: absolute;
	inset: 0;
	background-image: url('../images/intro-map.svg');
	background-size: cover;
	background-position: center;
	opacity: .5;
	transform: scale(1.03);
	animation: fea-hero-map-drift 18s ease-in-out infinite alternate;
}
.fea-hero-overlay {
	background: radial-gradient(circle at 50% 42%, rgba(255,106,0,.10), transparent 32%), linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.88) 88%);
}
.fea-hero-light {
	position: absolute;
	z-index: 1;
	width: 32vw;
	height: 32vw;
	max-width: 480px;
	max-height: 480px;
	border-radius: 50%;
	filter: blur(70px);
	pointer-events: none;
	opacity: .14;
}
.fea-hero-light-a { background: #ff5a00; left: -8%; top: 15%; animation: fea-light-float-a 9s ease-in-out infinite alternate; }
.fea-hero-light-b { background: #d4af37; right: -8%; bottom: 5%; animation: fea-light-float-b 11s ease-in-out infinite alternate; }
@keyframes fea-hero-map-drift { from { transform: scale(1.03) translate3d(0,0,0); } to { transform: scale(1.10) translate3d(-1.5%,-1%,0); } }
@keyframes fea-light-float-a { from { transform: translate(0,0); } to { transform: translate(12vw,5vh); } }
@keyframes fea-light-float-b { from { transform: translate(0,0); } to { transform: translate(-10vw,-7vh); } }
.fea-hero-content { max-width: 1050px; }
.fea-hero-description {
	max-width: 760px;
	margin: -20px auto 34px;
	font-size: clamp(15px, 1.8vw, 19px);
	line-height: 1.75;
	color: rgba(255,255,255,.82);
	text-wrap: balance;
}

/* Identidad y humanización */
.fea-identity { position: relative; overflow: hidden; background: linear-gradient(180deg, #090909, #11100f); }
.fea-identity::before { content: ''; position: absolute; width: 520px; height: 520px; left: -260px; top: 10%; background: radial-gradient(circle, rgba(255,106,0,.10), transparent 68%); pointer-events: none; }
.fea-identity-intro { max-width: 900px; margin: 0 auto 50px; text-align: center; position: relative; }
.fea-eyebrow { display: inline-block; color: var(--fea-dorado); font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.fea-identity .fea-section-title { text-transform: none; margin-bottom: 24px; }
.fea-lead { font-size: clamp(16px, 1.7vw, 19px); line-height: 1.85; color: rgba(255,255,255,.80); margin: 0 0 18px; }
.fea-work-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; }
.fea-work-card { background: linear-gradient(145deg, rgba(35,35,35,.94), rgba(15,15,15,.94)); border: 1px solid rgba(212,175,55,.16); border-radius: 18px; padding: 28px 24px; min-height: 260px; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.fea-work-card:hover { transform: translateY(-6px); border-color: rgba(255,106,0,.48); box-shadow: 0 18px 45px rgba(0,0,0,.28), 0 0 30px rgba(255,106,0,.07); }
.fea-work-icon { display: block; color: var(--fea-naranja); font-family: var(--fea-font-titulo); font-size: 14px; font-weight: 800; letter-spacing: 2px; margin-bottom: 28px; }
.fea-work-card h3 { font-size: 25px; margin-bottom: 12px; }
.fea-work-card p { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.75; margin: 0; }
.fea-human-story { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: center; margin-top: 58px; padding: 42px; border-radius: 22px; background: linear-gradient(110deg, rgba(255,106,0,.08), rgba(212,175,55,.035)); border: 1px solid rgba(255,106,0,.15); }
.fea-human-story h3 { font-size: clamp(25px, 3vw, 38px); }
.fea-human-story p { margin: 0; color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.85; }
.fea-ministry-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 34px; }
.fea-ministry-tags span { padding: 9px 14px; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.72); font-size: 12px; }

@media (max-width: 960px) {
	.fea-human-story { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 680px) {
	.fea-intro-bg { background-position: 48% center; }
	.fea-intro-logo { width: min(84vw, 480px); }
	.fea-hero { min-height: 88vh; }
	.fea-hero-description { margin-top: -12px; }
	.fea-human-story { padding: 28px 22px; }
}

/* TOUR FIRE ON THE ALTAR — expansión editorial */
.fea-scripture-card,.fea-free-ministry,.fea-manifesto{margin-top:36px;padding:32px;border:1px solid rgba(224,169,31,.24);border-radius:24px;background:linear-gradient(135deg,rgba(255,92,0,.10),rgba(0,0,0,.34));box-shadow:0 18px 60px rgba(0,0,0,.25)}
.fea-scripture-card blockquote{margin:12px 0;font-size:clamp(1.45rem,3vw,2.4rem);line-height:1.2;font-weight:800;color:#fff}.fea-scripture-card strong{color:#e7b52d}.fea-free-ministry,.fea-human-story{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:30px;align-items:center}.fea-free-ministry h3,.fea-human-story h3{font-size:clamp(1.6rem,3vw,2.5rem);margin:.2rem 0}.fea-free-ministry p,.fea-human-story p{margin:0;color:rgba(255,255,255,.78);line-height:1.8}
.fea-tour-section,.fea-team{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.2))}.fea-tour-grid,.fea-doctrine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}.fea-tour-grid article,.fea-doctrine-grid article{padding:28px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:rgba(255,255,255,.035)}.fea-tour-grid span{font-size:.75rem;letter-spacing:.16em;color:#e7b52d}.fea-tour-grid h3,.fea-doctrine-grid h3{margin:8px 0 10px;font-size:1.45rem}.fea-tour-grid p,.fea-doctrine-grid p{color:rgba(255,255,255,.72);line-height:1.75;margin:0}.fea-manifesto p{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.55;margin:0;color:#fff}
.fea-country-group{margin-top:42px}.fea-country-group>h3{font-size:1.5rem;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:12px}.fea-members-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fea-member-card{overflow:hidden;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.fea-member-photo img{width:100%;height:260px;object-fit:cover;display:block}.fea-member-body{padding:20px}.fea-member-body h4{margin:0 0 6px;font-size:1.2rem}.fea-member-body p{margin:0 0 10px;color:#e7b52d}.fea-member-body .excerpt{color:rgba(255,255,255,.7)}.fea-empty-team{padding:32px;border:1px dashed rgba(255,255,255,.18);border-radius:20px}.fea-contact-links{display:grid;gap:12px;margin:24px 0}.fea-contact-links a{display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}.fea-contact-links span{color:#e7b52d}.fea-qr-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border-radius:20px;background:rgba(255,255,255,.05)}.fea-qr-box h3{margin:4px 0}.fea-qr-box p{color:rgba(255,255,255,.68);line-height:1.55}.fea-qr-box img{width:150px;height:150px;background:#fff;padding:8px;border-radius:12px}.fea-turnstile-placeholder{padding:12px 14px;margin:15px 0;background:rgba(255,255,255,.04);border-radius:10px;color:rgba(255,255,255,.6)}
@media(max-width:900px){.fea-free-ministry,.fea-human-story{grid-template-columns:1fr}.fea-tour-grid,.fea-doctrine-grid{grid-template-columns:1fr}.fea-members-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.fea-members-grid{grid-template-columns:1fr}.fea-qr-box{flex-direction:column;align-items:flex-start}.fea-qr-box img{width:135px;height:135px}}

/* =========================================================
   TOUR FIRE ON THE ALTAR — V2 / LIVE TRACKER
   Visual layer: lightweight, responsive, no page-builder required.
   ========================================================= */
:root{--fea-fire:#f07d22;--fea-fire-2:#ffb84a;--fea-gold:#ffd47a;--fea-charcoal:#090a0c;--fea-panel:#111318;--fea-panel-2:#17191e;--fea-text:#f6f2eb;--fea-muted:#a8a6a2;--fea-line:rgba(255,180,75,.18);--fea-radius:24px}
html{scroll-behavior:smooth}
body{background:var(--fea-charcoal);color:var(--fea-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.fea-header{position:sticky;top:0;z-index:1000;background:rgba(7,8,10,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.fea-header-inner{min-height:78px}.fea-bundled-logo,.fea-custom-logo{max-height:58px;width:auto;filter:drop-shadow(0 0 14px rgba(255,125,35,.25))}.fea-logo-link{display:flex;align-items:center}.fea-menu{gap:4px}.fea-menu a{font-weight:600;letter-spacing:.01em;padding:10px 13px;border-radius:999px}.fea-menu a:hover{background:rgba(240,125,34,.11);color:#fff}
.fea-hero-v2{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 50% 10%,rgba(240,125,34,.13),transparent 30%),radial-gradient(circle at 85% 55%,rgba(255,181,74,.08),transparent 25%),#090a0c}
.fea-hero-v2:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 85%);pointer-events:none}
.fea-hero-v2__inner{position:relative;z-index:2;text-align:center;padding:82px 20px 74px}.fea-hero-v2__brand img{width:min(360px,72vw);height:auto;filter:drop-shadow(0 0 12px rgba(255,130,35,.35)) drop-shadow(0 0 42px rgba(255,95,15,.16));animation:fea-logo-breathe 3.8s ease-in-out infinite}.fea-hero-v2__eyebrow,.fea-eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.18em;color:var(--fea-fire-2)}.fea-hero-v2__eyebrow{margin-top:22px}.fea-hero-v2 h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.03;margin:18px auto 20px;max-width:950px;letter-spacing:-.045em}.fea-hero-v2 h1 span{color:#fff0d2}.fea-hero-v2 p{max-width:740px;margin:0 auto;color:#c4c1bc;font-size:1.06rem;line-height:1.75}.fea-hero-v2__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:32px}.fea-hero-v2__trust{margin-top:25px;color:#777875;font-size:.78rem}.fea-hero-v2__trust span{display:inline-block;width:7px;height:7px;background:var(--fea-fire);border-radius:50%;box-shadow:0 0 13px var(--fea-fire);margin-right:7px}.fea-hero-v2__glow{position:absolute;border-radius:50%;filter:blur(55px);pointer-events:none}.fea-hero-v2__glow--one{width:260px;height:260px;left:-90px;top:35%;background:rgba(240,90,15,.15)}.fea-hero-v2__glow--two{width:320px;height:320px;right:-120px;bottom:8%;background:rgba(255,180,65,.1)}
@keyframes fea-logo-breathe{0%,100%{transform:scale(1);filter:drop-shadow(0 0 12px rgba(255,130,35,.32)) drop-shadow(0 0 42px rgba(255,95,15,.14))}50%{transform:scale(1.018);filter:drop-shadow(0 0 20px rgba(255,145,50,.46)) drop-shadow(0 0 58px rgba(255,95,15,.2))}}
.fea-section{position:relative;padding:92px 0}.fea-section-heading{margin-bottom:34px}.fea-section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.035em;margin:10px 0 14px}.fea-section-subtitle{color:var(--fea-muted);max-width:760px;line-height:1.75}.fea-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border-radius:999px;text-decoration:none!important;font-weight:800;letter-spacing:.02em;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.fea-btn:hover{transform:translateY(-2px)}.fea-btn-fuego{background:linear-gradient(135deg,#e75f18,#ffac3d);color:#fff!important;box-shadow:0 10px 35px rgba(240,101,24,.22)}.fea-btn-outline{border-color:rgba(255,184,74,.35);color:#fff!important;background:rgba(255,255,255,.025)}.fea-btn-outline:hover{background:rgba(255,150,50,.1);box-shadow:0 0 28px rgba(240,125,34,.12)}
.fea-tracker{background:linear-gradient(180deg,#0c0d10,#090a0c)}.fea-tracker-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.fea-tracker-heading .fea-section-subtitle{margin:0}.fea-tracker-card{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.5fr);background:linear-gradient(145deg,#17191e,#0f1014);border:1px solid var(--fea-line);border-radius:var(--fea-radius);overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.36),0 0 55px rgba(240,125,34,.06)}.fea-tracker-info{padding:38px;display:flex;flex-direction:column;justify-content:center}.fea-live-badge{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#ffbd73}.fea-live-badge i{display:block;width:8px;height:8px;border-radius:50%;background:#ff6c27;box-shadow:0 0 0 5px rgba(255,108,39,.09),0 0 18px #ff6c27;animation:fea-live-pulse 1.8s infinite}.fea-tracker-label{font-size:.72rem;letter-spacing:.17em;color:#737570;font-weight:800;margin:30px 0 8px}.fea-tracker-info h3{font-size:clamp(2.1rem,4vw,3.3rem);line-height:1;margin:0;letter-spacing:-.045em}.fea-tracker-place{color:var(--fea-fire-2);font-weight:700;margin:8px 0 0}.fea-host{margin:22px 0 0;color:#a7a8a5;line-height:1.55}.fea-host strong{color:#e7e3dc}.fea-tracker-countdown{margin-top:30px;padding:18px;border-radius:17px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.fea-tracker-countdown span{display:block;font-size:.68rem;color:#7c7d79;letter-spacing:.15em;font-weight:800}.fea-tracker-countdown strong{display:block;font-variant-numeric:tabular-nums;font-size:2.05rem;margin-top:4px;letter-spacing:.05em;color:#fff2dc}.fea-tracker-progress{height:5px;background:#292b30;border-radius:99px;overflow:hidden;margin-top:18px}.fea-tracker-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#e9651b,#ffd078);box-shadow:0 0 15px rgba(255,154,50,.75);transition:width .4s linear}.fea-tracker-times{display:flex;justify-content:space-between;color:#747672;font-size:.72rem;margin-top:8px}.fea-tracker-map-wrap{min-height:500px;position:relative;background:#d9d5cd;border-left:1px solid rgba(255,255,255,.06)}.fea-tour-map{width:100%;height:100%;min-height:500px}.fea-map-caption{position:absolute;z-index:500;left:18px;right:18px;bottom:15px;display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:rgba(8,9,11,.82);backdrop-filter:blur(10px);color:#bcbdb9;font-size:.72rem}.fea-tracker-note{margin:15px 0 0;color:#6f716e;font-size:.78rem}.fea-tracker-note strong{color:#a9aaa6}.fea-flame-marker-wrap{background:transparent;border:0}.fea-flame-marker{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,185,79,.35),rgba(240,105,25,.12) 48%,transparent 70%);filter:drop-shadow(0 0 12px rgba(255,115,20,.9))}.fea-flame-marker span{font-size:30px;line-height:1;transform:translateY(-1px)}

.fea-map-caption--hidden{display:none!important;}
.fea-tracker-card--map-only .fea-map-origin-label{display:none!important;}
.fea-tracker-card--map-only .fea-map-caption{display:none!important;}
.fea-tour-map .leaflet-tile{opacity:1!important;}
.fea-tour-map .leaflet-tile-pane{filter:saturate(.86) contrast(1.08) brightness(.94);}

/* Tour map — markers profesionales y llamita estable */
.fea-map-origin-wrap,.fea-map-destination-wrap{background:transparent!important;border:0!important}
.fea-map-origin-marker{width:16px;height:16px;border-radius:50%;background:#11151b;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.35),0 0 0 4px rgba(255,255,255,.22)}
.fea-map-destination-marker{display:flex;flex-direction:column;align-items:center;gap:3px;transform:translateY(-2px)}
.fea-map-destination-pin{width:48px;height:48px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;background:linear-gradient(145deg,#ff9a32,#e85d17);border:4px solid #fff;box-shadow:0 5px 18px rgba(0,0,0,.32),0 0 22px rgba(255,128,34,.45)}
.fea-map-destination-pin span{transform:rotate(45deg);font-size:20px;color:#fff}
.fea-map-destination-marker b{font-size:9px;letter-spacing:.12em;color:#fff;background:rgba(13,15,19,.92);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 8px;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.fea-flame-marker.is-parked,.fea-flame-marker.is-moving,.fea-flame-marker.is-arrived{animation:none!important}
.fea-flame-marker.is-event-live{animation:fea-flame-event-glow 1.15s ease-in-out infinite!important;filter:drop-shadow(0 0 12px rgba(255,115,20,.95)) drop-shadow(0 0 28px rgba(255,184,70,.75))}
@keyframes fea-flame-event-glow{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}
.leaflet-container{font:inherit}.leaflet-control-zoom{border:0!important;box-shadow:0 4px 18px rgba(0,0,0,.2)!important}.leaflet-control-zoom a{background:#121419!important;color:#fff!important;border-color:#33363d!important}.leaflet-tooltip{background:#111318;color:#fff;border:1px solid rgba(255,184,74,.3);box-shadow:none}.leaflet-tooltip-top:before{border-top-color:#111318}
@keyframes fea-flame-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.06)}}@keyframes fea-live-pulse{50%{box-shadow:0 0 0 9px rgba(255,108,39,0),0 0 22px #ff6c27}}
.fea-next-event-v2{background:#0b0c0f}.fea-event-v2{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);border:1px solid rgba(255,255,255,.08);border-radius:var(--fea-radius);overflow:hidden;background:#111318}.fea-event-v2__visual{min-height:360px;background:#17191d}.fea-event-v2__visual img{width:100%;height:100%;object-fit:cover;display:block}.fea-event-v2__placeholder{height:100%;min-height:360px;display:grid;place-items:center;font-size:6rem;background:radial-gradient(circle,rgba(240,125,34,.2),transparent 50%)}.fea-event-v2__body{padding:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.fea-event-v2__body h3{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;margin:18px 0}.fea-event-v2__meta{display:flex;gap:10px;flex-wrap:wrap;color:#b6b7b3;font-size:.88rem}.fea-event-v2__body p{color:#969894;line-height:1.75;max-width:650px}.fea-empty-state-v2{text-align:center;padding:70px 25px;border:1px solid rgba(255,255,255,.07);border-radius:var(--fea-radius);background:#111318}.fea-empty-state-v2 span{font-size:3rem}
.fea-identity-v2{background:linear-gradient(180deg,#101216,#0b0c0f)}.fea-identity-v2__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch}.fea-identity-v2__grid>div:first-child{padding:18px 0}.fea-identity-v2 p,.fea-doctrine p{color:#a7a8a5;line-height:1.8}.fea-lead{font-size:1.08rem}.fea-scripture-card-v2{padding:36px;border:1px solid rgba(255,184,74,.2);border-radius:var(--fea-radius);background:radial-gradient(circle at 80% 20%,rgba(240,125,34,.12),transparent 45%),#15171b;box-shadow:inset 0 0 45px rgba(240,125,34,.035)}.fea-scripture-card-v2 blockquote{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.25;margin:25px 0 10px;color:#fff1d9}.fea-scripture-card-v2>strong{color:var(--fea-fire-2)}.fea-service-strip{margin-top:28px;display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;align-items:center;padding:28px 30px;border:1px solid rgba(255,184,74,.14);border-radius:20px;background:linear-gradient(90deg,rgba(240,125,34,.08),rgba(255,255,255,.025))}.fea-service-strip h3{margin:7px 0 0;font-size:1.6rem}.fea-service-strip p{margin:0}.fea-service-strip--dark{background:#111318;border-color:rgba(255,255,255,.07)}
.fea-doctrine{background:#090a0c}.fea-doctrine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fea-doctrine-grid article{padding:28px;border-radius:20px;background:#111318;border:1px solid rgba(255,255,255,.065)}.fea-doctrine-grid h3{margin-top:0;color:#fff0d6}.fea-team{background:#0d0e11}.fea-country-group{margin:34px 0}.fea-country-group>h3{font-size:1.1rem;color:#eee8df;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:12px}.fea-members-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.fea-member-card{background:#15171b;border:1px solid rgba(255,255,255,.07);border-radius:19px;overflow:hidden}.fea-member-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.fea-member-body{padding:18px}.fea-member-body h4{margin:0 0 5px;font-size:1.05rem}.fea-member-body p{margin:0 0 10px;color:var(--fea-fire-2);font-size:.8rem;font-weight:700}.fea-member-body .excerpt{color:#91938f}.fea-contact-section{background:radial-gradient(circle at 10% 20%,rgba(240,125,34,.09),transparent 28%),#090a0c}.fea-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.fea-contact-links{display:grid;gap:10px;margin:25px 0}.fea-contact-links a{display:flex;justify-content:space-between;gap:15px;padding:16px 18px;border-radius:14px;background:#111318;border:1px solid rgba(255,255,255,.06);color:#fff;text-decoration:none}.fea-contact-links span{color:#ffbd73}.fea-qr-box{display:flex;gap:20px;align-items:center;padding:18px;border:1px solid rgba(255,184,74,.18);border-radius:18px;background:#111318}.fea-qr-box img{width:120px;height:120px;background:#fff;padding:7px;border-radius:10px}.fea-qr-box h3{margin:6px 0}.fea-qr-box p{color:#81837f;font-size:.8rem;line-height:1.5}.fea-contact-form{display:grid;gap:9px;padding:28px;border-radius:24px;background:#111318;border:1px solid rgba(255,255,255,.07);box-shadow:0 25px 80px rgba(0,0,0,.22)}.fea-contact-form label{font-size:.78rem;color:#b8b9b5;font-weight:700;margin-top:4px}.fea-contact-form input,.fea-contact-form textarea,.fea-contact-form select{width:100%;box-sizing:border-box;border:1px solid #2b2d33;background:#0b0c0f;color:#fff;border-radius:11px;padding:13px 14px;outline:none}.fea-contact-form input:focus,.fea-contact-form textarea:focus{border-color:rgba(255,174,70,.7);box-shadow:0 0 0 3px rgba(240,125,34,.08)}.fea-contact-form button{border:0;cursor:pointer;margin-top:9px}.fea-turnstile-placeholder{font-size:.72rem;color:#6f716d;padding:8px 0}.fea-footer{background:#07080a;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){.fea-tracker-map-wrap{border-left:0;border-top:1px solid rgba(255,255,255,.06)}.fea-tracker-heading{display:block}.fea-tracker-card,.fea-event-v2,.fea-identity-v2__grid,.fea-contact-grid{grid-template-columns:1fr}.fea-tracker-map-wrap{min-height:430px}.fea-tour-map{min-height:430px}.fea-members-grid{grid-template-columns:repeat(2,1fr)}.fea-service-strip{grid-template-columns:1fr;gap:12px}.fea-doctrine-grid{grid-template-columns:1fr}}
@media(max-width:640px){.fea-header-inner{min-height:66px}.fea-bundled-logo,.fea-custom-logo{max-height:48px}.fea-hero-v2{min-height:610px}.fea-hero-v2__inner{padding-top:65px}.fea-section{padding:68px 0}.fea-tracker-info{padding:27px}.fea-tracker-map-wrap,.fea-tour-map{min-height:370px}.fea-event-v2__body{padding:28px}.fea-members-grid{grid-template-columns:1fr 1fr}.fea-qr-box{align-items:flex-start}.fea-qr-box img{width:95px;height:95px}.fea-contact-grid{gap:30px}.fea-contact-links a{display:grid}.fea-menu{padding:12px}.fea-menu a{display:block}.fea-menu-toggle{margin-left:auto}}

/* V2.1 — splash restaurado + hero fotográfico de la galería */
.fea-intro-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.72)),var(--fea-intro-photo);background-size:cover;background-position:center;filter:saturate(.92) contrast(1.08);}
.fea-intro-bg{--fea-intro-photo:url('../images/hero-iglesia.jpg');}
.fea-intro::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,106,0,.16),transparent 34%),linear-gradient(90deg,rgba(0,0,0,.42),transparent 48%,rgba(0,0,0,.42));pointer-events:none;}
.fea-intro-logo-wrap{position:relative;}
.fea-intro-logo{position:relative;z-index:2;}
.fea-intro-title,.fea-intro-kicker,.fea-intro-line{position:relative;z-index:3;}
.fea-intro .fea-flame-glow{z-index:1;}
.fea-hero-v2--photo{min-height:720px;}
.fea-hero-v2--photo .fea-hero-v2__photo{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(5,5,5,.36) 0%,rgba(5,5,5,.52) 48%,rgba(5,5,5,.94) 100%),var(--fea-hero-photo);background-size:cover;background-position:center 42%;transform:scale(1.02);filter:saturate(.92) contrast(1.06);}
.fea-hero-v2--photo:after{z-index:1;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);}
.fea-hero-v2--photo .fea-hero-v2__inner{z-index:3;padding-top:96px;padding-bottom:92px;}
.fea-hero-v2--photo .fea-hero-v2__brand img{width:min(410px,76vw);filter:drop-shadow(0 0 18px rgba(255,130,35,.5)) drop-shadow(0 0 70px rgba(255,95,15,.28));}
.fea-hero-v2--photo h1{text-shadow:0 3px 22px rgba(0,0,0,.75);}
.fea-hero-v2--photo p{color:#f1eee9;text-shadow:0 2px 14px rgba(0,0,0,.8);}
@media(max-width:640px){.fea-hero-v2--photo{min-height:680px}.fea-hero-v2--photo .fea-hero-v2__inner{padding-top:72px;padding-bottom:70px}.fea-hero-v2--photo .fea-hero-v2__brand img{width:min(330px,82vw);}.fea-intro-logo{width:min(78vw,480px);}}

/* ==========================================================================
   MEJORAS V2.2 — países, video y visitantes
   ========================================================================== */
.fea-header-video-link{display:inline-flex;align-items:center;justify-content:center;margin-left:18px;padding:9px 14px;border:1px solid rgba(255,184,74,.45);border-radius:999px;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.12em;white-space:nowrap}.fea-header-video-link:hover{background:rgba(255,106,0,.16);color:#fff}
.fea-team-country-carousel,.fea-visitor-carousel{position:relative;overflow:hidden;margin:0 0 24px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:#111318;padding:12px}.fea-team-country-track,.fea-visitor-track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.fea-team-country-track::-webkit-scrollbar,.fea-visitor-track::-webkit-scrollbar{display:none}.fea-team-country-pill,.fea-visitor-pill{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;background:#191b20;border:1px solid rgba(255,184,74,.15);color:#fff;font-size:.78rem}.fea-team-country-pill b,.fea-visitor-pill b{font-size:1.3rem}.fea-visitor-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.fea-visitor-heading h3{margin:0}.fea-visitor-sub{font-size:.76rem;color:#858782;margin:0}.fea-visitor-pill small{display:block;color:#ffbd73;font-size:.68rem}.fea-visitor-pill .fea-visitor-time{font-variant-numeric:tabular-nums;color:#c8c9c5;font-size:.68rem}.fea-team-country-carousel:after,.fea-visitor-carousel:after{content:'→';position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(10,10,10,.82);color:#ffbd73;pointer-events:none}.fea-gps-live{color:#72e19b!important}.fea-gps-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#58df8c;box-shadow:0 0 12px #58df8c;margin-right:6px;animation:fea-live-pulse 1.8s infinite}
@media(max-width:900px){.fea-header-video-link{margin-left:8px}.fea-header-video-link{font-size:.65rem;padding:8px 10px}}
@media(max-width:640px){.fea-header-video-link{font-size:.58rem;padding:7px 9px;margin-left:5px}.fea-visitor-heading{display:block}.fea-visitor-sub{margin-top:5px}}


/* =========================================================
   V2.2.1 — estabilidad del logo + carrusel de integrantes
   ========================================================= */

/* Evita que transparencias del logo se interpreten como manchas negras. */
.fea-intro-logo,
.fea-bundled-logo,
.fea-custom-logo,
.fea-hero-v2__brand img,
.fea-logo-link img {
  image-rendering: auto;
}

/* Carrusel de integrantes: tarjetas compactas, táctiles y responsive. */
.fea-country-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:42px;
  margin-bottom:14px;
}
.fea-country-heading h3{
  margin:0;
  font-size:1.25rem;
  border-bottom:0;
  padding-bottom:0;
}
.fea-carousel-controls{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.fea-carousel-controls button{
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.fea-carousel-controls button:hover,
.fea-carousel-controls button:focus-visible{
  transform:scale(1.06);
  background:rgba(240,125,34,.18);
  border-color:rgba(240,125,34,.55);
  outline:none;
}
.fea-members-carousel{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:3px 2px 12px;
  overscroll-behavior-x:contain;
}
.fea-members-carousel::-webkit-scrollbar{display:none}
.fea-members-track{
  display:flex;
  gap:16px;
  width:max-content;
}
.fea-members-track .fea-member-card{
  flex:0 0 155px;
  width:155px;
  scroll-snap-align:start;
}
.fea-members-track .fea-member-photo{
  width:100%;
  height:112px;
  overflow:hidden;
  background:#111318;
}
.fea-members-track .fea-member-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.fea-members-track .fea-member-body{
  padding:13px 14px 15px;
  min-height:105px;
}
.fea-members-track .fea-member-body h4{
  font-size:1rem;
  line-height:1.25;
  margin:0 0 5px;
}
.fea-members-track .fea-member-body p{
  font-size:.78rem;
  line-height:1.35;
  margin:0 0 7px;
}
.fea-members-track .fea-member-body .excerpt{
  font-size:.78rem;
  line-height:1.4;
}
@media (max-width: 640px){
  .fea-country-heading{margin-top:30px}
  .fea-country-heading h3{font-size:1.08rem}
  .fea-carousel-controls button{width:34px;height:34px;font-size:22px}
  .fea-members-track{gap:12px}
  .fea-members-track .fea-member-card{
    flex-basis:125px;
    width:125px;
  }
  .fea-members-track .fea-member-photo{height:92px}
  .fea-members-track .fea-member-body{padding:11px 12px 13px;min-height:98px}
}
@media (prefers-reduced-motion: reduce){
  .fea-members-carousel{scroll-behavior:auto}
}

/* V2.2.2 — no GPS explanatory text on the public page. */
.fea-gps-note,.fea-tracker-note{display:none!important;}

/* Events: presentación estable y sin contenido accidental de Blog */
.fea-events-page .fea-section-title { margin-bottom: 2rem; }
.fea-events-grid { align-items: stretch; }
.fea-events-empty { text-align: center; padding: 3rem 1.5rem; border-radius: 18px; }
.fea-events-empty h2 { margin: 0 0 .6rem; }
.fea-events-empty p { margin: 0; }

/* V2.2.4 — Events: tarjetas y salida independiente de cualquier contenido de Blog. */
.fea-events-page{min-height:45vh}
.fea-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fea-event-card{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.10)}
.fea-event-card-link{display:block;color:inherit;text-decoration:none;height:100%}
.fea-event-card-image{aspect-ratio:16/10;overflow:hidden;background:#eee}
.fea-event-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.fea-event-card-body{padding:18px 18px 20px}
.fea-event-card-title{margin:0 0 10px;font-size:1.25rem;line-height:1.25}
.fea-event-card-date,.fea-event-card-location,.fea-event-card-church{margin:6px 0;font-size:.95rem}
.fea-event-card-date{display:flex;gap:12px;flex-wrap:wrap;font-weight:600}
.fea-event-card-location{opacity:.82}
.fea-event-card-church{opacity:.72}
.fea-event-card-more{display:inline-block;margin-top:10px;font-weight:700}
@media(max-width:900px){.fea-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.fea-events-grid{grid-template-columns:1fr;gap:18px}.fea-event-card-body{padding:15px}}


/* V2.2.8 — Carrusel de integrantes: banderas superiores + fotos completas. */
.fea-team-country-bar{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  margin:0 0 14px;
  padding:9px 10px;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:#111318;
}
.fea-team-country-bar::-webkit-scrollbar{display:none}
.fea-team-country-filter{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:#191b20;
  color:#fff;
  font:inherit;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.fea-team-country-filter span:first-child{font-size:1.15rem;line-height:1}
.fea-team-country-filter:hover,.fea-team-country-filter:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(255,189,115,.45);
  outline:none;
}
.fea-team-country-filter.is-active{
  background:rgba(240,125,34,.16);
  border-color:rgba(255,189,115,.5);
}

.fea-members-carousel--unified{
  position:relative;
  width:100%;
  padding:4px 2px 48px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.fea-members-carousel--unified::-webkit-scrollbar{display:none}
.fea-members-carousel--unified .fea-members-track{display:flex;gap:16px;width:max-content;}
.fea-members-carousel--unified .fea-member-card{
  position:relative;
  flex:0 0 clamp(220px,22vw,260px);
  width:clamp(220px,22vw,260px);
  overflow:hidden;
  border-radius:17px;
  background:#15171b;
  border:1px solid rgba(255,255,255,.08);
  scroll-snap-align:start;
}
.fea-members-carousel--unified .fea-member-card.is-filtered-out{display:none;}
.fea-members-carousel--unified .fea-member-country{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:7px 11px;
  background:#111318;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fea-members-carousel--unified .fea-member-flag{font-size:1.2rem;line-height:1;flex:0 0 auto;}
.fea-members-carousel--unified .fea-member-photo{
  width:100%;
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#0b0c0f;
}
.fea-members-carousel--unified .fea-member-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.fea-members-carousel--unified .fea-member-body{padding:13px 14px 15px;min-height:72px;}
.fea-members-carousel--unified .fea-member-body h4{margin:0;font-size:1.02rem;line-height:1.22;}
.fea-members-carousel--unified .fea-member-body p{margin:5px 0 0;color:#ffbd73;font-size:.76rem;line-height:1.3;font-weight:700;}
.fea-members-carousel--unified .fea-carousel-controls{position:absolute;right:6px;bottom:4px;display:flex;gap:7px;}
.fea-members-carousel--unified .fea-carousel-controls button{width:34px;height:34px;font-size:22px;}
@media(max-width:900px){
  .fea-members-carousel--unified .fea-member-card{flex-basis:220px;width:220px;}
  .fea-members-carousel--unified .fea-member-photo{height:175px;}
}
@media(max-width:640px){
  .fea-team-country-bar{margin-bottom:12px;padding:8px;}
  .fea-team-country-filter{min-height:34px;padding:6px 10px;font-size:.7rem;}
  .fea-members-carousel--unified .fea-member-card{flex-basis:185px;width:185px;}
  .fea-members-carousel--unified .fea-member-photo{height:155px;}
  .fea-members-carousel--unified .fea-member-country{font-size:.7rem;padding:6px 9px;}
  .fea-members-carousel--unified .fea-member-body{padding:10px 11px 12px;min-height:62px;}
  .fea-members-carousel--unified .fea-member-body h4{font-size:.9rem;}
}
@media(prefers-reduced-motion:reduce){
  .fea-members-carousel--unified{scroll-behavior:auto;}
}



/* V2.2.6 — Sponsors, colaboradores y donaciones. */
.fea-sponsor-section{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,106,0,.025),transparent 35%)}
.fea-sponsor-intro{max-width:900px;margin:0 auto 28px;padding:20px 24px;border:1px solid rgba(255,189,115,.18);border-radius:18px;background:#111318;box-shadow:0 12px 35px rgba(0,0,0,.16);text-align:center}
.fea-sponsor-intro p{margin:0 0 10px;line-height:1.65;color:#e6e6e6}
.fea-sponsor-intro p:last-child{margin-bottom:0}
.fea-sponsor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;align-items:stretch}
.fea-sponsor-form-wrap,.fea-donations-card{border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#15171b;box-shadow:0 12px 36px rgba(0,0,0,.18)}
.fea-sponsor-form-wrap{padding:24px}
.fea-sponsor-form{background:transparent;padding:0;border-radius:0}
.fea-sponsor-form-heading{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.fea-sponsor-form-heading h3{margin:0;font-size:1.3rem}
.fea-sponsor-form-heading p{margin:4px 0 0;color:#a9aaa8;font-size:.9rem}
.fea-sponsor-badge{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(240,125,34,.13);font-size:1.45rem}
.fea-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.fea-sponsor-form button:disabled{opacity:.65;cursor:wait;transform:none}
.fea-donations-card{padding:26px;display:flex;flex-direction:column;justify-content:center}
.fea-donations-card h3{margin:2px 0 8px;font-size:1.65rem}
.fea-donations-card>p:not(.fea-donation-note){margin:0 0 20px;color:#b8bab8;line-height:1.55}
.fea-donation-link{display:grid;grid-template-columns:92px minmax(0,1fr) 20px;align-items:center;gap:13px;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:#101216;color:#fff;text-decoration:none;margin-top:10px;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.fea-donation-link:hover{transform:translateY(-2px);border-color:rgba(255,189,115,.4);background:#181a1f}
.fea-donation-link>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}
.fea-donation-link strong{font-size:.9rem}
.fea-donation-link small{font-size:.72rem;color:#a9aaa8}
.fea-donation-arrow{font-size:1.25rem;color:#ffbd73;text-align:right}
.fea-payment-logo{display:inline-flex;align-items:center;justify-content:center;min-height:38px;font-size:1rem;letter-spacing:-.7px;white-space:nowrap}
.fea-payment-logo-mp{color:#009ee3;font-weight:800}
.fea-payment-logo-mp:before{content:'●';font-size:1.35rem;margin-right:4px;color:#009ee3}
.fea-payment-logo-paypal{color:#0070ba;font-size:1.05rem;font-weight:800}
.fea-payment-logo-paypal:before{content:'P';display:grid;place-items:center;width:27px;height:27px;margin-right:5px;border-radius:50%;background:#003087;color:#fff;font-size:.9rem;font-weight:900}
.fea-donation-note{margin:20px 0 0!important;padding-top:15px;border-top:1px solid rgba(255,255,255,.07);font-size:.78rem!important;color:#929491!important;line-height:1.5}
@media(max-width:900px){.fea-sponsor-grid{grid-template-columns:1fr}.fea-donations-card{min-height:0}}
@media(max-width:640px){.fea-sponsor-intro{padding:17px}.fea-sponsor-form-wrap,.fea-donations-card{padding:18px}.fea-donation-link{grid-template-columns:82px minmax(0,1fr) 16px;gap:9px;padding:12px}.fea-payment-logo{font-size:.88rem}.fea-sponsor-form-heading h3{font-size:1.1rem}}


/* V2.2.9 — ajustes solicitados: video fuera, carrusel de países y formulario. */
.fea-team{position:relative;overflow:hidden;isolation:isolate;background:#0d0e11;}
.fea-team:before{
  content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(760px,92vw);height:min(760px,92vw);
  transform:translate(-50%,-50%);background:url('../images/earth-watermark.svg') center/contain no-repeat;
  opacity:.16;pointer-events:none;animation:fea-earth-spin 42s linear infinite;
}
.fea-team>.fea-container{position:relative;z-index:1;}
@keyframes fea-earth-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}

/* Logo: brillo y pequeño efecto de llama sin cambiar su archivo ni sus proporciones. */
.fea-hero-v2__brand{position:relative;display:inline-block;}
.fea-hero-v2__brand:before,.fea-hero-v2__brand:after{
  content:"";position:absolute;left:50%;top:56%;width:72%;height:42%;transform:translate(-50%,-50%);
  border-radius:50% 50% 46% 46%;background:radial-gradient(ellipse at center,rgba(255,170,55,.38),rgba(255,83,0,.14) 45%,transparent 72%);
  filter:blur(18px);pointer-events:none;z-index:-1;animation:fea-flame-pulse 1.8s ease-in-out infinite;
}
.fea-hero-v2__brand:after{width:38%;height:55%;top:68%;filter:blur(22px);opacity:.7;animation:fea-flame-flicker 1.15s ease-in-out infinite alternate;}
.fea-hero-v2__brand img{position:relative;z-index:2;}
@keyframes fea-flame-pulse{0%,100%{transform:translate(-50%,-50%) scale(.94);opacity:.72}50%{transform:translate(-50%,-50%) scale(1.06);opacity:1}}
@keyframes fea-flame-flicker{0%{transform:translate(-50%,-50%) scale(.88) rotate(-2deg)}100%{transform:translate(-50%,-50%) scale(1.08) rotate(2deg)}}

/* Barra de países: selección azul/cian, manteniendo dimensiones y comportamiento. */
.fea-team-country-filter.is-active{
  background:linear-gradient(135deg,#1677ff,#20d8ff);
  border-color:rgba(93,229,255,.85);color:#fff;
  box-shadow:0 7px 22px rgba(20,170,255,.20);
}

/* Tarjetas del carrusel: solo bandera arriba; nombre y descripción abajo. */
.fea-members-carousel--unified .fea-member-country{
  justify-content:center;min-height:38px;padding:7px 11px;background:#111318;
  text-align:center;
}
.fea-members-carousel--unified .fea-member-flag{font-size:1.45rem;filter:drop-shadow(0 0 7px rgba(255,255,255,.10));}
.fea-members-carousel--unified .fea-member-photo img{
  border-radius:10px;box-sizing:border-box;border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 18px rgba(0,0,0,.20);
}
.fea-members-carousel--unified .fea-member-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fea-members-carousel--unified .fea-member-card:hover{
  transform:translateY(-6px);
  border-color:rgba(67,211,255,.38);
  box-shadow:0 16px 34px rgba(0,0,0,.32),0 0 25px rgba(31,191,255,.13);
}
.fea-members-carousel--unified .fea-member-body h4{
  background:linear-gradient(90deg,#fff,#bcefff 55%,#fff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.fea-members-carousel--unified .fea-member-body .fea-member-description{
  display:block;max-width:20ch;margin:5px 0 0;color:#ffbd73;font-size:.76rem;line-height:1.3;font-weight:700;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

@media(prefers-reduced-motion:reduce){
  .fea-team:before,.fea-hero-v2__brand:before,.fea-hero-v2__brand:after{animation:none;}
}


/* V2.2.9.1 — selector de idioma con banderas ES/EN. */
.fea-language-switcher{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.04em;margin-left:auto;margin-right:12px;z-index:20}
.fea-language-switcher a{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:9px;color:inherit;text-decoration:none;opacity:.55;transition:opacity .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease}
.fea-language-switcher a:hover{opacity:1;transform:translateY(-1px);background:rgba(255,255,255,.07)}
.fea-language-switcher a.is-active{opacity:1;background:linear-gradient(135deg,#1677ff,#20d8ff);box-shadow:0 5px 16px rgba(20,170,255,.2);color:#fff}
.fea-language-switcher a:first-child{font-size:17px}.fea-language-switcher a:last-child{font-size:17px}
.fea-language-switcher a span{font-size:10px;line-height:1}
@media(max-width:800px){.fea-language-switcher{margin-right:8px}.fea-header .fea-language-switcher{order:2}.fea-header-video-link{order:3}.fea-menu-toggle{order:4}}


/* V2.2.9.3 — Logo realmente transparente + brillo vivo/pulsante. */
.fea-intro-logo,.fea-bundled-logo,.fea-custom-logo,.fea-hero-v2__brand img,.fea-logo-link img{
  background:transparent !important; mix-blend-mode:normal;
  filter:drop-shadow(0 0 7px rgba(255,126,20,.28)) drop-shadow(0 0 18px rgba(255,76,0,.16));
  animation:fea-logo-heartbeat 2.25s ease-in-out infinite;
}
.fea-intro-logo-wrap{position:relative;isolation:isolate;}
.fea-intro-logo-wrap::before,.fea-hero-v2__brand::after{
  content:"";position:absolute;left:50%;top:52%;width:78%;height:78%;transform:translate(-50%,-50%) scale(.88);
  border-radius:50%;background:radial-gradient(circle,rgba(255,176,46,.28) 0%,rgba(255,86,0,.12) 38%,transparent 72%);
  filter:blur(22px);pointer-events:none;z-index:0;animation:fea-logo-aura 2.25s ease-in-out infinite;
}
.fea-intro-logo-wrap > *{position:relative;z-index:1;}
@keyframes fea-logo-heartbeat{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 7px rgba(255,126,20,.28)) drop-shadow(0 0 18px rgba(255,76,0,.16));}
  45%{transform:scale(1.018);filter:drop-shadow(0 0 13px rgba(255,177,54,.55)) drop-shadow(0 0 30px rgba(255,67,0,.30));}
  52%{transform:scale(1.006);}
  60%{transform:scale(1.024);filter:drop-shadow(0 0 17px rgba(255,189,70,.66)) drop-shadow(0 0 38px rgba(255,67,0,.36));}
}
@keyframes fea-logo-aura{
  0%,100%{opacity:.42;transform:translate(-50%,-50%) scale(.88);}
  50%{opacity:.95;transform:translate(-50%,-50%) scale(1.08);}
}
.fea-members-carousel--unified .fea-member-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}
@media(prefers-reduced-motion:reduce){.fea-intro-logo,.fea-bundled-logo,.fea-custom-logo,.fea-hero-v2__brand img,.fea-logo-link img,.fea-intro-logo-wrap::before{animation:none !important;}}


/* V2.3.0 — administración simple de eventos y enlaces de seguimiento */
.fea-event-tracker{scroll-margin-top:90px}.fea-event-tracker .fea-section-heading{margin-bottom:28px}.fea-event-tracker .fea-tracker-note{display:block!important}.fea-event-meta{line-height:1.8}.fea-events-page h2{font-size:clamp(1.4rem,2vw,2rem)}.fea-events-page .fea-btn{display:inline-flex;align-items:center;justify-content:center}

/* FIX v2.3.4 — Events: restaurar tarjetas oscuras y contraste del texto */
.fea-events-page .fea-event-card{
  background:#15171b;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 30px rgba(0,0,0,.24);
}
.fea-events-page .fea-event-card-link{color:#fff}
.fea-events-page .fea-event-card-title{color:#fff}
.fea-events-page .fea-event-card-date{color:#e7b52d}
.fea-events-page .fea-event-card-location{color:rgba(255,255,255,.78);opacity:1}
.fea-events-page .fea-event-card-church{color:rgba(255,255,255,.66);opacity:1}
.fea-events-page .fea-event-card-more{color:#ffbd73}
.fea-events-page .fea-event-card:hover{border-color:rgba(255,125,35,.35);transform:translateY(-2px);transition:transform .2s ease,border-color .2s ease}


/* ==========================================================================
   TOUR — llamita en movimiento y llegada al destino
   ========================================================================== */
.fea-flame-marker.is-departure {
  animation-duration: 1.35s;
  filter: drop-shadow(0 0 12px rgba(255,115,20,.9));
}
.fea-flame-marker.is-moving {
  animation: fea-flame-travel-pulse 1s ease-in-out infinite;
  filter: drop-shadow(0 0 15px rgba(255,115,20,.95));
}
.fea-flame-marker.is-arrived {
  animation: fea-flame-arrival 1.05s ease-in-out infinite;
  filter:
    drop-shadow(0 0 9px rgba(255,220,120,1))
    drop-shadow(0 0 22px rgba(255,125,20,1))
    drop-shadow(0 0 42px rgba(255,85,0,.9));
}
.fea-flame-marker.is-arrived span {
  text-shadow:
    0 0 8px rgba(255,255,210,1),
    0 0 18px rgba(255,190,70,1),
    0 0 32px rgba(255,90,0,1);
}
@keyframes fea-flame-travel-pulse {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-5px) scale(1.10); }
}
@keyframes fea-flame-arrival {
  0%,100% {
    transform: translateY(0) scale(1);
    filter:
      drop-shadow(0 0 9px rgba(255,220,120,1))
      drop-shadow(0 0 22px rgba(255,125,20,1))
      drop-shadow(0 0 38px rgba(255,85,0,.75));
  }
  50% {
    transform: translateY(-7px) scale(1.30);
    filter:
      drop-shadow(0 0 14px rgba(255,255,190,1))
      drop-shadow(0 0 34px rgba(255,180,45,1))
      drop-shadow(0 0 65px rgba(255,70,0,1));
  }
}

/* V2.3.6 — Recorrido claro: ORIGEN / DESTINO / FECHA / HORA DEL EVENTO */
.fea-tracker-route-summary{display:flex;flex-direction:column;gap:10px;margin:28px 0 16px;width:100%}
.fea-route-point{padding:15px 17px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);min-width:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.fea-route-point.fea-route-origin{border-left:3px solid #4ca3ff}
.fea-route-point.fea-route-destination{border-left:3px solid #ff7043;background:linear-gradient(145deg,rgba(255,112,67,.11),rgba(255,255,255,.025));padding:18px 19px}
.fea-route-kicker{display:block;font-size:.64rem;letter-spacing:.15em;font-weight:900;margin-bottom:7px;color:#aeb1ad}
.fea-route-origin .fea-route-kicker{color:#70b9ff}
.fea-route-destination .fea-route-kicker{color:#ff9b73}
.fea-route-point strong{display:block;color:#fff;font-size:.86rem;line-height:1.4;overflow-wrap:break-word;word-break:normal}
.fea-route-destination strong{font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.28;letter-spacing:-.01em}
.fea-route-point small{display:block;color:#a2a49f;margin-top:7px;font-size:.74rem;line-height:1.4}
.fea-route-arrow{display:flex;align-items:center;justify-content:center;color:#ffbd73;font-size:1.35rem;font-weight:900;line-height:1;height:18px;transform:rotate(90deg)}
.fea-event-schedule{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 5px}
.fea-event-schedule>div{padding:13px 15px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}
.fea-event-schedule span{display:block;color:#777a76;font-size:.62rem;letter-spacing:.13em;font-weight:900;margin-bottom:5px}
.fea-event-schedule strong{display:block;color:#fff0d6;font-size:.95rem}
@media(max-width:900px){.fea-tracker-info{padding:28px}.fea-route-destination strong{font-size:1.05rem}}
@media(max-width:700px){.fea-tracker-route-summary{gap:8px}.fea-route-point{padding:14px 15px}.fea-route-destination{padding:16px 16px}.fea-event-schedule{grid-template-columns:1fr}.fea-route-arrow{height:16px}}
.fea-events-page .fea-event-card-date{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fea-events-page .fea-event-card-date span{display:flex;flex-direction:column;gap:3px}
.fea-events-page .fea-event-card-date b{font-size:.62rem;letter-spacing:.08em;color:#9c9e9a}
@media(max-width:640px){.fea-events-page .fea-event-card-date{grid-template-columns:1fr}}

/* ==========================================================================
   V2.4.6 — MAPA DEL TOUR: CENTRADO, NEÓN Y MODO SIN EVENTO
   ========================================================================== */
.fea-tour-map-section{position:relative;overflow:hidden;background:
  radial-gradient(circle at 50% 25%,rgba(255,106,0,.08),transparent 34%),
  linear-gradient(180deg,#08090b 0%,#0c0e12 100%);}
.fea-tour-map-section .fea-container{position:relative;z-index:1;}
.fea-tracker-card--map-focus{position:relative;isolation:isolate;}
.fea-tracker-card--map-only{display:block;max-width:1180px;margin:0 auto;border-radius:28px;background:#080a0e;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 100px rgba(0,0,0,.55),0 0 70px rgba(255,106,0,.08);}
.fea-tracker-card--map-only .fea-tracker-map-wrap{min-height:clamp(500px,68vh,720px);border-left:0;}
.fea-tracker-card--map-only .fea-tour-map{min-height:clamp(500px,68vh,720px);}
.fea-tracker-map-wrap{position:relative;overflow:hidden;background:#10151a;}
.fea-tracker-map-wrap::before{
  content:"";position:absolute;inset:0;z-index:401;pointer-events:none;
  background:radial-gradient(circle at 50% 45%,transparent 0,transparent 46%,rgba(0,0,0,.20) 100%);
}
.fea-map-neon-frame{position:absolute;inset:0;z-index:700;pointer-events:none;border:1px solid rgba(255,174,76,.55);
  border-radius:0;background:transparent!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 0 38px rgba(255,106,0,.08);
}
.fea-map-neon-frame::before,.fea-map-neon-frame::after{content:"";position:absolute;pointer-events:none;}
.fea-map-neon-frame::before{
  top:-1px;left:-10%;width:28%;height:2px;
  background:linear-gradient(90deg,transparent,#fff,#ff7b21,transparent);
  box-shadow:0 0 14px #ff7b21,0 0 32px rgba(255,123,33,.75);
  animation:fea-map-neon-sweep 5.5s linear infinite;
}
.fea-map-neon-frame::after{
  bottom:-1px;right:-12%;width:30%;height:2px;
  background:linear-gradient(90deg,transparent,#fff,#35dcff,transparent);
  box-shadow:0 0 14px #35dcff,0 0 32px rgba(53,220,255,.6);
  animation:fea-map-neon-sweep-reverse 7s linear infinite;
}
@keyframes fea-map-neon-sweep{0%{transform:translateX(0)}100%{transform:translateX(450%)}}
@keyframes fea-map-neon-sweep-reverse{0%{transform:translateX(0)}100%{transform:translateX(-380%)}}
.fea-map-origin-label{
  position:absolute;z-index:650;left:22px;top:22px;padding:10px 14px;border-radius:999px;
  background:rgba(7,9,12,.82);backdrop-filter:blur(12px);
  border:1px solid rgba(255,184,74,.28);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:.11em;
  box-shadow:0 8px 25px rgba(0,0,0,.28),0 0 24px rgba(255,106,0,.08);
}
.fea-map-origin-label span{filter:drop-shadow(0 0 7px rgba(255,106,0,.9));}
.fea-tour-map .leaflet-tile-pane{filter:saturate(.78) contrast(1.04) brightness(.84);}
.fea-tour-map .leaflet-control-container{position:relative;z-index:800;}
.fea-tour-map .leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;}
.fea-flame-marker{
  position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,rgba(255,204,105,.44),rgba(255,106,0,.18) 42%,transparent 72%);
  filter:drop-shadow(0 0 12px rgba(255,106,0,.95)) drop-shadow(0 0 28px rgba(255,184,70,.42));
  animation:fea-flame-float 2.1s ease-in-out infinite;
}
.fea-flame-marker span{position:relative;z-index:2;font-size:33px;line-height:1;text-shadow:0 0 12px rgba(255,175,55,.9);}
.fea-flame-marker i{position:absolute;inset:13px;border-radius:50%;border:1px solid rgba(255,203,90,.48);
  box-shadow:0 0 16px rgba(255,125,25,.35);animation:fea-flame-ring 1.8s ease-out infinite;}
@keyframes fea-flame-ring{0%{transform:scale(.65);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.fea-flame-marker.is-moving{animation:fea-flame-travel 1.25s ease-in-out infinite;}
.fea-flame-marker.is-event-live{animation:fea-flame-event-glow 1s ease-in-out infinite!important;}
@keyframes fea-flame-travel{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.07)}}
.fea-map-origin-marker{width:22px;height:22px;border-radius:50%;background:#0a0d11;border:2px solid #fff;
  box-shadow:0 0 0 4px rgba(255,106,0,.22),0 0 20px rgba(255,106,0,.72);}
.fea-map-origin-marker span{display:block;width:7px;height:7px;margin:5.5px auto;border-radius:50%;background:#ff7a1a;box-shadow:0 0 9px #ff7a1a;}
.fea-map-destination-pin{border-color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.32),0 0 30px rgba(53,220,255,.5)!important;
  background:linear-gradient(145deg,#ff9a32,#e85d17)!important;}
.fea-map-caption{z-index:750;left:20px;right:20px;bottom:18px;background:rgba(6,8,11,.86);
  border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(0,0,0,.25);}
@media(max-width:960px){
  .fea-tracker-card--map-focus{grid-template-columns:1fr;}
  .fea-tracker-card--map-focus .fea-tracker-map-wrap{min-height:520px;border-left:0;border-top:1px solid rgba(255,255,255,.06);}
  .fea-tracker-card--map-focus .fea-tour-map{min-height:520px;}
}
@media(max-width:680px){
  .fea-tracker-card--map-only,.fea-tracker-card--map-only .fea-tracker-map-wrap{border-radius:22px;}
  .fea-tracker-card--map-only .fea-tracker-map-wrap,.fea-tracker-card--map-only .fea-tour-map,
  .fea-tracker-card--map-focus .fea-tracker-map-wrap,.fea-tracker-card--map-focus .fea-tour-map{min-height:470px;height:470px;}
  .fea-map-origin-label{left:14px;top:14px;font-size:.58rem;padding:9px 11px;}
  .fea-map-caption{left:12px;right:12px;bottom:12px;font-size:.64rem;}
}

/* V2.4.8 — MAPA COMPACTO + FICHA LATERAL */
.fea-tracker-card--map-focus{
  display:grid;
  grid-template-columns:minmax(285px,340px) minmax(0,1fr);
  align-items:stretch;
  max-width:1180px;
  margin:0 auto;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(145deg,#101217,#090b0f);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 28px 90px rgba(0,0,0,.5),0 0 55px rgba(255,106,0,.07);
}
.fea-tracker-card--no-event{grid-template-columns:minmax(285px,340px) minmax(0,1fr);}
.fea-tour-map-info{
  position:relative;z-index:5;padding:28px 24px;
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  border-right:1px solid rgba(255,255,255,.08);
}
.fea-tour-map-info__head{display:flex;flex-direction:column;gap:13px;margin-bottom:22px}
.fea-tour-map-info__head .fea-eyebrow{font-size:.58rem}
.fea-tour-map-info__status{
  display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(255,143,52,.28);background:rgba(255,116,25,.07);
  color:#ffbd73;font-size:.58rem;font-weight:900;letter-spacing:.13em;
}
.fea-tour-map-info__rows{display:flex;flex-direction:column;gap:0}
.fea-tour-map-info__row{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.fea-tour-map-info__row span{display:block;margin-bottom:5px;color:#737773;font-size:.61rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.fea-tour-map-info__row strong{display:block;color:#f4f2ed;font-size:.9rem;line-height:1.38;font-weight:700}
.fea-tour-map-countdown{margin-top:20px;padding:17px;border-radius:15px;background:linear-gradient(135deg,rgba(255,112,26,.10),rgba(50,210,255,.045));border:1px solid rgba(255,170,76,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.fea-tour-map-countdown span{display:block;color:#888b86;font-size:.59rem;font-weight:900;letter-spacing:.13em}
.fea-tour-map-countdown strong{display:block;margin-top:6px;color:#fff2dc;font-size:1.32rem;line-height:1.15;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.fea-tour-map-share{margin-top:16px!important;width:100%;justify-content:center}
.fea-tracker-card--map-focus .fea-tracker-map-wrap{height:520px;min-height:520px;border-left:0;background:#d9d5cd}
.fea-tracker-card--map-focus .fea-tour-map{height:100%;min-height:520px}
.fea-tracker-card--map-only{display:grid;max-width:1180px;margin:0 auto}
.fea-tracker-card--map-only .fea-tracker-map-wrap,.fea-tracker-card--map-only .fea-tour-map{min-height:520px;height:520px}
.fea-tracker-card--map-focus .fea-map-neon-frame{border-radius:0}
.fea-tracker-card--map-focus .fea-map-caption{left:14px;right:14px;bottom:14px}
@media(max-width:900px){
  .fea-tracker-card--map-focus,.fea-tracker-card--no-event{grid-template-columns:1fr}
  .fea-tour-map-info{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:24px}
  .fea-tracker-card--map-focus .fea-tracker-map-wrap{height:460px;min-height:460px}
  .fea-tracker-card--map-focus .fea-tour-map{min-height:460px}
}
@media(max-width:600px){
  .fea-tour-map-info{padding:21px 18px}
  .fea-tour-map-info__row{padding:11px 0}
  .fea-tour-map-countdown{margin-top:16px}
  .fea-tracker-card--map-focus .fea-tracker-map-wrap,.fea-tracker-card--map-focus .fea-tour-map{height:390px;min-height:390px}
}

/* V2.4.9 — mapa con respaldo visual y sin mostrar la dirección de la base */
.fea-tour-map-wrap{position:relative;overflow:hidden}
.fea-tour-map-fallback{position:absolute;inset:0;z-index:0;background:#d9d5cd}
.fea-tour-map-fallback iframe{display:block;width:100%;height:100%;border:0}
.fea-tour-map{position:relative;z-index:1}
.fea-tour-map-info__row:first-child strong{color:#ffbd73}


/* V2.5.0 — respaldo visual real cuando un proveedor de teselas no responde */
.fea-tracker-map-wrap{position:relative!important;background:#10151a!important;isolation:isolate;}
.fea-tour-map-fallback{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;background:#dfe4e7;overflow:hidden;}
.fea-tour-map-fallback iframe{display:block!important;width:100%!important;height:100%!important;border:0!important;}
.fea-tour-map{position:absolute!important;inset:0!important;z-index:5!important;background:transparent!important;}
.fea-tour-map .leaflet-tile-pane{background:transparent!important;}
.fea-tour-map .leaflet-map-pane{background:transparent!important;}
.fea-tour-map .leaflet-control-container{z-index:20!important;}
.fea-map-neon-frame{z-index:30!important;background:transparent!important;}
.fea-map-caption{z-index:31!important;}


/* V2.5.1 — corrección: el marco decorativo nunca puede cubrir las teselas del mapa */
.fea-tracker-map-wrap .fea-map-neon-frame{background:transparent!important;pointer-events:none;}
.fea-tracker-map-wrap .fea-tour-map{background:transparent!important;}
.fea-tracker-map-wrap .fea-tour-map .leaflet-pane,
.fea-tracker-map-wrap .fea-tour-map .leaflet-map-pane,
.fea-tracker-map-wrap .fea-tour-map .leaflet-tile-pane{background:transparent!important;}

/* Galería acumulativa del HOME — bloque visual aislado. */
.fea-home-gallery{position:relative}
.fea-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.fea-gallery-intro{margin:.5rem 0 0;opacity:.75;max-width:650px}
.fea-gallery-all .fea-gallery-item{cursor:zoom-in;background:#101010}
.fea-gallery-all .fea-gallery-item img{display:block}
.fea-gallery-zoom{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.65);color:#fff;font-size:22px;opacity:0;transition:opacity .2s,transform .2s}
.fea-gallery-item:hover .fea-gallery-zoom{opacity:1;transform:scale(1.05)}
.fea-gallery-total{text-align:center;margin:18px 0 0;opacity:.65;font-size:.9rem}
.fea-gallery-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:999999;display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.fea-gallery-lightbox-overlay.is-open{opacity:1;visibility:visible}
.fea-gallery-lightbox-overlay figure{margin:0;max-width:min(1200px,94vw);max-height:90vh;text-align:center}
.fea-gallery-lightbox-overlay img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;margin:auto;object-fit:contain}
.fea-gallery-lightbox-overlay figcaption{color:#fff;margin-top:12px;font-weight:700}
.fea-gallery-lightbox-close{position:absolute;right:22px;top:16px;background:none;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer}
body.fea-lightbox-open{overflow:hidden}
.fea-history-hero{padding:34px 0 22px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:30px}
.fea-history-hero p{max-width:760px;opacity:.75;font-size:1.05rem}
.fea-history-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.fea-history-heading h2{margin:0}
.fea-history-count{min-width:42px;height:42px;padding:0 12px;border-radius:999px;display:grid;place-items:center;background:rgba(255,106,0,.14);border:1px solid rgba(255,106,0,.35);color:#ffbd73;font-weight:800}
@media(max-width:700px){.fea-gallery-heading{align-items:flex-start;flex-direction:column}.fea-gallery-heading .fea-btn{width:100%;justify-content:center}.fea-gallery-lightbox-overlay{padding:15px}.fea-gallery-lightbox-overlay img{max-height:76vh}}

/* V2.5.4 — splash compacto restaurado. Conserva la calidad, pero recupera el tamaño visual anterior. */
.fea-intro-logo{width:auto;max-width:220px;height:auto;}
.fea-intro-logo-wrap{width:min(90vw,520px);padding:16px 20px;}
@media(max-width:680px){.fea-intro-logo{width:min(220px,62vw);max-width:220px;}}

/* V2.5.3 — acabado visual de alta definición y navegación editable desde WordPress. */
.fea-hero-v2--photo .fea-hero-v2__photo,
.fea-intro-bg{
  image-rendering:auto;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.fea-intro-logo,.fea-hero-v2__brand img,.fea-bundled-logo{
  image-rendering:auto;
  -webkit-font-smoothing:antialiased;
  backface-visibility:hidden;
}
.fea-intro-logo{max-width:min(520px,84vw);filter:drop-shadow(0 4px 18px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(255,112,24,.24));}
.fea-intro-logo-wrap{filter:none!important;}
.fea-menu-container{display:block;}
.fea-past-events-link{display:flex;justify-content:center;align-items:center;margin:24px auto 0;max-width:1180px;padding:18px 24px;border:1px solid rgba(255,170,76,.22);border-radius:18px;background:linear-gradient(135deg,rgba(255,106,0,.11),rgba(255,255,255,.025));box-shadow:0 10px 30px rgba(0,0,0,.16);color:#fff;text-decoration:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s,background .2s,border-color .2s;}
.fea-past-events-link:hover{transform:translateY(-2px);background:linear-gradient(135deg,rgba(255,106,0,.18),rgba(255,255,255,.04));border-color:rgba(255,170,76,.42);color:#fff;}

/* V2.5.5 — Restaurar tamaño compacto del splash sin modificar la identidad */
.fea-intro-logo {
    width: 220px !important;
    max-width: 220px !important;
    margin: 0 auto !important;
}
.fea-intro-logo img {
    width: 100% !important;
    height: auto !important;
}
.fea-intro-title {
    font-size: 18px !important;
    letter-spacing: 3px !important;
    margin-top: 16px !important;
}
@media (max-width: 680px) {
    .fea-intro-logo {
        width: 180px !important;
        max-width: 180px !important;
    }
    .fea-intro-title {
        font-size: 15px !important;
        margin-top: 12px !important;
    }
}


/* =====================================================================
   V2.5.6 — Splash y encabezado: acabado profesional / tamaño medio
   - Logo nítido y proporcional en escritorio y móviles.
   - Sin textos redundantes debajo del logo.
   - Hero más limpio, sin el rótulo duplicado "TOUR FIRE ON THE ALTAR".
   ===================================================================== */
.fea-intro-logo-wrap{
  width:min(92vw, 520px) !important;
  padding:18px 22px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}
.fea-intro-logo{
  display:block !important;
  width:min(34vw, 350px) !important;
  max-width:350px !important;
  max-height:58vh !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  image-rendering:auto !important;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.58)) drop-shadow(0 0 26px rgba(255,106,0,.20)) !important;
  transform-origin:center center;
}
/* El splash queda centrado y limpio: solo la marca, sin subtítulos duplicados. */
.fea-intro-title,
.fea-intro-kicker,
.fea-intro-line{
  display:none !important;
}
/* La marca del hero no debe competir con la fotografía. */
.fea-hero-v2--photo .fea-hero-v2__brand img{
  width:min(320px, 58vw) !important;
  max-width:320px !important;
  height:auto !important;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.72)) drop-shadow(0 0 24px rgba(255,106,0,.18)) !important;
}
.fea-hero-v2--photo .fea-hero-v2__inner{
  padding-top:78px !important;
  padding-bottom:78px !important;
}
@media (max-width: 900px){
  .fea-intro-logo{
    width:min(42vw, 300px) !important;
    max-width:300px !important;
  }
  .fea-hero-v2--photo .fea-hero-v2__brand img{
    width:min(290px, 62vw) !important;
    max-width:290px !important;
  }
}
@media (max-width: 680px){
  .fea-intro-logo-wrap{
    width:min(90vw, 360px) !important;
    padding:14px 18px !important;
  }
  .fea-intro-logo{
    width:min(62vw, 235px) !important;
    max-width:235px !important;
    max-height:52vh !important;
  }
  .fea-hero-v2--photo .fea-hero-v2__brand img{
    width:min(235px, 62vw) !important;
    max-width:235px !important;
  }
  .fea-hero-v2--photo .fea-hero-v2__inner{
    padding-top:58px !important;
    padding-bottom:58px !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .fea-intro-logo{animation:none !important;}
}

.fea-intro-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.74)),url('../images/hero-iglesia-hq.webp') !important;background-size:cover !important;background-position:center !important;}


/* =====================================================================
   V2.5.7 — VISITAS POR PAÍS + COOKIES PROFESIONALES
   ===================================================================== */
.fea-visitor-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0b0d 0%,#101115 100%);border-top:1px solid rgba(255,255,255,.045);border-bottom:1px solid rgba(255,255,255,.045)}
.fea-visitor-section:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(255,128,32,.13),transparent 68%);pointer-events:none}
.fea-visitor-section .fea-container{position:relative;z-index:1}
.fea-visitor-section .fea-section-kicker{display:inline-block;color:#ffbd73;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.fea-visitor-section h2{margin:0 0 5px;font-size:clamp(27px,4vw,42px);line-height:1.05}
.fea-visitor-heading{align-items:center}
.fea-visitor-total{min-width:190px;padding:14px 20px;border-radius:18px;border:1px solid rgba(255,184,74,.18);background:rgba(255,255,255,.035);text-align:center;box-shadow:0 14px 50px rgba(0,0,0,.18)}
.fea-visitor-total strong{display:block;font-size:clamp(27px,4vw,40px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.fea-visitor-total span{display:block;margin-top:6px;color:#999b98;font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.fea-visitor-carousel{margin-top:20px!important;margin-bottom:0!important;padding:13px!important;background:rgba(17,19,24,.88)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 55px rgba(0,0,0,.18)}
.fea-visitor-track{min-height:61px;align-items:center}
.fea-visitor-pill{min-height:39px;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.fea-visitor-pill:hover{transform:translateY(-2px);background:#202229;border-color:rgba(255,184,74,.35)}
.fea-visitor-pill b{line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.fea-visitor-pill strong{font-size:.78rem}
.fea-visitor-loading{opacity:.75}

.fea-cookie-banner{left:18px;right:18px;bottom:18px;max-width:720px;width:calc(100% - 36px);box-sizing:border-box;padding:18px 20px;display:flex;align-items:flex-start;gap:15px;background:rgba(13,14,17,.97);border:1px solid rgba(255,184,74,.35);border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.58),0 0 35px rgba(255,106,0,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(18px);opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.fea-cookie-banner.fea-cookie-show{opacity:1;visibility:visible;transform:translateY(0)}
.fea-cookie-banner.fea-cookie-hidden{display:none}
.fea-cookie-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:rgba(255,140,35,.11);font-size:21px}
.fea-cookie-content{min-width:0;flex:1}
.fea-cookie-content>strong{display:block;color:#fff;font-size:.94rem;margin-bottom:5px}
.fea-cookie-content p{margin:0 0 12px;font-size:.78rem;line-height:1.55;color:#b9bbb8}
.fea-cookie-content p a{color:#ffbd73;text-decoration:underline;text-underline-offset:3px}
.fea-cookie-actions{display:flex;flex-wrap:wrap;gap:9px}
.fea-cookie-actions .fea-btn{min-width:112px;padding:9px 17px;font-size:.72rem;font-weight:900}
.fea-cookie-settings{position:fixed;left:18px;bottom:18px;z-index:9998;border:1px solid rgba(255,184,74,.28);border-radius:999px;background:rgba(13,14,17,.94);color:#fff;padding:8px 12px;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.35);font-size:.72rem;font-weight:800;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fea-cookie-settings:hover{border-color:rgba(255,184,74,.65);transform:translateY(-1px)}
.fea-cookie-settings span{margin-left:4px}
@media(max-width:640px){
 .fea-visitor-heading{display:block}
 .fea-visitor-total{margin-top:18px;display:inline-block;min-width:150px}
 .fea-cookie-banner{left:10px;right:10px;bottom:10px;width:calc(100% - 20px);padding:16px;border-radius:16px;gap:11px}
 .fea-cookie-icon{display:none}
 .fea-cookie-actions{display:grid;grid-template-columns:1fr 1fr}
 .fea-cookie-actions .fea-btn{min-width:0;width:100%}
 .fea-cookie-settings{left:10px;bottom:10px}
}


/* V2.3 — flags and recovered member photos */
.fea-member-flag,
.fea-team-country-filter > span:first-child{
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-variant-emoji:emoji;
  line-height:1;
  display:inline-block;
  min-width:1.25em;
  text-align:center;
}
.fea-member-country{display:flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;background:rgba(0,0,0,.16);}
.fea-member-photo{background:#0a0b0d;}
.fea-member-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}
