/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

/* Texto de los formularios: el tema del template cambia el color del
   texto a blanco cuando el bloque que envuelve al formulario tiene la
   clase "dark" (footer, secciones oscuras...), lo que lo hacia
   ilegible sobre fondos claros. Fijamos siempre texto oscuro sobre
   fondo claro en TODOS los inputs del sitio (la pagina de
   mantenimiento tiene su propio estilo mas especifico y no se ve
   afectada por esta regla). */
.form-control,
.form-control:focus {
	background-color: #ffffff !important;
	color: #111827 !important;
	border-color: #e2e8f0 !important;
}
.form-control::placeholder {
	color: #94a3b8 !important;
	opacity: 1;
}

/* Banners de soporte (AnyDesk / Soporte Innova) */
.soporte-banner {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #0f172a;
	border: 1px solid rgba(249, 89, 0, 0.25);
	border-radius: 12px;
	padding: 18px 20px;
	text-decoration: none;
	transition: border-color 0.2s, transform 0.2s;
}
.soporte-banner:hover {
	border-color: rgba(249, 89, 0, 0.65);
	transform: translateY(-2px);
}
.soporte-banner-icon {
	width: 42px;
	height: 42px;
	flex: none;
	border-radius: 10px;
	background: linear-gradient(135deg, #F95900 0%, #FF7A29 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.soporte-banner-icon i {
	color: #fff;
	font-size: 1.1rem;
}
.soporte-banner-title {
	display: block;
	color: #fff;
	font-weight: 700;
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.95rem;
}
.soporte-banner-sub {
	display: block;
	color: #94a3b8;
	font-size: 0.82rem;
	margin-top: 2px;
}

/* Enlaces legales del pie (RGPD & Cookies) */
.footer-legal-links {
	margin-top: 8px;
	font-size: 0.82rem;
}
.footer-legal-links a {
	color: #94a3b8;
	text-decoration: none;
	margin-right: 14px;
	white-space: nowrap;
}
.footer-legal-links a:hover {
	color: #F95900;
	text-decoration: underline;
}
.maint-footer-legal a {
	color: #94a3b8;
	text-decoration: none;
	margin-right: 14px;
}
.maint-footer-legal a:hover {
	color: var(--cnvs-themecolor);
	text-decoration: underline;
}
.cookie-banner-links a {
	margin-right: 14px;
}

/* Banner de cookies (RGPD & Cookies) */
.cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: #0f172a;
	border-top: 1px solid rgba(249, 89, 0, 0.3);
	box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.35);
	padding: 20px;
}
.cookie-banner-inner {
	max-width: 960px;
	margin: 0 auto;
}
.cookie-banner-text {
	color: #e2e8f0;
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 0 0 12px;
}
.cookie-banner-options {
	display: none;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 12px;
}
.cookie-banner-option {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #e2e8f0;
	font-size: 0.85rem;
}
.cookie-banner-option span {
	color: #64748b;
	font-size: 0.78rem;
}
.cookie-banner-links {
	margin-bottom: 14px;
}
.cookie-banner-links a {
	color: #94a3b8;
	font-size: 0.8rem;
	text-decoration: underline;
	margin-right: 16px;
}
.cookie-banner-links a:hover {
	color: #F95900;
}
.cookie-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.cookie-banner-btn {
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 0.85rem;
	font-weight: 600;
	font-family: 'JetBrains Mono', monospace;
	cursor: pointer;
	border: 1px solid transparent;
}
.cookie-banner-btn-primary {
	background: linear-gradient(135deg, #F95900 0%, #FF7A29 100%);
	color: #fff;
}
.cookie-banner-btn-ghost {
	background: transparent;
	color: #e2e8f0;
	border-color: rgba(255, 255, 255, 0.25);
}
.cookie-banner-btn-ghost:hover {
	border-color: rgba(255, 255, 255, 0.6);
}

/* Tipografia: JetBrains Mono (autoalojada, sin peticiones a Google Fonts) */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/jetbrains-mono-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/jetbrains-mono-latin-800-normal.woff2') format('woff2');}
:root{--cnvs-body-font:'JetBrains Mono',monospace;--cnvs-primary-font:'JetBrains Mono',monospace;--cnvs-secondary-font:'JetBrains Mono',monospace;--cnvs-heading-font:'JetBrains Mono',monospace;--cnvs-primary-menu-font:'JetBrains Mono',monospace;}
body,input,textarea,select,button{font-family:'JetBrains Mono',monospace;}
body{font-size:0.95rem;}
h1,h2,h3,h4,h5,h6{letter-spacing:-0.02em;}

/* Ajustes por la anchura de la fuente monoespaciada */
#hero{height:auto !important;min-height:100vh;padding-top:120px;padding-bottom:60px;}
.bd-h1{font-size:clamp(1.7rem,3.3vw,2.7rem);letter-spacing:-0.04em;line-height:1.15;}
.bd-badge-pill{font-size:0.7rem;padding:4px 10px;}
.bd-section-h2{font-size:clamp(1.5rem,2.6vw,2rem);}
#features .bd-section-h2,#comparison .bd-section-h2,#timeline .bd-section-h2{font-size:clamp(1.4rem,2.4vw,1.9rem);}
.btn-bd-primary,.btn-bd-outline{font-size:0.82rem;padding:12px 20px;}
.primary-menu .menu-link{font-size:0.85rem;}
@media (max-width:575.98px){
  .btn-bd-primary,.btn-bd-outline,.button{white-space:normal;max-width:100%;}
  #hero .d-flex{flex-wrap:wrap;}
  .bd-h1{font-size:1.6rem;}
  #footer a,#footer p{overflow-wrap:anywhere;}
}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:4px 14px;}
.footer-legal-links a{margin-right:0;}

