/* =========================================================
   InventCel — Design tokens
   Derivados del manual de marca: Azul InventCel, Verde Mar,
   Ámbar Energía, Crema Base, Gris Medio, Gris Carbón.
   Tipografía: Quicksand (títulos, evoca "InventCel Rounded")
   + Inter (cuerpo / etiquetas / datos).
   ========================================================= */
:root{
	--ic-blue: #1A3F6D;
	--ic-blue-light: #2E5C96;
	--ic-teal: #1F7D78;
	--ic-amber: #DBA033;
	--ic-cream: #FFFEF6;
	--ic-gray-mid: #B9BBC1;
	--ic-gray-carbon: #646872;
	--ic-white: #ffffff;

	--ic-font-display: 'Quicksand', -apple-system, sans-serif;
	--ic-font-body: 'Inter', -apple-system, sans-serif;

	--ic-radius-sm: 10px;
	--ic-radius-md: 18px;
	--ic-radius-lg: 28px;
	--ic-shadow: 0 20px 50px -20px rgba(26,63,109,0.35);
	--ic-shadow-sm: 0 8px 24px -12px rgba(26,63,109,0.25);
	--ic-container: 1180px;
}

body{
	font-family: var(--ic-font-body);
	color: var(--ic-blue);
	background: var(--ic-cream);
	-webkit-font-smoothing: antialiased;
	line-height: 1.6;
}
h1,h2,h3,h4,h5{
	font-family: var(--ic-font-display);
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 .5em;
	color: var(--ic-blue);
}
p{ margin: 0 0 1em; color: var(--ic-gray-carbon); }
h1,h2,h3,h4,h5,p{ overflow-wrap: break-word; word-break: break-word; }
.ic-container{ max-width: var(--ic-container); margin: 0 auto; padding: 0 24px; }
@media (max-width: 480px){ .ic-container{ padding: 0 18px; } }
@media (max-width: 380px){
	.ic-hero h1{ font-size: 28px; }
	.ic-hero__lead{ font-size: 15px; }
}
.ic-eyebrow{
	font-family: var(--ic-font-body);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ic-teal);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ic-eyebrow::before{
	content: "";
	width: 18px; height: 3px; border-radius: 2px;
	background: var(--ic-amber);
	display: inline-block;
}
:focus-visible{ outline: 3px solid var(--ic-amber); outline-offset: 3px; }

/* Buttons */
.ic-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--ic-font-body); font-weight: 600; font-size: 15px;
	padding: 14px 26px; border-radius: 999px; border: 2px solid transparent;
	cursor: pointer; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ic-btn--primary{ background: var(--ic-blue); color: var(--ic-white); box-shadow: var(--ic-shadow-sm); }
.ic-btn--primary:hover{ transform: translateY(-2px); box-shadow: var(--ic-shadow); background: var(--ic-blue-light); }
.ic-btn--amber{ background: var(--ic-amber); color: var(--ic-blue); }
.ic-btn--amber:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(219,160,51,.55); }
.ic-btn--ghost{ background: transparent; border-color: rgba(26,63,109,.18); color: var(--ic-blue); }
.ic-btn--ghost:hover{ border-color: var(--ic-blue); }

/* =========================================================
   Header
   ========================================================= */
.ic-header{
	position: sticky; top: 0; z-index: 50;
	background: rgba(255,254,246,.9);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(26,63,109,.08);
}
.ic-header__inner{ display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; gap: 20px; }
.ic-logo{ display: flex; align-items: center; gap: 10px; text-decoration: none; }
.ic-logo img{ height: 40px; width: auto; }
.ic-nav__list{ list-style: none; display: flex; gap: 32px; margin: 0; padding: 0; }
.ic-nav__list a{
	text-decoration: none; font-weight: 600; font-size: 15px; color: var(--ic-blue);
	position: relative; padding: 4px 0;
}
.ic-nav__list a::after{
	content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background: var(--ic-amber);
	transition: width .2s ease;
}
.ic-nav__list a:hover::after{ width: 100%; }
.ic-header__cta{ display: flex; align-items: center; gap: 14px; }
.ic-menu-toggle{ display: none; background: none; border: none; cursor: pointer; padding: 6px; }
.ic-menu-toggle span{ display:block; width: 24px; height: 2px; background: var(--ic-blue); margin: 5px 0; border-radius: 2px; }

@media (max-width: 880px){
	.ic-nav{ position: fixed; inset: 70px 16px auto 16px; background: var(--ic-white); border-radius: var(--ic-radius-md); box-shadow: var(--ic-shadow); padding: 18px; display: none; max-height: calc(100vh - 90px); overflow-y: auto; }
	.ic-nav.is-open{ display: block; }
	.ic-nav__list{ flex-direction: column; gap: 4px; }
	.ic-nav__list a{ display: block; padding: 12px 6px; font-size: 16px; }
	.ic-menu-toggle{ display: flex; flex-direction: column; justify-content: center; width: 40px; height: 40px; }
	.ic-header__cta .ic-btn--ghost{ display: none; }
}

