.iic-ess{max-width:1180px;margin:0 auto;padding:34px 16px}
.iic-ess__header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.iic-ess__title{font-size:28px;letter-spacing:.2px;margin:0;color:#0f172a}
.iic-ess__rule{height:4px;width:190px;border-radius:999px;background:linear-gradient(90deg,#0ea5e9,#2563eb,#a855f7);opacity:.85;margin-top:10px}

.iic-ess__layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}
@media(max-width:900px){.iic-ess__layout{grid-template-columns:1fr}.iic-ess__sidebar{display:none}}
.iic-ess__mobile{display:none}
@media(max-width:900px){.iic-ess__mobile{display:block;margin-bottom:14px}}
.iic-ess__mobileLabel{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(15,23,42,.7);margin-bottom:6px}
.iic-ess__select{width:100%;border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:12px 14px;background:#fff;font-weight:700}

.iic-ess__sidebar{position:sticky;top:18px;background:#fff;border:1px solid rgba(2,6,23,.08);border-radius:18px;padding:14px;box-shadow:0 16px 45px rgba(2,6,23,.06)}
.iic-ess__filter{width:100%;display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:14px;border:1px solid transparent;background:transparent;cursor:pointer;font-weight:800;color:#0f172a;text-align:left;transition:.2s}
.iic-ess__filter:hover{background:rgba(2,6,23,.04)}
.iic-ess__filter.is-active{background:rgba(2,6,23,.06);border-color:rgba(2,6,23,.10)}
.iic-ess__dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 4px rgba(15,23,42,.06)}
.iic-ess__sidebarHint{margin-top:12px;font-size:12px;color:rgba(15,23,42,.65);line-height:1.35}

.iic-ess__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:1100px){.iic-ess__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.iic-ess__grid{grid-template-columns:1fr}}

.iic-ess__card{--iicC1:#0f172a;--iicC2:#94a3b8;position:relative;display:block;text-decoration:none;border-radius:20px;overflow:hidden;background:linear-gradient(180deg, rgba(15,23,42,.96), rgba(2,6,23,.98));border:1px solid rgba(2,6,23,.10);box-shadow:0 18px 55px rgba(2,6,23,.18);transform:translateZ(0);transition:transform .28s ease, box-shadow .28s ease}
.iic-ess__cardTop{height:4px;background:linear-gradient(90deg,var(--iicC2),var(--iicC1))}
.iic-ess__card::after{content:"";position:absolute;inset:0;background:radial-gradient(650px at 18% 18%, rgba(255,255,255,.12), transparent 60%);opacity:0;transition:.35s}
.iic-ess__card:hover{transform:translateY(-8px);box-shadow:0 26px 85px rgba(2,6,23,.24)}
.iic-ess__card:hover::after{opacity:1}

.iic-ess__cardBody{padding:18px 18px 16px}
.iic-ess__code{font-size:18px;font-weight:900;color:#fff;letter-spacing:.2px}
.iic-ess__subtitle{margin-top:8px;color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.9px;text-transform:uppercase;line-height:1.35}
.iic-ess__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.iic-ess__pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.92);font-size:12px}
.iic-ess__pill--ghost{background:transparent}
.iic-ess__card.is-hidden{display:none}

/* Estado de especialidad activa: suaviza el fondo del grid con un tinte sutil */
.iic-ess[data-active="all"] .iic-ess__grid{background:transparent}
.iic-ess[data-active] .iic-ess__grid{border-radius:18px}

/* v3.2 refinements */
.iic-ess__filter{justify-content:flex-start}
.iic-ess__dot{width:8px;height:8px}
