/* ============================================================
   BIM Forum Chile v10.2 — CSS layer
   PageHead dramático · Socios jerárquico · Countdown · Fixes
   ============================================================ */

/* ── PageHead con imagen ──────────────────────────────────── */
.pgh--withbg {
  padding: clamp(7rem,14vw,12rem) 0 clamp(4rem,7vw,6rem);
  background: transparent !important;
  border-bottom: 0 !important;
  overflow: hidden;
}
.pgh__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.06); transition: transform 10s ease-out;
}
.pgh__bg.loaded { transform: scale(1); }
.pgh__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(130deg,
    rgba(7,15,26,.95) 0%,
    rgba(11,35,70,.88) 55%,
    rgba(1,50,110,.72) 100%);
}
.pgh__grain {
  position: absolute; inset: 0; opacity: .025; pointer-events: none;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjU2IDI1NicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPSc0JyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI24pJyBvcGFjaXR5PScxJy8+PC9zdmc+");
  background-size: 200px 200px;
}
.pgh__hex-r {
  position: absolute; right: -3%; top: 50%; transform: translateY(-52%);
  width: clamp(180px,26vw,380px); aspect-ratio: .866;
  border: 1.5px solid rgba(85,187,235,.1);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  animation: hexFloat 10s ease-in-out infinite;
}
.pgh__hex-sm {
  position: absolute; right: 18%; top: -14%;
  width: clamp(70px,9vw,130px); aspect-ratio: .866;
  background: rgba(1,117,201,.07);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  animation: hexFloat 7s ease-in-out infinite; animation-delay: -4s;
}
.pgh__hex-xs {
  position: absolute; left: 55%; bottom: -8%;
  width: 60px; aspect-ratio: .866;
  border: 1px solid rgba(243,146,0,.15);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  animation: hexFloat 13s ease-in-out infinite; animation-delay: -7s;
}
.pgh__content { position: relative; z-index: 2; }
.pgh--withbg h1  { color: #fff; }
.pgh--withbg .lede { color: rgba(255,255,255,.65); }
.pgh--withbg .crumbs { color: rgba(255,255,255,.35); }
.pgh--withbg .crumbs .cur { color: var(--p1); }
.pgh--withbg .crumbs button { color: rgba(255,255,255,.35) !important; }
.pgh--withbg .crumbs .sep  { color: rgba(255,255,255,.18) !important; }
.pgh__accent-line {
  width: 52px; height: 3px; border-radius: 2px; margin: 1.5rem 0 1.75rem;
  background: linear-gradient(90deg, var(--c1), var(--cta));
}
.pgh__stats-strip {
  display: flex; gap: 2.5rem; flex-wrap: wrap;
  margin-top: 2.5rem; padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.1);
}
.pgh__stat { display: flex; flex-direction: column; gap: 3px; }
.pgh__stat-n { font-family: var(--f-d); font-weight: 700; font-size: 1.75rem; color: #fff; line-height: 1; }
.pgh__stat-l { font-family: var(--f-d); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.4); }

