/* @id cronuts-ui-final-overrides */
/* ============================================================
   Cronuts UI Final Overrides — last in cascade. !important.
   Single source of truth for: body bg, sections, hero buttons,
   service cards, dark titles, stats band, header CTA hover.
   ============================================================ */

/* 0. Canvas: body light, sections plain transparent */
html, body{ background:#E0E5EC!important; color:#242424 }
:where(html) main, :where(html) #main, :where(html) body > main{
  background:transparent!important
}
:where(html) section.section:not(.section--dark):not([data-ti-section]):not(#opiniones):not(.cta-dark):not(.hero){
  background:transparent!important
}

/* 1. Botones — pill style global (border-radius 999px) */
:where(html) .btn,
:where(html) a.btn,
:where(html) button.btn,
:where(html) .btn--primary,
:where(html) .btn--secondary,
:where(html) .btn--ghost,
:where(html) .btn--light,
:where(html) .btn--large,
:where(html) .btn--dark-primary,
:where(html) .btn--dark-secondary,
:where(html) .btn--outline,
:where(html) .btn--tertiary,
:where(html) .ctc-submit,
:where(html) .ctc-calendly,
:where(html) input[type="submit"],
:where(html) button[type="submit"]{
  border-radius:999px!important
}

/* 2. Hero — primary CTA (rojo solido pill) */
:where(html) .btn.btn--dark-primary{
  background:#e6243f!important;
  color:#fff!important;
  border:1.5px solid transparent!important;
  box-shadow:0 4px 16px rgba(230,36,63,.35),inset 0 1px 0 rgba(255,255,255,.15)!important
}
:where(html) .btn.btn--dark-primary:hover{
  background:#c01e35!important;
  color:#fff!important;
  box-shadow:0 6px 22px rgba(230,36,63,.5),inset 0 1px 0 rgba(255,255,255,.2)!important;
  transform:translateY(-1px)
}

/* 3. Hero — secondary ghost (borde 70% alpha) */
:where(html) .btn.btn--dark-secondary{
  background:transparent!important;
  border:1.5px solid rgba(255,255,255,.7)!important;
  color:#fff!important;
  box-shadow:none!important
}
:where(html) .btn.btn--dark-secondary:hover{
  background:rgba(255,255,255,.12)!important;
  border-color:#fff!important;
  color:#fff!important;
  transform:translateY(-1px)
}

/* 4. Header pill CTA — primary rojo siempre, hover NO cambia color a rojo */
:where(html) .site-header__pill .btn,
:where(html) .site-header__pill .btn--primary{
  background:#e6243f!important;
  color:#fff!important;
  border:1px solid rgba(230,36,63,.5)!important;
  box-shadow:0 2px 10px rgba(230,36,63,.3),inset 0 1px 0 rgba(255,255,255,.12)!important
}
:where(html) .site-header__pill .btn:hover,
:where(html) .site-header__pill .btn--primary:hover{
  background:#c01e35!important;
  color:#fff!important;
  border-color:rgba(230,36,63,.7)!important;
  box-shadow:0 3px 14px rgba(230,36,63,.45),inset 0 1px 0 rgba(255,255,255,.18)!important
}

