/* =========================================================================
   MKN WOW — inner pages (directorio, perfil, solicitud, la visión)
   Loads AFTER wow.css; shares its nav/footer/buttons/grain/reveal/roadmap.
   ========================================================================= */

/* ---- Solid header variant (inner pages: dark from the top) --------------- */
.mkn-nav--solid,
.mkn-nav--solid.is-stuck {
	background: rgba(24, 15, 48, 0.96);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	box-shadow: 0 8px 34px rgba(0, 0, 0, 0.3);
}

/* ---- Page hero band ------------------------------------------------------- */
.mkn-pagehero {
	position: relative; overflow: hidden; color: #fff;
	background: var(--mkn-darkest);
	background-image: var(--mkn-pagehero-bg);
	background-size: cover; background-position: 75% 40%;
	padding: clamp(150px, 18vw, 210px) clamp(24px, 6vw, 96px) clamp(64px, 8vw, 96px);
}
.mkn-pagehero__overlay {
	position: absolute; inset: 0; z-index: 0;
	background:
		linear-gradient(100deg, rgba(24,15,48,0.96) 0%, rgba(24,15,48,0.86) 45%, rgba(24,15,48,0.45) 78%, rgba(24,15,48,0.6) 100%),
		linear-gradient(0deg, rgba(24,15,48,0.5) 0%, rgba(24,15,48,0) 45%);
}
.mkn-pagehero--plain {
	background-image: radial-gradient(900px 420px at 85% -10%, #3b2a66 0%, var(--mkn-darkest) 60%);
}
.mkn-pagehero__inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; }
.mkn-pagehero__title {
	font-family: var(--mkn-font-display); font-weight: 700;
	font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.1;
	letter-spacing: -0.02em; margin: 0 0 18px; max-width: 22ch;
	color: #fff; text-shadow: 0 4px 34px rgba(0,0,0,0.35);
}
.mkn-pagehero__sub {
	font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.65;
	color: rgba(255,255,255,0.86); max-width: 56ch; margin: 0;
}

/* ---- Directory: search / filter bar --------------------------------------- */
.mkn-dirbar { background: var(--mkn-bg); padding: 0 clamp(24px, 6vw, 96px); }
.mkn-dirbar__form {
	max-width: 1120px; margin: -34px auto 0; position: relative; z-index: 3;
	display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
	background: #fff; border: 1px solid #ece5f7; border-radius: 18px;
	box-shadow: 0 20px 50px rgba(42,26,74,0.14);
	padding: 14px;
}
.mkn-dirbar__field {
	display: flex; align-items: center; gap: 10px;
	background: #f7f4fc; border: 1px solid #e6def3; border-radius: 12px;
	padding: 0 14px; height: 52px;
}
.mkn-dirbar__field--grow { flex: 1 1 260px; }
.mkn-dirbar__field svg { width: 18px; height: 18px; color: var(--mkn-accent); flex: 0 0 auto; }
.mkn-dirbar__field input, .mkn-dirbar__field select {
	border: 0; background: transparent; outline: none; height: 100%;
	/* >=16px prevents iOS zoom-on-focus (2026-07-05 mobile audit). max() keeps it
	   robust even if a parent theme shrinks the root font-size. */
	font-family: var(--mkn-font-body); font-size: max(1rem, 16px); color: var(--mkn-primary);
	min-width: 0; width: 100%;
}
.mkn-dirbar__field:focus-within { border-color: var(--mkn-accent); box-shadow: 0 0 0 3px rgba(157,123,234,0.18); }
.mkn-dirbar__field select { cursor: pointer; padding-right: 6px; }
.mkn-dirbar__field--zip { flex: 0 1 150px; }
.mkn-dirbar__field--zip input::placeholder { color: #9990b2; }
.mkn-dirbar__clear { font-size: 0.9rem; font-weight: 600; color: var(--mkn-accent); padding: 0 8px; }
.mkn-dirbar__clear:hover { text-decoration: underline; }

/* Service-area (mobile business) chip — directory card + profile contact card */
.mkn-founder__servicearea,
.mkn-servicearea-chip {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 0.9rem; font-weight: 600; line-height: 1.4;
	color: #7a6210;
	background: linear-gradient(120deg, rgba(201,162,39,0.12), rgba(201,162,39,0.05));
	border: 1px solid rgba(201,162,39,0.45);
	border-radius: 999px; padding: 6px 14px; margin: -4px 0 12px;
}
.mkn-servicearea-chip { margin: 0 0 4px; }
.mkn-sa-dot {
	flex: 0 0 auto; width: 7px; height: 7px; border-radius: 999px;
	background: var(--mkn-gold-gradient);
}

/* ---- Directory grid -------------------------------------------------------- */
.mkn-dirgrid-wrap { background: var(--mkn-bg); padding: clamp(40px, 6vw, 72px) clamp(24px, 6vw, 96px) clamp(64px, 8vw, 104px); }
.mkn-dirgrid__count {
	max-width: 1120px; margin: 0 auto 22px;
	font-size: 0.85rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--mkn-muted-text);
}
.mkn-dirgrid {
	display: grid; grid-template-columns: 1fr; gap: 28px;
	max-width: 1120px; margin: 0 auto;
}
@media (min-width: 700px)  { .mkn-dirgrid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .mkn-dirgrid { grid-template-columns: repeat(3, 1fr); } }
/* v1.55.2 — reverts v1.38.0's 1/2/4 directory override. That override widened the
   grid to 1360px and squeezed each card to ~261px; .mkn-founder is built for the
   355px the 3-col track gives it (its img sizes attr still declares 355px), so the
   category line no longer fit on one line and drifted the name baseline card to
   card. Directory now shares the 1/2/3 rhythm with the section-archive and blog
   grids; invite cards pad the trailing row to a multiple of 3 (see
   template-mkn-directory.php). Do not re-add a 4-col track without re-fitting
   .mkn-founder__cat — the longest term in the taxonomy needs ~277px of the 301px
   a 355px card affords. */