/* "Lo que hacemos": icono alineado a la izquierda del titulo */
#servicios .bd-feature-card,
#confianza .bd-feature-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;align-content:start;}
#servicios .bd-feature-icon,
#confianza .bd-feature-icon{width:44px;height:44px;margin-bottom:0;font-size:1.1rem;}
#servicios .bd-feature-card h4,
#confianza .bd-feature-card h4{margin:0;}
#servicios .bd-feature-card p,
#confianza .bd-feature-card p{grid-column:1 / -1;margin-top:16px;}
#servicios .bd-feature-icon,
#confianza .bd-feature-icon{display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(249,89,0,0.12);color:#F95900;}
#servicios .bd-feature-card h4,
#confianza .bd-feature-card h4{font-size:1.05rem;}

/* Paginas con jerarquia (padre/hijas) */
.pagina-migas{margin-bottom:18px;font-size:0.85rem;}
.pagina-migas a{color:#64748b;text-decoration:none;}
.pagina-migas a:hover{color:#F95900;}
.pagina-hijas{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:40px;}
.pagina-hija{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;text-decoration:none;font-weight:600;font-size:0.9rem;}
.pagina-hija i{color:#F95900;font-size:0.75rem;}
.pagina-hija:hover{border-color:#F95900;}

/* Boton "¡Soporte!" del menu: naranja rojizo */
.btn-bd-header.btn-bd-soporte{background:linear-gradient(135deg,#E0301E 0%,#F2541B 100%);box-shadow:0 4px 18px rgba(224,48,30,0.4);margin-right:10px;}
.btn-bd-header.btn-bd-soporte:hover{box-shadow:0 6px 24px rgba(224,48,30,0.6);}
.header-misc{display:flex;align-items:center;}
@media (max-width:575.98px){.btn-bd-header{padding:8px 12px;font-size:0.75rem;}.btn-bd-header.btn-bd-soporte{margin-right:6px;}}

/* Boton "¿Hablamos?" del menu: degradado teal del template original */
.btn-bd-header:not(.btn-bd-soporte){background:linear-gradient(135deg,#0d9488 0%,#14b8a6 100%);box-shadow:0 4px 20px rgba(13,148,136,0.4);}
.btn-bd-header:not(.btn-bd-soporte):hover{box-shadow:0 6px 24px rgba(13,148,136,0.6);}

/* Boton "Enviar" del contacto del pie: degradado naranja corporativo */
#footer button[type="submit"],footer button[type="submit"]{background:linear-gradient(135deg,#F95900 0%,#FF7A29 100%) !important;border:none !important;color:#fff !important;box-shadow:0 4px 20px rgba(249,89,0,0.35);}
#footer button[type="submit"]:hover,footer button[type="submit"]:hover{opacity:.92;box-shadow:0 6px 24px rgba(249,89,0,0.5);}

/* Enlaces y textos de acento: naranja corporativo (antes gris azulado) */
.footer-legal-links a,.maint-footer-legal a,.cookie-banner-links a,.pagina-migas a{color:#FF7A29;}
.footer-legal-links a:hover,.maint-footer-legal a:hover,.cookie-banner-links a:hover,.pagina-migas a:hover{color:#F95900;}
#footer a.text-reset.text-decoration-underline,.form-check-label a{color:#FF7A29 !important;}
.soporte-banner-sub{color:#FFB380;}

/* Pagina de contacto: bloques y tarjetas */
.contacto-bloque-titulo{font-size:1.15rem;font-weight:700;color:#0f172a;margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid #F95900;display:inline-block;}
.contacto-cards{display:flex;flex-direction:column;gap:14px;}
.contacto-card{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;text-decoration:none;color:#0f172a;transition:border-color .2s,transform .2s,box-shadow .2s;}
a.contacto-card:hover{border-color:#F95900;transform:translateY(-2px);box-shadow:0 10px 28px rgba(249,89,0,0.12);}
.contacto-card-icon{width:48px;height:48px;flex:none;border-radius:12px;background:linear-gradient(135deg,#F95900 0%,#FF7A29 100%);display:flex;align-items:center;justify-content:center;}
.contacto-card-icon i{color:#fff;font-size:1.05rem;}
.contacto-card-text{display:flex;flex-direction:column;min-width:0;flex:1;}
.contacto-card-text small{color:#64748b;font-size:0.75rem;text-transform:uppercase;letter-spacing:.06em;}
.contacto-card-text strong{font-size:0.95rem;overflow-wrap:anywhere;}
.contacto-card-go{color:#F95900;font-size:0.8rem;opacity:0;transition:opacity .2s,transform .2s;}
a.contacto-card:hover .contacto-card-go{opacity:1;transform:translateX(3px);}
.contacto-form-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:32px;}
.contacto-form-box .form-select{appearance:auto;}

/* ===== Footer redisenado ===== */
#footer.ft{background:#0b1220;color:#94a3b8;border-top:1px solid rgba(249,89,0,0.25);padding:0;}
.ft a{text-decoration:none;}
.ft-cta{background:linear-gradient(135deg,#1a0f08 0%,#0f2744 100%);border-bottom:1px solid rgba(255,255,255,0.06);padding:38px 0;}
.ft-cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;}
.ft-cta-title{color:#fff;font-size:1.25rem;font-weight:700;margin:0 0 6px;}
.ft-cta-sub{color:#94a3b8;margin:0;font-size:0.9rem;}
.ft-cta-actions{display:flex;flex-wrap:wrap;gap:12px;}
.ft-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;font-weight:600;font-size:0.85rem;color:#fff !important;transition:transform .2s,box-shadow .2s,opacity .2s;}
.ft-btn:hover{transform:translateY(-2px);opacity:.95;}
.ft-btn-teal{background:linear-gradient(135deg,#0d9488 0%,#14b8a6 100%);box-shadow:0 4px 18px rgba(13,148,136,0.35);}
.ft-btn-orange{background:linear-gradient(135deg,#F95900 0%,#FF7A29 100%);box-shadow:0 4px 18px rgba(249,89,0,0.35);}
.ft-btn-ghost{border:1px solid rgba(255,255,255,0.25);}
.ft-btn-ghost:hover{border-color:#fff;}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr 1.4fr;gap:44px;padding:60px 0 50px;}
.ft-brand p{margin:18px 0 20px;font-size:0.85rem;line-height:1.8;max-width:340px;}
.ft-title{color:#fff;font-size:0.8rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #F95900;display:inline-block;}
.ft-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.ft-list li,.ft-list a,.ft-list span{font-size:0.88rem;color:#94a3b8;}
.ft-list a{transition:color .2s,padding-left .2s;}
.ft-list a:hover{color:#FF7A29;padding-left:4px;}
.ft-contact .ft-list a,.ft-contact .ft-list span{display:flex;gap:12px;align-items:flex-start;overflow-wrap:anywhere;}
.ft-contact i{color:#F95900;width:16px;margin-top:3px;flex:none;}
.ft-ext{font-size:0.6rem;margin-left:4px;opacity:.7;}
.ft-social{display:flex;gap:10px;}
.ft-social a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:background .2s,border-color .2s,color .2s;}
.ft-social a:hover{background:linear-gradient(135deg,#F95900 0%,#FF7A29 100%);border-color:transparent;color:#fff;}
.ft-bottom{border-top:1px solid rgba(255,255,255,0.07);padding:22px 0;font-size:0.8rem;}
.ft-bottom-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;align-items:center;}
.ft-bottom .footer-legal-links{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;}
@media (max-width:991.98px){.ft-grid{grid-template-columns:1fr 1fr;gap:36px;padding:44px 0 36px;}.ft-brand{grid-column:1 / -1;}}
@media (max-width:575.98px){.ft-grid{grid-template-columns:1fr;}.ft-cta-actions{width:100%;}.ft-btn{flex:1 1 100%;justify-content:center;}}

#confianza .bd-feature-card h4{color:#f1f5f9;}
#confianza .bd-feature-card p{color:#94a3b8;font-size:0.9rem;line-height:1.65;margin-bottom:0;margin-top:16px;}
#confianza .bd-feature-card{height:100%;}

.ft-pages .ft-pages{margin-top:10px;padding-left:14px;border-left:1px solid rgba(255,255,255,0.12);gap:10px;}
.ft-pages .ft-pages a{font-size:0.82rem;}

/* Logo del header: version transparente, tamano mayor y sin deformar */
#header #logo img { height: 52px; width: auto; max-width: none; }
#header #logo a { display: flex; align-items: center; }
#header.sticky-header-shrink #logo img,
#header.sticky-header-shrink #logo a { height: 46px; }
@media (max-width: 767.98px) {
    #header #logo img,
    #header.sticky-header-shrink #logo img { height: 40px; }
}

/* Movil/tablet: header oscuro (como en escritorio) para que el logo claro y
   el icono de menu blanco se vean; antes quedaba blanco sobre blanco. */
@media (max-width: 991.98px) {
    #header, #header #header-wrap { background: #0f172a !important; }
    #header #logo, #header .header-row { align-items: center; }
    #header #logo { align-self: center; }
}
@media (max-width: 991.98px) {
    #header .header-row { padding: 10px 0; row-gap: 4px; height: auto; }
}

/* Tarjetas de subpaginas con imagen (campo "imagen" del panel) */
.pagina-hija.con-imagen{flex-direction:column;align-items:stretch;padding:0;overflow:hidden;}
.pagina-hija-img{display:block;height:140px;background-size:cover;background-position:center;}
.pagina-hija-txt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;}

.ft-version{opacity:.55;font-size:.85em;white-space:nowrap;}

/* Pantallas de estado de pagina (404 / en actualizacion) */
.estado-pagina{background:#0f172a;padding:170px 0 110px;position:relative;overflow:hidden;min-height:70vh;display:flex;align-items:center;}
.estado-pagina::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 80% 20%,rgba(249,89,0,.14),transparent 70%);pointer-events:none;}
.estado-pagina .container{position:relative;}
.estado-pagina-inner{display:flex;align-items:center;gap:56px;justify-content:center;flex-wrap:wrap;}
.estado-pagina-img{flex:0 1 300px;max-width:300px;width:100%;}
.estado-pagina-img svg{width:100%;height:auto;display:block;}
.estado-pagina-txt{flex:1 1 380px;max-width:560px;}
.estado-pagina-tag{display:inline-block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#FF7A29;border:1px solid rgba(249,89,0,.5);border-radius:999px;padding:4px 12px;margin-bottom:16px;}
.estado-pagina h1{color:#fff;font-size:2.2rem;font-weight:800;margin:0 0 14px;line-height:1.2;}
.estado-pagina p{color:#cbd5e1;font-size:1.05rem;line-height:1.7;margin:0 0 26px;}
.estado-pagina-acciones{display:flex;gap:12px;flex-wrap:wrap;}
.estado-gear-a g,.estado-gear-b g{transform-box:fill-box;}
.estado-gear-a{transform-origin:95px 95px;animation:estadoGiro 14s linear infinite;}
.estado-gear-b{transform-origin:168px 135px;animation:estadoGiro 10s linear infinite reverse;}
.estado-lupa{animation:estadoLupa 3.2s ease-in-out infinite;}
@keyframes estadoGiro{to{transform:rotate(360deg);}}
@keyframes estadoLupa{0%,100%{transform:translate(0,0);}50%{transform:translate(-6px,8px);}}
@media (prefers-reduced-motion:reduce){.estado-gear-a,.estado-gear-b,.estado-lupa{animation:none;}}
@media (max-width:767.98px){.estado-pagina{padding:130px 0 70px;}.estado-pagina h1{font-size:1.7rem;}.estado-pagina-img{flex-basis:220px;max-width:220px;}}

.pagina-hero-desc{color:#cbd5e1;font-size:1.1rem;line-height:1.6;max-width:720px;margin:14px 0 0;}
.pagina-hija-tit{display:flex;flex-direction:column;gap:4px;}
.pagina-hija-tit small{font-weight:400;color:#64748b;font-size:.82rem;line-height:1.5;}
.estado-pagina-texto{color:#cbd5e1;font-size:1.05rem;line-height:1.7;margin:0 0 26px;}
.estado-pagina-texto p{color:#cbd5e1;margin:0 0 12px;}
.pagina-hija:not(.con-imagen) .pagina-hija-txt{padding:0;flex:1;}

/* Tarjetas de "Lo que hacemos" enlazadas a su pagina */
a.bd-feature-link{text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
a.bd-feature-link:hover{transform:translateY(-3px);border-color:#F95900;box-shadow:0 10px 28px rgba(249,89,0,.12);}
a.bd-feature-link h4{color:#0f172a;}

/* Sin franja blanca entre la cabecera y el contenido (ni antes del footer) */
#content .content-wrap.cw-flush{padding:0;}
#content .content-wrap.cw-flush > .section{margin:0;padding-top:70px;padding-bottom:80px;}

/* ==========================================================================
   Contenido de paginas del panel (.page-content): tipografia base + bloques
   reutilizables para pegar como HTML en el panel (clases pg-*).
   ========================================================================== */
.page-content h2{font-size:1.65rem;font-weight:800;color:#0f172a;margin:2.4rem 0 1rem;line-height:1.25;}
.page-content h2:first-child{margin-top:0;}
.page-content h3{font-size:1.15rem;font-weight:700;color:#0f172a;margin:1.6rem 0 .6rem;}
.page-content p{margin:0 0 1.1rem;}
.page-content a:not(.pg-btn){color:#F95900;}
.page-content ul,.page-content ol{padding-left:1.3rem;margin:0 0 1.2rem;}

.page-content .pg-lead{font-size:1.2rem;line-height:1.75;color:#0f172a;border-left:4px solid #F95900;padding:4px 0 4px 18px;margin:0 0 2rem;}

.page-content .pg-h2{display:flex;align-items:center;gap:12px;}
.page-content .pg-h2::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,rgba(249,89,0,.45),transparent);}

.page-content .pg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:0 0 1.5rem;}
.page-content .pg-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:22px 20px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.page-content .pg-card:hover{transform:translateY(-3px);border-color:#F95900;box-shadow:0 10px 26px rgba(249,89,0,.10);}
.page-content .pg-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:11px;background:#fde8dc;color:#F95900;font-size:1.05rem;margin-bottom:14px;}
.page-content .pg-card h3{margin:0 0 .45rem;font-size:1.02rem;}
.page-content .pg-card p{margin:0;font-size:.9rem;line-height:1.65;color:#64748b;}

.page-content .pg-check{list-style:none;padding:0;margin:0 0 1.5rem;}
.page-content .pg-check li{position:relative;padding:0 0 12px 34px;line-height:1.6;}
.page-content .pg-check li::before{content:"\f00c";font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:900;position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#e6f7f4;color:#14b8a6;font-size:.7rem;display:flex;align-items:center;justify-content:center;}

.page-content .pg-steps{list-style:none;padding:0;margin:0 0 1.5rem;counter-reset:pgstep;display:grid;gap:14px;}
.page-content .pg-steps li{counter-increment:pgstep;position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px 18px 74px;min-height:72px;}
.page-content .pg-steps li::before{content:counter(pgstep);position:absolute;left:18px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#F95900,#FF7A29);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;}
.page-content .pg-steps strong{display:block;color:#0f172a;margin-bottom:2px;}
.page-content .pg-steps span{color:#64748b;font-size:.92rem;line-height:1.6;}

.page-content .pg-faq details{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:0 18px;margin-bottom:10px;}
.page-content .pg-faq summary{cursor:pointer;font-weight:700;color:#0f172a;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.page-content .pg-faq summary::-webkit-details-marker{display:none;}
.page-content .pg-faq summary::after{content:"+";color:#F95900;font-size:1.3rem;line-height:1;}
.page-content .pg-faq details[open] summary::after{content:"\2212";}
.page-content .pg-faq details p{margin:0 0 16px;color:#64748b;font-size:.95rem;line-height:1.7;}

.page-content .pg-cta{background:#0f172a;background-image:radial-gradient(500px 220px at 90% 0%,rgba(249,89,0,.25),transparent 70%);border-radius:16px;padding:30px 28px;margin:2.2rem 0 0;color:#cbd5e1;}
.page-content .pg-cta h3{color:#fff;margin:0 0 .5rem;font-size:1.3rem;}
.page-content .pg-cta p{margin:0 0 1.2rem;color:#cbd5e1;}
.page-content .pg-btn{display:inline-block;background:linear-gradient(135deg,#F95900,#FF7A29);color:#fff;font-weight:700;padding:12px 24px;border-radius:10px;text-decoration:none;box-shadow:0 6px 18px rgba(249,89,0,.3);}
.page-content .pg-btn:hover{color:#fff;filter:brightness(1.08);}

/* Formulario "Solicita informacion" (automatico al final de cada pagina) */
.pg-info{margin-top:3rem;background:#fff;border:1px solid #e2e8f0;border-top:4px solid #F95900;border-radius:16px;padding:30px 28px;scroll-margin-top:110px;}
.pg-info-tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#F95900;font-weight:700;margin-bottom:8px;}
.pg-info h2{font-size:1.45rem;font-weight:800;color:#0f172a;margin:0 0 .5rem;}
.pg-info-cab p{color:#64748b;margin:0 0 1.3rem;font-size:.95rem;line-height:1.65;}
.pg-info-form{display:grid;gap:12px;}
.pg-info-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pg-info-form .form-control{width:100%;}
.pg-info-form .form-check-label{color:#64748b;font-size:.85rem;}
.pg-info-btn{justify-self:start;background:linear-gradient(135deg,#F95900,#FF7A29);color:#fff;border:0;font-weight:700;padding:13px 26px;border-radius:10px;cursor:pointer;display:inline-flex;gap:10px;align-items:center;box-shadow:0 6px 18px rgba(249,89,0,.28);font-family:inherit;}
.pg-info-btn:disabled{opacity:.6;cursor:wait;}
.pg-info-res:empty{display:none;}
.pg-info-res{margin-bottom:14px;padding:12px 14px;border-radius:10px;font-size:.92rem;}
.pg-info-res.ok{background:#fff3ec;color:#c2410c;border:1px solid #fed7aa;}
.pg-info-res.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}
@media (max-width:575.98px){.pg-info{padding:24px 18px;}.pg-info-fila{grid-template-columns:1fr;}.page-content .pg-steps li{padding-left:66px;}}

/* Tarjetas de tipos de servicio / planes dentro de .page-content */
.page-content .pg-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin:0 0 1.5rem;align-items:stretch;}
.page-content .pg-plan{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 24px 22px;display:flex;flex-direction:column;}
.page-content .pg-plan.pg-plan-top{border:2px solid #F95900;box-shadow:0 14px 34px rgba(249,89,0,.13);}
.page-content .pg-plan-tag{position:absolute;top:-13px;left:24px;background:linear-gradient(135deg,#F95900,#FF7A29);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;border-radius:999px;}
.page-content .pg-plan h3{margin:0 0 .35rem;font-size:1.2rem;}
.page-content .pg-plan-sub{color:#64748b;font-size:.92rem;line-height:1.65;margin:0 0 1.1rem;}
.page-content .pg-plan .pg-check{margin:0;}
.page-content .pg-plan .pg-check li{font-size:.93rem;}
.page-content .pg-btn-sec{display:inline-block;border:2px solid #F95900;color:#F95900 !important;font-weight:700;padding:10px 22px;border-radius:10px;text-decoration:none;}
.page-content .pg-btn-sec:hover{background:#F95900;color:#fff !important;}
.page-content .pg-aviso{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:#fff7f2;border:1px solid #fed7aa;border-radius:14px;padding:18px 20px;margin:1.6rem 0 0;}
.page-content .pg-aviso p{margin:0;color:#334155;flex:1 1 260px;}
.page-content .pg-grid.pg-grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:575.98px){.page-content .pg-grid.pg-grid-2{grid-template-columns:1fr;}}

/* Planes en 3 columnas con cifra destacada */
.page-content .pg-plans.pg-plans-3{grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:767.98px){.page-content .pg-plans.pg-plans-3{grid-template-columns:1fr;}}
.page-content .pg-plan-big{display:flex;align-items:baseline;gap:6px;margin:.2rem 0 1rem;color:#F95900;font-weight:800;line-height:1;}
.page-content .pg-plan-big strong{font-size:2.6rem;letter-spacing:-.02em;}
.page-content .pg-plan-big span{font-size:.95rem;color:#64748b;font-weight:600;}
.page-content .pg-plan .pg-btn-sec{margin-top:auto;align-self:flex-start;}
.page-content .pg-plan .pg-check{margin-bottom:1.3rem;}
@media (min-width:768px){.page-content .pg-plans.pg-plans-3 .pg-plan h3{min-height:2.6em;font-size:1.02rem;line-height:1.3;}}

/* Casos de exito / proyectos dentro de .page-content */
.page-content .pg-casos{display:grid;gap:18px;margin:0 0 1.5rem;}
.page-content .pg-caso{background:#fff;border:1px solid #e2e8f0;border-left:5px solid #F95900;border-radius:14px;padding:24px 26px;transition:box-shadow .2s ease,transform .2s ease;}
.page-content .pg-caso:hover{box-shadow:0 12px 30px rgba(15,23,42,.08);transform:translateY(-2px);}
.page-content .pg-caso-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.page-content .pg-caso-num{background:linear-gradient(135deg,#F95900,#FF7A29);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}
.page-content .pg-caso-tipo{color:#64748b;font-size:.82rem;font-weight:600;}
.page-content .pg-caso h3{margin:0 0 .5rem;font-size:1.2rem;}
.page-content .pg-caso > p{color:#475569;font-size:.95rem;line-height:1.7;margin:0 0 1rem;}
.page-content .pg-caso .pg-check{margin:0 0 1rem;}
.page-content .pg-caso .pg-check li{font-size:.93rem;padding-bottom:9px;}
.page-content .pg-chips{display:flex;flex-wrap:wrap;gap:8px;}
.page-content .pg-chips span{background:#f1f5f9;color:#334155;font-size:.76rem;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid #e2e8f0;}
