/*
Theme Name: BS Chile Consultores
Theme URI: https://vidavirtual.cl/
Author: Vida Virtual
Author URI: https://vidavirtual.cl/
Description: Tema de bloques para servicios contables y tributarios. Portada con panel de resumen mensual, catálogo de servicios, planes y preguntas frecuentes.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 2.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bschile-consultores
Tags: business, one-column, block-patterns, block-styles, wide-blocks, editor-style, custom-colors, full-site-editing, translation-ready
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root {
	--bc-navy: #00265f;
	--bc-navy-deep: #001233;
	--bc-blue: #0050a0;
	--bc-cyan: #00c0f0;
	--bc-sky: #8fd8ff;
	--bc-ink: #0d1f3a;
	--bc-contrast: #0b1220;
	--bc-muted: #5b6b84;
	--bc-surface: #f5f8fc;
	--bc-border: #e3e9f2;
	--bc-teal: #48979b;
	--bc-violet: #765ef4;
	--bc-amber: #eaa23c;
	--bc-teal-soft: #e6f2f2;
	--bc-violet-soft: #eeebfe;
	--bc-amber-soft: #fdf1e1;
	--bc-positive: #1f9d6b;
	--bc-r-control: 6px;
	--bc-r-surface: 14px;
	--bc-header-h: 76px;
	--bc-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--bc-section: clamp(4rem, 7vw, 6.5rem);
}

/* ==========================================================================
   2. Base
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

:where(a, button, summary, input, textarea, select):focus-visible {
	outline: 2px solid var(--bc-cyan);
	outline-offset: 3px;
	border-radius: 2px;
}

.wp-site-blocks {
	overflow-x: clip;
}

.bc-skip {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -120%);
	z-index: 100;
	background: var(--bc-navy-deep);
	color: #fff;
	padding: 0.75rem 1.25rem;
	border-radius: 0 0 var(--bc-r-control) var(--bc-r-control);
	text-decoration: none;
	transition: transform 150ms ease;
}

.bc-skip:focus {
	transform: translate(-50%, 0);
	color: #fff;
	text-decoration: none;
}

.bc-section {
	padding-block: var(--bc-section);
	padding-inline: var(--bc-gutter);
}

.bc-section--surface {
	background: var(--bc-surface);
	border-block: 1px solid var(--bc-border);
}

.bc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bc-muted);
}

.bc-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--bc-cyan);
}

.bc-lead {
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.6;
	color: var(--bc-muted);
	max-width: 62ch;
}

.bc-section__head {
	display: grid;
	gap: 1rem;
	max-width: 46rem;
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.bc-section__head h2 {
	margin: 0;
}

.bc-section__head p {
	margin: 0;
}

.bc-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--bc-blue);
}

.bc-link-arrow span {
	transition: transform 150ms ease;
}

.bc-link-arrow:hover span {
	transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   Normalización de márgenes
   Los contenedores del tema controlan el ritmo con gap; se anula el margen
   que WordPress aplica entre bloques dentro de ellos.
   -------------------------------------------------------------------------- */

.bc-hero__content > *,
.bc-kpi > *,
.bc-kpi__top > *,
.bc-panel__bar > *,
.bc-panel__body > *,
.bc-figure > *,
.bc-figure__head > *,
.bc-chart > *,
.bc-comp-wrap > *,
.bc-section__head > *,
.bc-split__aside > *,
.bc-split > *,
.bc-service > *,
.bc-step > *,
.bc-points li > *,
.bc-cta__inner > *,
.bc-entry > *,
.bc-404 > *,
.bc-footer__grid > *,
.bc-footer__bottom > *,
.bc-services > *,
.bc-process > *,
.bc-post-list__item > * {
	margin-block: 0;
}

/* ==========================================================================
   3. Cabecera
   ========================================================================== */

.bc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid var(--bc-border);
	transition: box-shadow 180ms ease;
}

.bc-header.is-scrolled {
	box-shadow: 0 12px 30px -24px rgba(0, 18, 51, 0.55);
}

.bc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--bc-header-h);
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: var(--bc-gutter);
	width: 100%;
}

.bc-brand {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	line-height: 1.1;
}

.bc-header .bc-brand__name,
.bc-header .bc-brand__name a {
	margin: 0;
	color: var(--bc-navy-deep);
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-decoration: none;
}

.bc-header .bc-brand__name a:hover,
.bc-header .bc-brand__name a:focus {
	color: var(--bc-blue);
}

