/* Directorio corporativo · Empresas / Sobre nosotros */
.dir{
  min-height:100vh;
  color:var(--charcoal,#f2f3f4);
  background:#06080A;
}
[data-theme="light"] .dir{
  background:#eceae8;
  color:#1a1b1d;
}
.dir__bar{
  display:flex;align-items:center;justify-content:flex-end;
  width:min(1120px, 100% - 64px);
  margin:0 auto;
  padding:calc(22px + 52px) 0 18px;
}
.dir__back{
  display:inline-flex;align-items:center;min-height:40px;padding:0 14px;
  border:1px solid rgba(255,255,255,.22);
  color:inherit;text-decoration:none;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;
}
[data-theme="light"] .dir__back{border-color:rgba(26,27,29,.18)}
.dir__back:hover{border-color:rgba(255,255,255,.5)}
[data-theme="light"] .dir__back:hover{border-color:rgba(26,27,29,.4)}

.dir__in{
  width:min(1120px, 100% - 64px);
  margin:0 auto;
  padding:clamp(28px, 5vh, 56px) 0 clamp(72px, 10vh, 120px);
}
.dir__kicker{
  margin:0 0 12px;
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.dir__kicker::before{
  content:"";display:block;width:48px;height:2px;
  background:var(--orange,#FF6600);margin-bottom:12px;
}
.dir__title{
  margin:0 0 14px;
  max-width:16ch;
  font:650 clamp(34px, 5.4vw, 64px)/1.05 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.045em;
}
.dir__lead{
  margin:0 0 clamp(28px, 4vh, 44px);
  max-width:48ch;
  font:400 16px/1.55 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.68);
}
[data-theme="light"] .dir__lead{color:rgba(26,27,29,.68)}

.dir__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.dir__card{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin:0;
  padding:clamp(18px, 2.4vh, 24px);
  border:1px solid rgba(255,255,255,.12);
  background:#0a0c0f;
  text-decoration:none;
  color:inherit;
  transition:
    border-color .22s ease,
    background .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}
[data-theme="light"] .dir__card{
  border-color:rgba(26,27,29,.12);
  background:#f7f6f4;
}
.dir__card:hover,
.dir__card:focus-visible{
  border-color:var(--orange,#FF6600);
  background:#101317;
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
  outline:none;
}
[data-theme="light"] .dir__card:hover,
[data-theme="light"] .dir__card:focus-visible{
  background:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.1);
}
.dir__card-media{
  position:relative;
  margin:0;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#0d1013;
}
.dir__card-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.04) brightness(.92) saturate(.78);
  transition:transform .45s ease, filter .3s ease;
}
.dir__card:hover .dir__card-media img,
.dir__card:focus-visible .dir__card-media img{
  transform:scale(1.03);
  filter:contrast(1.05) brightness(.97) saturate(.9);
}
.dir__card-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.dir__card-logo{
  width:40px;height:40px;object-fit:contain;border-radius:8px;
  background:rgba(255,255,255,.04);
}
.dir__card-tag{
  margin:0;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.dir__card-name{
  margin:0;
  font:650 clamp(22px, 2.4vw, 30px)/1.1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.03em;
}
.dir__card-desc{
  margin:0;
  flex:1 1 auto;
  font:400 14px/1.5 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.68);
}
[data-theme="light"] .dir__card-desc{color:rgba(26,27,29,.68)}
.dir__card-cta{
  margin:4px 0 0;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
  color:#fff;
}
[data-theme="light"] .dir__card-cta{color:#1a1b1d}
.dir__card-cta span{
  display:inline-block;
  border-bottom:1px solid rgba(255,102,0,.7);
  padding-bottom:3px;
}

.dir__prose{
  display:grid;
  gap:clamp(28px, 4vh, 40px);
  max-width:68ch;
}
.dir__prose h2{
  margin:0 0 10px;
  font:650 clamp(22px, 2.6vw, 30px)/1.15 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.03em;
}
.dir__prose p{
  margin:0;
  font:400 16px/1.6 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.72);
}
[data-theme="light"] .dir__prose p{color:rgba(26,27,29,.72)}
.dir__facts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin:clamp(36px, 5vh, 56px) 0 0;
}
.dir__fact{
  padding:clamp(18px, 2.4vh, 26px);
  border:1px solid rgba(255,255,255,.12);
  background:#0a0c0f;
}
[data-theme="light"] .dir__fact{
  border-color:rgba(26,27,29,.12);
  background:#f7f6f4;
}
.dir__fact dt{
  margin:0 0 8px;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.dir__fact dd{
  margin:0;
  font:550 18px/1.25 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.02em;
}
.dir__cta-row{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  margin-top:clamp(36px, 5vh, 52px);
}

@media (max-width:820px){
  .dir__bar,.dir__in{width:min(1120px, 100% - 40px)}
  .dir__grid{grid-template-columns:1fr}
  .dir__facts{grid-template-columns:1fr}
}
@media (max-width:560px){
  .dir__bar,.dir__in{width:min(1120px, 100% - 28px)}
  .dir__title{max-width:none}
}
