/* Contraste WCAG AA + imágenes */
.marfil,.block.marfil{background:#F5F2EC;color:#1A1A1A}
.marfil h2,.marfil h3,.marfil h4,.marfil summary,.marfil strong,.marfil th,.marfil td,.marfil .answer{color:#1A1A1A}
.marfil p,.marfil li,.marfil details p,.marfil .faq p{color:#3F3A33}
.marfil a{color:#6E5220}
.marfil a:hover{color:#1A1A1A}
.marfil .eyebrow,.marfil .gold{color:#6E5220}
.marfil summary::after{color:#6E5220}
.marfil details{border-color:rgba(26,26,26,.18)}
.marfil .tbl th{background:#E9E2D3}
.faq summary,details summary{color:#fff}
.marfil .faq summary,.marfil details summary{color:#1A1A1A}
.faq details p{color:#C9C3B9}
.marfil .faq details p{color:#3F3A33}
.tbl th,.tbl td{color:inherit}
.pimg{margin:0}
.pimg img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border:1px solid rgba(184,150,90,.35);filter:none}
.pimg-band{background:#161616;padding:34px 0 8px}
.pimg-wrap{padding-top:40px;padding-bottom:40px}
@media (max-width:700px){.pimg img{max-height:240px}.pimg-band{padding:20px 0 0}}
.promesa .eyebrow,.proceso .eyebrow,.proceso .sn{color:#6E5220!important}
.stage .lede a{color:#D4AE7A}
.stage a.cta{background:#B8965A;color:#1A1A1A}

.phimg{margin:28px 0 0}
.phimg img{border:1px solid rgba(184,150,90,.55);border-radius:6px;box-shadow:0 0 0 6px rgba(184,150,90,.08)}
@media (min-width:1024px){.hgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.hgrid .phimg{margin:0}.hgrid .phimg img{aspect-ratio:4/5;max-height:520px;height:100%;object-fit:cover}
.hero .hgrid{position:relative;z-index:2}}

/* v9: área táctil mínima 24px en enlaces del pie (WCAG 2.5.8) */
.foot-links a{display:inline-block;padding:6px 4px;min-height:24px;line-height:1.2}
.rel a{min-height:24px;padding:4px 0}

/* v22: navegación compacta + movimiento sutil */
@media (max-width:1280px) and (min-width:881px){.navlinks{gap:22px}.navlinks a{letter-spacing:.06em;white-space:nowrap}nav{padding-left:32px;padding-right:32px}}
.navlinks a{white-space:nowrap}
nav{transition:box-shadow .4s ease,background .5s ease,padding .5s ease}
nav.shadow{box-shadow:0 10px 30px rgba(0,0,0,.35)}
html{scroll-padding-top:96px}
.reveal{opacity:1;transform:none}
.card,.btn,.pimg img,.ctabox,.rel a{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,background .35s ease,border-color .35s ease,color .3s ease}
.pimg{overflow:hidden;border-radius:6px}
@media (prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
 .rv.in{opacity:1;transform:none}
 .card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
 .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
 .pimg:hover img{transform:scale(1.035)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media (max-width:1180px) and (min-width:881px){html[lang="en"] .navlinks{gap:15px}html[lang="en"] .navlinks a{font-size:11px;letter-spacing:.04em}html[lang="en"] .navlinks .cta{padding:9px 14px}html[lang="en"] nav .logo img{width:128px;height:auto}html[lang="en"] nav{padding-left:24px;padding-right:24px}}
@media (max-width:1180px) and (min-width:881px){.navlinks{gap:15px}.navlinks a{font-size:11px;letter-spacing:.04em}.navlinks .cta{padding:9px 14px}nav .logo img{width:128px;height:auto}nav,nav.home,nav.home.scrolled{padding-left:24px;padding-right:24px}}
@media (max-width:980px) and (min-width:881px){.navlinks{gap:11px}.navlinks a{font-size:10.5px;letter-spacing:.02em}}
.clientes{background:var(--marfil);padding:38px 0 42px;border-bottom:1px solid var(--linea)}.clientes .eyebrow{display:block;text-align:center;color:#5c5750;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px;font-family:inherit;font-weight:500}.clientes .logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 64px}.clientes .logos li{display:flex;align-items:center;justify-content:center;height:60px}.clientes .logos img{display:block;max-width:100%;height:auto;filter:grayscale(1);opacity:.72;transition:filter .35s ease,opacity .35s ease}.clientes .logos li:hover img{filter:none;opacity:1}@media (max-width:600px){.clientes .logos{gap:22px 36px}.clientes .logos img[src*="tevko"]{width:170px}.clientes .logos img[src*="temisa"]{width:150px}}
@media (prefers-reduced-motion:no-preference){@keyframes snzfade{from{opacity:0}to{opacity:.72}}.clientes .logos img{animation:snzfade .9s ease both}.clientes .logos li:nth-child(2) img{animation-delay:.12s}.clientes .logos li:nth-child(3) img{animation-delay:.24s}.clientes .logos li:hover img{animation:none}}
/* v25 EN practice-areas dropdown */
.navlinks .dd{position:relative}
.navlinks .ddbtn{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--marfil);opacity:.78;transition:opacity .3s,color .3s;white-space:nowrap}
.navlinks .ddbtn::after{content:"";display:inline-block;width:5px;height:5px;margin-left:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.navlinks .ddbtn:hover,.navlinks .ddbtn.active,.navlinks .dd.open .ddbtn{opacity:1;color:var(--dorado-claro)}
.navlinks .ddbtn:focus-visible{outline:1px solid var(--dorado);outline-offset:4px}
.navlinks .ddmenu{display:none;position:absolute;top:100%;left:-20px;padding-top:18px;min-width:250px;z-index:120}
.navlinks .ddmenu::before{content:"";position:absolute;inset:18px 0 0;background:#141414;border:1px solid rgba(184,150,90,.35);box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:-1}
.navlinks .dd:hover .ddmenu,.navlinks .dd.open .ddmenu{display:block}
.navlinks .ddmenu a{display:block;padding:10px 20px;font-size:12px;letter-spacing:.06em;opacity:.85}
.navlinks .ddmenu a:first-child{margin-top:8px}.navlinks .ddmenu a:last-child{margin-bottom:8px}
.navlinks .ddmenu a[aria-current="page"]{color:var(--dorado-claro);opacity:1}
@media (max-width:1180px) and (min-width:881px){.navlinks .ddbtn{font-size:11px;letter-spacing:.04em}}
html[lang="en"] .mobilemenu{justify-content:flex-start;overflow-y:auto;padding-top:92px;padding-bottom:32px}
html[lang="en"] .mobilemenu a{font-size:24px;padding:10px 0}