.bc-header .bc-brand__tagline {
	margin: 0;
	color: var(--bc-muted);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Cabecera de página interna: título, bajada y aire antes del contenido. */
.bc-pagehead {
	background: linear-gradient(180deg, var(--bc-surface) 0%, #ffffff 100%);
	border-bottom: 1px solid var(--bc-border);
	padding-block: clamp(3rem, 6vw, 4.75rem) clamp(2.25rem, 4vw, 3rem);
	padding-inline: var(--bc-gutter);
}

.bc-pagehead__inner {
	max-width: 760px;
	margin-inline: auto;
}

.bc-pagehead h1 {
	margin: 0;
	color: var(--bc-navy-deep);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.bc-pagehead .bc-lead {
	max-width: 58ch;
	margin-block: 0.9rem 0;
	color: var(--bc-muted);
	font-size: 1.1rem;
	line-height: 1.6;
}

.bc-section--flush {
	padding-block-start: 0;
}

.bc-nav {
	flex: 1 1 auto;
	justify-content: center;
}

.bc-nav .wp-block-navigation__container {
	gap: 1.65rem;
}

.bc-nav .wp-block-navigation-item__content {
	color: var(--bc-ink);
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	padding-block: 0.35rem;
	border-bottom: 2px solid transparent;
}

.bc-nav .wp-block-navigation-item__content:hover,
.bc-nav .wp-block-navigation-item__content:focus {
	color: var(--bc-blue);
	border-bottom-color: var(--bc-cyan);
	text-decoration: none;
}

.bc-header__cta {
	flex: 0 0 auto;
}

.bc-header__cta .wp-block-button__link {
	padding: 0.72rem 1.15rem;
	font-size: 0.92rem;
}

/* ==========================================================================
   4. Hero
   ========================================================================== */

.bc-hero {
	position: relative;
	display: flex;
	align-items: center;
	padding-block: clamp(4rem, 9vw, 8rem) clamp(8rem, 15vw, 13rem);
	background: var(--bc-navy-deep);
	overflow: hidden;
}

.bc-hero .wp-block-cover__background {
	background: linear-gradient(
		100deg,
		rgba(0, 18, 51, 0.97) 0%,
		rgba(0, 24, 60, 0.86) 42%,
		rgba(0, 34, 82, 0.42) 100%
	) !important;
	opacity: 1 !important;
}

.bc-hero .wp-block-cover__image-background {
	object-position: 72% 50%;
}

.bc-hero__inner {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: var(--bc-gutter);
}

.bc-hero__content {
	max-width: 58rem;
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.75rem);
	justify-items: start;
}

.bc-hero .bc-eyebrow {
	color: var(--bc-sky);
}

.bc-hero .bc-eyebrow::before {
	background: var(--bc-cyan);
}

.bc-hero h1 {
	color: #fff;
	font-size: clamp(2.15rem, 5.1vw, 3.9rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
	margin: 0;
	max-width: 24ch;
	text-wrap: balance;
}

.bc-hero__sub {
	margin: 0;
	max-width: 56ch;
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.62;
	color: #b8c8d8;
}

.bc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.bc-hero__actions .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.bc-hero .wp-block-button__link {
	border-radius: var(--bc-r-control);
	padding: 0.95rem 1.6rem;
	font-weight: 700;
}

.bc-hero__primary .wp-block-button__link {
	background: #fff;
	color: var(--bc-navy-deep);
}

.bc-hero__primary .wp-block-button__link:hover {
	background: var(--bc-sky);
	color: var(--bc-navy-deep);
}

.bc-hero__ghost .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.bc-hero__ghost .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.bc-hero__points {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.86rem;
	color: #9db0c4;
}

.bc-hero__points li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.bc-hero__points svg {
	flex: 0 0 auto;
	color: var(--bc-cyan);
}

/* ==========================================================================
   5. Panel de balance
   ========================================================================== */

.bc-balance {
	position: relative;
	z-index: 10;
	margin-top: calc(-1 * clamp(6rem, 13vw, 11rem));
	padding-bottom: var(--bc-section);
	padding-inline: var(--bc-gutter);
}

.bc-panel {
	background: #fff;
	border: 1px solid var(--bc-border);
	border-radius: var(--bc-r-surface);
	box-shadow: 0 40px 90px -40px rgba(0, 18, 51, 0.4), 0 2px 6px rgba(0, 18, 51, 0.05);
	overflow: hidden;
}

.bc-panel__bar {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.8rem 1.15rem;
	border-bottom: 1px solid var(--bc-border);
	background: #fafbfd;
}

.bc-panel__dots {
	display: flex;
	gap: 6px;
	flex: 0 0 auto;
}

.bc-panel__dots i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #e4e8ef;
	display: block;
}

.bc-panel__dots i:nth-child(1) { background: #f3b6b0; }
.bc-panel__dots i:nth-child(2) { background: #f2d5a0; }
.bc-panel__dots i:nth-child(3) { background: #b3dfc3; }

.bc-panel__file {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.78rem;
	color: var(--bc-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bc-panel__file > * {
	display: inline;
}

.bc-panel__file strong {
	color: var(--bc-ink);
	font-weight: 700;
}

.bc-panel__tag {
	margin-left: auto;
	flex: 0 0 auto;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a5a12;
	background: var(--bc-amber-soft);
	border: 1px solid #f3dcb8;
	border-radius: 999px;
	padding: 0.18rem 0.55rem;
}

.bc-panel__body {
	padding: clamp(1.25rem, 2.6vw, 2rem);
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

.bc-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.4vw, 1.1rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bc-kpi {
	background: #fafbfd;
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	padding: clamp(1rem, 1.7vw, 1.35rem);
	display: grid;
	gap: 0.55rem;
	align-content: start;
}

.bc-kpi__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.bc-kpi__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	flex: 0 0 auto;
}

.bc-kpi__icon svg {
	width: 19px;
	height: 19px;
}

.bc-kpi--a .bc-kpi__icon { background: var(--bc-teal-soft); color: #2f7a7e; }
.bc-kpi--b .bc-kpi__icon { background: var(--bc-violet-soft); color: #5a41e0; }
.bc-kpi--c .bc-kpi__icon { background: var(--bc-amber-soft); color: #b5791f; }
.bc-kpi--d .bc-kpi__icon { background: #e6f4fb; color: #0d7fa8; }

.bc-kpi__delta {
	font-size: 0.76rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--bc-muted);
	background: #eef2f7;
	border-radius: 999px;
	padding: 0.15rem 0.5rem;
	white-space: nowrap;
}

.bc-kpi__delta.is-up {
	color: #157a52;
	background: #e4f5ec;
}

.bc-kpi__label {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--bc-muted);
}

.bc-kpi__value {
	margin: 0;
	font-size: clamp(1.5rem, 2.2vw, 1.95rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--bc-contrast);
	font-variant-numeric: tabular-nums;
}

.bc-kpi__value small {
	font-size: 0.62em;
	font-weight: 700;
	color: var(--bc-muted);
	letter-spacing: 0;
}

.bc-kpi__foot {
	margin: 0;
	font-size: 0.76rem;
	line-height: 1.45;
	color: var(--bc-muted);
}

.bc-figure {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.bc-figure__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.1rem;
}

.bc-figure__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--bc-contrast);
}

.bc-figure__legend {
	display: flex;
	gap: 0.9rem;
	font-size: 0.72rem;
	color: var(--bc-muted);
	font-variant-numeric: tabular-nums;
}

.bc-figure__legend span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.bc-figure__legend i {
	width: 8px;
	height: 8px;
	border-radius: 2px;
	display: block;
}

.bc-figure__total {
	font-size: 0.78rem;
	color: var(--bc-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.bc-figure__total strong {
	color: var(--bc-contrast);
	font-weight: 800;
	font-size: 0.95rem;
	margin-left: 0.15rem;
}

.bc-chart {
	display: grid;
	gap: 0;
	align-content: start;
	border: 1px solid var(--bc-border);
	border-radius: 10px;
	padding: clamp(1rem, 1.8vw, 1.4rem);
	background: #fff;
}

.bc-bars {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(4px, 0.9vw, 10px);
	align-items: end;
	height: clamp(150px, 18vw, 200px);
	padding-bottom: 0;
	border-bottom: 1px solid var(--bc-border);
}

.bc-bar {
	display: flex;
	align-items: end;
	height: 100%;
}

.bc-bar__fill {
	display: block;
	width: 100%;
	height: calc(var(--v) * 1%);
	min-height: 4px;
	border-radius: 3px 3px 0 0;
	background: var(--bc-teal);
}

.bc-bar:nth-child(6n + 1) .bc-bar__fill { background: var(--bc-teal); }
.bc-bar:nth-child(6n + 2) .bc-bar__fill { background: var(--bc-violet); }
.bc-bar:nth-child(6n + 3) .bc-bar__fill { background: var(--bc-amber); }
.bc-bar:nth-child(6n + 4) .bc-bar__fill { background: #6cadb0; }
.bc-bar:nth-child(6n + 5) .bc-bar__fill { background: #927ef7; }
.bc-bar:nth-child(6n + 6) .bc-bar__fill { background: #edb562; }

.bc-axis {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(4px, 0.9vw, 10px);
	margin-top: 0.6rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--bc-muted);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.bc-comp {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.bc-comp-wrap {
	display: grid;
	gap: 0;
	align-content: start;
	padding-top: 0.25rem;
}

.bc-comp__title {
	margin: 0 0 0.35rem;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--bc-contrast);
}

.bc-comp li {
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--bc-border);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.15rem 1rem;
}

.bc-comp li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.bc-comp__label {
	font-size: 0.86rem;
	color: var(--bc-ink);
	font-weight: 600;
}

.bc-comp__value {
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--bc-contrast);
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.bc-comp__meter {
	grid-column: 1 / -1;
	height: 5px;
	border-radius: 3px;
	background: #eef2f7;
	overflow: hidden;
	margin-top: 0.4rem;
}

.bc-comp__meter i {
	display: block;
	height: 100%;
	width: calc(var(--v) * 1%);
	border-radius: 3px;
	background: var(--bc-navy);
}

.bc-comp li:nth-child(1) .bc-comp__meter i { background: var(--bc-teal); }
.bc-comp li:nth-child(2) .bc-comp__meter i { background: var(--bc-violet); }
.bc-comp li:nth-child(3) .bc-comp__meter i { background: var(--bc-amber); }
.bc-comp li:nth-child(4) .bc-comp__meter i { background: #6cadb0; }

.bc-comp__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-top: 0.9rem;
	margin-top: 0.5rem;
	border-top: 2px solid var(--bc-ink);
	font-size: 0.8rem;
	color: var(--bc-muted);
}

.bc-comp__total strong {
	font-size: 1rem;
	color: var(--bc-contrast);
	font-variant-numeric: tabular-nums;
}

.bc-data {
	margin-top: 1.1rem;
	font-size: 0.82rem;
}

.bc-data summary {
	cursor: pointer;
	color: var(--bc-blue);
	font-weight: 700;
	width: fit-content;
}

.bc-data summary:hover {
	text-decoration: underline;
}

.bc-data table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.bc-data caption {
	text-align: left;
	color: var(--bc-muted);
	padding-bottom: 0.4rem;
}

.bc-data th,
.bc-data td {
	text-align: left;
	padding: 0.35rem 0.5rem;
	border-bottom: 1px solid var(--bc-border);
}

.bc-data td:last-child,
.bc-data th:last-child {
	text-align: right;
}

.bc-panel__note {
	margin: 0.9rem 0 0;
	font-size: 0.76rem;
	line-height: 1.5;
	color: var(--bc-muted);
	display: flex;
	gap: 0.45rem;
	align-items: flex-start;
}

.bc-panel__note svg {
	flex: 0 0 auto;
	margin-top: 0.15rem;
	color: var(--bc-muted);
}

/* ==========================================================================
   6. Servicios
   ========================================================================== */

.bc-services {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid var(--bc-border);
	list-style: none;
	margin: 0;
	padding: 0;
}

.bc-service {
	display: grid;
	align-content: start;
	gap: 0.6rem;
	padding: clamp(1.4rem, 2.4vw, 2rem) clamp(1.1rem, 2vw, 1.75rem);
	border-bottom: 1px solid var(--bc-border);
	border-right: 1px solid var(--bc-border);
	transition: background 150ms ease;
}

.bc-service:nth-child(3n) {
	border-right: 0;
}

.bc-service:hover {
	background: var(--bc-surface);
}

.bc-service__num {
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: #2f7a7e;
	font-variant-numeric: tabular-nums;
}

.bc-service__title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 800;
	letter-spacing: -0.015em;
}

.bc-service__title a {
	color: var(--bc-ink);
	text-decoration: none;
}

.bc-service__title a:hover {
	color: var(--bc-blue);
}

.bc-service p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--bc-muted);
}

.bc-service .bc-link-arrow {
	margin-top: 0.35rem;
	font-size: 0.86rem;
}

/* ==========================================================================
   7. Enfoque
   ========================================================================== */

.bc-split {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.bc-split__aside {
	display: grid;
	gap: 1.1rem;
	align-content: start;
	position: sticky;
	top: calc(var(--bc-header-h) + 2rem);
}

.bc-split__aside h2 {
	margin: 0;
}

.bc-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.bc-points li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--bc-border);
}

.bc-points li:first-child {
	padding-top: 0;
}

.bc-points li:last-child {
	border-bottom: 0;
}

.bc-points__mark {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--bc-teal-soft);
	color: #2f7a7e;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin-top: 0.1rem;
}

.bc-points__mark svg {
	width: 13px;
	height: 13px;
}

.bc-points h3 {
	margin: 0 0 0.2rem;
	font-size: 1rem;
	font-weight: 800;
}

.bc-points p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--bc-muted);
}

/* ==========================================================================
   8. Proceso
   ========================================================================== */

.bc-process {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: step;
}

.bc-step {
	display: grid;
	gap: 0.55rem;
	align-content: start;
	padding-top: 1.1rem;
	border-top: 2px solid var(--bc-navy);
}

.bc-step__num {
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1;
	color: var(--bc-cyan);
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;
}

.bc-step h3 {
	margin: 0;
	font-size: 1.02rem;
}

.bc-step p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--bc-muted);
}

/* ==========================================================================
   9. Preguntas
   ========================================================================== */

.bc-faq {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--bc-border);
}

.bc-faq .wp-block-details {
	border-bottom: 1px solid var(--bc-border);
	padding: 0;
}

.bc-faq .wp-block-details > summary {
	cursor: pointer;
	padding: 1.15rem 2.5rem 1.15rem 0;
	font-weight: 700;
	font-size: 1.02rem;
	color: var(--bc-ink);
	position: relative;
	list-style: none;
}

.bc-faq .wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.bc-faq .wp-block-details > summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--bc-blue);
	line-height: 1;
}

