/*
Theme Name: Alvero & Asociados — Contacto corregido Noviembre
Theme URI: https://example.com/
Author: Proyecto Alvero
Description: Tema WordPress personalizado basado en el diseño aprobado de Alvero & Asociados.
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: alvero
*/
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Semi+Condensed:wght@400;500;600;700&display=swap');
:root{--black:#0d0d0d;--cream:#D6D6CF;--brown:#44302C;--sky:#B7CDE2;--white:#f4f2ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:'Barlow Semi Condensed',Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.display{font-family:'Bebas Neue',sans-serif;text-transform:uppercase;line-height:.88;letter-spacing:.01em}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.nav{height:76px;background:var(--black);border-bottom:1px solid #ffffff24;display:flex;align-items:center;position:sticky;top:0;z-index:50}.navin{display:flex;align-items:center;justify-content:space-between;width:100%}.brand{font-family:Georgia,serif;font-weight:700;font-size:20px}.links{display:flex;gap:28px;align-items:center;text-transform:uppercase;font-size:13px;letter-spacing:.12em}.links a:hover,.links .active{color:var(--sky)}.cta{background:var(--sky);color:var(--black);padding:12px 18px;font-weight:700}.hero{min-height:calc(100vh - 76px);position:relative;display:flex;align-items:flex-end;background:linear-gradient(90deg,#000b,#0002),url('assets/hero-oct2026.jpg') center/cover}.hero .wrap{padding:70px 0}.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky);margin-bottom:18px}.hero h1{font-size:clamp(72px,12vw,168px);max-width:900px;margin-bottom:20px}.hero h1 span{color:var(--sky)}.lead{font-size:clamp(20px,2vw,28px);max-width:650px}.values{background:var(--sky);color:var(--black);padding:26px 0;overflow:hidden}.valuesline{font-size:clamp(38px,6vw,82px);white-space:nowrap}.section{padding:100px 0}.cream{background:var(--cream);color:var(--black)}.brown{background:var(--brown)}.sky{background:var(--sky);color:var(--black)}.section-title{font-size:clamp(58px,8vw,110px);margin-bottom:40px}.introgrid,.split{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.bigcopy{font-size:clamp(30px,4vw,54px);line-height:1.02}.photo{width:100%;height:580px;object-fit:cover;filter:grayscale(100%)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{min-height:260px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ffffff2b}.card:nth-child(2n){background:var(--sky);color:var(--black)}.card:nth-child(3n){background:var(--brown)}.num{font-size:14px;letter-spacing:.15em}.card h3{font-size:38px;margin:20px 0}.arrow{font-size:28px}.button{display:inline-block;padding:14px 20px;border:1px solid currentColor;text-transform:uppercase;font-weight:700;letter-spacing:.08em}.footer{padding:58px 0;background:#050505;border-top:1px solid #ffffff24}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer h3{font-size:42px}.footer small{opacity:.65}.pagehero{padding:100px 0 70px;background:var(--cream);color:var(--black)}.pagehero h1{font-size:clamp(80px,12vw,170px);margin-bottom:24px}.pagehero p{font-size:26px;max-width:780px}.service-row{display:grid;grid-template-columns:90px 1fr 70px;gap:25px;align-items:center;padding:34px 0;border-top:1px solid #ffffff40}.service-row h2{font-size:clamp(38px,5vw,68px);margin:0}.service-row:hover{color:var(--sky)}.team{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.person{padding:34px;background:var(--cream);color:var(--black);min-height:260px}.person:nth-child(2),.person:nth-child(3){background:var(--sky)}.person h2{font-size:50px;margin-bottom:8px}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.form input,.form textarea,.form select{width:100%;background:transparent;border:0;border-bottom:1px solid #000;padding:15px 0;margin-bottom:22px;font:inherit;color:#000}.form textarea{min-height:120px}.form button{background:var(--black);color:var(--cream);border:0;padding:16px 24px;font-weight:700}.editorial{position:relative}.editorial img{width:100%;height:620px;object-fit:cover}.editorial .label{position:absolute;bottom:0;left:0;background:var(--sky);color:var(--black);padding:24px 32px;font-size:44px}.popup{display:none;position:fixed;inset:0;background:#000b;z-index:100;align-items:center;justify-content:center;padding:24px}.popup.open{display:flex}.popupbox{max-width:620px;background:var(--sky);color:var(--black);padding:46px;position:relative}.popupbox h2{font-size:58px}.close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:30px}.actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.actions a,.actions button{padding:13px 18px;border:1px solid #000;background:none;font:inherit;font-weight:700}.actions a{background:#000;color:var(--cream)}@media(max-width:800px){.links{gap:12px}.links .cta{display:none}.introgrid,.split,.contactgrid,.footergrid{grid-template-columns:1fr}.cards,.team{grid-template-columns:1fr}.hero h1{font-size:76px}.photo,.editorial img{height:420px}.service-row{grid-template-columns:50px 1fr 30px}.wrap{width:min(100% - 28px,1180px)}}
/* Ajustes solicitados 23/09 */
.nav .wrap{width:min(1180px,calc(100% - 64px));}
.cards .card{background:var(--cream);color:var(--black);border-color:#0002;}
.cards .card:nth-child(2),.cards .card:nth-child(3),.cards .card:nth-child(6){background:var(--sky);color:var(--black);}
.cards .card:nth-child(4),.cards .card:nth-child(5){background:var(--cream);color:var(--black);}
.editorial::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0008 0%,#0001 65%);pointer-events:none}
.editorial .label{z-index:2;left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);width:100%;text-align:center;background:transparent;color:var(--cream);padding:24px;font-size:clamp(64px,10vw,150px);text-shadow:0 3px 20px #0009;}
.service-item{border-top:1px solid #ffffff40}.service-item:last-child{border-bottom:1px solid #ffffff40}.service-row{width:100%;border:0;background:none;color:var(--cream);text-align:left;cursor:pointer;font:inherit}.service-row:hover{color:var(--sky)}.service-toggle{font-size:34px;text-align:right}.service-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;background:var(--cream);color:var(--black)}.service-detail p{overflow:hidden;margin:0;padding:0 165px 0 115px;font-size:20px;line-height:1.45;transition:padding .35s ease}.service-item.open .service-detail{grid-template-rows:1fr}.service-item.open .service-detail p{padding-top:26px;padding-bottom:30px}.service-item.open .service-row{color:var(--sky)}
.person{padding:0;overflow:hidden;display:grid;grid-template-columns:42% 58%;min-height:340px}.person-photo{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:top}.person-copy{padding:34px}.person:nth-child(2),.person:nth-child(3){background:var(--sky)}
@media(max-width:800px){.nav .wrap{width:min(100% - 28px,1180px)}.brand{font-size:16px}.links>a:not(.cta){display:none}.links .cta{display:block}.editorial .label{font-size:clamp(54px,16vw,90px)}.service-detail p{padding-left:20px;padding-right:20px}.person{grid-template-columns:1fr}.person-photo{height:420px}.person-copy{padding:26px}}
/* Ajustes solicitados 23/09 - segunda ronda */
.form input,.form textarea,.form select{color:var(--brown);border-bottom-color:var(--brown)}
.form input::placeholder,.form textarea::placeholder{color:var(--brown);opacity:1}
.form select{color:var(--brown)}
.cards .card:nth-child(1),.cards .card:nth-child(3),.cards .card:nth-child(5){background:var(--cream);color:var(--black)}
.cards .card:nth-child(2),.cards .card:nth-child(4),.cards .card:nth-child(6){background:var(--sky);color:var(--black)}
/* Ajustes 23-09: escala de landing + iconografía de servicios */
.hero h1{font-size:clamp(64px,9.5vw,138px)}
.valuesline{font-size:clamp(30px,4.7vw,64px)}
.card{position:relative}
.card .mini-icon{position:absolute;right:24px;top:24px;width:30px;height:30px;opacity:.72}
.card .mini-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.card .num{padding-right:44px}
@media(max-width:800px){.hero h1{font-size:clamp(58px,18vw,76px)}.valuesline{font-size:clamp(26px,8vw,38px)}}

/* Ajustes 24-09: hero, valores e iconografía */
.hero h1{font-size:clamp(60px,8.8vw,128px);max-width:920px;line-height:.82}
.hero h1 span{display:inline-block;margin-top:.08em}
.values{padding:32px 0}
.values .wrap{display:flex;justify-content:center}
.valuesline{width:100%;font-size:clamp(20px,2.35vw,34px);white-space:normal;text-align:center;letter-spacing:.075em;word-spacing:.55em;line-height:1.25}
.card .mini-icon{right:28px;top:auto;bottom:26px;width:54px;height:54px;opacity:1}
.card .mini-icon svg{stroke-width:2.4}
.card .arrow{align-self:flex-start}
@media(max-width:800px){.hero h1{font-size:clamp(54px,16vw,72px)}.valuesline{font-size:clamp(17px,5.5vw,25px);word-spacing:.25em;line-height:1.5}.card .mini-icon{width:46px;height:46px;right:22px;bottom:22px}}

/* Logo + navegación */
.brand{display:flex;align-items:center;color:#fff}
.brand img{display:block;width:190px;max-height:48px;object-fit:contain;object-position:left center}
.links a{color:#fff}
.links a:hover,.links .active{color:var(--sky)}
.links .cta{color:var(--black)}
.footer-logo{display:block;width:230px;max-width:100%;height:auto;margin-bottom:18px}
@media(max-width:800px){.brand img{width:155px;max-height:42px}.footer-logo{width:190px}}

/* Brand lockup: symbol + name */
.brand{gap:12px;white-space:nowrap}
.brand img{width:44px;height:44px;object-fit:contain}
.brand span{font-family:Georgia,serif;font-weight:700;font-size:20px;letter-spacing:.01em;color:#fff}
.footer-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.footer-brand .footer-logo{width:54px;height:54px;object-fit:contain;margin:0}
.footer-brand span{font-family:Georgia,serif;font-weight:700;font-size:22px;color:var(--cream);white-space:nowrap}
@media(max-width:800px){.brand{gap:8px}.brand img{width:34px;height:34px}.brand span{font-size:15px}.footer-brand .footer-logo{width:44px;height:44px}.footer-brand span{font-size:18px}}

/* WordPress / Astra + Elementor parity pass — 24/09
   La maqueta usa únicamente patrones replicables con Elementor Free:
   contenedores flex/grid, headings, texto, imagen, botones y accordion. */
:root{
  --content-width:1180px;
  --section-space:88px;
  --container-gap:14px;
}
.wrap{width:min(var(--content-width),calc(100% - 48px))}
.section{padding:var(--section-space) 0}

/* Header: dimensiones fáciles de reproducir con Astra Header Builder */
.nav{height:80px}
.nav .wrap{width:min(var(--content-width),calc(100% - 64px))}
.brand img{width:40px;height:40px}
.brand span{font-size:19px}
.links{gap:30px}
.links .cta{padding:13px 20px}

/* Hero: sección min-height + background cover, sin posicionamientos raros */
.hero{min-height:720px;align-items:flex-end;background-position:center center}
.hero .wrap{padding:72px 0}
.hero h1{font-size:clamp(64px,8.2vw,118px);line-height:.86;max-width:820px}
.hero h1 span{margin-top:.12em}
.lead{max-width:610px}

/* Valores: 4 headings independientes, replicables con un container horizontal */
.values{padding:28px 0}
.values-grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;text-align:center;gap:30px}
.value-item{font-family:'Bebas Neue',sans-serif;text-transform:uppercase;font-size:clamp(21px,2.1vw,31px);letter-spacing:.09em;line-height:1.1}

/* Cards: container 3 columnas + containers internos */
.cards{gap:var(--container-gap)}
.card{min-height:280px;padding:30px}
.card h3{font-size:36px;max-width:85%}

/* Bloques institucionales: 2 containers 50/50 */
.split{grid-template-columns:1fr 1fr;gap:46px}
.photo{height:540px}

/* Imagen editorial: heading superpuesto centrado con container absoluto */
.editorial img{height:560px}
.editorial .label{font-size:clamp(58px,8vw,116px);padding:30px}

/* Footer: columnas simples, igual al Footer Builder/Elementor */
.footer{padding:52px 0}

/* Servicios: apariencia alineada con Accordion nativo de Elementor */
.services-accordion{border-bottom:1px solid #ffffff40}
.service-item{border-top:1px solid #ffffff40}
.service-row{grid-template-columns:70px 1fr 44px;padding:30px 0}
.service-row h2{font-size:clamp(36px,4.4vw,62px)}
.service-detail p{padding-left:95px;padding-right:95px}
.service-item.open .service-detail p{padding-top:24px;padding-bottom:28px}

/* Team: cards estándar 2 columnas, imagen arriba + contenido abajo.
   Esto evita layouts complejos y se replica 1:1 con containers de Elementor. */
.team{grid-template-columns:repeat(2,1fr);gap:16px}
.person{display:flex;flex-direction:column;min-height:0}
.person-photo{width:100%;height:390px;min-height:0;object-fit:cover;object-position:top}
.person-copy{padding:30px;min-height:190px}
.person h2{font-size:46px}

/* Contacto: campos estándar de formulario */
.contactgrid{gap:52px}


@media(max-width:800px){
  :root{--section-space:64px}
  .nav .wrap{width:min(100% - 28px,var(--content-width))}
  .hero{min-height:620px}
  .hero .wrap{padding:54px 0}
  .values-grid{grid-template-columns:repeat(2,1fr);gap:22px 16px}
  .value-item{font-size:23px}
  .cards,.team{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .photo{height:420px}
  .service-row{grid-template-columns:44px 1fr 34px}
  .service-detail p{padding-left:20px;padding-right:20px}
  .person-photo{height:420px}
}

/* Ajuste retratos del equipo: formato replicable en Elementor (4:5) y rostro visible */
.person-photo{
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center 18%;
  display:block;
}
@media(max-width:800px){
  .person-photo{aspect-ratio:4 / 5;object-position:center 15%;}
}

/* WordPress theme adjustments */
body{margin:0} .nav .links a:not(.cta){color:#fff} .nav .links a:not(.cta):hover{color:#B7CDE2}

.service-item{scroll-margin-top:120px}

/* Actualización integral octubre: equipo, imágenes y mobile */
.team{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:stretch}
.person{display:flex;flex-direction:column;min-width:0;background:var(--cream);color:var(--black)}
.person:nth-child(2),.person:nth-child(3){background:var(--sky)}
.person-photo{width:100%;height:205px;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 20%;filter:none}
.person-copy{padding:18px 16px 20px;min-height:0;flex:1}
.person h2{font-size:clamp(25px,2.1vw,35px);line-height:1;margin:9px 0}
.person-copy p{font-size:14px;line-height:1.35;margin:0}
.person-copy .eyebrow{font-size:10px;letter-spacing:.08em;color:var(--brown);margin-bottom:6px}
@media(max-width:1100px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}.person-photo{height:260px}}
@media(max-width:600px){.team{grid-template-columns:1fr}.person-photo{height:330px}.person-copy{padding:22px}.person h2{font-size:38px}}
@media(max-width:800px){.nav{height:auto;min-height:68px}.navin{gap:10px}.brand{min-width:0;flex:1}.brand span{font-size:clamp(12px,3.2vw,16px);white-space:nowrap}.brand img{width:27px;height:27px;flex-shrink:0}.links{flex-shrink:0}.links .cta{padding:11px 10px;font-size:11px;letter-spacing:.06em}.hero h1{font-size:clamp(48px,12vw,72px)}.hero .lead{font-size:21px}.hero{min-height:610px}}
@media(max-width:380px){.brand span{font-size:11px}.links .cta{font-size:10px;padding:10px 8px}}

/* Imágenes y espacios del estudio - octubre */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.05)),url('assets/hero-oct2026.jpg')!important}
.estudio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.estudio-grid figure{margin:0}.estudio-grid img{width:100%;height:310px;object-fit:cover;display:block}.estudio-grid figcaption{padding:12px 0;font-size:17px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.estudio-gallery p{max-width:660px;font-size:21px}.split .photo{filter:none}
@media(max-width:800px){.estudio-grid{grid-template-columns:1fr}.estudio-grid img{height:340px}}

/* Galería del estudio: tres fotos en una fila, sin epígrafes */
.estudio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.estudio-grid figure{margin:0;min-width:0}.estudio-grid img{width:100%;height:clamp(210px,24vw,340px);object-fit:cover;display:block}.estudio-grid figcaption{display:none!important}@media(max-width:700px){.estudio-grid{grid-template-columns:1fr;gap:14px}.estudio-grid img{height:300px}}

/* Actualización hero y galería de cuatro imágenes */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08)),url('assets/hero-nuevo-15oct.jpg')!important;background-position:center center}
.estudio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.estudio-grid img{height:clamp(180px,19vw,265px);object-fit:cover}
@media(max-width:700px){.estudio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.estudio-grid img{height:190px}}

/* Mobile 15/10: navegación accesible y fotografía exclusiva */
.mobile-menu-toggle{display:none}
@media(max-width:800px){
 .nav{height:70px;min-height:70px}
 .navin{position:relative;gap:12px}
 .nav .wrap{width:calc(100% - 32px)}
 .brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
 .brand span{font-size:clamp(11px,3.4vw,17px);white-space:nowrap}
 .mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:44px;flex-shrink:0;background:transparent;border:1px solid #ffffff75;border-radius:0;cursor:pointer;padding:8px}
 .mobile-menu-toggle span{display:block;width:23px;height:2px;background:var(--cream);transition:transform .2s,opacity .2s}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .nav .links{display:none;position:absolute;top:calc(100% + 13px);left:-16px;right:-16px;background:#0d0d0d;border:1px solid #ffffff30;box-shadow:0 16px 24px #0007;padding:10px 16px 16px;z-index:100;flex-direction:column;align-items:stretch;gap:0}
 .nav .links.is-open{display:flex}
 .nav .links>a:not(.cta),.nav .links .cta{display:block;font-size:16px;letter-spacing:.12em;padding:15px 12px;border-bottom:1px solid #ffffff28;text-align:left}
 .nav .links .cta{margin-top:12px;background:var(--sky);color:var(--black);border-bottom:0}
 .hero{background-image:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.13)),url('assets/hero-mobile-oct2026.jpg')!important;background-position:center center!important;min-height:calc(100svh - 70px)}
 .hero h1{font-size:clamp(49px,12vw,72px)}
}
@media(max-width:360px){.brand span{font-size:10px}.brand img{width:24px;height:24px}}


/* Ajustes 29/10: tarjetas desktop, valores y servicios mobile */
.cards .card{border-radius:12px;transition:transform .3s ease,box-shadow .3s ease;will-change:transform}
.cards .card .arrow{transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){
 .cards .card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(0,0,0,.24)}
 .cards .card:hover .arrow{transform:translate(4px,-4px)}
}
@media(max-width:800px){
 .values{padding:22px 0}
 .values .wrap{width:calc(100% - 20px)}
 .values-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;align-items:center}
 .value-item{font-size:clamp(12px,3.3vw,22px)!important;letter-spacing:0!important;white-space:nowrap}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cards .card{min-height:210px;padding:14px;min-width:0;border-radius:10px}
 .cards .card h3{font-size:clamp(20px,5.1vw,34px);line-height:.96;overflow-wrap:break-word;margin:12px 0 26px}
 .cards .card .num{font-size:12px}
 .cards .card .mini-icon{width:30px;height:30px;right:12px;bottom:12px}
 .cards .card .arrow{font-size:22px}
}
@media(max-width:380px){.value-item{font-size:clamp(10px,3.05vw,13px)!important}.cards .card{padding:12px;min-height:190px}}
@media(prefers-reduced-motion:reduce){.cards .card,.cards .card .arrow{transition:none!important}}
.alvero-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-feedback{padding:14px 18px;margin:0 0 22px;border:1px solid currentColor;font-weight:600}
.form-error{color:#762f24}

/* v2.3: refuerzo de estilos responsive del tema independiente */
@media (min-width: 801px) {
  .cards > a.card {border-radius:12px;}
}
@media (hover:hover) and (pointer:fine) {
  .cards > a.card:hover, .cards > a.card:focus-visible {transform:translateY(-5px);box-shadow:0 14px 28px rgba(0,0,0,.24);}
  .cards > a.card:hover .arrow, .cards > a.card:focus-visible .arrow {transform:translate(4px,-4px);}
}
@media (max-width:800px) {
  .values .wrap .values-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;}
  .values .wrap .values-grid .value-item {min-width:0;font-size:clamp(10px,2.9vw,18px)!important;letter-spacing:0!important;white-space:nowrap;text-align:center;}
  .section .wrap .cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .section .wrap .cards > a.card {min-width:0;min-height:205px;padding:13px;border-radius:10px;}
  .section .wrap .cards > a.card h3 {font-size:clamp(18px,4.9vw,30px);line-height:1;max-width:100%;overflow-wrap:anywhere;}
}


/* Único ajuste 05/11: botón Contacto en navegación */
.nav .links a.cta {
  border-radius: 12px;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.nav .links a.cta:hover,
.nav .links a.cta:focus-visible {
  background-color: #D6D6CF;
  color: #0D0D0D;
  transform: translateY(-2px);
}

/* Prioridad para el hover del botón Contacto en escritorio */
@media (hover: hover) {
  .nav .links a.cta:hover, .nav .links a.cta:focus-visible {background: #D6D6CF !important; color: #0D0D0D !important; transform: translateY(-2px);}
}