/* 5. Service cards (homepage grid "Seis disciplinas") — LIGHT cards sobre canvas light */
:where(html) .service-card{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.06)!important;
  color:#242424!important;
  box-shadow:0 12px 32px rgba(17,24,39,.06),0 2px 8px rgba(17,24,39,.04)!important;
  border-radius:14px!important
}
:where(html) .service-card:hover{
  border-color:rgba(230,36,63,.3)!important;
  transform:translateY(-2px);
  box-shadow:0 24px 56px rgba(17,24,39,.09),0 6px 18px rgba(17,24,39,.05)!important
}
:where(html) .service-card .service-card__title{ color:#242424!important }
:where(html) .service-card .service-card__eyebrow{ color:#e6243f!important }
:where(html) .service-card .service-card__desc,
:where(html) .service-card .service-card__description{ color:#545760!important }
:where(html) .service-card .service-card__link{ color:#e6243f!important; font-weight:600!important }
:where(html) .service-card .service-card__foot{ border-top-color:rgba(36,36,36,.08)!important }
:where(html) .service-card .service-card__icon{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.08)!important;
  color:#e6243f!important
}
:where(html) .service-card .service-card__arrow{
  background:#fff!important;
  border:1px solid rgba(36,36,36,.12)!important;
  color:#242424!important;
  border-radius:999px!important
}
:where(html) .service-card:hover .service-card__arrow{
  background:#e6243f!important;
  border-color:#e6243f!important;
  color:#fff!important
}

/* 6. .section__title — color por contexto (light por defecto) */
:where(html) .section .section__title{ color:#242424 }
:where(html) .section .section__title em{ color:#e6243f; font-style:normal }
:where(html) .section .eyebrow{ color:#e6243f }
:where(html) .section .section__lead{ color:#545760 }

/* 7. Secciones dark explicit (.section--dark, [data-ti-section], #opiniones) */
:where(html) .section--dark,
:where(html) [data-ti-section],
:where(html) #opiniones{ color:#fff!important }
:where(html) .section--dark .section__title,
:where(html) [data-ti-section] .section__title,
:where(html) #opiniones .section__title{ color:#fff!important }
:where(html) .section--dark .section__title em,
:where(html) [data-ti-section] .section__title em,
:where(html) #opiniones .section__title em{ color:#e6243f!important; font-style:normal }
:where(html) .section--dark .section__lead,
:where(html) [data-ti-section] .section__lead,
:where(html) #opiniones .section__lead{ color:rgba(255,255,255,.72)!important }
:where(html) .section--dark .eyebrow,
:where(html) [data-ti-section] .eyebrow,
:where(html) #opiniones .eyebrow{ color:#e6243f!important }

/* 8. Stats band — cards light sobre cualquier section */
:where(html) .stats-band .stat{
  background:#fff!important;
  color:#242424!important;
  border-radius:14px!important;
  box-shadow:0 12px 32px rgba(17,24,39,.06),0 2px 8px rgba(17,24,39,.04)!important
}
:where(html) .stats-band .stat__n{ color:#242424!important }
:where(html) .stats-band .stat__n em{ color:#e6243f!important; font-style:normal }
:where(html) .stats-band .stat__lbl{ color:#545760!important }
/* @id cronuts-site-footer-css */
.site-footer{background:#121212;color:rgba(255,255,255,.85);padding:96px 0 48px;font-family:var(--font-body,"Inter",system-ui,sans-serif)}
.site-footer .container{max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.site-footer__shell{background:#121212;border-radius:16px;padding:48px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 24px 64px rgba(0,0,0,.5);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.site-footer .footer-eyebrow{font-family:var(--font-display,"Poppins",sans-serif);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px}
.site-footer .footer-col a{display:block;font-size:13px;padding:4px 0;color:rgba(255,255,255,.85);text-decoration:none;transition:color 160ms}
.site-footer .footer-col a:hover{color:#e6243f}
.site-footer .footer-brand{display:flex;flex-direction:column;gap:16px;max-width:320px}
.site-footer .footer-brand__lockup{display:flex;align-items:center;gap:12px;text-decoration:none}
.site-footer .footer-brand__eye{width:40px;height:40px;display:block;object-fit:contain;flex-shrink:0;background:transparent}
.site-footer .footer-brand__word{font-family:var(--font-display,"Poppins",sans-serif);font-weight:700;font-size:22px;line-height:1;letter-spacing:-.02em;color:#fff;display:inline-flex;align-items:baseline}
.site-footer .footer-brand__word .dot{color:#e6243f;padding:0 1px}
.site-footer .footer-brand p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.55;margin:0}
.site-footer .footer-socials{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
.site-footer .footer-socials a{width:40px;height:40px;border-radius:999px;background:#1a1a1a;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 4px 12px rgba(0,0,0,.4);display:grid;place-items:center;color:#fff;padding:0;transition:color 180ms,transform 180ms}
.site-footer .footer-socials a:hover{color:#e6243f;transform:translateY(-1px)}
.site-footer .footer-socials a svg{width:16px;height:16px;stroke-width:1.8;display:block}
.site-footer__meta{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.04em;text-transform:uppercase;gap:16px;flex-wrap:wrap}
.site-footer__meta .dot{color:#e6243f}
.site-footer__meta-extra a{color:rgba(255,255,255,.7);text-decoration:none;transition:color 160ms}
.site-footer__meta-extra a:hover{color:#e6243f}
@media(max-width:1024px){.site-footer__shell{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:720px){.site-footer{padding:64px 0 32px}.site-footer__shell{grid-template-columns:1fr;padding:32px;gap:28px}.site-footer__meta{flex-direction:column;align-items:flex-start}}
/* @id cronuts-fmc-css */
.cronuts-fmc {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 2147483645;
	max-width: 380px;
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	transform: translateY(120%);
	opacity: 0;
	animation: cfmcEnter 600ms cubic-bezier(0.22, 1, 0.36, 1) 1200ms forwards;
	pointer-events: none;
	will-change: transform, opacity;
}
.cronuts-fmc.is-visible { pointer-events: auto; }
.cronuts-fmc.is-dismissed { display: none; }
.cronuts-fmc.is-minimized .cronuts-fmc__card { display: none; }
.cronuts-fmc.is-minimized .cronuts-fmc__bubble { display: flex; }

@keyframes cfmcEnter {
	from { transform: translateY(120%); opacity: 0; }
	to   { transform: translateY(0); opacity: 1; }
}

.cronuts-fmc__card {
	position: relative;
	background: #0A0A0A;
	color: #EBEAEA;
	border-radius: 18px;
	padding: 22px 22px 20px;
	box-shadow:
		0 24px 60px rgba(0,0,0,0.45),
		0 4px 16px rgba(0,0,0,0.25),
		inset 0 1px 0 rgba(255,255,255,0.06);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.08);
}
.cronuts-fmc__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 60% at 100% 0%, rgba(230,36,63,0.22), transparent 60%);
	pointer-events: none;
}
.cronuts-fmc__inner { position: relative; }

.cronuts-fmc__head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}
.cronuts-fmc__icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(230,36,63,0.14);
	border: 1px solid rgba(230,36,63,0.28);
	display: grid;
	place-items: center;
	color: #E6243F;
	flex-shrink: 0;
}
.cronuts-fmc__icon svg { width: 18px; height: 18px; }
.cronuts-fmc__eyebrow {
	font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E6243F;
	flex: 1;
	padding-top: 8px;
}
.cronuts-fmc__close,
.cronuts-fmc__minimize {
	background: transparent;
	border: 0;
	color: rgba(255,255,255,0.4);
	cursor: pointer;
	padding: 0;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: 6px;
	transition: color 160ms ease, background 160ms ease;
	flex-shrink: 0;
	line-height: 0;
}
.cronuts-fmc__close { position: absolute; top: 14px; right: 14px; }
.cronuts-fmc__minimize { position: absolute; top: 14px; right: 46px; }
.cronuts-fmc__close:hover,
.cronuts-fmc__minimize:hover { color: #fff; background: rgba(255,255,255,0.08); }
.cronuts-fmc__close:focus-visible,
.cronuts-fmc__minimize:focus-visible { outline: 2px solid #E6243F; outline-offset: 2px; }

.cronuts-fmc__title {
	font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.018em;
	color: #fff;
	margin: 0 0 6px;
	text-wrap: balance;
}
.cronuts-fmc__lead {
	font-size: 13px;
	line-height: 1.5;
	color: rgba(235,234,234,0.72);
	margin: 0 0 16px;
}
.cronuts-fmc__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	background: #E6243F;
	color: #fff;
	padding: 12px 18px;
	border-radius: 999px;
	font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(230,36,63,0.32), inset 0 1px 0 rgba(255,255,255,0.18);
	transition: background 200ms ease, transform 200ms ease;
	border: 0;
	cursor: pointer;
	min-height: 44px; /* HIG touch target */
}
.cronuts-fmc__btn:hover {
	background: #C71C33;
	transform: translateY(-1px);
	color: #fff;
	text-decoration: none;
}
.cronuts-fmc__btn:focus-visible { outline: 3px solid #E6243F; outline-offset: 3px; }
.cronuts-fmc__btn:active { transform: scale(0.985); }
.cronuts-fmc__btn-arrow {
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: rgba(255,255,255,0.18);
	display: grid;
	place-items: center;
	transition: transform 240ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
	flex-shrink: 0;
}
.cronuts-fmc__btn:hover .cronuts-fmc__btn-arrow { transform: translateX(3px); }

/* Minimized bubble */
.cronuts-fmc__bubble {
	display: none;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: #0A0A0A;
	color: #E6243F;
	box-shadow:
		0 12px 32px rgba(0,0,0,0.4),
		0 4px 12px rgba(230,36,63,0.32),
		inset 0 1px 0 rgba(255,255,255,0.08);
	border: 1px solid rgba(230,36,63,0.4);
	cursor: pointer;
	align-items: center;
	justify-content: center;
	transition: transform 200ms cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 200ms;
	position: relative;
	margin-left: auto;
	padding: 0;
}
.cronuts-fmc__bubble::after {
	content: "";
	position: absolute;
	inset: -3px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(230,36,63,0.35), transparent 70%);
	opacity: 0;
	animation: cfmcPulse 2.4s ease-in-out infinite;
	pointer-events: none;
}
@keyframes cfmcPulse {
	0%, 100% { opacity: 0; transform: scale(0.95); }
	50%      { opacity: 0.6; transform: scale(1.15); }
}
.cronuts-fmc__bubble:hover {
	transform: scale(1.08);
	box-shadow:
		0 16px 40px rgba(0,0,0,0.45),
		0 6px 16px rgba(230,36,63,0.42),
		inset 0 1px 0 rgba(255,255,255,0.12);
}
.cronuts-fmc__bubble:focus-visible { outline: 3px solid #E6243F; outline-offset: 3px; }
.cronuts-fmc__bubble svg { width: 24px; height: 24px; position: relative; z-index: 1; }

@media (max-width: 600px) {
	.cronuts-fmc { bottom: 16px; right: 16px; left: 16px; max-width: none; }
	.cronuts-fmc__card { padding: 18px 18px 16px; border-radius: 14px; }
	.cronuts-fmc__title { font-size: 15px; }
	.cronuts-fmc__lead { font-size: 12px; margin-bottom: 12px; }
	.cronuts-fmc.is-minimized .cronuts-fmc__bubble { margin-left: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.cronuts-fmc { animation: none !important; transform: translateY(0) !important; opacity: 1 !important; }
	.cronuts-fmc__bubble::after { animation: none !important; opacity: 0.25 !important; }
	.cronuts-fmc__btn:hover { transform: none !important; }
}

@media print {
	.cronuts-fmc { display: none !important; }
}