.bc-faq .wp-block-details[open] > summary::after {
	content: "−";
}

.bc-faq .wp-block-details p {
	margin: 0 0 1.25rem;
	max-width: 68ch;
	color: var(--bc-muted);
	font-size: 0.95rem;
}

/* ==========================================================================
   10. Llamado final
   ========================================================================== */

.bc-cta {
	position: relative;
	background: var(--bc-navy-deep);
	color: #fff;
	overflow: hidden;
}

.bc-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 12% 18%, rgba(0, 192, 240, 0.22), transparent 46%),
		radial-gradient(circle at 88% 90%, rgba(0, 80, 160, 0.35), transparent 52%);
	pointer-events: none;
}

.bc-cta__inner {
	position: relative;
	display: grid;
	gap: 1.15rem;
	justify-items: start;
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: var(--bc-gutter);
	padding-block: clamp(3.25rem, 6vw, 5rem);
}

.bc-cta h2 {
	max-width: 26ch;
}

.bc-cta h2 {
	color: #fff;
	margin: 0;
}

.bc-cta p {
	margin: 0;
	color: #b8c8d8;
	max-width: 52ch;
}

.bc-cta .bc-eyebrow {
	color: var(--bc-sky);
}

.bc-cta .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.bc-cta .wp-block-button__link {
	background: #fff;
	color: var(--bc-navy-deep);
	padding: 0.95rem 1.6rem;
}

