/* =========================================================
   ASCENDA — CAPA ESTILO LEROUX (negro / blanco / plata)
   Se carga DESPUÉS de ascenda.css. No cambia ningún texto:
   rediseña las clases .asc-* existentes en TODAS las páginas.
   ========================================================= */
:root{
  --lx-accent: var(--silver-bright);
  --lx-border: rgba(255,255,255,.12);
  --lx-border-hover: rgba(212,214,220,.45);
  --lx-surface: #0E0E0D;
  --lx-surface-alt: #141412;
  --lx-serif: 'Playfair Display', Georgia, serif;
  --lx-ease: cubic-bezier(.16,1,.3,1);
}

/* ── SECCIONES EN BLANCO ──
   Todas las secciones .asc-section-alt y .asc-section-mid (home e
   interiores) pasan a blanco, reasignando los tokens del tema.
   También puedes usar .lx-light en cualquier bloque. */
.asc-section-alt, .asc-section-mid, .lx-light{
  --black:#F4F4F5; --black2:#EAEAEC; --black3:#F4F4F5;
  --white:#0A0A08; --silver:#55595F; --silver-light:#3A3D42; --silver-bright:#0A0A08;
  --muted:#6B6D72; --border:rgba(0,0,0,.14); --border2:rgba(0,0,0,.28);
  --lx-border:rgba(0,0,0,.14); --lx-border-hover:rgba(0,0,0,.5);
  --lx-accent:#0A0A08; --lx-surface:#EAEAEC; --lx-surface-alt:#E4E4E7;
  background:var(--black); color:var(--white);
}
.asc-section-mid{background:var(--black2)}

/* ── BASE ── */
.asc-section{padding:clamp(64px,9vw,128px) 0;border-top:1px solid var(--lx-border)}
.asc-eyebrow{font-size:12px}
.asc-title{font-weight:400;font-size:clamp(30px,4vw,54px);line-height:1.12;letter-spacing:-.01em}
.asc-title-center,.asc-process-header{text-align:left}
.asc-eyebrow-center{justify-content:flex-start}
.asc-eyebrow-center::before{display:block}
.asc-btn-primary:focus-visible,.asc-btn-secondary:focus-visible,.asc-btn-block:focus-visible,.asc-btn-ghost:focus-visible,.asc-service-card:focus-visible{outline:1px solid var(--lx-accent);outline-offset:3px}
.asc-ticker{border-top:1px solid var(--lx-border);border-bottom:1px solid var(--lx-border)}

/* ── HERO (home): titular enorme, datos en banda inferior ── */
.asc-hero{min-height:min(100vh,880px);align-items:flex-end}
.asc-hero-bg img{filter:grayscale(1) brightness(.42) contrast(1.05)}
.asc-hero-grid{background-image:repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),var(--lx-border) calc(16.666% - 1px) 16.666%);background-size:auto}
.asc-hero-inner{display:block;padding:170px 40px clamp(48px,7vw,88px)}
.asc-hero h1{font-weight:400;font-size:clamp(40px,7vw,100px);line-height:1.03;letter-spacing:-.015em}
.asc-hero-desc{max-width:520px}
.asc-hero-panel{margin-top:56px;background:none;backdrop-filter:none;border:0;border-top:1px solid var(--lx-border);padding:28px 0 0}
.asc-hero-panel::before{display:none}
.asc-hero-panel .asc-stats-grid{grid-template-columns:repeat(4,1fr);gap:24px}
.asc-hero-quote{border:0;padding-left:0;margin-top:24px;max-width:560px}
.lx-hero-art{position:absolute;right:2%;top:110px;width:min(52vw,700px);height:auto;opacity:.55;pointer-events:none;z-index:2}

/* ── DIFERENCIADOR: dos columnas con regla fina ── */
.asc-diff-grid{gap:0;background:none;border:1px solid var(--lx-border)}
.asc-diff-card{background:transparent;padding:clamp(28px,4vw,56px)}
.asc-diff-card.featured{background:var(--lx-surface-alt);border-left:1px solid var(--lx-border-hover)}
.asc-diff-card.featured::before{display:none}
.asc-diff-card h3{font-weight:400;font-size:clamp(22px,2.6vw,30px)}

/* ── FRANJA DE FOTOS: monocromo ── */
.asc-photo-strip{background:var(--lx-border)}
.asc-photo-strip-item img{filter:grayscale(1) brightness(.5)}
.asc-photo-strip-item:hover img{filter:grayscale(1) brightness(.68)}

/* ── SERVICIOS: índice de filas ── */
.asc-services-header{margin-bottom:56px}
.asc-services-grid{display:block;background:none;border-top:1px solid var(--lx-border)}
.asc-service-card{display:grid;grid-template-columns:72px minmax(0,5fr) minmax(0,5fr) 56px;gap:24px;align-items:center;padding:34px 0;background:none;border-bottom:1px solid var(--lx-border);transition:padding .4s var(--lx-ease)}
.asc-service-card.asc-fade{transition:opacity .6s ease,transform .6s ease,padding .4s var(--lx-ease)}
.asc-service-card:hover,.asc-service-card:focus-visible{background:none;padding-left:16px}
.asc-service-card::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--lx-accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--lx-ease)}
.asc-service-card:hover::after,.asc-service-card:focus-visible::after{transform:scaleX(1)}
.asc-service-icon{display:none}
.asc-service-num{margin:0;font-size:15px;font-style:italic;letter-spacing:0;color:var(--silver)}
.asc-service-card h3{margin:0;font-weight:400;font-size:clamp(22px,2.6vw,34px)}
.asc-service-card p{margin:0;font-size:15px}
.asc-service-arrow{position:static;justify-self:end;font-size:22px;color:var(--silver)}
.asc-service-card:hover .asc-service-arrow{transform:translate(4px,-4px);color:var(--lx-accent)}

