/* Rediseño estético de pgvirtualconsulting.com (variante .com) — se carga DESPUÉS de style.css y style-com.css.
   Solo cambia el aspecto: tipografía fina, fondos oscuros de contraste, botones sobrios, más aire entre secciones.
   Para volver al aspecto anterior basta quitar el <link> de rediseno.css en templates/base.html. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500&family=Poppins:wght@400;500;600&display=swap');

body.variante-com{
  --noche:#161616; --noche-2:#232323; --noche-3:#2e2e2e; --trazo:rgba(255,255,255,.12);
  --texto:#161616; --suave:#6e6862;
  color:var(--texto); background:#fff; font-size:17px;
}

/* ---------- tipografía: fina y apretada ---------- */
.variante-com h1, .variante-com h2, .variante-com h3{font-family:'Fraunces',Georgia,serif; font-weight:400; letter-spacing:-.025em; color:#161616;}
.variante-com .section-head h2{font-size:clamp(34px, 4.4vw, 58px); font-weight:300; line-height:1.06; letter-spacing:-.035em;}
.variante-com .section-head p{color:var(--suave); font-size:19px; max-width:640px; margin-left:auto; margin-right:auto;}
.variante-com .eyebrow{font-size:12.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--lime-deep);}
.variante-com .accent-underline{display:none;}
.variante-com .section-head{max-width:860px; margin-bottom:44px;}

/* ---------- barra superior y encabezado: claro y minimalista ---------- */
.variante-com .topbar{background:var(--noche); color:#b9b1a9; font-size:12.5px; letter-spacing:.02em;}
.variante-com .topbar .container{padding:8px 32px;}
.variante-com header.site-header{background:rgba(255,255,255,.92); border-bottom:1px solid #e6e0da; box-shadow:none;
  backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px);}