.bc-cta .wp-block-button__link:hover {
	background: var(--bc-sky);
	color: var(--bc-navy-deep);
}

.bc-cta .bc-cta__mail .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.bc-cta .bc-cta__mail .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   11. Pie
   ========================================================================== */

.bc-footer {
	background: #061428;
	color: #9db0c4;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.9rem;
}

.bc-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(2.5rem, 5vw, 4rem) var(--bc-gutter) clamp(2rem, 3vw, 2.5rem);
}

/* El logo puede ser oscuro: se monta sobre una placa clara para que no
   desaparezca contra el fondo navy del pie. */
.bc-footer__brand .wp-block-site-logo {
	background: #fff;
	border-radius: var(--bc-radius-control);
	display: inline-flex;
	width: fit-content;
	padding: 8px 10px;
}

.bc-footer__brand .wp-block-site-logo img {
	max-height: 40px;
	width: auto;
}

.bc-footer__brand p {
	margin: 1rem 0 0;
	max-width: 34ch;
	line-height: 1.6;
	font-size: 0.88rem;
}

.bc-footer .bc-footer__name,
.bc-footer .bc-footer__name a {
	margin: 0.9rem 0 0;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.2;
	text-decoration: none;
}

.bc-footer__brand .bc-footer__name + p {
	margin-block-start: 0.5rem;
}

.bc-footer h2 {
	color: #fff;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.9rem;
	line-height: 1.4;
}

.bc-footer .wp-block-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.bc-footer a {
	color: #b8c8d8;
	text-decoration: none;
}

.bc-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

.bc-footer__contact p {
	margin: 0 0 0.45rem;
	font-size: 0.88rem;
	line-height: 1.55;
}

.bc-footer__contact a {
	color: #fff;
	border-bottom: 1px solid rgba(0, 192, 240, 0.5);
}

.bc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem;
	max-width: 1240px;
	margin-inline: auto;
	padding: 1.1rem var(--bc-gutter) 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.78rem;
	color: #7d90a6;
}

.bc-footer__bottom p {
	margin: 0;
}

/* ==========================================================================
   12. Contenido editorial
   ========================================================================== */

.bc-entry {
	display: grid;
	gap: 1rem;
}

.bc-entry__meta {
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bc-muted);
	margin: 0;
}

.bc-prose :where(h2, h3) {
	margin-top: 2rem;
}

.bc-prose :where(p, ul, ol, blockquote) {
	max-width: 72ch;
}

.bc-prose blockquote {
	border-left: 3px solid var(--bc-cyan);
	padding-left: 1.25rem;
	color: var(--bc-muted);
	font-style: normal;
}

.bc-post-list {
	display: grid;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bc-post-list li {
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--bc-border);
}

.bc-post-list__item {
	display: grid;
	gap: 0.4rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--bc-border);
}

.bc-post-list__item :where(h2, h3) {
	margin: 0;
	font-size: 1.25rem;
}

.bc-post-list__item p {
	margin: 0;
	color: var(--bc-muted);
	font-size: 0.95rem;
}

.bc-post-list h2 {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
}

.bc-post-list p {
	margin: 0;
	color: var(--bc-muted);
	font-size: 0.95rem;
}

.bc-404 {
	display: grid;
	gap: 1rem;
	justify-items: start;
	padding-block: clamp(3rem, 8vw, 6rem);
}

/* ==========================================================================
   13. Responsivo
   ========================================================================== */