/* ── Tier separator ──────────────────────────────────────── */
.tier-sep {
  display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2.5rem;
}
.tier-sep__badge {
  display: inline-flex; align-items: center; gap: .65rem; flex-shrink: 0;
  font-family: var(--f-d); font-weight: 700; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase;
  padding: .55rem 1.1rem .55rem .8rem; border-radius: 99px;
}
.tier-sep__badge::before {
  content: ''; width: 16px; height: 18px;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  flex-shrink: 0;
}
.tier-sep--platinum .tier-sep__badge { background: linear-gradient(135deg,#1a2e3c,#0b1b2c); color: #c8dce8; border: 1px solid rgba(200,220,232,.2); }
.tier-sep--platinum .tier-sep__badge::before { background: linear-gradient(135deg,#a8c4d4,#7098b4); }
.tier-sep--premium  .tier-sep__badge { background: linear-gradient(135deg,#0d2440,#1b3a60); color: #7ec8f0; border: 1px solid rgba(126,200,240,.2); }
.tier-sep--premium  .tier-sep__badge::before { background: linear-gradient(135deg,var(--c1),var(--c2)); }
.tier-sep--estandar .tier-sep__badge { background: var(--ink-50); color: var(--cta); border: 1px solid var(--ink-200); }
.tier-sep--estandar .tier-sep__badge::before { background: var(--cta); }
.tier-sep--individual .tier-sep__badge { background: var(--ink-50); color: var(--ink-500); border: 1px solid var(--ink-200); }
.tier-sep--individual .tier-sep__badge::before { background: var(--ink-300); }
.tier-sep__line { flex: 1; height: 1px; background: var(--ink-100); }
.tier-sep__count { font-family: var(--f-d); font-size: .8rem; font-weight:600; color: var(--ink-400); letter-spacing: .04em; flex-shrink:0; }

/* ── Platinum cards ──────────────────────────────────────── */
.platinum-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 5rem; }
@media(max-width:780px){ .platinum-row{ grid-template-columns: 1fr; } }
.platinum-card {
  position: relative; border-radius: 20px; overflow: hidden;
  background: linear-gradient(155deg,#f4f9fd 0%,#fff 55%);
  border: 1.5px solid rgba(63,109,146,.22);
  padding: 2.5rem; display: flex; flex-direction: column; gap: 1.5rem;
  transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s;
  min-height: 300px;
}
.platinum-card:hover { transform: translateY(-5px); box-shadow: 0 28px 60px -24px rgba(63,109,146,.35); border-color: rgba(63,109,146,.4); }
.platinum-card::before {
  content: ''; position: absolute; right: -60px; top: -40px;
  width: 200px; height: 220px;
  background: linear-gradient(160deg,rgba(63,109,146,.08),rgba(63,109,146,.03));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}
.platinum-card::after {
  content: 'PLATINUM'; position: absolute; top: 20px; right: 20px;
  font-family: var(--f-d); font-size: .6rem; font-weight: 700; letter-spacing: .18em;
  color: #fff; padding: .3rem .7rem;
  background: linear-gradient(135deg,#7098b4,#3f6d92); border-radius: 5px;
}
.platinum-card__logo {
  width: 72px; height: 80px;
  background: linear-gradient(135deg,rgba(85,187,235,.15),rgba(1,117,201,.1));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  display: grid; place-items: center;
  font-family: var(--f-d); font-weight: 900; font-size: 1.15rem; color: var(--p1);
}
.platinum-card h3 { font-family: var(--f-d); font-size: 1.65rem; color: var(--ink-900); font-weight: 700; letter-spacing: -.02em; margin: 0; }
.platinum-card p  { font-size: .9rem; color: var(--ink-500); line-height: 1.7; flex: 1; }
.platinum-card__tags { display: flex; gap: .5rem; flex-wrap: wrap; }
.platinum-card__tag { font-size: .65rem; font-family: var(--f-d); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .25rem .6rem; border-radius: 4px; background: rgba(63,109,146,.08); color: #3f6d92; }
.platinum-card__foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 1.25rem; border-top: 1px solid var(--ink-100);
  font-family: var(--f-d); font-size: .8rem; color: var(--cta); font-weight: 700;
  margin-top: auto;
}

/* ── Premium cards ───────────────────────────────────────── */
.premium-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-bottom: 5rem; }
@media(max-width:880px){ .premium-row{ grid-template-columns: 1fr 1fr; } }
@media(max-width:520px){ .premium-row{ grid-template-columns: 1fr; } }
.premium-card {
  border-radius: 18px; overflow: hidden;
  border: 1px solid var(--ink-100);
  background: linear-gradient(155deg, rgba(243,146,0,.05) 0%, #fff 42%);
  padding: 2rem; display: flex; flex-direction: column; gap: 1rem;
  transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
  position: relative;
}
.premium-card:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(1,117,201,.14); border-color: var(--cta); }
.premium-card::before {
  content: 'PREMIUM'; position: absolute; top: 16px; right: 16px;
  font-family: var(--f-d); font-size: .58rem; font-weight: 700; letter-spacing: .14em;
  color: var(--cta); opacity: .5;
}
.premium-card__logo {
  width: 56px; height: 62px;
  background: linear-gradient(135deg,var(--p1),var(--cta));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  display: grid; place-items: center;
  font-family: var(--f-d); font-weight: 900; font-size: .9rem; color: #fff;
}
.premium-card h3 { font-family: var(--f-d); font-size: 1.25rem; color: var(--ink-900); font-weight: 700; margin: 0; }
.premium-card p  { font-size: .85rem; color: var(--ink-500); line-height: 1.65; flex: 1; }
.premium-card__area { font-size: .7rem; font-family: var(--f-d); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cta); margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--ink-100); }

/* ── Standard cards ──────────────────────────────────────── */
.standard-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-bottom: 4rem; }
@media(max-width:980px){ .standard-row{ grid-template-columns: repeat(3,1fr); } }
@media(max-width:640px){ .standard-row{ grid-template-columns: repeat(2,1fr); } }
.standard-card {
  border: 1px solid var(--ink-100); border-radius: 14px; padding: 1.5rem;
  background: linear-gradient(155deg, rgba(1,117,201,.05) 0%, #fff 42%); display: flex; flex-direction: column; align-items: flex-start; gap: .75rem;
  transition: border-color .25s, transform .25s var(--ease-out), box-shadow .25s;
}
.standard-card:hover { border-color: var(--cta); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(1,117,201,.1); }
.standard-card__ico {
  width: 40px; height: 44px;
  background: linear-gradient(135deg,var(--p1),var(--cta));
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  display: grid; place-items: center;
  font-family: var(--f-d); font-weight: 900; font-size: .7rem; color: #fff;
}
.standard-card h4 { font-family: var(--f-d); font-weight: 700; font-size: .95rem; color: var(--ink-900); margin: 0; line-height: 1.2; }
.standard-card__area { font-size: .72rem; color: var(--ink-400); font-family: var(--f-d); }

/* ── Individual chips ────────────────────────────────────── */
.individual-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: .75rem; margin-bottom: 4rem; }
.individual-chip {
  display: flex; align-items: center; gap: .75rem;
  padding: .85rem 1rem; background: linear-gradient(155deg, rgba(107,103,96,.035) 0%, #fff 60%); border: 1px solid var(--ink-100); border-radius: 10px;
  transition: border-color .2s, transform .2s;
}
.individual-chip:hover { border-color: var(--cta); transform: translateX(3px); }
.individual-chip__av {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg,var(--p1),var(--cta));
  display: grid; place-items: center; color: #fff;
  font-family: var(--f-d); font-weight: 700; font-size: .7rem;
}
.individual-chip strong { font-family: var(--f-d); font-size: .85rem; color: var(--ink-900); display: block; }
.individual-chip span   { font-size: .72rem; color: var(--ink-400); }

/* ── Countdown ───────────────────────────────────────────── */
.ev-feat-card{
  position:relative; overflow:hidden; border-radius:24px;
  box-shadow:0 30px 70px -30px rgba(7,15,26,.5);
  margin-top:2rem;
}
.ev-feat-card__overlay{ position:absolute; inset:0; background:linear-gradient(130deg,rgba(7,15,26,.93) 0%,rgba(11,40,80,.87) 55%,rgba(7,15,26,.82) 100%); }
.ev-feat-card__hex{ position:absolute; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); pointer-events:none; }
.ev-feat-card__hex--1{ right:-4%; top:50%; transform:translateY(-50%); width:clamp(160px,26vw,340px); aspect-ratio:.866; border:1.5px solid rgba(255,255,255,.08); animation:hexFloat 10s ease-in-out infinite; }
.ev-feat-card__hex--2{ left:55%; bottom:-10%; width:80px; aspect-ratio:.866; background:rgba(243,146,0,.09); animation:hexFloat 7s ease-in-out infinite; animation-delay:-4s; }
.ev-feat-card__body{ position:relative; z-index:1; padding:clamp(2.25rem,4.5vw,3.5rem); }
.countdown-wrap {
  position: relative; z-index: 1;
  display: flex; gap: clamp(.75rem,2.5vw,2rem); flex-wrap: wrap;
}
.cd-unit { display: flex; flex-direction: column; align-items: center; gap: .3rem; }
.cd-n {
  font-family: var(--f-d); font-weight: 900;
  font-size: clamp(2.2rem,5.5vw,3.8rem); line-height: 1;
  color: #fff; letter-spacing: -.04em;
  text-shadow: 0 0 40px rgba(85,187,235,.35);
}
.cd-l {
  font-family: var(--f-d); font-size: clamp(.6rem,.9vw,.75rem);
  letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.4);
}
.cd-sep { font-family: var(--f-d); font-size: clamp(1.6rem,4vw,2.6rem); color: var(--c1); align-self: flex-start; padding-top: .05em; font-weight: 300; animation: sepBlink 1.2s ease-in-out infinite; }
@keyframes sepBlink { 0%,100%{opacity:.8} 50%{opacity:.25} }
.cd-accent { color: var(--c1); }

/* ── Event cards v2 ──────────────────────────────────────── */
.events-v2 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
@media(max-width:900px){ .events-v2{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .events-v2{ grid-template-columns:1fr; } }
.ev-card {
  border-radius: 18px; overflow: hidden; border: 1px solid var(--ink-100);
  display: flex; flex-direction: column; background: #fff;
  cursor: pointer; transition: transform .35s var(--ease-out), box-shadow .35s, border-color .3s;
}
.ev-card:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(11,27,44,.14); border-color: var(--p2); }
.ev-card__cover {
  position: relative; aspect-ratio: 16/9; background: var(--ink-100); overflow: hidden;
}
.ev-card__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease-out); }
.ev-card:hover .ev-card__cover img { transform: scale(1.07); }
.ev-card__type {
  position: absolute; top: .85rem; left: .85rem; z-index: 2;
  font-family: var(--f-d); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .28rem .65rem; border-radius: 4px; backdrop-filter: blur(8px);
}
.ev-card__type--congreso { background: var(--c1); color: var(--navy-800); }
.ev-card__type--seminario { background: rgba(1,117,201,.85); color: #fff; }
.ev-card__type--visita    { background: rgba(11,27,44,.8); color: #fff; }
.ev-card__type--rueda     { background: rgba(30,80,140,.85); color: #fff; }
.ev-card__featured-badge {
  position: absolute; bottom: .85rem; right: .85rem; z-index: 2;
  background: var(--c1); color: var(--navy-800); font-family: var(--f-d); font-weight: 700; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; padding: .25rem .65rem; border-radius: 4px;
}
.ev-card__body { padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.ev-card__date { font-family: var(--f-d); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cta); }
.ev-card__title { font-family: var(--f-d); font-weight: 700; font-size: 1.05rem; color: var(--ink-900); line-height: 1.25; }
.ev-card__meta  { font-size: .82rem; color: var(--ink-400); display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.ev-card__foot  { display: flex; justify-content: space-between; align-items: center; padding-top: .85rem; margin-top: auto; border-top: 1px solid var(--ink-100); font-family: var(--f-d); font-size: .8rem; }
.ev-card__cta   { color: var(--cta); font-weight: 700; display: flex; align-items: center; gap: .3rem; }

/* ── Event drawer ────────────────────────────────────────── */
.ev-drawer { position: fixed; inset: 0; z-index: 3000; display: flex; }
.ev-drawer__bd { position: absolute; inset: 0; background: rgba(7,15,26,.7); backdrop-filter: blur(6px); animation: fadeIn .25s ease; }
.ev-drawer__panel {
  position: relative; margin-left: auto; width: min(580px,100%); height: 100%;
  background: #fff; overflow: hidden; padding: 0;
  display: flex; flex-direction: column;
  animation: slideIn .35s var(--ease-out); box-shadow: -20px 0 60px rgba(0,0,0,.22);
}
.ev-drawer__hero { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.ev-drawer__hero img { width: 100%; height: 100%; object-fit: cover; }
.ev-drawer__hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top,rgba(7,15,26,.7) 0%,transparent 55%); }
.ev-drawer__hero-foot { position: absolute; bottom: 1.5rem; left: 2rem; right: 4rem; z-index: 1; color: #fff; }
.ev-drawer__hero-foot h2 { font-size: clamp(1.25rem,2.5vw,1.75rem); font-weight: 700; line-height: 1.2; }
.ev-drawer__close { position: absolute; top: 1rem; right: 1rem; z-index: 10; width: 38px; height: 38px; border-radius: 50%; background: rgba(7,15,26,.7); border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; color: #fff; cursor: pointer; transition: background .2s; }
.ev-drawer__close:hover { background: rgba(7,15,26,.9); }
.ev-drawer__body { padding: 2rem 2rem 3rem; }
.ev-facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ink-100); border: 1px solid var(--ink-100); border-radius: 12px; overflow: hidden; margin-bottom: 2rem; }
.ev-fact { background: #fff; padding: 1rem; }
.ev-fact .l { display: block; font-family: var(--f-d); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); margin-bottom: .3rem; }
.ev-fact .v { font-size: .9rem; color: var(--ink-900); font-weight: 500; }
.ev-drawer__body h4 { font-family: var(--f-d); font-size: 1rem; font-weight: 700; color: var(--ink-900); margin: 1.5rem 0 .75rem; }
.ev-drawer__body p  { font-size: .9rem; color: var(--ink-500); line-height: 1.75; }
.ev-drawer__body ul { display: flex; flex-direction: column; gap: .5rem; }
.ev-drawer__body ul li { font-size: .9rem; color: var(--ink-700); padding-left: 1.25rem; position: relative; }
.ev-drawer__body ul li::before { content: ''; position: absolute; left: 3px; top: 7px; width: 7px; height: 8px; background: var(--cta); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.ev-cta-row { display: flex; gap: .75rem; margin-top: 2rem; flex-wrap: wrap; }
.ev-cta-row--sticky {
  position: relative; bottom: auto; margin-top: 0; background: #fff; flex-shrink: 0;
  padding: 1rem 2rem; border-top: 1px solid var(--ink-100);
  box-shadow: 0 -8px 24px -16px rgba(11,27,44,.25);
}
.ev-cta-row--sticky .btn { flex: 1; justify-content: center; }
.ev-drawer__body { padding: 2rem 2rem 1.5rem; flex: 1; overflow-y: auto; }

/* ── Ticket card — estilo Welcu (talón de entrada) ─────────── */
.ev-ticket {
  display: flex; align-items: center; gap: 1rem;
  background: var(--ink-25); border: 1px dashed var(--ink-200); border-radius: 14px;
  padding: 1.1rem 1.25rem; margin-bottom: 2rem; position: relative;
}
.ev-ticket::before, .ev-ticket::after {
  content: ''; position: absolute; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 1px dashed var(--ink-200);
}
.ev-ticket::before { left: -10px; }
.ev-ticket::after { right: -10px; }
.ev-ticket__ico {
  flex-shrink: 0; width: 44px; height: 44px; border-radius: 10px;
  background: linear-gradient(135deg,var(--p1),var(--cta)); color: #fff;
  display: grid; place-items: center;
}
.ev-ticket__ico svg { width: 20px; height: 20px; }
.ev-ticket__body { display: flex; flex-direction: column; gap: 2px; }
.ev-ticket__lbl { font-family: var(--f-d); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); }
.ev-ticket__price { font-family: var(--f-d); font-size: 1.05rem; font-weight: 700; color: var(--ink-900); }
.ev-ticket__org { font-size: .78rem; color: var(--ink-500); }

/* ── Past events ─────────────────────────────────────────── */
.past-ev { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.5rem; background: #fff; border: 1px solid var(--ink-100); border-radius: 14px; transition: border-color .25s; }
.past-ev:hover { border-color: var(--ink-200); }
.past-ev__year { font-family: var(--f-d); font-weight: 900; font-size: 2rem; color: var(--ink-100); line-height: 1; flex-shrink: 0; width: 64px; text-align: center; }
.past-ev__info { flex: 1; }
.past-ev__tag  { font-family: var(--f-d); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cta); margin-bottom: .35rem; }
.past-ev__info h4 { font-family: var(--f-d); font-weight: 700; font-size: 1rem; margin-bottom: .3rem; }
.past-ev__info p  { font-size: .85rem; color: var(--ink-500); }
.past-ev-link { font-family: var(--f-d); font-size: .8rem; font-weight: 700; color: var(--cta); display: flex; align-items: center; gap: .3rem; margin-top: .75rem; }

/* ── Past events — grid de 2 columnas, agrupado por año, con paginación ── */
.past-year-group{ margin-bottom:2.25rem; }
.past-year-group:last-child{ margin-bottom:0; }
.past-year-lbl{ font-family:var(--f-d); font-weight:900; font-size:1.3rem; color:var(--ink-200); margin-bottom:1rem; letter-spacing:-.01em; }
.past-ev-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.past-row{ display:flex; gap:1.1rem; align-items:center; background:#fff; border:1px solid var(--ink-100); border-radius:14px; padding:1rem; transition:border-color .2s, box-shadow .2s; }
.past-row:hover{ border-color:var(--ink-200); box-shadow:0 14px 32px -22px rgba(11,27,44,.25); }
.past-row__media{ width:88px; aspect-ratio:4/3; border-radius:10px; overflow:hidden; flex-shrink:0; filter:grayscale(.35); }
.past-row__media img{ width:100%; height:100%; object-fit:cover; }
.past-row__meta{ margin-bottom:.35rem; }
.past-row__tag{ font-family:var(--f-d); font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--cta); }
.past-row__body h4{ font-family:var(--f-d); font-weight:700; font-size:.95rem; margin-bottom:.3rem; }
.past-row__body p{ font-size:.82rem; color:var(--ink-500); line-height:1.5; }
.past-pagination{ display:flex; align-items:center; justify-content:center; gap:1.25rem; margin-top:2rem; }
.past-pagination__count{ font-family:var(--f-d); font-size:.85rem; color:var(--ink-400); }
.past-year-tabs{ display:flex; gap:.5rem; margin-bottom:1.75rem; }
.past-year-tab{ font-family:var(--f-d); font-weight:700; font-size:.85rem; color:var(--ink-400); background:#fff; border:1px solid var(--ink-100); border-radius:99px; padding:.5rem 1.15rem; transition:background .2s, color .2s, border-color .2s; }
.past-year-tab:hover{ border-color:var(--ink-200); }
.past-year-tab.is-on{ background:var(--cta); border-color:var(--cta); color:#fff; }
@media(max-width:700px){
  .past-ev-grid{ grid-template-columns:1fr; }
}

/* ── Grid alignment fixes ────────────────────────────────── */
.commgrid { align-items: stretch; }
.comm { justify-content: flex-start; }
.plans { align-items: stretch; }
.plan { justify-content: flex-start; }
.lineas__grid { align-items: stretch; }
.linea { display: flex; flex-direction: column; }
.linea p { flex: 1; }

/* ── Triptych border fix mobile ──────────────────────────── */
@media(max-width:780px){
  .triptych__grid .tri-card { border-right: 0; border-bottom: 1px solid var(--ink-100); }
  .triptych__grid .tri-card:last-child { border-bottom: 0; }
}
