/* TIKEA V4 / identidad editorial corporativa.
   Se carga después de style.css para preservar las otras páginas y el admin. */
:root { --v4-navy:#102b4e; --v4-blue:#0b4693; --v4-green:#15835a; --v4-ink:#142b45; --v4-muted:#586779; --v4-line:#dbe3e9; --v4-soft:#f5f7f8; }
html { scroll-padding-top: 78px; }
body { color:var(--v4-ink); }
.v4-home { font-family: "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif; color:var(--v4-ink); overflow:clip; }
.v4-home .container { max-width:1172px; }
.v4-home h1,.v4-home h2,.v4-home h3 { font-family:inherit; color:var(--v4-navy); font-weight:660; letter-spacing:-.042em; text-wrap:pretty; }
.v4-home button,.v4-home a { -webkit-tap-highlight-color:transparent; }
.v4-home a:focus-visible,.v4-home button:focus-visible,.v4-navbar a:focus-visible,.v4-navbar button:focus-visible { outline:3px solid #1b9969; outline-offset:3px; }
.v4-home p { line-height:1.68; }
.v4-section { padding:86px 0; }
.v4-section-label { font-size:11px; letter-spacing:.15em; font-weight:750; color:var(--v4-blue); margin:0 0 17px; }
.v4-section h2 { font-size:clamp(29px,3.15vw,42px); line-height:1.2; margin:0; }
.v4-section-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:37px; }
.v4-section-heading>div { max-width:620px; }
.v4-section-heading>p { width:290px; margin:0 0 3px; color:var(--v4-muted); font-size:15px; }

/* Cabecera: navegación sin sombras, gradientes ni botones ovalados. */
.v4-navbar.home-navbar { min-height:75px; background:#fff!important; border-bottom:1px solid #e8edf1!important; box-shadow:none!important; backdrop-filter:none; }
.v4-navbar .navbar-brand { padding:5px 0; }
.v4-navbar .brand-logo { width:auto; height:53px; max-width:140px; }
.v4-navbar .nav-link { font-size:13px; letter-spacing:0; font-weight:600; padding:9px 11px!important; color:#263c55!important; }
.v4-navbar .nav-link:hover { color:var(--v4-blue)!important; }
.v4-navbar .btn { font-size:13px; min-height:39px; padding:10px 15px; font-weight:650; border-radius:3px; box-shadow:none; }
.v4-navbar .btn-navbar-login { background:#fff; border:1px solid #ced9e2; color:var(--v4-navy); }
.v4-navbar .btn-navbar-login:hover { color:var(--v4-blue); border-color:var(--v4-blue); }
.v4-navbar .nav-cta { background:var(--v4-blue); border:1px solid var(--v4-blue); color:#fff; }
.v4-navbar .nav-cta:hover { background:#063975; border-color:#063975; }
.v4-navbar .navbar-toggler { border:1px solid #d7e1e7; border-radius:3px; padding:8px 10px; }

/* Hero: mensaje legible y bloque editorial, no capturas simuladas. */
.v4-hero { background:#f7f9fa; border-bottom:1px solid var(--v4-line); }
.v4-hero-grid { display:grid; grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); gap:52px; padding-top:70px; padding-bottom:69px; align-items:stretch; }
.v4-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:19px 0; min-width:0; }
.v4-eyebrow { display:flex; align-items:center; gap:11px; font-size:11px; font-weight:740; letter-spacing:.13em; color:#276191; margin:0 0 27px; }
.v4-eyebrow span { display:block; height:2px; width:22px; background:#179565; flex:0 0 auto; }
.v4-hero h1 { font-size:clamp(43px,4.15vw,62px); line-height:1.105; max-width:590px; margin:0 0 24px; color:#122c4b; font-weight:700; }
.v4-hero-lead { font-size:17px; line-height:1.68; color:#52657b; max-width:525px; margin:0 0 28px; }
.v4-hero-actions { display:flex; gap:17px; align-items:center; flex-wrap:wrap; }
.v4-button { display:inline-flex; gap:16px; justify-content:center; align-items:center; width:auto; border-radius:3px; min-height:48px; padding:12px 18px; text-decoration:none; font-size:13px; font-weight:700; border:1px solid transparent; cursor:pointer; transition:background-color .17s ease,border-color .17s ease,color .17s ease; }
.v4-button i { font-size:15px; }
.v4-button-primary { background:var(--v4-blue); color:#fff; border-color:var(--v4-blue); }
.v4-button-primary:hover { background:#073674; color:#fff; border-color:#073674; }
.v4-button-link { background:transparent; border:1px solid #b6c5d2; color:var(--v4-navy); }
.v4-button-link:hover { color:var(--v4-blue); border-color:var(--v4-blue); }
.v4-hero-footnote { margin:29px 0 0; font-size:12px; color:#667a8c; }
.v4-hero-aside { background:var(--v4-navy); color:#fff; padding:36px 35px 28px; display:flex; flex-direction:column; min-width:0; }
.v4-hero-aside-top { display:flex; justify-content:space-between; align-items:center; font-size:11px; letter-spacing:.14em; font-weight:680; color:#a6c8d9; margin-bottom:39px; }
.v4-aside-symbol { font-size:28px; font-weight:400; color:#96d9b8; letter-spacing:0; }
.v4-hero-aside h2 { color:#fff; max-width:280px; font-size:30px; font-weight:580; letter-spacing:-.04em; line-height:1.23; margin:0; margin-bottom:23px; }
.v4-hero-aside-list { margin-top:auto; border-top:1px solid #48607a; }
.v4-hero-aside-list>div { display:grid; grid-template-columns:31px 1fr 20px; gap:13px; align-items:center; padding:16px 0; border-bottom:1px solid #48607a; }
.v4-hero-aside-list span { color:#9fb8ce; font-size:12px; }
.v4-hero-aside-list strong { font-size:14px; font-weight:540; color:#f0f5f7; }
.v4-hero-aside-list i { color:#9bcfb7; font-size:14px; }
.v4-hero-aside>p { font-size:12px; color:#b7cbdc; margin:23px 0 0; }
.v4-trust-strip { background:#fff; border-bottom:1px solid var(--v4-line); }
.v4-trust-strip .container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; }
.v4-trust-strip span { display:flex; align-items:center; gap:11px; padding:22px 15px; font-size:12px; font-weight:650; color:#334e67; min-width:0; }
.v4-trust-strip span:first-child { padding-left:0; }
.v4-trust-strip span:not(:last-child) { border-right:1px solid #e4eaef; }
.v4-trust-strip span:not(:first-child) { padding-left:28px; }
.v4-trust-strip i { color:#1675a1; font-size:17px; flex:0 0 auto; }

/* Beneficio introductorio editorial */
.v4-about { background:#fff; }
.v4-about-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:96px; align-items:start; }
.v4-about-content { padding-top:38px; max-width:470px; }
.v4-about-content>p { color:var(--v4-muted); font-size:16px; margin:0 0 17px; }
.v4-inline-link { color:var(--v4-blue); display:inline-flex; align-items:center; gap:13px; padding:0 0 6px; border-bottom:1px solid #a5b9cc; text-decoration:none; font-size:14px; font-weight:650; }
.v4-inline-link:hover { color:var(--v4-green); border-color:var(--v4-green); }

/* Funciones: filas de lectura rápida en lugar de mosaico de tarjetas. */
.v4-services { background:#f7f9fa; }
.v4-service-list { border-top:1px solid #d9e2e9; }
.v4-service-item { display:grid; grid-template-columns:36px 50px 1fr 43px; gap:22px; align-items:center; padding:23px 12px 23px 0; border-bottom:1px solid #d9e2e9; }
.v4-service-count { align-self:start; padding-top:16px; font-size:12px; font-weight:720; color:#7b8da0; }
.v4-service-icon { height:44px; width:44px; background:#edf3f7; border:1px solid #dae5eb; display:grid; place-items:center; color:var(--v4-blue); font-size:18px; border-radius:3px; }
.v4-service-text { min-width:0; }
.v4-service-item h3 { font-size:19px; font-weight:650; margin:0 0 6px; }
.v4-service-item p { margin:0; font-size:14px; color:#64758a; }
.v4-service-link { width:39px; height:39px; border:1px solid #cbd8e3; background:#fff; border-radius:3px; color:var(--v4-blue); display:grid; place-items:center; }
.v4-service-link:hover { border-color:var(--v4-blue); background:#eef5fb; }
.v4-disclaimer { margin:19px 0 0; color:#718094; font-size:12px; }

/* Proceso: sin fotografías de stock ni iconos sobredimensionados. */
.v4-process { background:#fff; }
.v4-process-layout { display:grid; grid-template-columns:.94fr 1.06fr; gap:100px; align-items:start; }
.v4-process-intro>p:not(.v4-section-label) { color:var(--v4-muted); margin:21px 0 24px; max-width:440px; }
.v4-process-steps { padding:0; margin:3px 0 0; list-style:none; border-top:1px solid var(--v4-line); }
.v4-process-steps li { display:grid; grid-template-columns:48px 1fr; gap:24px; padding:22px 0; border-bottom:1px solid var(--v4-line); }
.v4-process-steps li>span { color:#20825f; font-size:14px; font-weight:680; }
.v4-process-steps h3 { font-size:18px; font-weight:650; margin:0 0 5px; }
.v4-process-steps p { font-size:14px; color:var(--v4-muted); margin:0; }

/* Rubros: botones en línea, no tarjetas decorativas. */
.v4-sectors { background:#f7f9fa; }
.v4-sectors-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.v4-sector { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; padding:20px 24px; background:#fff; color:#25415d; font-weight:650; border:1px solid #dce4e9; border-radius:3px; transition:border-color .16s ease; }
.v4-sector:hover { border-color:#0e5794; color:var(--v4-blue); }
.v4-sector i { flex:0 0 auto; color:#2d709c; }

/* Planes: menos efectos, más legibilidad. */
.v4-pricing { background:#fff; }
.v4-price-card { padding:29px 27px; border:1px solid #dfe5eb; background:#fff; border-radius:3px; display:flex; flex-direction:column; }
.v4-price-featured { border-top:3px solid var(--v4-green); padding-top:27px; }
.v4-price-label { font-size:11px; font-weight:720; letter-spacing:.13em; color:#66819b; margin:0 0 19px; }
.v4-price-card h3 { font-size:25px; margin:0 0 7px; }
.v4-price-desc { font-size:14px; color:#68788a; margin:0 0 25px; min-height:43px; }
.v4-price-amount { display:block; font-weight:680; font-size:25px; letter-spacing:-.025em; color:var(--v4-navy); overflow-wrap:anywhere; }
.v4-price-rule { border-top:1px solid var(--v4-line); margin:22px 0; }
.v4-price-card ul { margin:0 0 28px; padding:0; list-style:none; }
.v4-price-card li { display:flex; gap:12px; color:#455d74; font-size:13px; margin:0 0 13px; }
.v4-price-card li i { color:var(--v4-green); }
.v4-price-button { width:100%; margin-top:auto; background:#f1f5f8; border:1px solid #dbe5ed; color:var(--v4-navy); justify-content:space-between; }
.v4-price-button:hover { background:var(--v4-blue); color:#fff; border-color:var(--v4-blue); }

/* Ayuda: acordeón del proyecto actual con bordes sobrios. */
.v4-faq { background:#f7f9fa; }
.v4-faq-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:88px; }
.v4-faq-grid>div:first-child>p:not(.v4-section-label) { color:var(--v4-muted); margin:18px 0; }
.v4-accordion { border-top:1px solid #d8e2e8; }
.v4-accordion .accordion-item { border:0; border-bottom:1px solid #d8e2e8; border-radius:0!important; background:transparent; }
.v4-accordion .accordion-button { padding:20px 35px 20px 0; color:#1a3652; font-size:15px; font-weight:650; box-shadow:none!important; background:transparent!important; border-radius:0!important; }
.v4-accordion .accordion-button:not(.collapsed) { color:var(--v4-blue); }
.v4-accordion .accordion-button::after { background-size:14px; width:14px; height:14px; }
.v4-accordion .accordion-body { color:#5c7084; font-size:14px; line-height:1.7; padding:0 25px 23px 0; }

/* CTA final */
.v4-last-cta { background:var(--v4-navy); padding:62px 0; }
.v4-last-layout { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.v4-last-cta .v4-section-label { color:#8bbcab; margin:0 0 13px; }
.v4-last-cta h2 { font-size:clamp(25px,2.45vw,34px); color:#fff; max-width:560px; line-height:1.25; margin:0; }
.v4-last-buttons { display:flex; align-items:center; gap:21px; flex-wrap:wrap; }
.v4-button-inverse { background:#fff; color:var(--v4-navy); }
.v4-button-inverse:hover { background:#e5f2ed; color:var(--v4-navy); }
.v4-last-buttons a { color:#edf5f6; text-decoration:underline; text-underline-offset:5px; font-size:13px; display:inline-flex; align-items:center; gap:8px; }

/* Footer público más contenido; formularios y panel administrativo intactos */
.home-footer { background:#081e38; padding-top:61px; }
.home-footer .footer-description { font-size:14px; line-height:1.7; }
.home-footer h6 { font-size:11px; font-weight:700; letter-spacing:.1em; }
.home-footer .footer-links a,.home-footer .footer-links button { font-size:13px; }
.home-footer .footer-logo { max-width:140px; height:53px; }
.v4-whatsapp-float.home-whatsapp-float { display:flex; align-items:center; justify-content:center; right:max(18px,env(safe-area-inset-right)); bottom:calc(18px + env(safe-area-inset-bottom)); width:52px; min-width:52px; height:52px; padding:0; border-radius:50%; background:#158752; box-shadow:0 6px 18px rgba(2,60,31,.15); }
.v4-whatsapp-float.home-whatsapp-float i { font-size:26px; line-height:1; }

/* Pantallas medianas */
@media (max-width:1199.98px) {
  .v4-navbar.home-navbar { min-height:72px; }
  .v4-navbar .navbar-collapse { padding:13px 0; }
  .v4-navbar .nav-link { padding:10px 6px!important; }
  .v4-navbar .btn-navbar-login,.v4-navbar .nav-cta { width:100%; margin-top:8px; }
  .v4-hero-grid { gap:28px; }
  .v4-hero-aside { padding:27px; }
}
@media (max-width:991.98px) {
  .v4-section { padding:66px 0; }
  .v4-hero-grid { grid-template-columns:1fr 1fr; gap:20px; padding-top:52px; padding-bottom:52px; }
  .v4-hero h1 { font-size:clamp(39px,4.6vw,53px); }
  .v4-hero-aside h2 { font-size:25px; }
  .v4-about-grid,.v4-process-layout,.v4-faq-grid { gap:38px; }
  .v4-trust-strip .container { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v4-trust-strip span:not(:last-child) { border-right:0; }
  .v4-trust-strip span { padding:15px 10px!important; }
  .v4-last-layout { align-items:start; }
}
@media (max-width:767.98px) {
  html { scroll-padding-top:70px; }
  .v4-hero-grid { display:block; padding-top:48px; padding-bottom:39px; }
  .v4-hero-copy { padding:0; }
  .v4-eyebrow { font-size:10px; margin-bottom:21px; }
  .v4-hero h1 { font-size:clamp(36px,8.5vw,47px); max-width:540px; }
  .v4-hero-lead { font-size:15px; }
  .v4-hero-aside { margin-top:35px; padding:25px; }
  .v4-hero-aside-top { margin-bottom:20px; }
  .v4-hero-aside h2 { max-width:none; }
  .v4-hero-aside-list>div { padding:12px 0; }
  .v4-hero-aside>p { margin-top:15px; }
  .v4-section { padding:56px 0; }
  .v4-section-heading { display:block; margin-bottom:26px; }
  .v4-section-heading>p { width:auto; max-width:450px; margin-top:15px; }
  .v4-about-grid,.v4-process-layout,.v4-faq-grid { grid-template-columns:1fr; gap:25px; }
  .v4-about-content { padding-top:0; }
  .v4-service-item { grid-template-columns:26px 42px 1fr 37px; gap:11px; }
  .v4-service-count { font-size:11px; }
  .v4-service-item h3 { font-size:17px; }
  .v4-service-item p { font-size:13px; }
  .v4-service-link { width:34px; height:34px; }
  .v4-last-layout { display:block; }
  .v4-last-buttons { margin-top:25px; }
}
@media (max-width:479.98px) {
  .v4-home .container { padding-left:21px; padding-right:21px; }
  .v4-navbar .brand-logo { height:48px; }
  .v4-hero h1 { font-size:clamp(33px,9vw,40px); }
  .v4-hero-actions { display:grid; gap:10px; width:100%; }
  .v4-hero-actions .v4-button { width:100%; justify-content:space-between; }
  .v4-hero-footnote { font-size:11px; }
  .v4-hero-aside { padding:22px; }
  .v4-trust-strip .container { grid-template-columns:1fr 1fr; padding-left:17px; padding-right:17px; }
  .v4-trust-strip span { font-size:11px; align-items:flex-start; gap:8px; padding:13px 6px!important; }
  .v4-trust-strip i { font-size:15px; }
  .v4-section h2 { font-size:clamp(27px,7.4vw,35px); }
  .v4-service-item { grid-template-columns:19px 1fr 32px; gap:9px; padding:18px 0; }
  .v4-service-icon { display:none; }
  .v4-service-count { padding-top:7px; }
  .v4-service-link { width:31px; height:31px; }
  .v4-sectors-grid { grid-template-columns:1fr; gap:9px; }
  .v4-sector { min-height:59px; padding:15px 19px; }
  .v4-price-card { padding:23px; }
  .v4-price-featured { padding-top:21px; }
  .v4-last-buttons { display:grid; align-items:stretch; }
  .v4-last-buttons>a { justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .v4-home button,.v4-home a { transition:none; } }