@media (max-width: 480px){
	.ic-header__inner{ padding: 12px 16px; }
	.ic-logo img{ height: 32px; }
	.ic-header__cta{ gap: 8px; }
	.ic-header__cta .ic-btn--primary{ padding: 10px 16px; font-size: 13.5px; }
}

/* =========================================================
   Hero — la tesis: el módulo InventCel resolviendo ventas
   e inventario en tiempo real, con el "arco" del logo como
   elemento de fondo.
   ========================================================= */
.ic-hero{ position: relative; overflow: hidden; padding: 90px 0 70px; }
.ic-hero::before{
	content:"";
	position: absolute; top: -180px; right: -220px; width: 620px; height: 620px;
	border: 90px solid var(--ic-blue); border-radius: 50%;
	opacity: .06;
}
.ic-hero::after{
	content:"";
	position: absolute; bottom: -220px; left: -180px; width: 460px; height: 460px;
	border: 70px solid var(--ic-teal); border-radius: 50%;
	opacity: .07;
}
.ic-hero__grid{ position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.ic-hero__grid > *{ min-width: 0; }
.ic-hero h1{ font-size: clamp(34px, 4.4vw, 54px); letter-spacing: -.01em; margin-top: 14px; overflow-wrap: break-word; word-break: break-word; }
.ic-hero h1 em{ font-style: normal; color: var(--ic-teal); }
.ic-hero__lead{ font-size: 18px; max-width: 46ch; }
.ic-hero__actions{ display: flex; gap: 14px; margin-top: 28px; flex-wrap: wrap; }
.ic-hero__trust{ margin-top: 34px; display: flex; gap: 28px; flex-wrap: wrap; }
.ic-hero__trust div{ display:flex; flex-direction:column; }
.ic-hero__trust strong{ font-family: var(--ic-font-display); font-size: 26px; color: var(--ic-blue); }
.ic-hero__trust span{ font-size: 13px; color: var(--ic-gray-carbon); }

@media (max-width: 600px){
	.ic-hero{ padding: 50px 0 40px; }
	.ic-hero__lead{ font-size: 16px; }
	.ic-hero__actions{ flex-direction: column; align-items: stretch; }
	.ic-hero__actions .ic-btn{ width: 100%; }
	.ic-hero__trust{ gap: 20px; }
	.ic-hero__trust strong{ font-size: 22px; }
}

/* Product preview card — signature element */
.ic-preview{
	background: var(--ic-white); border-radius: var(--ic-radius-lg); box-shadow: var(--ic-shadow);
	padding: 18px; position: relative; overflow-x: hidden; max-width: 100%;
}
.ic-preview__tabs{ display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid rgba(26,63,109,.08); scrollbar-width: thin; }
.ic-preview__tab{
	font-family: var(--ic-font-body); font-weight: 600; font-size: 13px;
	border: none; background: transparent; color: var(--ic-gray-carbon);
	padding: 8px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap; flex-shrink: 0;
	display: flex; align-items: center; gap: 6px; transition: background .18s ease, color .18s ease;
}
.ic-preview__tab.is-active{ background: var(--ic-blue); color: var(--ic-white); }
.ic-preview__panel{ display: none; padding: 6px 4px 4px; }
.ic-preview__panel.is-active{ display: block; animation: icFade .25s ease; }
@keyframes icFade{ from{ opacity:0; transform: translateY(4px);} to{opacity:1; transform:none;} }
.ic-preview__panel h4{ font-size: 15px; margin-bottom: 4px; }
.ic-preview__panel p{ font-size: 13px; margin-bottom: 14px; }
.ic-stat-row{ display: flex; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.ic-stat{
	flex: 1; min-width: 110px; background: var(--ic-cream); border-radius: var(--ic-radius-sm);
	padding: 12px 14px; border: 1px solid rgba(26,63,109,.06);
}
.ic-stat strong{ display:block; font-family: var(--ic-font-display); font-size: 20px; color: var(--ic-blue); }
.ic-stat span{ font-size: 11.5px; color: var(--ic-gray-carbon); text-transform: uppercase; letter-spacing: .04em; }
.ic-fake-table{ width: 100%; border-collapse: collapse; font-size: 12.5px; }
.ic-fake-table th{ text-align: left; color: var(--ic-gray-carbon); font-weight: 600; padding: 6px 8px; border-bottom: 1px solid rgba(26,63,109,.08); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.ic-fake-table td{ padding: 8px; border-bottom: 1px solid rgba(26,63,109,.05); white-space: nowrap; }
.ic-table-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ic-badge{ display:inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.ic-badge--teal{ background: rgba(31,125,120,.12); color: var(--ic-teal); }
.ic-badge--amber{ background: rgba(219,160,51,.16); color: #96721f; }
.ic-badge--blue{ background: rgba(26,63,109,.1); color: var(--ic-blue); }
.ic-badge--red{ background: rgba(196,68,68,.12); color: #b83f3f; }
.ic-badge--green{ background: rgba(46,140,100,.14); color: #1f7a52; }

/* App-realistic mock components used inside the hero preview tabs */
.ic-app-head{ display:flex; align-items:center; justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.ic-app-head__title{ display:flex; align-items:center; gap: 8px; font-family: var(--ic-font-display); font-weight:700; font-size: 15px; color: var(--ic-blue); }
.ic-app-toolbar{ display:flex; gap: 6px; flex-wrap: wrap; }
.ic-app-toolbar button{
	font-family: var(--ic-font-body); font-size: 11.5px; font-weight: 600; color: var(--ic-blue);
	background: var(--ic-cream); border: 1px solid rgba(26,63,109,.12); border-radius: 8px; padding: 6px 10px; cursor: default;
}
.ic-app-toolbar button.ic-app-toolbar--primary{ background: var(--ic-blue); color: #fff; border-color: var(--ic-blue); }

.ic-app-stats{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; }
.ic-app-stats > *{ min-width: 0; }
.ic-app-stat{ background: var(--ic-cream); border: 1px solid rgba(26,63,109,.06); border-radius: var(--ic-radius-sm); padding: 10px 12px; }
.ic-app-stat span{ display:block; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--ic-gray-carbon); margin-bottom: 3px; }
.ic-app-stat strong{ font-family: var(--ic-font-display); font-size: 17px; color: var(--ic-blue); }
.ic-app-stat.is-positive strong{ color: var(--ic-teal); }
.ic-app-stat.is-negative strong{ color: #b83f3f; }
.ic-app-stat.is-warning strong{ color: #96721f; }
@media (max-width: 560px){ .ic-app-stats{ grid-template-columns: repeat(2,1fr); } }

/* POS / Facturación mock */
.ic-pos{ display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; }
.ic-pos > *{ min-width: 0; }
.ic-pos__field-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.ic-pos label{ display:block; font-size: 10.5px; font-weight: 700; color: var(--ic-gray-carbon); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 3px; }
.ic-pos .ic-fake-input{
	font-size: 12.5px; color: var(--ic-blue); background: var(--ic-cream); border: 1px solid rgba(26,63,109,.1);
	border-radius: 8px; padding: 7px 10px;
}
.ic-cart-item{ display:flex; justify-content: space-between; align-items:center; padding: 8px 0; border-bottom: 1px solid rgba(26,63,109,.06); font-size: 12.5px; }
.ic-cart-item__name{ color: var(--ic-blue); font-weight: 600; }
.ic-cart-item__meta{ color: var(--ic-gray-carbon); font-size: 11px; }
.ic-pos__summary{ background: var(--ic-cream); border-radius: var(--ic-radius-sm); padding: 14px; border: 1px solid rgba(26,63,109,.06); }
.ic-pos__summary-row{ display:flex; justify-content: space-between; font-size: 12.5px; padding: 5px 0; color: var(--ic-gray-carbon); }
.ic-pos__summary-row.is-total{ font-weight: 700; color: var(--ic-blue); font-size: 15px; border-top: 1px solid rgba(26,63,109,.1); margin-top: 6px; padding-top: 10px; }
.ic-pos__pay-chip{ display:flex; align-items:center; gap: 6px; background: #fff; border: 1px solid rgba(26,63,109,.1); border-radius: 8px; padding: 8px 10px; font-size: 12px; font-weight: 600; color: var(--ic-blue); margin: 12px 0; }
.ic-pos__facturar{ width: 100%; background: var(--ic-teal); color: #fff; border: none; border-radius: 8px; padding: 11px; font-family: var(--ic-font-body); font-weight: 700; font-size: 13px; cursor: default; }
@media (max-width: 700px){ .ic-pos{ grid-template-columns: 1fr; } }
@media (max-width: 480px){
	.ic-pos__field-row{ grid-template-columns: 1fr; gap: 6px; }
}

/* Tesorería caja cards */
.ic-caja-row{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.ic-caja-row > *{ min-width: 0; }
.ic-caja-card{ background: var(--ic-cream); border: 1px solid rgba(26,63,109,.06); border-radius: var(--ic-radius-sm); padding: 10px 12px; }
.ic-caja-card__name{ font-size: 11.5px; font-weight: 700; color: var(--ic-blue); margin-bottom: 4px; }
.ic-caja-card__total{ font-family: var(--ic-font-display); font-size: 15px; color: var(--ic-blue); }
@media (max-width: 700px){ .ic-caja-row{ grid-template-columns: 1fr 1fr; } }

/* Reportes: pills, bar chart, donut */
.ic-report-tabs{ display:flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.ic-report-tabs span{ font-size: 11.5px; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--ic-cream); color: var(--ic-gray-carbon); }
.ic-report-tabs span.is-active{ background: var(--ic-blue); color: #fff; }
.ic-report-charts{ display: flex; align-items: flex-start; gap: 18px; }
.ic-report-charts__bars{ flex: 1.4; }
.ic-report-charts__label{ font-size: 11px; color: var(--ic-gray-carbon); text-transform: uppercase; letter-spacing: .04em; }
.ic-report-charts__donut{ flex: 1; display: flex; gap: 14px; align-items: center; }
.ic-bars{ display:flex; align-items:flex-end; gap: 6px; height: 90px; margin: 10px 0 6px; }
.ic-bars span{ flex:1; background: linear-gradient(180deg, var(--ic-blue-light), var(--ic-blue)); border-radius: 4px 4px 0 0; min-height: 6px; }
.ic-donut{
	width: 90px; height: 90px; border-radius: 50%; margin: 0 auto; flex-shrink: 0;
	background: conic-gradient(var(--ic-blue) 0% 34%, var(--ic-teal) 34% 76%, var(--ic-amber) 76% 100%);
	position: relative;
}
.ic-donut::after{ content:""; position:absolute; inset: 16px; background: #fff; border-radius: 50%; }
.ic-donut-legend{ display:flex; flex-direction: column; gap: 6px; font-size: 11.5px; }
.ic-donut-legend span{ display:flex; align-items:center; gap: 6px; color: var(--ic-gray-carbon); }
.ic-donut-legend i{ width: 9px; height: 9px; border-radius: 50%; display:inline-block; }

@media (max-width: 940px){
	.ic-hero__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 600px){
	.ic-preview{ padding: 14px; border-radius: var(--ic-radius-md); }
	.ic-preview__tab{ font-size: 12px; padding: 7px 12px; }
	.ic-app-head__title{ font-size: 13.5px; }
	.ic-app-stats{ grid-template-columns: repeat(2,1fr); gap: 6px; }
	.ic-app-stat{ padding: 8px 10px; }
	.ic-app-stat strong{ font-size: 15px; }
	.ic-fake-table{ font-size: 11.5px; }
	.ic-fake-table td, .ic-fake-table th{ padding: 6px; }
	.ic-caja-row{ grid-template-columns: 1fr 1fr; gap: 6px; }
	.ic-report-charts{ flex-direction: column; gap: 22px; }
	.ic-report-charts__donut{ align-self: flex-start; }
}

/* =========================================================
   Ticker de marca — cinta animada entre el hero y los módulos
   ========================================================= */
.ic-ticker{ background: var(--ic-blue); overflow: hidden; padding: 16px 0; }
.ic-ticker__track{
	display: flex; width: max-content;
	animation: icTickerScroll 28s linear infinite;
}
.ic-ticker__track span{
	font-family: var(--ic-font-body); font-weight: 700; font-size: 13.5px; letter-spacing: .06em;
	color: #fff; text-transform: uppercase; white-space: nowrap; padding: 0 22px;
	display: flex; align-items: center; gap: 22px;
}
.ic-ticker__track span::after{ content: "•"; color: var(--ic-amber); font-size: 16px; }
@keyframes icTickerScroll{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .ic-ticker__track{ animation: none; } }

/* Shared icon-box tokens used by module cards and contact info */
.ic-icon-box{ width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.ic-icon-box--teal{ background: rgba(31,125,120,.12); }
.ic-icon-box--blue{ background: rgba(26,63,109,.1); }
.ic-icon-box--amber{ background: rgba(219,160,51,.16); }

/* =========================================================
   Sections generic
   ========================================================= */
.ic-section{ padding: 84px 0; }
.ic-section--alt{ background: var(--ic-white); }
.ic-section__head{ max-width: 640px; margin: 0 0 46px; }
.ic-section__head h2{ font-size: clamp(28px, 3.4vw, 38px); }

@media (max-width: 600px){
	.ic-section{ padding: 52px 0; }
	.ic-section__head{ margin-bottom: 30px; }
}

/* Módulos grid — refleja los 5 módulos reales del producto + tarjeta de marca */
.ic-modules{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ic-modules > *{ min-width: 0; }
.ic-module-card{
	background: var(--ic-white); border-radius: var(--ic-radius-md); padding: 26px 20px;
	border: 1px solid rgba(26,63,109,.07); transition: transform .2s ease, box-shadow .2s ease;
}
.ic-module-card:hover{ transform: translateY(-6px); box-shadow: var(--ic-shadow-sm); }
.ic-module-card__icon{ margin-bottom: 16px; }
.ic-module-card h3{ font-size: 17px; margin-bottom: 6px; }
.ic-module-card p{ font-size: 13.5px; margin-bottom: 0; }

.ic-module-card--brand{
	background: linear-gradient(155deg, var(--ic-blue), var(--ic-blue-light));
	border-color: transparent; color: #fff; display: flex; flex-direction: column; justify-content: center;
}
.ic-module-card--brand .ic-icon-box{ background: rgba(255,255,255,.14); }
.ic-module-card--brand h3{ color: #fff; }
.ic-module-card--brand p{ color: rgba(255,255,255,.82); }
.ic-module-card--brand__tag{
	margin-top: 14px; display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--ic-font-body); font-weight: 700; font-size: 12px; letter-spacing: .06em;
	text-transform: uppercase; color: var(--ic-amber);
}

@media (max-width: 900px){ .ic-modules{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){
	.ic-modules{ grid-template-columns: 1fr; }
	.ic-module-card{ padding: 22px 18px; }
}

/* Beneficios */
.ic-benefits{ display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ic-benefits > *{ min-width: 0; }
.ic-benefit-list{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.ic-benefit-list li{ display: flex; gap: 16px; align-items: flex-start; }
.ic-benefit-list .ic-check{
	flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--ic-teal); color: #fff;
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px;
}
.ic-benefit-list h4{ font-size: 16px; margin-bottom: 2px; }
.ic-benefit-list p{ margin: 0; font-size: 14px; }
.ic-benefit-panel{
	background: linear-gradient(155deg, var(--ic-blue), var(--ic-blue-light));
	border-radius: var(--ic-radius-lg); padding: 40px; color: #fff; position: relative; overflow: hidden;
}
.ic-benefit-panel::after{
	content:""; position:absolute; right:-60px; bottom:-60px; width:220px; height:220px; border-radius:50%;
	border: 40px solid var(--ic-amber); opacity: .18;
}
.ic-benefit-panel h3{ color: #fff; font-size: 22px; }
.ic-benefit-panel p{ color: rgba(255,255,255,.85); }
.ic-quote{ font-family: var(--ic-font-display); font-size: 20px; line-height: 1.4; margin-top: 18px; }
.ic-quote cite{ display:block; margin-top: 14px; font-family: var(--ic-font-body); font-size: 13px; font-style: normal; color: rgba(255,255,255,.7); }

@media (max-width: 880px){ .ic-benefits{ grid-template-columns: 1fr; } }
@media (max-width: 600px){
	.ic-benefit-panel{ padding: 28px; }
	.ic-quote{ font-size: 17px; }
	.ic-voice{ gap: 10px; }
	.ic-voice span{ padding: 7px 14px; font-size: 13px; }
}

/* Filas de beneficios construidas con bloques nativos (Group), en vez de la lista
   personalizada del diseño original — para que sean editables desde el editor de bloques. */
.ic-benefit-row{ display:flex; gap:16px; align-items:flex-start; margin-bottom:22px; }
.ic-benefit-row:last-child{ margin-bottom:0; }
.ic-benefit-row .ic-check{ margin: 0; }
.ic-benefit-row h4{ font-size: 16px; margin-bottom: 2px; }
.ic-benefit-row p{ margin: 0; font-size: 14px; }

/* Voz de marca strip */
.ic-voice{ display:flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
.ic-voice span{
	font-family: var(--ic-font-display); font-weight: 700; font-size: 14px; color: var(--ic-blue);
	background: var(--ic-white); border: 1px solid rgba(26,63,109,.1); padding: 8px 18px; border-radius: 999px;
}

/* =========================================================
   Planes / Pricing
   ========================================================= */
.ic-pricing{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; align-items: stretch; }
.ic-pricing > *{ min-width: 0; }
.ic-price-card{
	background: var(--ic-white); border-radius: var(--ic-radius-lg); padding: 34px 30px;
	border: 1px solid rgba(26,63,109,.09); display: flex; flex-direction: column;
	position: relative; transition: transform .2s ease, box-shadow .2s ease;
}
.ic-price-card:hover{ transform: translateY(-6px); box-shadow: var(--ic-shadow-sm); }
.ic-price-card__name{ font-family: var(--ic-font-display); font-size: 15px; font-weight: 700; color: var(--ic-teal); text-transform: uppercase; letter-spacing: .04em; }
.ic-price-card__tagline{ font-size: 13.5px; color: var(--ic-gray-carbon); margin: 6px 0 20px; }
.ic-price-card__amount{ display: flex; align-items: baseline; gap: 6px; margin-bottom: 4px; }
.ic-price-card__amount strong{ font-family: var(--ic-font-display); font-size: 40px; color: var(--ic-blue); line-height: 1; }
.ic-price-card__amount span{ font-size: 13px; color: var(--ic-gray-carbon); }
.ic-price-card__note{ font-size: 12.5px; color: var(--ic-gray-mid); margin-bottom: 26px; }
.ic-price-card__features{ list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 13px; flex-grow: 1; }
.ic-price-card__features li{ display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--ic-blue); }
.ic-price-card__features li.is-muted{ color: var(--ic-gray-mid); }
.ic-price-card__features .ic-check-sm{
	flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: rgba(31,125,120,.12); color: var(--ic-teal);
	display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; margin-top: 1px;
}
.ic-price-card.is-featured .ic-check-sm{ background: rgba(255,255,255,.18); color: #fff; }
.ic-price-card.is-featured .ic-price-card__features li{ color: rgba(255,255,255,.92); }
.ic-price-card.is-featured .ic-price-card__features li.is-muted{ color: rgba(255,255,255,.5); }
.ic-price-card .ic-btn{ width: 100%; }
.ic-price-card.is-featured{
	background: linear-gradient(160deg, var(--ic-blue), var(--ic-blue-light));
	border-color: transparent; transform: scale(1.03); box-shadow: var(--ic-shadow);
}
.ic-price-card.is-featured:hover{ transform: scale(1.03) translateY(-6px); }
.ic-price-card.is-featured .ic-price-card__name{ color: var(--ic-amber); }
.ic-price-card.is-featured .ic-price-card__tagline,
.ic-price-card.is-featured .ic-price-card__note{ color: rgba(255,255,255,.7); }
.ic-price-card.is-featured .ic-price-card__amount strong,
.ic-price-card.is-featured .ic-price-card__amount span{ color: #fff; }
.ic-price-card__badge{
	position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
	background: var(--ic-amber); color: var(--ic-blue); font-family: var(--ic-font-body); font-weight: 700;
	font-size: 12px; padding: 6px 16px; border-radius: 999px; white-space: nowrap;
}
.ic-pricing-toggle{ display:flex; align-items:center; gap: 14px; margin-top: 22px; }
.ic-pricing-note{ font-size: 13px; color: var(--ic-gray-carbon); margin-top: 30px; text-align:center; }

@media (max-width: 940px){
	.ic-pricing{ grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
	.ic-price-card.is-featured{ transform: none; order: -1; }
	.ic-price-card.is-featured:hover{ transform: translateY(-6px); }
}

@media (max-width: 480px){
	.ic-price-card{ padding: 26px 22px; }
	.ic-price-card__amount strong{ font-size: 34px; }
}

/* =========================================================
   Página de contacto
   ========================================================= */
.ic-contact-hero{ padding: 70px 0 30px; }
.ic-contact-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: start; }
.ic-contact-grid > *{ min-width: 0; }
.ic-contact-info{ display: flex; flex-direction: column; gap: 22px; }
.ic-contact-info__item{ display: flex; gap: 16px; align-items: flex-start; background: var(--ic-white); border: 1px solid rgba(26,63,109,.08); border-radius: var(--ic-radius-md); padding: 20px; }
.ic-contact-info__icon{ width: 42px; height: 42px; border-radius: 12px; background: rgba(26,63,109,.08); display:flex; align-items:center; justify-content:center; font-size: 18px; flex-shrink: 0; }
.ic-contact-info__item h4{ font-size: 15px; margin-bottom: 4px; }
.ic-contact-info__item p{ font-size: 13.5px; margin: 0; }
.ic-contact-info__item a{ text-decoration: none; color: var(--ic-teal); font-weight: 600; }

.ic-contact-form{ background: var(--ic-white); border-radius: var(--ic-radius-lg); padding: 38px; border: 1px solid rgba(26,63,109,.08); box-shadow: var(--ic-shadow-sm); }
.ic-form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ic-field{ margin-bottom: 18px; }
.ic-field label{ display: block; font-size: 13px; font-weight: 600; color: var(--ic-blue); margin-bottom: 7px; }
.ic-field input,
.ic-field select,
.ic-field textarea{
	width: 100%; font-family: var(--ic-font-body); font-size: 14.5px; color: var(--ic-blue);
	padding: 12px 14px; border: 1.5px solid rgba(26,63,109,.15); border-radius: var(--ic-radius-sm);
	background: var(--ic-cream); transition: border-color .18s ease, box-shadow .18s ease;
}
.ic-field textarea{ resize: vertical; min-height: 120px; }
.ic-field input:focus,
.ic-field select:focus,
.ic-field textarea:focus{ outline: none; border-color: var(--ic-teal); box-shadow: 0 0 0 4px rgba(31,125,120,.12); }
.ic-form-notice{ padding: 14px 18px; border-radius: var(--ic-radius-sm); font-size: 14px; margin-bottom: 22px; }
.ic-form-notice--success{ background: rgba(31,125,120,.1); color: var(--ic-teal); }
.ic-form-notice--error{ background: rgba(219,160,51,.14); color: #96721f; }

@media (max-width: 860px){
	.ic-contact-grid{ grid-template-columns: 1fr; }
	.ic-form-row{ grid-template-columns: 1fr; }
}

@media (max-width: 600px){
	.ic-contact-hero{ padding: 40px 0 20px; }
	.ic-contact-form{ padding: 24px 20px; }
	.ic-contact-info__item{ padding: 16px; gap: 12px; }
	.ic-form-row{ gap: 0; }
	.ic-field input, .ic-field select, .ic-field textarea{ font-size: 16px; } /* evita el zoom automático de iOS en inputs */
}

/* CTA final */
.ic-cta{ background: var(--ic-blue); border-radius: var(--ic-radius-lg); padding: 60px; text-align: center; color: #fff; position: relative; overflow: hidden; }
.ic-cta::before{ content:""; position:absolute; inset:0; background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.08), transparent 60%); }
.ic-cta h2{ color: #fff; font-size: clamp(26px,3.2vw,36px); position:relative; }
.ic-cta p{ color: rgba(255,255,255,.85); max-width: 52ch; margin-inline: auto; position:relative; }
.ic-cta .ic-hero__actions{ justify-content: center; position: relative; }
@media (max-width: 600px){
	.ic-cta{ padding: 36px 22px; border-radius: var(--ic-radius-md); }
	.ic-cta .ic-hero__actions .ic-btn{ width: 100%; }
}

/* Blog */
.ic-post-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.ic-post-card{ background: var(--ic-white); border-radius: var(--ic-radius-md); overflow: hidden; border: 1px solid rgba(26,63,109,.07); }
.ic-post-card__thumb{ aspect-ratio: 16/10; background: var(--ic-cream); overflow: hidden; }
.ic-post-card__thumb img{ width: 100%; height: 100%; object-fit: cover; }
.ic-post-card__body{ padding: 20px; }
.ic-post-card h3{ font-size: 17px; }
.ic-post-card h3 a{ text-decoration: none; }
.ic-post-meta{ font-size: 12px; color: var(--ic-gray-carbon); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
@media (max-width: 880px){ .ic-post-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .ic-post-grid{ grid-template-columns: 1fr; } }

/* Single/page content */
/* Encabezado de marca por defecto para cualquier página nueva (page.php) */
.ic-page-hero{ background: var(--ic-white); border-bottom: 1px solid rgba(26,63,109,.08); padding: 54px 0 40px; }
.ic-page-hero h1{ font-size: clamp(28px,4vw,42px); margin-top: 10px; margin-bottom: 0; }
@media (max-width: 600px){ .ic-page-hero{ padding: 34px 0 26px; } }

.ic-content{ max-width: 760px; margin: 60px auto; padding: 0 24px; }
.ic-content h1{ font-size: clamp(30px,4vw,42px); }
.ic-content img{ border-radius: var(--ic-radius-md); }
.ic-content .ic-post-meta{ margin-bottom: 20px; }

/* =========================================================
   Footer
   ========================================================= */
.ic-footer{ background: var(--ic-blue); color: rgba(255,255,255,.8); padding: 64px 0 28px; margin-top: 40px; }
.ic-footer__grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.ic-footer__grid > *{ min-width: 0; }
.ic-footer h4{ color: #fff; font-size: 15px; margin-bottom: 16px; }
.ic-footer .ic-logo img{ height: 36px; }
.ic-footer p{ color: rgba(255,255,255,.65); font-size: 14px; }
.ic-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap: 10px; }
.ic-footer ul a{ text-decoration:none; color: rgba(255,255,255,.75); font-size: 14px; transition: color .18s ease; }
.ic-footer ul a:hover{ color: var(--ic-amber); }
.ic-footer__bottom{ border-top: 1px solid rgba(255,255,255,.14); padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 13px; color: rgba(255,255,255,.6); }
@media (max-width: 880px){ .ic-footer__grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){
	.ic-footer{ padding: 44px 0 24px; }
	.ic-footer__grid{ grid-template-columns: 1fr; gap: 30px; }
	.ic-footer__bottom{ justify-content: flex-start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce){
	*{ animation-duration: .001ms !important; transition-duration: .001ms !important; }
	html{ scroll-behavior: auto; }
}

/* =========================================================
   Estilo por defecto de los bloques nativos de WordPress
   (Gutenberg). Así, cualquier página nueva que el usuario
   escriba con el editor — sin usar clases ni patrones —
   ya sale vestida con la marca InventCel: botones, listas,
   citas, tablas, columnas, separadores, imágenes con pie.
   ========================================================= */

/* Botón (core/button) */
.wp-block-button__link{
	font-family: var(--ic-font-body); font-weight: 600; font-size: 15px;
	background: var(--ic-blue); color: #fff; border-radius: 999px; padding: 14px 26px;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.wp-block-button__link:hover{ background: var(--ic-blue-light); transform: translateY(-2px); }
.wp-block-button.is-style-outline .wp-block-button__link{
	background: transparent; color: var(--ic-blue); border: 2px solid rgba(26,63,109,.25);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color: var(--ic-blue); background: transparent; }
.wp-block-button.is-style-ic-amber .wp-block-button__link{ background: var(--ic-amber); color: var(--ic-blue); }
.wp-block-button.is-style-ic-amber .wp-block-button__link:hover{ background: #c9922e; }

/* Encabezados y párrafos dentro de contenido escrito por el usuario */
.ic-page-body h2{ font-size: clamp(24px,3vw,32px); margin-top: 1.6em; }
.ic-page-body h3{ font-size: 20px; margin-top: 1.4em; }
.ic-page-body p, .ic-page-body li{ font-size: 16px; line-height: 1.7; }
.ic-page-body a:not(.wp-block-button__link){ color: var(--ic-teal); text-decoration: underline; text-underline-offset: 2px; }

/* Listas (core/list) */
.ic-page-body ul, .ic-page-body ol{ padding-left: 1.4em; }
.ic-page-body ul li, .ic-page-body ol li{ margin-bottom: .4em; }

/* Cita (core/quote, core/pullquote) */
.wp-block-quote, .ic-page-body blockquote{
	border-left: 4px solid var(--ic-amber); margin: 1.6em 0; padding: 4px 0 4px 22px;
	font-family: var(--ic-font-display); font-size: 19px; color: var(--ic-blue);
}
.wp-block-quote cite, .ic-page-body blockquote cite{ display:block; margin-top: 8px; font-family: var(--ic-font-body); font-size: 13px; color: var(--ic-gray-carbon); font-style: normal; }
.wp-block-pullquote{ border-top: 3px solid var(--ic-blue); border-bottom: 3px solid var(--ic-blue); padding: 26px 0; text-align: center; }
.wp-block-pullquote blockquote{ border-left: none; padding-left: 0; }

/* Tabla (core/table) */
.wp-block-table table, .ic-page-body table{ width: 100%; border-collapse: collapse; font-size: 14.5px; }
.wp-block-table th, .ic-page-body th{ text-align: left; background: var(--ic-cream); color: var(--ic-blue); font-weight: 700; padding: 10px 12px; border-bottom: 2px solid rgba(26,63,109,.12); }
.wp-block-table td, .ic-page-body td{ padding: 10px 12px; border-bottom: 1px solid rgba(26,63,109,.08); }

/* Separador (core/separator) */
.wp-block-separator{ border: none; border-top: 2px solid rgba(26,63,109,.12); max-width: 120px; margin: 2.4em auto; }

/* Columnas (core/columns) */
.wp-block-columns{ gap: 28px; }
.wp-block-column.ic-module-card{ background: var(--ic-white); border-radius: var(--ic-radius-md); padding: 24px; border: 1px solid rgba(26,63,109,.07); }

/* Imagen con pie de foto (core/image) */
.wp-block-image{ border-radius: var(--ic-radius-md); overflow: hidden; }
.wp-block-image figcaption{ font-size: 13px; color: var(--ic-gray-carbon); text-align: center; margin-top: 8px; }

/* Grupo con estilo "Panel azul" (variante registrada para core/group) */
.wp-block-group.is-style-ic-panel{
	background: linear-gradient(155deg, var(--ic-blue), var(--ic-blue-light));
	color: #fff; border-radius: var(--ic-radius-lg); padding: 40px;
}
.wp-block-group.is-style-ic-panel h1, .wp-block-group.is-style-ic-panel h2, .wp-block-group.is-style-ic-panel h3{ color: #fff; }
.wp-block-group.is-style-ic-panel p{ color: rgba(255,255,255,.85); }

/* =========================================================
   Página editable por bloques (plantilla "Inicio editable")
   ========================================================= */
.ic-editable-page{ padding-top: 20px; padding-bottom: 40px; }
.ic-editable-page > .wp-block-group.ic-hero,
.ic-editable-page > .wp-block-group.ic-cta{ padding: 50px 40px; border-radius: var(--ic-radius-lg); margin-bottom: 20px; }
.ic-editable-page > .wp-block-group.ic-hero{ background: var(--ic-white); border: 1px solid rgba(26,63,109,.07); }
.ic-editable-page > .wp-block-group.ic-cta{ background: var(--ic-blue); color: #fff; text-align: center; }
.ic-editable-page > .wp-block-group.ic-cta h2{ color: #fff; }
.ic-editable-page > .wp-block-group.ic-cta p{ color: rgba(255,255,255,.85); }

@media (max-width: 600px){
	.ic-editable-page > .wp-block-group.ic-hero,
	.ic-editable-page > .wp-block-group.ic-cta{ padding: 30px 22px; }
}