.variante-com .nav-wrap{padding:12px 32px;}
.variante-com .brand img{height:46px;}
.variante-com .brand-text{color:#161616; font-weight:600; letter-spacing:.01em; font-size:16px;}
.variante-com .brand-text small{color:#7a746e; font-weight:500; letter-spacing:.08em; text-transform:uppercase; font-size:10.5px;}
.variante-com nav.main-nav{gap:2px;}
.variante-com nav.main-nav a{color:#3a3632; border-radius:0; background:none; font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 16px; position:relative;}
.variante-com nav.main-nav a:not(.btn-nav-cta)::after{content:""; position:absolute; left:16px; right:16px; bottom:4px; height:2px; background:var(--lime);
  transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);}
.variante-com nav.main-nav a:not(.btn-nav-cta):hover, .variante-com nav.main-nav a.active{color:#161616; background:none;}
.variante-com nav.main-nav a:not(.btn-nav-cta):hover::after, .variante-com nav.main-nav a.active::after{transform:scaleX(1);}
.variante-com .btn-nav-cta{background:var(--noche) !important; color:#fff !important; border-radius:4px !important; padding:11px 22px !important; margin-left:14px;
  font-size:12.5px !important; letter-spacing:.12em !important;}
.variante-com .btn-nav-cta::after{content:" →"; margin-left:6px; background:none !important; transform:none !important; position:static; height:auto;}
.variante-com .btn-nav-cta:hover{background:var(--navy) !important; transform:none;}
.variante-com .nav-toggle{background:#fff; border:1px solid #d6cfc8;}
.variante-com .nav-toggle span, .variante-com .nav-toggle span::before, .variante-com .nav-toggle span::after{background:#161616;}

/* ---------- botones: sobrios, con flecha ---------- */
.variante-com .btn{border-radius:4px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; padding:18px 30px; border-width:1px; box-shadow:none;}
.variante-com .btn::after{content:"→"; font-size:16px; letter-spacing:0; transition:transform .25s var(--ease);}
.variante-com .btn:hover{transform:none;}
.variante-com .btn:hover::after{transform:translateX(5px);}
.variante-com .btn-primary{background:#fff; color:var(--noche); box-shadow:none;}
.variante-com .btn-primary:hover{background:var(--lime); box-shadow:none;}
.variante-com .btn-outline{background:transparent; border-color:rgba(255,255,255,.45); color:#fff;}
.variante-com .btn-outline:hover{background:#fff; color:var(--noche); border-color:#fff;}
.variante-com .btn-outline-navy{border-color:#161616; color:#161616; background:transparent;}
.variante-com .btn-outline-navy:hover{background:#161616; color:#fff;}

/* ---------- hero: oscuro, titular enorme y fino ---------- */
.variante-com .pc-hero{background:var(--noche);}
/* cada servicio conserva su propio color (como antes), pero en tonos profundos y actuales: azul, verde, índigo y turquesa */
.variante-com .tono-azul {--t1:#1c0f0e; --t2:#8c3f3b; --t3:#d97a72;}
.variante-com .tono-verde{--t1:#141814; --t2:#5f6d5f; --t3:#a3b0a3;}
.variante-com .tono-noche{--t1:#1c1812; --t2:#6b5a44; --t3:#c9b79c;}
.variante-com .tono-cielo{--t1:#211412; --t2:#a94f4a; --t3:#e8b0a8;}
.variante-com .pc-slide{min-height:min(80vh, 700px); padding:92px 0 150px;
  background:
    radial-gradient(1000px 640px at 86% 8%, color-mix(in srgb, var(--t3) 38%, transparent), transparent 62%),
    radial-gradient(760px 520px at -4% 112%, color-mix(in srgb, var(--t3) 22%, transparent), transparent 62%),
    linear-gradient(115deg, var(--t1) 0%, color-mix(in srgb, var(--t1) 45%, var(--t2)) 58%, var(--t2) 135%);
  transition:opacity .8s var(--ease), visibility .8s;}
.variante-com .pc-deco{opacity:.5;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0/64px 64px;
  -webkit-mask-image:radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%); mask-image:radial-gradient(ellipse at 70% 40%, #000 20%, transparent 75%);}
.variante-com .pc-slide-grid{grid-template-columns:1.5fr .8fr; gap:72px;}
.variante-com .pc-insignia{background:none; border:0; padding:0; backdrop-filter:none; gap:12px; font-size:12.5px; letter-spacing:.22em; font-weight:600; color:#d8d2cc; margin-bottom:34px;}
.variante-com .pc-insignia i{color:var(--lime);}
.variante-com .pc-slide .pc-titulo{font-size:clamp(40px, 6vw, 84px); font-weight:300; line-height:1.02; letter-spacing:-.04em; color:#fff; max-width:900px; margin-bottom:30px;}
.variante-com .pc-slide p{color:#c4bdb6; font-size:clamp(17px, 1.5vw, 20px); font-weight:400; max-width:600px; margin-bottom:44px;}
.variante-com .pc-slide-puntos{background:none; border:0; border-left:1px solid var(--trazo); border-radius:0; box-shadow:none; backdrop-filter:none; padding:6px 0 6px 40px; gap:0;}
.variante-com .pc-slide-puntos li{font-size:17px; font-weight:400; color:#efe9e4; padding:20px 0; border-bottom:1px solid var(--trazo);}
.variante-com .pc-slide-puntos li:last-child{border-bottom:0;}
.variante-com .pc-slide-puntos i{width:26px; height:26px; padding:5px; background:transparent; border:1px solid var(--lime); color:var(--lime);}
.variante-com .pc-controles{border-top:1px solid var(--trazo); padding-top:26px; padding-bottom:30px;}
.variante-com .pc-punto{width:44px; height:3px; border:0; border-radius:0; background:rgba(255,255,255,.22);}
.variante-com .pc-punto.activo{width:44px; border-radius:0; background:var(--lime);}
.variante-com .pc-puntos{gap:10px;}
.variante-com .pc-hero-stats b{font-weight:300; font-size:38px; letter-spacing:-.03em;}
.variante-com .pc-hero-stats span{text-transform:uppercase; letter-spacing:.14em; font-size:11px; color:#b9b1a9;}

/* ---------- socios: logos en gris, sin cajas pesadas ---------- */
.variante-com .pc-socios{padding:80px 0 72px; border-bottom:0;}
.variante-com .pc-socio{border:0; border-top:1px solid #e6dfd9; border-radius:0; background:none; height:104px; color:#a39d97;}
.variante-com .pc-socio:hover{border-color:var(--c); box-shadow:none; transform:none; color:var(--c);}
.variante-com .pc-socios-flecha{border-radius:4px; width:44px; height:44px;}
.variante-com .pc-socio-enlace{display:flex; align-items:center; justify-content:center; gap:14px; width:100%; height:100%; color:inherit; cursor:pointer;}
.variante-com .pc-socio:hover .pc-socio-logo{transform:scale(1.04);} .variante-com .pc-socio-logo{transition:transform .25s var(--ease);}

/* ---------- productos: sección oscura con tarjetas de línea fina ---------- */
.variante-com .pc-productos{background:var(--noche); padding:88px 0;}
.variante-com .pc-productos .section-head h2{color:#fff;}
.variante-com .pc-productos .section-head p{color:#c4bdb6;}
.variante-com .pc-productos .eyebrow{color:var(--lime);}
.variante-com .pc-productos-grid{gap:1px; background:var(--trazo); border:1px solid var(--trazo); border-radius:6px; overflow:hidden;}
.variante-com .pc-producto{border-radius:0; box-shadow:none; background:var(--noche); min-height:320px; padding:40px 38px 34px;
  transition:background .3s var(--ease);}
.variante-com .pc-producto::after{display:none;}
.variante-com .pc-producto:hover{transform:none; box-shadow:none; background:var(--noche-2);}
.variante-com .pc-producto-icono{background:none; border:1px solid var(--trazo); border-radius:50%; width:56px; height:56px; color:var(--lime);}
.variante-com .pc-producto-cab small{color:#a39d97; letter-spacing:.16em; font-size:11.5px;}
.variante-com .pc-producto-cab strong{font-weight:400; font-size:24px; letter-spacing:-.02em; color:#fff;}
.variante-com .pc-producto h3{color:#e6dfd9; font-weight:300; font-size:22px; margin-bottom:22px;}
.variante-com .pc-producto ul{color:#c4bdb6; font-size:16px;}
.variante-com .pc-producto li i{color:var(--lime);}
.variante-com .pc-producto-cta{background:none; color:#fff; padding:0 0 4px; border-radius:0; border-bottom:1px solid var(--lime); font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;}
.variante-com .pc-producto-cta:hover{background:none; color:var(--lime); gap:16px;}

/* ---------- cifras: números finos y grandes ---------- */
.variante-com .stats-band{background:var(--noche-2); padding:64px 0;}
.variante-com .stats-band::before{background:radial-gradient(circle at 12% 0%, rgba(169,79,74,.18), transparent 45%);}
.variante-com .stats-band b{font-weight:300; font-size:clamp(46px, 5vw, 72px); letter-spacing:-.04em;}
.variante-com .stats-band span{text-transform:uppercase; letter-spacing:.14em; font-size:12px; color:#b9b1a9;}
.variante-com .stats-band .grid > div + div{border-left:1px solid var(--trazo);}

/* ---------- proyectos / servicios (tarjetas del contenido) ---------- */
.variante-com section.alt{background:#f1f1f1;}
.variante-com .portfolio-card, .variante-com .service-card{border-radius:6px; border:1px solid #e6dfd9; box-shadow:none; background:#fff;}
.variante-com .portfolio-card:hover, .variante-com .service-card:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(22,22,22,.1); border-color:#d6cfc8;}
.variante-com .portfolio-card h3, .variante-com .service-card h3{font-weight:500; letter-spacing:-.015em;}

/* ---------- llamado final ---------- */
.variante-com .cta-band{background:var(--noche); padding:88px 0; text-align:left;}
.variante-com .cta-band::before{background:radial-gradient(900px 420px at 85% 120%, rgba(169,79,74,.18), transparent 60%);}
.variante-com .cta-band h2{color:#fff; font-weight:300; font-size:clamp(36px, 5vw, 68px); line-height:1.04; letter-spacing:-.04em; max-width:880px;}
.variante-com .cta-band p{color:#c4bdb6; font-size:20px; max-width:620px;}
.variante-com .cta-band .btn{background:#fff !important; color:var(--noche) !important;}
.variante-com .cta-band .btn:hover{background:var(--lime) !important;}

/* ---------- pie de página: compacto ---------- */
.variante-com footer.site-footer{background:#0d0d0d; padding:80px 0 30px;}
.variante-com footer.site-footer h4{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#b9b1a9; font-weight:600;}
.variante-com footer.site-footer a:hover{color:var(--lime);}
.variante-com .footer-bottom{border-top:1px solid var(--trazo);}
.variante-com .pc-noticias{border-radius:6px; background:transparent; border-color:var(--trazo);}

/* ---------- móvil ---------- */
@media (max-width:980px){
  .variante-com .pc-slide-grid{grid-template-columns:1fr; gap:40px;}
  .variante-com .pc-slide-puntos{padding-left:26px;}
  .variante-com .pc-productos-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .variante-com .pc-slide{min-height:0; padding:56px 0 110px;}
  .variante-com .pc-slide .pc-titulo{font-size:38px; letter-spacing:-.035em;}
  .variante-com .pc-productos{padding:60px 0;}
  .variante-com .pc-socios{padding:56px 0 50px;}
  .variante-com .pc-productos-grid{grid-template-columns:1fr;}
  .variante-com .pc-producto{min-height:0; padding:32px 26px;}
  .variante-com .section-head{margin-bottom:32px;}
  .variante-com .cta-band{padding:60px 0;}
  .variante-com .btn{width:100%;}
  .variante-com nav.main-nav{background:#fff; border-top:1px solid #e6e0da;}
  .variante-com nav.main-nav a{color:#161616;}
  .variante-com .btn-nav-cta{margin:8px 0 0;}
  .variante-com .brand-text{font-size:12.5px;}
  .variante-com .brand img{height:40px;}
}
/* ---------- páginas internas: encabezado oscuro y títulos legibles sobre fondos azules ---------- */
.variante-com .page-hero{padding:104px 0 96px; text-align:left;
  background:
    radial-gradient(900px 420px at 88% 0%, rgba(125,139,125,.3), transparent 60%),
    radial-gradient(700px 400px at 0% 120%, rgba(169,79,74,.18), transparent 60%),
    var(--noche);}
.variante-com .page-hero h1{color:#fff; font-size:clamp(38px, 5.4vw, 72px); font-weight:300; line-height:1.04; letter-spacing:-.04em; margin:0;}
.variante-com .page-hero p{color:#c4bdb6; font-size:20px; max-width:640px; margin-top:20px;}
.variante-com .contact-info-card{background:var(--noche-2); border-radius:6px; box-shadow:none; border:1px solid #2e2e2e;}
.variante-com .contact-info-card h3{color:#fff; font-weight:400; font-size:24px;}
.variante-com .contact-info-row b{color:#fff;}
.variante-com .contact-info-row span{color:#c4bdb6;}
.variante-com .breadcrumb{font-size:13px; letter-spacing:.04em;}
.variante-com .btn.sin-flecha::after, .variante-com a.btn[href*="portal"]::after{content:none;}   /* el texto ya trae su flecha */
/* ---------- el azul/verde de antes que seguía asomando: bloques con color escrito en la plantilla, iconos, filtros y formulario ---------- */
.variante-com section[style*="background:var(--navy)"]{background:var(--noche-2) !important; border-bottom:1px solid var(--trazo) !important; padding:44px 0 !important;}
.variante-com section[style*="background:var(--navy)"] a.btn{background:#fff !important; color:var(--noche) !important; font-weight:600 !important;}
.variante-com section[style*="background:var(--navy)"] a.btn:hover{background:var(--lime) !important;}
.variante-com div[style*="background:var(--navy); border-radius:12px"]{background:var(--noche-2) !important; border:1px solid #2e2e2e; border-radius:6px !important;}
.variante-com div[style*="width:44px"][style*="border-radius:10px"]{background:var(--noche-2) !important; color:var(--lime) !important; border-radius:50% !important;}
.variante-com .service-icon{background:var(--noche-2); color:var(--lime); border-radius:50%;}
.variante-com .filter-chip{border-radius:4px; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:500; padding:11px 18px; color:#3a3632;}
.variante-com .filter-chip.active, .variante-com .filter-chip:hover{background:var(--noche); border-color:var(--noche); color:#fff;}
.variante-com .contact-form .btn-primary, .variante-com form .btn-primary{background:var(--noche); color:#fff;}
.variante-com .contact-form .btn-primary:hover, .variante-com form .btn-primary:hover{background:var(--navy);}
.variante-com .cat-tag, .variante-com .tag{border-radius:4px;}
.variante-com .contact-form input:focus, .variante-com .contact-form textarea:focus, .variante-com .contact-form select:focus{border-color:var(--noche); box-shadow:0 0 0 3px rgba(22,22,22,.1);}
.variante-com a:focus-visible, .variante-com button:focus-visible{outline-color:var(--lime);}
@media (max-width:640px){ .variante-com .page-hero{padding:64px 0 56px;} .variante-com .page-hero h1{font-size:38px;} }
@media (prefers-reduced-motion: reduce){ .variante-com .btn::after{transition:none;} }

/* ---------- paleta indicada por el cliente: negro, terracota, salvia, arena y gris (reemplaza el azul y el lima) ---------- */
body.variante-com{
  --navy:#5f6d5f; --navy-deep:#161616; --navy-mid:#2e2e2e; --sky:#a3b0a3; --lime:#c9645e; --lime-deep:#8c3f3b;
  --arena:#ebe6e1; --gris:#f1f1f1; --terracota:#a94f4a; --salvia:#7d8b7d;
}
.variante-com .hero h1 span{background:none; -webkit-text-fill-color:#ebe6e1; color:#ebe6e1; font-style:italic;}
.variante-com .btn-primary:hover{background:#ebe6e1; color:#161616;}
.variante-com .eyebrow{color:#8c3f3b;}
.variante-com .pc-insignia i{color:#d97a72;}
.pgc-lanzador, .pgc-panel, .pgc-globo{--c-navy:#161616; --c-deep:#0d0d0d; --c-lime:#a94f4a; --c-ink:#161616; --c-muted:#6e6862; --c-line:#d6cfc8;}
.pgc-lanzador, .pgc-cab{background:#161616 !important;}
.variante-com footer.site-footer a{color:#e6dfd9;} .variante-com footer.site-footer a:hover{color:#d97a72;}

/* datos de contacto clicables (correo, WhatsApp, mapa) */
.dato-enlace{color:inherit; text-decoration:none; border-bottom:1px solid transparent; transition:color .2s, border-color .2s;}
.dato-enlace:hover, .dato-enlace:focus-visible{color:var(--lime-deep,#8c3f3b); border-bottom-color:currentColor;}
footer .dato-enlace:hover, .contact-info-card .dato-enlace:hover{color:#d97a72;}

/* formulario de contacto con la paleta nueva (antes gris azulado) */
.variante-com form.contact-form{border-color:#e6e0da; box-shadow:0 14px 34px rgba(22,22,22,.06);}
.variante-com form.contact-form input, .variante-com form.contact-form select, .variante-com form.contact-form textarea{background:#f7f4f1; border-color:#ded7cf; color:#161616;}
.variante-com form.contact-form input:focus, .variante-com form.contact-form select:focus, .variante-com form.contact-form textarea:focus{border-color:#161616; box-shadow:0 0 0 4px rgba(169,79,74,.18); background:#fff;}
.variante-com form.contact-form label{color:#161616;}

/* ---------- páginas individuales de servicio y enlaces internos ---------- */
.variante-com .svc-acciones{display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}
.variante-com .svc-dos{display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(30px,5vw,80px); align-items:start;}
.variante-com .svc-lista{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:16px;}
.variante-com .svc-lista li{display:flex; gap:12px; align-items:flex-start; font-size:17px; line-height:1.5;}
.variante-com .svc-lista svg{flex:none; margin-top:3px; color:#a94f4a;}
.variante-com .svc-lateral{background:#161616; color:#e6dfd9; border-radius:14px; padding:clamp(24px,3vw,38px);}
.variante-com .svc-lateral h3{color:#fff; font-size:24px; margin-bottom:14px;}
.variante-com .svc-lateral ul{margin:0 0 18px; padding-left:18px; display:grid; gap:10px; color:#d8d2cc;}
.variante-com .svc-lateral p{color:#b9b1a9; font-size:15px; margin:0 0 22px;}
.variante-com .svc-lateral .btn-primary{background:#fff; color:#161616;}
.variante-com .svc-beneficios{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.variante-com .svc-beneficio{background:#fff; border:1px solid #e6e0da; border-radius:12px; padding:24px;}
.variante-com .svc-beneficio span{display:block; font-family:'Fraunces',Georgia,serif; font-size:40px; font-weight:300; color:#a94f4a; margin-bottom:8px;}
.variante-com .svc-beneficio p{margin:0; font-size:16px;}
.variante-com .svc-faq{max-width:860px;}
.variante-com .svc-faq details{border-bottom:1px solid #e6e0da; padding:20px 0;}
.variante-com .svc-faq summary{cursor:pointer; font-weight:600; font-size:18px; list-style:none; display:flex; justify-content:space-between; gap:16px;}
.variante-com .svc-faq summary::after{content:"+"; color:#a94f4a; font-size:24px; line-height:1;}
.variante-com .svc-faq details[open] summary::after{content:"–";}
.variante-com .svc-faq details p{margin:14px 0 0; color:#4a453f;}
.variante-com a.service-card{display:block; color:inherit; text-decoration:none;}
.variante-com .svc-mas{display:inline-block; margin-top:16px; font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#8c3f3b;}
.variante-com .pc-producto-ver{display:inline-block; margin-left:16px; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:inherit; border-bottom:1px solid currentColor; opacity:.85;}
.variante-com .pc-producto-ver:hover{opacity:1;}
@media (max-width:980px){ .variante-com .svc-dos{grid-template-columns:1fr;} .variante-com .svc-beneficios{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .variante-com .svc-beneficios{grid-template-columns:1fr;} }

/* ---------- blog y auditoría ---------- */
.variante-com .blog-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.variante-com .blog-tarjeta{display:block; background:#fff; border:1px solid #e6e0da; border-radius:14px; padding:clamp(22px,2.4vw,34px); color:inherit; text-decoration:none; transition:border-color .2s, transform .2s;}
.variante-com .blog-tarjeta:hover{border-color:#a94f4a; transform:translateY(-3px);}
.variante-com .blog-cat{font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#8c3f3b;}
.variante-com .blog-tarjeta h2{font-size:clamp(22px,2vw,28px); margin:12px 0; line-height:1.15;}
.variante-com .blog-tarjeta p{color:#4a453f; margin:0 0 16px;}
.variante-com .blog-meta{font-size:13px; color:#6e6862;}
.variante-com .blog-articulo{max-width:780px;}
.variante-com .blog-articulo h2{font-size:clamp(24px,2.4vw,32px); margin:40px 0 12px;}
.variante-com .blog-articulo p, .variante-com .blog-articulo li{font-size:18px; line-height:1.7; color:#2c2925;}
.variante-com .blog-articulo ul{padding-left:22px; display:grid; gap:8px; margin:12px 0;}
.variante-com .blog-cta{margin-top:56px; background:#161616; color:#e6dfd9; border-radius:14px; padding:clamp(24px,3vw,40px);}
.variante-com .blog-cta h3{color:#fff; font-size:26px; margin-bottom:10px;}
.variante-com .blog-cta p{color:#c4bdb6; font-size:16px;}
.variante-com .blog-cta .btn-outline-navy{color:#fff; border-color:rgba(255,255,255,.5);}
.variante-com .blog-cta .btn-primary{background:#fff; color:#161616;}
.variante-com .svc-form{align-self:start; position:sticky; top:96px;}
.variante-com .svc-link-aud{display:block; margin-top:16px; color:#fff; font-size:14px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.5); width:fit-content;}
@media (max-width:980px){ .variante-com .blog-grid{grid-template-columns:1fr;} .variante-com .svc-form{position:static;} }
.variante-com .svc-condiciones{margin-top:44px; background:#f1f1f1; border-left:4px solid #a94f4a; border-radius:0 12px 12px 0; padding:22px 26px;}
.variante-com .svc-condiciones h3{font-size:22px; margin-bottom:10px;}
.variante-com .svc-condiciones ul{margin:0; padding-left:20px; display:grid; gap:8px;}
.variante-com .svc-condiciones li{font-size:16px; line-height:1.55;}

/* ---------- proyectos: logo de cliente (se muestra completo) y texto con subtítulos ---------- */
.portfolio-card .thumb.es-logo, .detalle-img.es-logo{background:#fff;}
.portfolio-card .thumb.es-logo img{object-fit:contain; padding:26px 32px;}
.portfolio-card:hover .thumb.es-logo img{transform:none;}
.detalle-img.es-logo{border:1px solid #e6dfd9; text-align:center; padding:28px;}
.detalle-img.es-logo img{max-width:420px; width:100%; max-height:260px; object-fit:contain; margin:0 auto;}
.proyecto-texto{font-size:16px; line-height:1.8; color:var(--ink); margin-top:20px;}
.proyecto-texto p{margin:0 0 16px;}
.proyecto-texto h2{font-size:20px; margin:30px 0 10px;}
.proyecto-texto ul{padding-left:22px; display:grid; gap:6px; margin:0 0 16px;}

/* ---------- portada: instituciones que han confiado (logos de los proyectos marcados como logo) ---------- */
.variante-com .pc-clientes{background:#fff; padding:44px 0 40px; border-bottom:1px solid #e6dfd9;}
.pc-clientes-titulo{text-align:center; margin:0 0 24px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#8a847e;}
.pc-clientes-lista{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:22px 52px;}
.pc-clientes-lista li{display:flex; align-items:center; justify-content:center; height:72px;}
.pc-clientes-lista img{max-height:64px; max-width:230px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); opacity:.72; transition:filter .25s, opacity .25s;}
.pc-clientes-lista li:hover img{filter:none; opacity:1;}
@media (max-width:640px){ .variante-com .pc-clientes{padding:34px 0 30px;} .pc-clientes-lista{gap:16px 30px;} .pc-clientes-lista li{height:54px;} .pc-clientes-lista img{max-height:46px; max-width:120px;} }

/* ---------- cierre único de la portada: auditoría sin costo + contacto ---------- */
.variante-com .cta-unico .eyebrow{color:#e0aaa5;}
.variante-com .cta-unico h2{font-size:clamp(32px, 4.2vw, 54px); margin-bottom:18px;}
.variante-com .cta-unico p{max-width:760px; margin-bottom:30px;}
.variante-com .cta-acciones{display:flex; flex-wrap:wrap; gap:14px;}
.variante-com .cta-band .btn.btn-secundario{background:transparent !important; color:#fff !important; border:1px solid rgba(255,255,255,.55);}
.variante-com .cta-band .btn.btn-secundario:hover{background:#fff !important; color:var(--noche) !important;}

/* ---------- pie de página: Servicios con más ancho para que Contacto quede a la misma distancia que Servicios de Navegación ---------- */
@media (min-width:981px){
  .variante-com .footer-grid{grid-template-columns:2fr 1fr 1.2fr 1.25fr;}
  .variante-com .footer-grid > div:last-child{margin-left:40px;}   /* Contacto: más a la derecha, con el mismo aire que hay entre Navegación y Servicios */
}
.variante-com .footer-grid a, .variante-com .footer-grid li, .variante-com .footer-grid p{overflow-wrap:anywhere;}

/* ---------- pie de página: logo y descripción de la marca más grandes ---------- */
.variante-com footer.site-footer .brand{gap:20px;}
.variante-com footer.site-footer .brand img{height:118px; width:auto; margin-bottom:0; flex:none;}
.variante-com footer.site-footer .brand p{flex:1 1 220px; max-width:360px; font-size:17px; line-height:1.65; color:#cfc8c1;}
@media (max-width:640px){ .variante-com footer.site-footer .brand img{height:88px;} .variante-com footer.site-footer .brand p{font-size:16px;} }

.pc-clientes-lista a{display:flex; align-items:center; justify-content:center; height:100%;}
.pc-clientes-lista a:focus-visible{outline:2px solid #d97a72; outline-offset:6px; border-radius:4px;}

/* ---------- venta de equipos y repuestos ---------- */
.variante-com .pc-equipos{background:#f7f4f1; padding:80px 0;}
.eq-lineas{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.eq-linea{display:flex; flex-direction:column; gap:10px; padding:34px 32px; border:1px solid #e6dfd9; border-radius:6px; background:#fff; color:inherit; text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .25s;}
.eq-linea:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(22,22,22,.1); border-color:#d6cfc8;}
.eq-linea-icono{width:58px; height:58px; border-radius:12px; display:grid; place-items:center; background:#f6ece9; color:#a94f4a;}
.eq-linea h2, .eq-linea h3{font-size:26px; font-weight:500; letter-spacing:-.015em; margin:6px 0 0;}
.eq-linea p{color:#5f5953; margin:0;}
.eq-marcas{list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:6px 0 0;}
.eq-marcas li{font-size:13px; padding:5px 11px; border:1px solid #e6dfd9; border-radius:999px; color:#3f3a35; background:#faf8f6;}
.eq-linea-cta{margin-top:auto; padding-top:8px; font-weight:600; color:#a94f4a; display:inline-flex; gap:6px; align-items:center;}
.eq-productos{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:18px; margin-top:28px;}
.eq-producto{border:1px solid #e6dfd9; border-radius:6px; padding:24px 22px; background:#fff;}
.eq-producto i{color:#a94f4a;}
.eq-producto h3{font-size:18px; font-weight:600; margin:12px 0 6px;}
.eq-producto p{font-size:15px; color:#5f5953; margin:0;}
.eq-trabajamos{margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:14px;}
.eq-trabajamos > span{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8a847e; font-weight:600;}
.eq-check{display:flex !important; gap:10px; align-items:center; font-weight:400 !important; margin:14px 0 4px;}
.eq-check input{width:auto !important;}
@media (max-width:820px){ .eq-lineas{grid-template-columns:1fr;} .variante-com .pc-equipos{padding:56px 0;} .eq-linea{padding:26px 22px;} }

/* equipos: sin huecos — secciones más compactas, formulario en dos columnas y la información fija mientras se llena */
.variante-com section.eq-seccion{padding:72px 0;}
.variante-com .eq-cotizar{align-items:start; grid-template-columns:1fr 1.3fr;}
.eq-cotizar-info{position:sticky; top:110px;}
.eq-campos{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.eq-campo{min-width:0;}
.eq-campo.ancho{grid-column:1 / -1;}
.eq-campos textarea{min-height:110px;}
@media (max-width:980px){ .eq-cotizar-info{position:static;} .variante-com .eq-cotizar{grid-template-columns:1fr;} }
@media (max-width:640px){ .eq-campos{grid-template-columns:1fr;} .variante-com section.eq-seccion{padding:52px 0;} }
.eq-campos label{margin-top:10px;}
.eq-lineas{grid-template-columns:repeat(4,1fr); gap:20px;}
.eq-lineas .eq-linea{padding:30px 26px;}
.eq-lineas .eq-linea h2, .eq-lineas .eq-linea h3{font-size:22px;}
@media (max-width:1200px){ .eq-lineas{grid-template-columns:1fr 1fr;} }
@media (max-width:820px){ .eq-lineas{grid-template-columns:1fr;} }