/* ── PROCESO: línea con puntos + escalera ascendente ── */
.asc-process-header{margin-bottom:24px}
.asc-process-grid{gap:0;background:none;border-top:1px solid var(--lx-border);margin-top:16px}
.asc-process-step{background:none;text-align:left;padding:28px 24px 0 0}
.asc-process-step::after,.asc-process-step:hover::after{top:-4px;right:auto;width:7px;height:7px;border-radius:50%;background:var(--lx-accent)}
.asc-step-num{font-size:15px;font-style:italic;font-weight:400;color:var(--silver);margin-bottom:6px}
.asc-process-step h3{font-weight:400;font-size:22px}
.asc-process-step p{color:var(--silver)}
.lx-stair{display:block;width:100%;height:110px;margin-top:24px}
.lx-ln{fill:none;stroke:var(--lx-accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}

/* ── CASOS: tira de cuatro columnas ── */
.asc-cases-grid{grid-template-columns:repeat(4,1fr);gap:0;background:none;border-top:1px solid var(--lx-border);border-left:1px solid var(--lx-border)}
.asc-case-card{background:none;padding:32px 28px;border-right:1px solid var(--lx-border);border-bottom:1px solid var(--lx-border)}
.asc-case-card:hover{background:none}
.asc-case-amount{font-weight:400;font-size:clamp(34px,3.6vw,52px);margin:16px 0 8px}

/* ── PÁGINAS INTERIORES ── */
.asc-page-hero{min-height:440px}
.asc-page-hero-bg img{filter:grayscale(1) brightness(.5)}
.asc-page-hero h1{font-weight:400;font-size:clamp(36px,5.6vw,72px);letter-spacing:-.01em}
.asc-page-hero::after{content:"";position:absolute;right:4%;top:32px;width:min(44vw,560px);aspect-ratio:8/5;z-index:1;pointer-events:none;opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 500'%3E%3Cpath d='M10 480 L150 360 L190 390 L280 300 L320 335 L410 215 L470 275 L520 245 L600 330 L650 290 L780 60 M731 95 L780 60 L775 120' fill='none' stroke='%23D4D6DC' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain}
.asc-product-card{background:transparent;border:0;border-bottom:1px solid var(--lx-border);padding:44px 0}
.asc-aside-panel{border-color:var(--lx-border-hover)}
.asc-mv-card p,.asc-contact-info h3{font-weight:400}

/* ── RESPONSIVE ── */
@media(max-width:1100px){.asc-cases-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .asc-hero-inner{padding:140px 24px 56px}
  .asc-diff-card.featured{border-left:0;border-top:1px solid var(--lx-border-hover)}
  .asc-service-card{grid-template-columns:48px 1fr 40px}
  .asc-service-card p{grid-column:2/3}
  .asc-service-arrow{grid-row:1;grid-column:3}
  .lx-stair{display:none}
  .lx-hero-art{width:90vw;opacity:.3}
  .asc-page-hero::after{opacity:.25;width:80vw}
  .asc-cases-grid{border-left:0}
  .asc-case-card{border-left:0}
}
@media(max-width:600px){.asc-cases-grid{grid-template-columns:1fr}}

/* ── ANIMACIÓN: la línea se dibuja una vez ── */
.lx-draw{fill:none;stroke:var(--lx-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:lx-draw 2.4s .3s var(--lx-ease) forwards}
.lx-thin{fill:none;stroke:var(--lx-border);stroke-width:1}
@keyframes lx-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.lx-draw{animation:none;stroke-dashoffset:0}.asc-service-card,.asc-service-card::after{transition:none}}

/* =========================================================
   AJUSTES v2: imágenes en B/N en TODO el sitio + menús unificados
   ========================================================= */
/* Las páginas interiores fijan el filtro con style="" en cada <img>,
   por eso se necesita !important para igualarlas. */
img[style*="object-fit"],
.asc-blog-card img,.asc-photo-strip img,.wp-post-image{filter:grayscale(1) brightness(.6) !important}
.asc-page-hero-bg img{filter:grayscale(1) brightness(.4) !important}

/* Encabezado y menú: mismo lenguaje que el inicio */
.asc-topbar{border-bottom:1px solid var(--lx-border)}
.asc-header{background:rgba(10,10,8,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--lx-border)}
.asc-nav-links a{font-size:13px;letter-spacing:.06em;padding:6px 0;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.asc-nav-links a:hover,
.asc-nav-links .current_page_item>a,
.asc-nav-links .current-menu-item>a{border-bottom-color:var(--lx-accent)}
.asc-nav-links .sub-menu{border-radius:0;background:var(--lx-surface);border:1px solid var(--lx-border)}
.asc-nav-links .sub-menu a{border-bottom:0;padding:12px 18px;letter-spacing:.04em}
.asc-nav-cta{background:transparent;border:1px solid var(--lx-border-hover);color:var(--silver-bright);border-radius:0;transition:background .3s,color .3s}
.asc-nav-cta:hover{background:var(--silver-bright);color:var(--black);border-color:var(--silver-bright)}
.asc-nav-links a:focus-visible,.asc-nav-cta:focus-visible,.asc-blog-cat-btn:focus-visible{outline:1px solid var(--lx-accent);outline-offset:3px}

/* Filtros del blog como pestañas con borde fino */
.asc-blog-cats{gap:8px}
.asc-blog-cat-btn{padding:9px 16px;border:1px solid var(--lx-border);color:var(--silver);transition:background .3s,color .3s,border-color .3s}
.asc-blog-cat-btn.active,.asc-blog-cat-btn:hover{background:var(--silver-bright);color:var(--black);border:1px solid var(--silver-bright)}