@media (max-width: 1024px) {
	.bc-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bc-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bc-service:nth-child(3n) {
		border-right: 1px solid var(--bc-border);
	}

	.bc-service:nth-child(2n) {
		border-right: 0;
	}

	.bc-split {
		grid-template-columns: 1fr;
	}

	.bc-split__aside {
		position: static;
	}

	.bc-header__cta {
		display: none;
	}

	.bc-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 860px) {
	.bc-figure {
		grid-template-columns: 1fr;
	}

	.bc-process {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:root {
		--bc-header-h: 64px;
	}

	.bc-balance {
		margin-top: calc(-1 * clamp(3rem, 16vw, 6rem));
	}

	.bc-hero {
		padding-bottom: clamp(6rem, 26vw, 9rem);
	}

	.bc-services,
	.bc-kpis {
		grid-template-columns: 1fr;
	}

	.bc-service,
	.bc-service:nth-child(3n) {
		border-right: 0;
	}

	.bc-process {
		grid-template-columns: 1fr;
	}

	.bc-axis {
		font-size: 0.58rem;
	}

	.bc-bar__fill {
		border-radius: 2px 2px 0 0;
	}

	.bc-footer__grid {
		grid-template-columns: 1fr;
	}

	.bc-hero__actions .wp-block-buttons,
	.bc-hero__actions .wp-block-button {
		width: 100%;
	}

	.bc-hero__actions .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* === DISENO DEL SITIO (sincronizado desde Estilos > CSS adicional) === */
.fv-home{--fv-ink:#0b1a33;--fv-body:#51617a;--fv-line:#dde6f2;--fv-blue:#0b57c2;--fv-blue-d:#08459b;--fv-soft:#eef4fc;--fv-mint:#e8f5ee;--fv-mint-ink:#17795a;background:#f9fbfe;overflow-x:clip}
.fv-wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}
.bc-skip{position:fixed!important;top:0!important;left:50%!important;transform:translate(-50%,-200%)!important;z-index:999;background:#0b1a33;color:#fff;padding:.7rem 1.1rem;border-radius:0 0 8px 8px;font-size:.9rem;text-decoration:none}
.bc-header .bc-brand{flex-direction:column!important;align-items:flex-start;gap:.1rem;line-height:1.1}
.bc-header__cta .wp-block-button__link{background:#0b57c2;background-color:#0b57c2;color:#fff;border-radius:999px;box-shadow:0 12px 28px -16px rgba(11,87,194,.75);font-weight:700;height:auto;padding:.7rem 1.15rem}
.bc-header__cta .wp-block-button__link:hover{background:#08459b;background-color:#08459b}
.fv-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#43607f}
.fv-eyebrow::before{content:"";width:22px;height:2px;background:var(--fv-blue);border-radius:2px}
.fv-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--fv-line);background:radial-gradient(70% 60% at 88% 6%,#e9f1fd 0,rgba(233,241,253,0) 62%),radial-gradient(55% 45% at 2% 96%,#eaf6f1 0,rgba(234,246,241,0) 60%),#f9fbfe}
.fv-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(11,26,51,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,26,51,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(80% 70% at 60% 30%,#000 0,transparent 78%);pointer-events:none}
.fv-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2rem,4vw,3.2rem);align-items:center;padding-block:clamp(2.75rem,5.5vw,4.75rem)}
.fv-hero h1{margin:0 0 1.1rem;font-size:clamp(2.05rem,3.5vw,3rem);line-height:1.07;letter-spacing:-.035em;font-weight:800;color:var(--fv-ink);max-width:21ch}
.fv-lead{margin:0 0 1.6rem;font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.6;color:var(--fv-body);max-width:46ch}
.fv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem}
.fv-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.55rem;border-radius:999px;background:var(--fv-blue);color:#fff!important;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 14px 34px -12px rgba(11,87,194,.65);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.fv-btn:hover{transform:translateY(-1px);background:var(--fv-blue-d);box-shadow:0 18px 40px -12px rgba(11,87,194,.7)}
.fv-btn:focus-visible{outline:3px solid #9dc0f5;outline-offset:3px}
.fv-link{color:var(--fv-blue);font-weight:700;font-size:.92rem;text-decoration:none;border-bottom:1px solid rgba(11,87,194,.25);padding-bottom:2px}
.fv-link:hover{border-bottom-color:var(--fv-blue)}
.fv-note{margin:1.1rem 0 0;font-size:.82rem;color:#6b7a91}
.fv-card{position:relative;background:linear-gradient(158deg,rgba(255,255,255,.95),rgba(238,244,252,.9));border:1px solid rgba(255,255,255,.95);border-radius:26px;padding:clamp(1.15rem,1.8vw,1.6rem);box-shadow:0 40px 70px -34px rgba(11,35,70,.45),0 2px 6px rgba(11,35,70,.05);backdrop-filter:blur(10px)}
.fv-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.fv-card__title{margin:0;font-size:.98rem;font-weight:800;letter-spacing:-.01em}
.fv-chip{display:inline-flex;align-items:center;padding:.28rem .6rem;border-radius:999px;background:#fff;border:1px solid var(--fv-line);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7a91}
.fv-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}
.fv-metric{background:rgba(255,255,255,.75);border:1px solid rgba(221,230,242,.9);border-radius:16px;padding:.85rem .95rem}
.fv-metric__label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7a91;margin-bottom:.35rem}
.fv-metric strong{display:block;font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.fv-delta{display:inline-block;margin-top:.3rem;font-size:.74rem;font-weight:800;color:var(--fv-mint-ink);background:var(--fv-mint);border-radius:999px;padding:.12rem .45rem}
.fv-metric__sub{display:block;margin-top:.3rem;font-size:.74rem;color:#6b7a91}
.fv-chart{border-radius:16px;background:rgba(255,255,255,.7);border:1px solid rgba(221,230,242,.9);padding:.85rem .95rem .6rem}
.fv-chart__head{display:flex;justify-content:space-between;align-items:baseline;font-size:.76rem;color:#6b7a91;margin-bottom:.4rem}
.fv-chart__head b{font-size:.86rem;color:var(--fv-ink)}
.fv-chart svg{display:block;width:100%;height:112px}
.fv-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.55rem}
.fv-list li{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:#33445c}
.fv-list li em{margin-left:auto;font-style:normal;font-size:.78rem;color:#7b899e}
.fv-list__dot{width:8px;height:8px;border-radius:50%;background:var(--fv-blue);flex:0 0 auto}
.fv-list__dot--g{background:#1f9d6b}
.fv-cap{margin:.85rem 0 0;font-size:.72rem;color:#7b899e}
.fv-section{padding-block:clamp(2.75rem,5vw,4.25rem);border-bottom:1px solid var(--fv-line)}
.fv-section--soft{background:#f2f7fd}
.fv-head{max-width:60ch;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.fv-head h2{margin:0 0 .6rem;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.12;letter-spacing:-.03em}
.fv-head p{margin:0}
.fv-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.fv-tile{display:flex;flex-direction:column;gap:.55rem;background:var(--fv-soft);border:1px solid #e2ebf7;border-radius:18px;padding:1.3rem 1.25rem;transition:transform .16s ease,box-shadow .16s ease}
.fv-tile:hover{transform:translateY(-2px);box-shadow:0 18px 32px -22px rgba(11,35,70,.45)}
.fv-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:#fff;color:var(--fv-blue);border:1px solid #e2ebf7;margin-bottom:.35rem}
.fv-tile h3{margin:0;font-size:1.02rem;line-height:1.25;letter-spacing:-.015em;min-height:2.5em}
.fv-tile h3 a{color:var(--fv-ink);text-decoration:none}
.fv-tile h3 a:hover{color:var(--fv-blue)}
.fv-tile p{margin:0;font-size:.87rem;line-height:1.55;color:var(--fv-body)}
.fv-tile__meta{margin-top:auto;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fv-mint-ink);background:var(--fv-mint);border-radius:999px;padding:.22rem .55rem;align-self:flex-start}
.fv-more{margin-top:1.4rem}
.fv-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding-block:2.25rem}
.fv-strip div{display:grid;gap:.2rem}
.fv-strip strong{font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:800;letter-spacing:-.03em;color:var(--fv-blue)}
.fv-strip span{font-size:.82rem;color:#6b7a91}
.fv-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;counter-reset:paso}
.fv-step{position:relative;padding-left:3rem}
.fv-step::before{counter-increment:paso;content:"0" counter(paso);position:absolute;left:0;top:-.1rem;font-size:.8rem;font-weight:800;color:var(--fv-blue);background:#e7f0fd;border-radius:9px;padding:.35rem .5rem}
.fv-step h3{margin:0 0 .35rem;font-size:1.02rem}
.fv-step p{margin:0;font-size:.9rem;line-height:1.55;color:var(--fv-body)}
.fv-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.fv-plan{display:flex;flex-direction:column;gap:.7rem;background:#fff;border:1px solid var(--fv-line);border-radius:18px;padding:1.35rem}
.fv-plan--hi{border-color:#b9d3f7;box-shadow:0 22px 40px -30px rgba(11,87,194,.5)}
.fv-plan h3{margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#6b7a91}
.fv-plan__price{margin:0;font-size:1.55rem;font-weight:800;letter-spacing:-.03em}
.fv-plan__price small{font-size:.8rem;font-weight:600;color:#6b7a91}
.fv-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.fv-plan li{font-size:.86rem;color:var(--fv-body);padding-left:1.1rem;position:relative}
.fv-plan li::before{content:"";position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:#1f9d6b}
.fv-faq{border-top:1px solid var(--fv-line)}
.fv-faq details{border-bottom:1px solid var(--fv-line);padding:1rem 0}
.fv-faq summary{cursor:pointer;font-weight:700;font-size:.98rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.fv-faq summary::-webkit-details-marker{display:none}
.fv-faq summary::after{content:"+";color:var(--fv-blue);font-weight:800}
.fv-faq details[open] summary::after{content:"–"}
.fv-faq p{margin:.7rem 0 0;font-size:.92rem;line-height:1.6;color:var(--fv-body);max-width:70ch}
.fv-cta{background:#0b1a33;color:#fff;border-radius:26px;padding:clamp(1.75rem,3.4vw,2.75rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 2rem;align-items:center;margin-block:clamp(2rem,4vw,3.5rem)}
.fv-cta h2{margin:0 0 .6rem;font-size:clamp(1.6rem,2.8vw,2.2rem);letter-spacing:-.03em;color:#fff}
.fv-cta p{margin:0;color:#c3d0e2;max-width:50ch}
.fv-cta .fv-actions{justify-content:flex-end;gap:.75rem 1.25rem;flex-wrap:wrap}.fv-cta .fv-link{white-space:nowrap}
.fv-cta .fv-link{color:#cfe0f8;border-bottom-color:rgba(207,224,248,.35)}
.fv-section [id],.fv-home section[id]{scroll-margin-top:90px}
@media(max-width:980px){.fv-hero__grid{grid-template-columns:1fr;padding-block:2.5rem}.fv-tiles{grid-template-columns:1fr 1fr}.fv-cta{grid-template-columns:1fr}.fv-cta .fv-actions{justify-content:flex-start}}
@media(max-width:820px){.bc-header__cta,.bc-header__cta *{display:none!important}.bc-nav{margin-left:auto}.bc-nav .wp-block-navigation__responsive-container-open{margin-left:auto}}
@media(max-width:620px){.fv-tile h3{min-height:0}.fv-tiles,.fv-strip,.fv-steps,.fv-plans{grid-template-columns:1fr}.fv-strip{gap:1rem}.fv-chart svg{height:96px}.fv-card{border-radius:20px}.fv-hero h1{font-size:2rem}}
@media(max-width:520px){.bc-brand__tagline{display:none}}
@media(max-width:360px){.fv-metrics{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fv-btn,.fv-tile{transition:none}}
.bc-prose .has-large-font-size{font-size:clamp(1.05rem,1.3vw,1.2rem)!important;line-height:1.65}
.bc-header .bc-brand__logo{margin:0;line-height:0}
.bc-header .bc-brand__logo img{display:block;width:auto;height:auto;max-height:44px;max-width:220px}
.bc-brand:has(.custom-logo) .bc-brand__name{display:none}
.bc-brand--keep-title:has(.custom-logo) .bc-brand__name{display:block}
.bc-brand--logo-only .bc-brand__tagline{display:none}
.bc-entry h1{font-size:clamp(2.1rem,3.4vw,2.9rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:.2em}
.bc-prose p{line-height:1.7}
.bc-prose .bc-services{margin-top:1.75rem}
.bc-prose .bc-services + p{margin-top:1.75rem}

.bc-header__inner{min-height:76px;padding-block:0}
.bc-header .bc-brand{gap:0}
.bc-header .bc-brand__logo{margin:0}
.bc-header .bc-brand__logo img{height:44px;width:auto;max-height:none;margin-top:-7px}
.bc-header .bc-brand__tagline{margin:12px 0 0!important;line-height:1.25!important;font-size:.82rem!important;letter-spacing:0!important;text-transform:none!important;font-weight:500!important}




body{padding-top:0!important}
.wp-site-blocks{gap:0!important;margin-block-start:0!important;padding-block-start:0!important}
main#main{margin-block-start:0!important}
.bc-header{padding-block:0!important;min-height:0}
.bc-header .bc-header__inner{min-height:0!important;margin-block:0!important;padding-block:15px!important;align-items:center!important}
.bc-navwrap{gap:clamp(.75rem,2vw,1.5rem)}
.bc-mega{display:flex;align-items:center}
.bc-header .bc-header__inner{position:relative}
.bc-mega__trigger{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:.4rem .1rem;font:inherit;font-size:.94rem;font-weight:600;color:#0b1a33;cursor:pointer;border-radius:6px}
.bc-mega__trigger:hover,.bc-mega__trigger:focus-visible{color:#0b57c2}
.bc-mega__trigger svg{transition:transform .18s ease}
.bc-mega__trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.bc-mega__panel{display:none;position:absolute;top:100%;margin-block-start:0!important;left:50%;transform:translateX(-50%);width:min(1000px,calc(100vw - 2rem));background:#fff;border:1px solid #e3e9f2;border-radius:18px;box-shadow:0 40px 70px -40px rgba(11,35,70,.5);padding:1.4rem 1.5rem 1.5rem;z-index:60}
.bc-mega__trigger[aria-expanded="true"] + .bc-mega__panel{display:block}
.bc-mega__cols{gap:1.25rem;margin:0;flex-wrap:nowrap}
.bc-mega__title{position:relative;margin:0 0 .85rem;padding:0 0 9px;min-height:1.6rem;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#0b1a33}
.bc-mega__title:before{content:"";position:absolute;top:auto;bottom:0;left:0;width:100%;height:1px;border-radius:0;background:linear-gradient(to right,#0b57c2 0%,rgba(11,87,194,.28) 45%,rgba(11,87,194,0) 100%)}
.bc-mega__panel .wp-block-column{min-width:0}
.bc-mega__panel .wp-block-column + .wp-block-column{border-left:1px solid #eef2f8;padding-left:1.35rem}
.bc-mega__panel .wp-block-column:last-child{border-left:0;padding-left:0}
.bc-mega__panel li a{display:block;padding:.42rem .55rem;margin-left:-.55rem;border-radius:8px;color:#16243d;text-decoration:none;font-size:.82rem;font-weight:500;line-height:1.45}
.bc-mega__panel li a:hover,.bc-mega__panel li a:focus{background:#f1f6fd;color:#0b57c2;padding-left:.75rem}
.bc-mega__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.bc-mega__panel li{margin:0}
.bc-mega__card{background:#f4f8fd;border:1px solid #e2ebf7;border-radius:14px;padding:1rem;height:100%}
.bc-mega__card p{margin:0 0 .7rem;font-size:.88rem;line-height:1.5;color:#4f5f78}
.bc-mega__card .has-small-font-size{margin:.6rem 0 0;font-size:.75rem;color:#6b7a91}
.bc-mega__card .wp-block-button__link{width:100%;text-align:center;justify-content:center;font-size:.84rem;padding:.55rem .9rem}
@media(max-width:899px){.bc-mega{display:none}.bc-nav .bc-mob-only{display:flex}}
@media(min-width:900px){.bc-nav .bc-mob-only{display:none}}

/* --- bloques nativos: botones, enlaces y listas --- */
.fv-btn .wp-block-button__link{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.55rem;border-radius:999px;background:#0b57c2;color:#fff!important;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 14px 34px -12px rgba(11,87,194,.65);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.fv-btn .wp-block-button__link:hover{background:#08459b;transform:translateY(-1px);box-shadow:0 18px 40px -12px rgba(11,87,194,.7)}
.fv-link a{color:#0b57c2;font-weight:700;font-size:.92rem;text-decoration:none;border-bottom:1px solid rgba(11,87,194,.25);padding-bottom:2px}
.fv-link a:hover{border-bottom-color:#0b57c2}
.fv-tile__num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid #e2ebf7;color:#0b57c2;font-weight:800;font-size:.8rem;letter-spacing:.06em;margin:0 0 .35rem}
.fv-strip__label{font-size:.82rem;color:#6b7a91}
.fv-strip p{margin:0}
.fv-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:#0b57c2;flex:0 0 auto}
.fv-list li{display:flex;align-items:center;gap:.6rem}
.fv-home p,.fv-home h1,.fv-home h2,.fv-home h3,.fv-home ul,.fv-home .wp-block-group,.fv-home .wp-block-buttons,.fv-home .wp-block-button,.fv-home .wp-block-details{margin-block-start:0}
.fv-section--last{border-bottom:0}

.fv-btn .wp-block-button__link.wp-element-button{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.55rem!important;border-radius:999px!important;background:#0b57c2!important;color:#fff!important;font-weight:700!important;font-size:.95rem!important;line-height:1.2!important;text-decoration:none!important;box-shadow:0 14px 34px -12px rgba(11,87,194,.65)!important;min-height:0}
.fv-btn .wp-block-button__link.wp-element-button:hover{background:#08459b!important}

.fv-btn{padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}
.fv-btn:hover{transform:none!important;box-shadow:none!important}
.fv-link{color:inherit;font-weight:inherit;font-size:inherit;border:0;padding:0}

.fv-home p.fv-note{margin-block-start:1.35rem!important;margin-block-end:0!important}
.bc-skip:focus-visible{transform:translate(-50%,0)!important;outline:2px solid #0b57c2;outline-offset:2px}
.fv-head .fv-lead{max-width:62ch}
.fv-tile .fv-tile__meta{margin-block-start:auto!important;margin-block-end:0!important}

html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#main,#servicios,#tarifas,#proceso,#preguntas,#quienes-somos,#contacto{scroll-margin-top:96px}
.fv-cta__meta{margin:1rem 0 0!important;font-size:.86rem;color:#c3d0e2;line-height:1.6}
.fv-section--soft{padding-block:2rem!important}
.fv-section--soft .fv-strip{padding-block:.5rem}

/* Hero: fondo con color y deriva lenta de manchas */
.fv-hero{background:linear-gradient(135deg,#e4eefc 0%,#eef6ff 40%,#e6f3ec 100%)!important;isolation:isolate}
.fv-hero:before{background-image:linear-gradient(to right,rgba(11,26,51,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,26,51,.05) 1px,transparent 1px);z-index:1}
.fv-hero:after{content:"";position:absolute;inset:-25% -15%;z-index:0;background:radial-gradient(42% 40% at 18% 28%,rgba(11,87,194,.20),rgba(11,87,194,0) 70%),radial-gradient(38% 36% at 82% 18%,rgba(0,192,240,.18),rgba(0,192,240,0) 70%),radial-gradient(46% 42% at 66% 88%,rgba(31,157,107,.14),rgba(31,157,107,0) 72%);animation:fvDrift 28s ease-in-out infinite alternate}
.fv-hero__grid{position:relative;z-index:2}
@keyframes fvDrift{from{transform:translate3d(-2%,-1.5%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.07)}}
@media(prefers-reduced-motion:reduce){.fv-hero:after{animation:none;transform:none}}

/* Hero navy */
.fv-hero{background:linear-gradient(150deg,#06162c 0%,#0a2145 46%,#071f33 100%)!important}
.fv-hero:before{background-image:linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px)!important}
.fv-hero:after{background:radial-gradient(46% 42% at 18% 30%,rgba(16,92,220,.60),rgba(16,92,220,0) 70%),radial-gradient(40% 38% at 82% 16%,rgba(0,192,240,.34),rgba(0,192,240,0) 70%),radial-gradient(48% 44% at 66% 92%,rgba(31,157,107,.28),rgba(31,157,107,0) 72%)!important;opacity:.9;translate:var(--fv-mx,0px) var(--fv-my,0px);transition:translate .5s ease-out}
.fv-hero h1{color:#ffffff!important}
.fv-hero .fv-lead{color:#c9d8ee!important}
.fv-hero .fv-eyebrow{color:#9db9dd!important}
.fv-hero .fv-eyebrow:before{background:#38b6f0!important}
.fv-hero .fv-link a{color:#dce8fa!important;border-bottom:1px solid rgba(220,232,250,.35)!important}
.fv-hero .fv-link a:hover{border-bottom-color:#dce8fa!important}
.fv-hero .fv-link:hover{border-bottom-color:#dce8fa!important}
.fv-hero .fv-note{color:#8ea4c2!important}
.fv-hero .fv-btn .wp-block-button__link{background:#1f66dd!important;box-shadow:0 16px 38px -14px rgba(31,102,221,.9)!important}
.fv-hero .fv-btn .wp-block-button__link:hover{background:#2a76ea!important}
.fv-hero .fv-card{background:linear-gradient(158deg,rgba(255,255,255,.97) 0%,rgba(235,242,252,.94) 100%)!important;border-color:rgba(255,255,255,.5)!important;box-shadow:0 44px 90px -34px rgba(0,0,0,.65)!important}

.fv-hero:after{content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;opacity:1!important;translate:var(--fv-mx,0px) var(--fv-my,0px);transition:translate .5s ease-out;will-change:transform;background:radial-gradient(38% 42% at 22% 28%,rgba(16,92,220,.85),rgba(16,92,220,0) 62%),radial-gradient(32% 36% at 78% 18%,rgba(0,192,240,.55),rgba(0,192,240,0) 65%),radial-gradient(44% 46% at 62% 88%,rgba(31,157,107,.45),rgba(31,157,107,0) 68%)!important;animation:fvAurora 26s ease-in-out infinite alternate!important}
@keyframes fvAurora{0%{transform:rotate(-4deg) scale(1.02) translate3d(-4%,-3%,0)}50%{transform:rotate(0deg) scale(1.09) translate3d(0,0,0)}100%{transform:rotate(4deg) scale(1.14) translate3d(4%,3%,0)}}
@media(prefers-reduced-motion:reduce){.fv-hero:after{animation:none!important;transform:none!important}}

.fv-hero{background:linear-gradient(90deg,rgba(3,16,31,.9) 0%,rgba(3,16,31,.72) 38%,rgba(3,16,31,.3) 66%,rgba(3,16,31,0) 100%),linear-gradient(160deg,#03101f 0%,#061a33 38%,#0a2b5c 72%,#08213f 100%)!important;background-size:100% 100%,180% 180%!important;animation:fvSky 48s ease-in-out infinite alternate!important}
@keyframes fvSky{0%{background-position:0% 20%}100%{background-position:100% 80%}}
.fv-hero:after{content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;translate:var(--fv-mx,0px) var(--fv-my,0px);transition:translate .5s ease-out;will-change:transform;background:radial-gradient(34% 44% at 30% 40%,rgba(34,118,235,.42),rgba(34,118,235,0) 68%),radial-gradient(30% 34% at 74% 56%,rgba(0,190,255,.3),rgba(0,190,255,0) 70%),radial-gradient(34% 36% at 46% 94%,rgba(32,170,126,.26),rgba(32,170,126,0) 72%)!important;animation:fvFlow 13s ease-in-out infinite alternate!important}
@keyframes fvFlow{0%{transform:translate3d(-22%,-9%,0) scale(1)}100%{transform:translate3d(22%,10%,0) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.fv-hero{animation:none!important}.fv-hero:after{animation:none!important;transform:none!important}}

#proceso,#tarifas{background:linear-gradient(160deg,#06162c 0%,#0a2145 58%,#071f33 100%)!important;border-bottom-color:rgba(255,255,255,.09)!important}
#proceso h2,#tarifas h2{color:#ffffff!important}
#proceso .fv-eyebrow,#tarifas .fv-eyebrow{color:#9db9dd!important}
#proceso .fv-eyebrow:before,#tarifas .fv-eyebrow:before{background:#38b6f0!important}
#proceso p,#tarifas p{color:#c2d2e8!important}
#proceso .fv-step:before{background:rgba(255,255,255,.12)!important;color:#bfe0ff!important}
#proceso .fv-step h3{color:#ffffff!important}
#tarifas .fv-plan{background:#ffffff!important;border-color:rgba(255,255,255,.18)!important}
#tarifas .fv-plan h3{color:#6b7a91!important}
#tarifas .fv-plan__price{color:#0b1a33!important}
#tarifas .fv-plan li{color:#51617a!important}
#proceso .fv-link a,#tarifas .fv-link a,#tarifas .fv-more a{color:#dce8fa!important;border-bottom-color:rgba(220,232,250,.4)!important}