.mkn-dirgrid__name { font-size: 1.4rem; } /* h2 inside cards, sized like the h3 on home */
.mkn-founder__city { font-size: 0.9rem; color: var(--mkn-muted-text); margin: -8px 0 12px; }
.mkn-founder__ph {
	display: grid; place-items: center; width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--mkn-primary), var(--mkn-soft));
	color: var(--mkn-lavender); font-family: var(--mkn-font-display);
	font-weight: 700; font-size: 2rem; letter-spacing: 0.06em; opacity: 0.9;
}

/* Empty state */
.mkn-dirempty {
	max-width: 560px; margin: 0 auto; text-align: center;
	padding: clamp(30px, 5vw, 60px) 20px;
}
.mkn-dirempty__seal { display: block; width: 92px; height: 92px; margin: 0 auto 20px; color: var(--mkn-gold); }
.mkn-dirempty__seal svg { width: 100%; height: 100%; }
.mkn-dirempty__t { font-family: var(--mkn-font-display); font-weight: 700; font-size: 1.7rem; color: var(--mkn-primary); margin: 0 0 12px; }
.mkn-dirempty__p { color: #6b6480; line-height: 1.7; margin: 0 0 26px; }

/* ---- Soft CTA band ---------------------------------------------------------- */
.mkn-softcta {
	background:
		radial-gradient(900px 460px at 15% 0%, #3b2a66 0%, var(--mkn-darkest) 62%),
		var(--mkn-darkest);
	color: #fff; text-align: center;
	padding: clamp(72px, 9vw, 120px) clamp(24px, 6vw, 96px);
}
.mkn-softcta__inner { max-width: 680px; margin: 0 auto; }
.mkn-softcta__h2 { color: #fff; }
.mkn-softcta__p { color: rgba(255,255,255,0.82); font-size: 1.06rem; line-height: 1.7; margin: 14px 0 32px; }

/* ---- Member profile ---------------------------------------------------------- */
.mkn-profilehero {
	position: relative; overflow: hidden; color: #fff;
	background: var(--mkn-darkest);
	background-image: var(--mkn-pagehero-bg);
	background-size: cover; background-position: center 35%;
	padding: clamp(170px, 20vw, 240px) clamp(24px, 6vw, 96px) clamp(64px, 8vw, 96px);
}
.mkn-profilehero__overlay {
	position: absolute; inset: 0; z-index: 0;
	background:
		linear-gradient(100deg, rgba(24,15,48,0.94) 0%, rgba(24,15,48,0.78) 50%, rgba(24,15,48,0.42) 100%),
		linear-gradient(0deg, rgba(24,15,48,0.72) 0%, rgba(24,15,48,0.1) 55%);
}
.mkn-profilehero__inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; }
.mkn-profilehero__meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 20px;
	font-size: 0.92rem;
}
.mkn-profilehero__founder {
	font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.76rem;
	color: var(--mkn-gold-hi);
	border: 1px solid rgba(201,162,39,0.55); border-radius: 999px; padding: 6px 14px;
}
.mkn-profilehero__cat, .mkn-profilehero__city { color: rgba(255,255,255,0.8); }
.mkn-profilehero__cat::before, .mkn-profilehero__city::before { content: "·"; margin-right: 14px; opacity: 0.5; }
.mkn-profilehero__seal {
	position: absolute; right: clamp(20px, 6vw, 90px); bottom: -34px; z-index: 2;
	width: clamp(110px, 14vw, 170px); height: clamp(110px, 14vw, 170px);
	color: var(--mkn-gold); opacity: 0.9; pointer-events: none;
}
.mkn-profilehero__seal svg { width: 100%; height: 100%; }
.mkn-profilehero__seal--logo {
	width: clamp(104px, 12.5vw, 172px); height: auto; bottom: clamp(18px, 3.6vw, 36px);
	opacity: 0.88; color: inherit;
}
.mkn-profilehero__seal--logo img { display: block; width: 100%; height: auto; }

.mkn-profile { background: var(--mkn-bg); padding: clamp(56px, 8vw, 96px) clamp(24px, 6vw, 96px); }
.mkn-profile__grid {
	max-width: 1120px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr; gap: 40px;
}
@media (min-width: 900px) { .mkn-profile__grid { grid-template-columns: 1.8fr 1fr; align-items: start; } }
.mkn-profile__h {
	font-family: var(--mkn-font-body); font-weight: 600; font-size: 0.8rem;
	letter-spacing: 0.18em; text-transform: uppercase; color: var(--mkn-accent-text);
	margin: 0 0 16px;
}
.mkn-profile__story .mkn-profile__h { margin-top: 34px; }
.mkn-profile__story .mkn-profile__h:first-child { margin-top: 0; }
.mkn-profile__content { color: #4d4663; line-height: 1.85; font-size: 1.05rem; }
.mkn-profile__content p { margin: 0 0 1.2em; }
.mkn-profile__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.mkn-profile__chip {
	background: #efe9fa; border: 1px solid #ddd0f2; color: var(--mkn-primary);
	font-size: 0.88rem; font-weight: 600; border-radius: 999px; padding: 8px 16px;
}
.mkn-profile__card {
	background: #fff; border: 1px solid #ece5f7; border-radius: var(--mkn-radius);
	box-shadow: 0 14px 40px rgba(42,26,74,0.08);
	padding: 28px; display: flex; flex-direction: column; gap: 14px;
	position: sticky; top: 110px;
}
.mkn-profile__btn { width: 100%; }
.mkn-btn--ghost-dark {
	background: transparent; color: var(--mkn-primary);
	border: 1px solid rgba(59,42,102,0.4);
}
.mkn-btn--ghost-dark:hover { border-color: var(--mkn-accent); background: rgba(157,123,234,0.07); transform: translateY(-2px); }
.mkn-profile__weblink { font-weight: 600; font-size: 0.95rem; color: var(--mkn-accent-text); }
.mkn-profile__weblink:hover { text-decoration: underline; }
.mkn-profile__phone { margin: 0; color: #6b6480; font-size: 0.95rem; }
.mkn-profile__phone a { color: var(--mkn-primary); font-weight: 600; }
.mkn-profile__back { font-size: 0.9rem; font-weight: 600; color: var(--mkn-accent-text); margin-top: 6px; }
.mkn-profile__back:hover { text-decoration: underline; }

/* ---- Solicitud -------------------------------------------------------------- */
.mkn-appsteps { background: var(--mkn-darkest); padding: 0 clamp(24px, 6vw, 96px) clamp(48px, 6vw, 72px); }
.mkn-appsteps__row {
	max-width: 1020px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr; gap: 16px;
}
@media (min-width: 860px) { .mkn-appsteps__row { grid-template-columns: repeat(3, 1fr); } }
.mkn-glass-dark {
	background: rgba(255,255,255,0.06);
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
	border: 1px solid rgba(195,168,245,0.25); border-radius: 16px;
}
.mkn-appsteps__chip { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; color: #fff; }
.mkn-appsteps__num {
	font-family: var(--mkn-font-display); font-weight: 700; font-size: 1.6rem; line-height: 1;
	background: var(--mkn-gold-gradient);
	-webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
	margin-top: 2px;
}
.mkn-appsteps__t { font-family: var(--mkn-font-display); font-weight: 600; font-size: 1.1rem; margin: 0 0 4px; color: #fff; }
.mkn-appsteps__p { margin: 0; font-size: 0.9rem; color: rgba(255,255,255,0.72); line-height: 1.5; }

.mkn-appform { background: var(--mkn-bg); padding: clamp(48px, 7vw, 88px) clamp(24px, 6vw, 96px) clamp(72px, 9vw, 120px); }
.mkn-appform .mkn-form-card { max-width: 760px; margin: 0 auto; }
.mkn-appform__note {
	max-width: 760px; margin: 22px auto 0; text-align: center;
	font-size: 0.88rem; color: var(--mkn-muted-text);
}
.mkn-appform__teaser { margin-top: 10px; }
.mkn-appform__teaser a { color: var(--mkn-accent-text); font-weight: 600; white-space: nowrap; }
.mkn-appform__teaser a:hover { text-decoration: underline; }
/* Form polish: focus rings + foil progress (overrides forms.css politely) */
.mkn-appform .mkn-form-card input:focus,
.mkn-appform .mkn-form-card textarea:focus,
.mkn-appform .mkn-form-card select:focus {
	border-color: var(--mkn-accent) !important;
	box-shadow: 0 0 0 3px rgba(157, 123, 234, 0.2) !important;
	outline: none;
}
.mkn-appform .mkn-progress-fill {
	background-image: linear-gradient(110deg,
		var(--mkn-gold-lo) 0%, var(--mkn-gold-hi) 25%, var(--mkn-gold) 50%, var(--mkn-gold-hi) 75%, var(--mkn-gold-lo) 100%) !important;
	background-size: 200% auto !important;
	animation: mkn-foil 8s linear infinite;
}

/* ---- Vision: narrative -------------------------------------------------------- */
.mkn-narrative { background: var(--mkn-bg); padding: clamp(64px, 9vw, 120px) clamp(24px, 6vw, 96px); }
.mkn-narrative__grid {
	max-width: 1120px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr; gap: clamp(32px, 5vw, 64px); align-items: center;
}
@media (min-width: 900px) { .mkn-narrative__grid { grid-template-columns: 1.1fr 1fr; } }
.mkn-narrative__h2 { color: var(--mkn-primary); }
.mkn-narrative__text p { color: #4d4663; line-height: 1.85; font-size: 1.05rem; margin: 0 0 1.2em; }
.mkn-narrative__media { border-radius: var(--mkn-radius); overflow: hidden; box-shadow: 0 26px 60px rgba(42,26,74,0.18); }
.mkn-narrative__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Vision: vertical roadmap --------------------------------------------------- */
.mkn-vroad {
	position: relative; overflow: hidden; color: #fff;
	background:
		radial-gradient(1000px 560px at 80% 0%, #3b2a66 0%, var(--mkn-darkest) 62%),
		var(--mkn-darkest);
	padding: clamp(80px, 10vw, 130px) clamp(24px, 6vw, 96px);
}
.mkn-vroad__inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.mkn-roadmap--vertical {
	flex-direction: column; align-items: stretch; gap: 30px;
	overflow: visible; padding: 12px 0; max-width: 560px; margin: 0 auto;
	scroll-snap-type: none;
}
.mkn-roadmap--vertical .mkn-roadmap__line {
	top: 0; bottom: 0; left: 9px; width: 2px; height: 100%;
}
.mkn-roadmap--vertical .mkn-roadmap__node {
	flex-direction: row; align-items: center; text-align: left;
	min-width: 0; padding: 0; gap: 18px;
}
.mkn-roadmap--vertical .mkn-roadmap__dot { order: -1; flex: 0 0 auto; }
.mkn-roadmap--vertical .mkn-roadmap__ico { flex: 0 0 auto; margin-bottom: 0; width: 30px; height: 30px; }
.mkn-roadmap--vertical .mkn-roadmap__text { display: flex; flex-direction: column; gap: 3px; }
.mkn-roadmap--vertical .mkn-roadmap__label { font-size: 1.2rem; }

/* Linked roadmap nodes (a section with a published concept page). The <a>
   spans the whole node; inert nodes have no link at all. */
.mkn-roadmap__link {
	display: contents; color: inherit;
}
.mkn-roadmap__node.is-linked { cursor: pointer; transition: transform 300ms var(--mkn-ease); }
.mkn-roadmap__node.is-linked:hover { transform: translateX(3px); }
.mkn-roadmap__node.is-linked .mkn-roadmap__label {
	color: #fff; position: relative; display: inline-block;
}
.mkn-roadmap__node.is-linked .mkn-roadmap__label::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 1px;
	background: var(--mkn-gold-gradient); transition: right 320ms var(--mkn-ease);
}
.mkn-roadmap__node.is-linked:hover .mkn-roadmap__label::after,
.mkn-roadmap__link:focus-visible .mkn-roadmap__label::after { right: 0; }
.mkn-roadmap__node.is-linked .mkn-roadmap__ico { color: var(--mkn-lavender); }
.mkn-roadmap__node.is-linked:hover .mkn-roadmap__ico { color: var(--mkn-gold-hi); }
/* Keep the keyboard focus ring on the whole node (display:contents drops it). */
.mkn-roadmap__link:focus-visible { outline: none; }
.mkn-roadmap__node.is-linked:focus-within {
	outline: 3px solid var(--mkn-lavender); outline-offset: 6px; border-radius: 10px;
}

/* ---- Vision: prayer band -------------------------------------------------------- */
.mkn-prayband {
	position: relative; overflow: hidden; color: #fff; text-align: center;
	background-image: var(--mkn-pagehero-bg);
	background-size: cover; background-position: center 40%;
	padding: clamp(96px, 13vw, 180px) clamp(24px, 6vw, 96px);
}
.mkn-prayband__overlay {
	position: absolute; inset: 0; z-index: 0;
	background: linear-gradient(180deg, rgba(24,15,48,0.88) 0%, rgba(24,15,48,0.72) 50%, rgba(24,15,48,0.92) 100%);
}
.mkn-prayband__line {
	position: relative; z-index: 1;
	font-family: var(--mkn-font-display); font-style: italic; font-weight: 600;
	font-size: clamp(1.4rem, 3vw, 2.3rem); line-height: 1.35;
	max-width: 24ch; margin: 0 auto;
}

/* ---- 404: full-viewport band, gold seal watermark large + faint ------------ */
.mkn-404 {
	min-height: 100vh;
	display: flex; align-items: center; justify-content: center;
	background: radial-gradient(1100px 620px at 80% -8%, var(--mkn-soft) 0%, var(--mkn-darkest) 62%);
	padding: clamp(140px, 16vw, 200px) clamp(24px, 6vw, 96px) clamp(64px, 8vw, 96px);
	text-align: center;
}
.mkn-404__seal {
	position: absolute; top: 50%; left: 50%; z-index: 0;
	width: clamp(520px, 62vw, 900px); height: clamp(520px, 62vw, 900px);
	transform: translate(-50%, -50%);
	color: var(--mkn-gold); opacity: 0.07; pointer-events: none;
}
.mkn-404__seal svg { width: 100%; height: 100%; display: block; }
.mkn-404__inner { position: relative; z-index: 2; max-width: 680px; }
.mkn-404__kicker { letter-spacing: 0.26em; }
.mkn-404__title { max-width: 20ch; margin-left: auto; margin-right: auto; }
.mkn-404__sub {
	font-family: var(--mkn-font-display); font-style: italic; font-weight: 600;
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	color: var(--mkn-lavender); max-width: none; margin: 0 auto;
}
.mkn-404__actions {
	display: flex; flex-wrap: wrap; gap: 16px; justify-content: center;
	margin-top: clamp(32px, 4vw, 44px);
}

/* ---- Reduced motion ---------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.mkn-appform .mkn-progress-fill { animation: none; }
}

/* ---- Profile: Phase 1 additions (category chips, logo slot, video gallery) -- */
.mkn-profile__chip--cat {
	background: linear-gradient(120deg, rgba(201,162,39,0.12), rgba(201,162,39,0.05));
	border-color: rgba(201,162,39,0.45);
	color: #7a6210;
}
.mkn-profile__logo {
	display: flex; justify-content: center;
	padding: 6px 10px 2px;
}
.mkn-profile__logo img {
	max-width: 180px; height: auto; display: block;
}
.mkn-profile__address {
	margin: 0; color: #6b6480; font-size: 0.95rem; line-height: 1.6;
}
.mkn-profile__videos {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
	margin-top: 4px;
}
/* v1.55.3: four across the full article column. Was a 2×2 capped at max-width
   560px sitting in the 694px column — a 134px dead gutter that broke the left
   column's edge against the full-width gallery directly above it. Source
   footage is 9:16, so tiles stay portrait and the row reads as a reel strip. */
@media (min-width: 700px) { .mkn-profile__videos { grid-template-columns: repeat(4, 1fr); max-width: none; } }
.mkn-profile__video {
	position: relative; display: block;
	border-radius: var(--mkn-radius); overflow: hidden;
	background: var(--mkn-darkest);
	border: 1px solid #ece5f7;
	box-shadow: 0 14px 40px rgba(42,26,74,0.08);
	line-height: 0; aspect-ratio: 9 / 16;
	transition: transform 400ms var(--mkn-ease), box-shadow 400ms var(--mkn-ease);
}
.mkn-profile__video:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(42,26,74,0.16); }
.mkn-profile__video-poster {
	width: 100%; height: 100%; display: block;
	object-fit: cover; background: var(--mkn-darkest);
}
/* Scrim so the badge holds contrast on bright posters. */
.mkn-profile__video::after {
	content: ''; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(16,10,34,0) 40%, rgba(16,10,34,0.45) 100%);
}
.mkn-profile__video-play {
	position: absolute; inset: 0; margin: auto; z-index: 1;
	width: 54px; height: 54px; border-radius: 50%;
	background: var(--mkn-gold-gradient);
	box-shadow: 0 6px 22px rgba(201,162,39,0.45);
	display: grid; place-items: center;
	transition: transform 400ms var(--mkn-ease);
}
.mkn-profile__video-play::after {
	content: ''; width: 0; height: 0; margin-left: 4px;
	border-left: 15px solid var(--mkn-darkest);
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
}
.mkn-profile__video:hover .mkn-profile__video-play { transform: scale(1.08); }
.mkn-profile__video:focus-visible { outline: 3px solid var(--mkn-gold-hi); outline-offset: 3px; }
/* Portrait source — constrain by height so the player never overruns the viewport. */
.mkn-lb__video {
	display: block; width: auto; height: auto;
	max-width: min(92vw, 520px); max-height: 86vh;
	border-radius: 12px; background: #000;
}
@media (prefers-reduced-motion: reduce) {
	.mkn-profile__video, .mkn-profile__video-play { transition: none; }
	.mkn-profile__video:hover { transform: none; }
	.mkn-profile__video:hover .mkn-profile__video-play { transform: none; }
}

/* =========================================================================
   DECLARACIÓN DE FE / STATEMENT OF FAITH (template-mkn-sof.php)
   Solemn hero (seal watermark) → numbered doctrinal cards on light →
   dark closing band with congregation requirement + quiet note.
   ========================================================================= */
.mkn-sof__seal {
	position: absolute; top: 50%; left: 50%;
	width: min(520px, 82vw); height: min(520px, 82vw);
	transform: translate(-50%, -50%);
	color: var(--mkn-gold); opacity: 0.06; pointer-events: none; z-index: 1;
}
.mkn-sof__seal svg { width: 100%; height: 100%; }
.mkn-pagehero--plain .mkn-pagehero__inner { position: relative; z-index: 2; }

.mkn-sof__body {
	background: var(--mkn-bg);
	padding: clamp(56px, 8vw, 104px) clamp(24px, 6vw, 96px) clamp(64px, 9vw, 112px);
}
.mkn-sof__lede {
	max-width: 720px; margin: 0 auto clamp(40px, 6vw, 64px); text-align: center;
}
.mkn-sof__lede p {
	font-family: var(--mkn-font-display); font-style: italic; font-weight: 600;
	font-size: clamp(1.15rem, 2.4vw, 1.5rem); line-height: 1.6;
	color: var(--mkn-primary); margin: 0;
}
.mkn-sof__sechead { margin: 0 auto clamp(28px, 4vw, 44px); }

.mkn-sof__articles {
	list-style: none; margin: 0 auto; padding: 0;
	max-width: 800px; display: grid; gap: clamp(16px, 2.4vw, 24px);
}
.mkn-sof__article {
	display: grid; grid-template-columns: auto 1fr; gap: clamp(16px, 3vw, 30px);
	align-items: start;
	background: #fff; border: 1px solid #ece5f7; border-radius: var(--mkn-radius);
	padding: clamp(24px, 3.4vw, 38px) clamp(22px, 3.4vw, 42px);
	box-shadow: 0 18px 44px rgba(42, 26, 74, 0.07);
}
.mkn-sof__num {
	font-family: var(--mkn-font-display); font-weight: 700;
	font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1; padding-top: 0.12em;
	background: var(--mkn-gold-gradient);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
.mkn-sof__art-title {
	font-family: var(--mkn-font-display); font-weight: 700;
	font-size: clamp(1.25rem, 2.4vw, 1.6rem); line-height: 1.15;
	letter-spacing: -0.01em; color: var(--mkn-primary); margin: 0 0 0.5em;
}
.mkn-sof__art-body {
	color: #4d4663; line-height: 1.85; font-size: 1.05rem; margin: 0;
}

.mkn-sof__close {
	position: relative; overflow: hidden;
	background:
		radial-gradient(1000px 560px at 80% 0%, #3b2a66 0%, var(--mkn-darkest) 62%),
		var(--mkn-darkest);
	padding: clamp(64px, 9vw, 120px) clamp(24px, 6vw, 96px);
}
.mkn-sof__close-inner {
	position: relative; z-index: 2; max-width: 760px; margin: 0 auto; text-align: center;
}
.mkn-sof__cong { padding: clamp(32px, 5vw, 52px); text-align: center; }
.mkn-sof__cong-seal { display: block; width: 68px; height: 68px; margin: 0 auto 18px; color: var(--mkn-gold); }
.mkn-sof__cong-seal svg { width: 100%; height: 100%; }
.mkn-sof__cong-t { color: #fff; margin: 10px 0 14px; }
.mkn-sof__cong-p { color: rgba(255, 255, 255, 0.85); font-size: 1.08rem; line-height: 1.7; margin: 0; }
.mkn-sof__note {
	color: var(--mkn-lavender); font-size: 0.98rem; line-height: 1.75;
	max-width: 600px; margin: clamp(32px, 5vw, 48px) auto 0;
}
@media (max-width: 560px) {
	.mkn-sof__article { grid-template-columns: 1fr; gap: 8px; }
	.mkn-sof__num { font-size: 1.5rem; }
}

/* ==========================================================================
 *  PHASE 4 — Membership tier badge + photo gallery (profile)
 * ========================================================================== */

/* Tier badge in the profile hero meta row. Pro/Premium = subtle glass pill;
   Founder = gold (mirrors the founder pill treatment). */
.mkn-profilehero__plan {
	font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.72rem;
	color: rgba(255,255,255,0.9);
	border: 1px solid rgba(255,255,255,0.35); border-radius: 999px; padding: 6px 14px;
}
.mkn-profilehero__plan--gold {
	color: var(--mkn-gold-hi);
	border-color: rgba(201,162,39,0.6);
	background: rgba(201,162,39,0.10);
	box-shadow: 0 0 0 1px rgba(201,162,39,0.15) inset;
}

/* Plan-gated photo gallery. Free = 1 photo; paid tiers = full grid.
   Polish v1.22.0: composed at ANY count — a lone photo reads as an intentional
   centered feature (not a thin left-aligned orphan); exactly two balance as a
   centered pair; three+ fill a 3-up grid. */
.mkn-profile__gallery {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
	margin-top: 6px;
}
@media (max-width: 699px) { .mkn-profile__gallery { grid-template-columns: repeat(2, 1fr); } }
/* Exactly one photo → centered cinematic feature. */
.mkn-profile__gallery:has(.mkn-profile__photo:only-child) {
	grid-template-columns: minmax(0, 560px); justify-content: center;
}
.mkn-profile__gallery:has(.mkn-profile__photo:only-child) .mkn-profile__photo { aspect-ratio: 16 / 10; }
/* Exactly two photos → balanced centered pair (no empty third column). */
.mkn-profile__gallery:has(.mkn-profile__photo:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; justify-content: center;
}
.mkn-profile__photo {
	margin: 0; border-radius: var(--mkn-radius); overflow: hidden;
	background: var(--mkn-darkest);
	border: 1px solid #ece5f7;
	box-shadow: 0 14px 40px rgba(42,26,74,0.08);
	line-height: 0; aspect-ratio: 4 / 3;
}
.mkn-profile__photo img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform 480ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.mkn-profile__photo:hover img { transform: scale(1.035); }
}

/* ==========================================================================
 *  PROFILE PHOTO CAROUSEL (v1.50.0)  —  main stage + scrollable thumb rail
 *  Progressive enhancement built by initGallery() in mkn.js. The plain
 *  .mkn-profile__gallery grid above is the no-JS fallback; when JS runs it is
 *  replaced by .mkn-gallery. Navy/gold system tokens, arch-consistent radius.
 * ========================================================================== */
.mkn-gallery { margin-top: 6px; }

/* --- main stage --- */
.mkn-gallery__stage {
	position: relative;
	border-radius: var(--mkn-radius); overflow: hidden;
	background: var(--mkn-darkest); border: 1px solid #ece5f7;
	box-shadow: 0 18px 48px rgba(42, 26, 74, 0.10);
	aspect-ratio: 16 / 10;
}
.mkn-gallery__open {
	display: block; width: 100%; height: 100%; margin: 0; padding: 0;
	border: 0; background: none; cursor: zoom-in; line-height: 0;
}
.mkn-gallery__open:focus-visible {
	outline: 3px solid var(--mkn-gold); outline-offset: -3px;
}
.mkn-gallery__main {
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: opacity 280ms ease;
}
.mkn-gallery__main.is-fading { opacity: 0; }

/* stage arrows + counter */
.mkn-gallery__nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border: 0; border-radius: 999px;
	display: grid; place-items: center; cursor: pointer;
	background: rgba(24, 15, 48, 0.52); color: #fff;
	font-size: 26px; line-height: 1; padding: 0;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	transition: background 200ms ease, transform 200ms ease;
}
.mkn-gallery__nav:hover { background: rgba(24, 15, 48, 0.80); }
.mkn-gallery__nav:focus-visible { outline: 3px solid var(--mkn-gold-hi); outline-offset: 2px; }
.mkn-gallery__nav--prev { left: 12px; }
.mkn-gallery__nav--next { right: 12px; }
.mkn-gallery__count {
	position: absolute; right: 12px; bottom: 12px;
	background: rgba(24, 15, 48, 0.62); color: #fff;
	font-size: 0.8rem; letter-spacing: 0.03em;
	padding: 4px 11px; border-radius: 999px;
}

/* --- thumbnail rail --- */
.mkn-gallery__railwrap { position: relative; margin-top: 12px; }
/* edge-fade affordance: shown only when the rail can scroll that way. */
.mkn-gallery__railwrap::before,
.mkn-gallery__railwrap::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 40px;
	pointer-events: none; opacity: 0; transition: opacity 200ms ease; z-index: 2;
}
.mkn-gallery__railwrap::before {
	left: 0; background: linear-gradient(90deg, var(--mkn-bg), rgba(250, 248, 253, 0));
}
.mkn-gallery__railwrap::after {
	right: 0; background: linear-gradient(270deg, var(--mkn-bg), rgba(250, 248, 253, 0));
}
.mkn-gallery__railwrap.can-left::before  { opacity: 1; }
.mkn-gallery__railwrap.can-right::after  { opacity: 1; }
.mkn-gallery__rail {
	list-style: none; margin: 0; padding: 4px;
	display: flex; gap: 10px;
	overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin; scrollbar-color: var(--mkn-lavender) transparent;
}
.mkn-gallery__rail::-webkit-scrollbar { height: 6px; }
.mkn-gallery__rail::-webkit-scrollbar-thumb { background: #d9cef0; border-radius: 999px; }
.mkn-gallery__rail li { flex: 0 0 auto; scroll-snap-align: start; }
.mkn-gallery__thumb {
	display: block; width: 92px; height: 69px; padding: 0; margin: 0;
	border: 0; border-radius: 12px; overflow: hidden; line-height: 0;
	background: var(--mkn-darkest); cursor: pointer; opacity: 0.72;
	box-shadow: 0 0 0 1px #e4dcf3;
	transition: opacity 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}
.mkn-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mkn-gallery__thumb:hover { opacity: 1; }
.mkn-gallery__thumb:focus-visible { outline: 3px solid var(--mkn-gold); outline-offset: 2px; opacity: 1; }
.mkn-gallery__thumb.is-active {
	opacity: 1;
	box-shadow: 0 0 0 2px var(--mkn-gold), 0 5px 16px rgba(201, 162, 39, 0.28);
}
@media (max-width: 600px) {
	.mkn-gallery__thumb { width: 84px; height: 63px; }
}

/* --- lightbox (native <dialog>, pages the whole set) --- */
dialog.mkn-lb {
	border: 0; padding: 0; background: transparent; overflow: visible;
	max-width: 100vw; max-height: 100vh;
}
dialog.mkn-lb::backdrop { background: rgba(16, 10, 34, 0.86); }
.mkn-lb__frame { position: relative; display: grid; place-items: center; }
.mkn-lb__img {
	display: block; width: auto; height: auto;
	max-width: min(92vw, 1200px); max-height: 86vh; border-radius: 12px;
}
.mkn-lb__x {
	position: absolute; top: -14px; right: -14px;
	width: 44px; height: 44px; border: 0; border-radius: 999px;
	background: #fff; color: var(--mkn-primary);
	font-size: 24px; line-height: 1; cursor: pointer;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}
.mkn-lb__nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px; border: 0; border-radius: 999px;
	display: grid; place-items: center; cursor: pointer;
	background: rgba(255, 255, 255, 0.14); color: #fff;
	font-size: 30px; line-height: 1; padding: 0;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	transition: background 200ms ease;
}
.mkn-lb__nav:hover { background: rgba(255, 255, 255, 0.28); }
.mkn-lb__nav--prev { left: -60px; }
.mkn-lb__nav--next { right: -60px; }
.mkn-lb__count {
	position: absolute; left: 50%; bottom: -34px; transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.9); font-size: 0.85rem; letter-spacing: 0.04em;
}
.mkn-lb__x:focus-visible,
.mkn-lb__nav:focus-visible { outline: 3px solid var(--mkn-gold-hi); outline-offset: 2px; }
/* On narrow screens the paging arrows sit inside the frame (no room outside). */
@media (max-width: 720px) {
	.mkn-lb__nav--prev { left: 8px; }
	.mkn-lb__nav--next { right: 8px; }
}
@media (prefers-reduced-motion: no-preference) {
	dialog.mkn-lb[open] { animation: mknlb 0.18s ease; }
	@keyframes mknlb { from { opacity: 0; transform: scale(0.97); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
	.mkn-gallery__main { transition: none; }
}

/* =========================================================================
   Overnight B (v1.32.0) — inner-page choreography parity.
   iter8 gave the homepage grids a per-child stagger; the inner card grids
   (directory members, section archives, blog archive — all .mkn-dirgrid) and
   the solicitud narrative step chips settled as a block. Give them the same
   left->right ripple. Each card is its own .mkn-reveal, so a per-column
   transition-delay turns the simultaneous IntersectionObserver fire into a
   sequence. nth-of-type counts only the <a> cards, so an interleaved
   "past events" <p> divider on the Eventos grid can't desync the ripple.
   Reduced-motion + no-JS safe: the base body.mkn-wow .mkn-reveal reduced-motion
   rule already zeroes these transitions, and no-JS renders every card visible.
   ========================================================================= */
.mkn-dirgrid > a.mkn-reveal:nth-of-type(3n+2) { transition-delay: 90ms; }
.mkn-dirgrid > a.mkn-reveal:nth-of-type(3n+3) { transition-delay: 180ms; }
.mkn-appsteps__row .mkn-appsteps__chip:nth-child(2) { transition-delay: 110ms; }
.mkn-appsteps__row .mkn-appsteps__chip:nth-child(3) { transition-delay: 220ms; }

/* v1.34.0 (Edward fb 2026-07-11): MKN logo watermark on the SoF page + 404 navy headings. */
.mkn-sof__seal img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mkn-404__seal img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* ============================================================================
   MOBILE SWEEP 2026-07-13 (v1.47.0) — member profile hero verified-badge.
   .mkn-founder__badge is position:absolute (correct on the home founder CARD,
   where it overlays the card image). Re-used as an inline meta chip inside the
   member profile hero (.mkn-profilehero__meta), that absolute top:14/right:14
   yanks the "Perfil verificado" pill up over the "PERFIL DE MIEMBRO" kicker on
   narrow screens. On phones, return it to the meta flow so it sits inline with
   the other chips. Desktop keeps the floating top-right badge (unchanged).
   ========================================================================== */
@media (max-width: 600px) {
	.mkn-profilehero__meta .mkn-founder__badge {
		position: static;
		top: auto;
		right: auto;
	}
}
