:root{
  --navy:#242a54; --navy2:#3b69b1; --blue:#3b69b1; --sky:#e9f2fb; --cyan:#5ab1e3;
  --ink:#16202e; --muted:#5b6b80; --line:#e3e9f2; --bg:#f7f9fc; --white:#fff;
  --ok:#1a8a5a; --warn:#c0392b; --radius:16px; --shadow:0 10px 30px rgba(18,53,110,.08);
  --wrap:1120px; --font:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.2;color:var(--navy);margin:0 0 .5em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99;border-radius:8px}
.btn{display:inline-block;padding:.7rem 1.25rem;border-radius:999px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.15s}
.btn-cta{background:var(--blue);color:#fff!important}
.btn-cta:hover{background:var(--navy2);text-decoration:none}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff!important}
.btn-ghost:hover{background:rgba(255,255,255,.12);text-decoration:none}
.btn-dark{background:var(--navy);color:#fff!important}
.btn-dark:hover{background:var(--navy2);text-decoration:none}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}
.brand:hover{text-decoration:none}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text b{font-size:1.25rem;letter-spacing:.5px}
.brand-text small{font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.mainnav{display:flex;align-items:center;gap:6px}
.mainnav>a{padding:.5rem .8rem;border-radius:10px;color:var(--ink);font-weight:500}
.mainnav>a:hover{background:var(--sky);text-decoration:none}
.mainnav>a.on{color:var(--blue)}
.nav-panel{color:var(--muted)!important;font-size:.9rem}
.burger{display:none;font-size:1.6rem;cursor:pointer;padding:.2rem .6rem;color:var(--navy)}
.navtoggle{display:none}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 55%,var(--cyan) 130%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.06)}
.hero .wrap{position:relative;padding:72px 20px 84px}
.hero h1{color:#fff;font-size:2.6rem;max-width:15ch;margin-bottom:.3em}
.hero p.lead{font-size:1.15rem;max-width:56ch;color:#dbe6fb;margin:0 0 1.6rem}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:2px;font-size:.72rem;font-weight:700;color:#bcd2f7;margin-bottom:1rem}

/* Countdown card */
.count-card{margin-top:34px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:22px 24px;max-width:640px}
.count-card h3{color:#fff;font-size:1rem;letter-spacing:1px;text-transform:uppercase;margin:0 0 4px}
.count-card .ev{color:#cbdcfa;font-size:.92rem;margin-bottom:14px}
.count-row{display:flex;gap:12px}
.count-box{background:rgba(255,255,255,.12);border-radius:12px;padding:12px 0;text-align:center;flex:1}
.count-box b{display:block;font-size:1.9rem;font-weight:700;color:#fff;line-height:1}
.count-box span{font-size:.62rem;letter-spacing:1.5px;text-transform:uppercase;color:#bcd2f7}

/* Sections */
section.block{padding:64px 0}
section.block.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:60ch;margin-bottom:34px}
.section-head .eyebrow{color:var(--blue)}
.section-head h2{font-size:2rem}
.section-head p{color:var(--muted);font-size:1.05rem;margin:.2em 0 0}

.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.card h3{font-size:1.15rem}
.card .ico{width:46px;height:46px;border-radius:12px;background:var(--sky);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:14px}
.card p{color:var(--muted);margin:0}

/* Mission strip */
.mission{background:var(--sky);border-radius:var(--radius);padding:34px}
.mission p{font-size:1.12rem;color:var(--navy);margin:0}

/* Comisión */
.people{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.person{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.person .av{width:56px;height:56px;border-radius:50%;margin:0 auto 10px;background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}
.person b{display:block;color:var(--navy);font-size:.98rem}
.person span{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.subhead{margin:38px 0 16px;color:var(--navy);font-size:1.15rem;border-left:4px solid var(--blue);padding-left:12px}

/* Posts / events list */
.post-list,.event-list{display:grid;gap:18px}
.post-item{display:grid;grid-template-columns:1fr;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.post-item h3{margin:0}
.post-item .meta{color:var(--muted);font-size:.82rem}
.post-item p{color:var(--muted);margin:.3em 0 0}
.event-item{display:flex;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);align-items:flex-start}
.event-item.feat{border-color:var(--blue);box-shadow:0 12px 34px rgba(46,107,214,.18)}
.event-date{flex:0 0 84px;text-align:center;background:var(--navy);color:#fff;border-radius:12px;padding:12px 6px}
.event-date b{display:block;font-size:1.7rem;line-height:1}
.event-date span{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:#bcd2f7}
.event-body h3{margin:0 0 4px}
.event-body .where{color:var(--muted);font-size:.9rem;margin:0 0 8px}
.event-body p{color:var(--muted);margin:0 0 10px}
.badge{display:inline-block;background:var(--blue);color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:1px;padding:3px 10px;border-radius:999px;margin-bottom:8px}

/* Article */
.article{max-width:760px;margin:0 auto;padding:56px 20px}
.article h1{font-size:2.2rem}
.article .meta{color:var(--muted);margin-bottom:24px}
.article .content{font-size:1.08rem}
.article .content p{margin:0 0 1.1em}

/* Forms */
.form-wrap{max-width:720px;margin:0 auto}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;margin-bottom:6px;color:var(--navy);font-size:.92rem}
.field input,.field select,.field textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:.85rem;color:var(--muted)}
.errors{background:#fdecea;border:1px solid #f5c6c0;color:#9b2c22;padding:14px 16px;border-radius:10px;margin-bottom:18px}
.ok-box{background:#eafaf1;border:1px solid #b7e4c7;color:#1a6b45;padding:16px;border-radius:12px}

/* Flash */
.flash{background:#eafaf1;border:1px solid #b7e4c7;color:#1a6b45;padding:12px 16px;border-radius:10px;margin:16px auto}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff;border-radius:var(--radius);padding:44px;text-align:center;margin:22px 0}
.cta-band h2{color:#fff}
.cta-band p{color:#dbe6fb;max-width:52ch;margin:0 auto 18px}

/* Footer */
.site-foot{background:var(--navy);color:#cdd8ea;margin-top:20px;padding:52px 0 24px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.site-foot h4{color:#fff;font-size:.95rem;margin-bottom:12px}
.site-foot a{display:block;color:#cdd8ea;padding:3px 0}
.site-foot a:hover{color:#fff}
.foot-brand{display:flex;align-items:center;gap:8px;color:#fff;font-size:1.15rem;margin-bottom:8px}
.foot-legal{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;font-size:.85rem;color:#9fb0cc}
.foot-legal a{color:#9fb0cc;display:inline}

/* Panel */
.panel-shell{max-width:1080px;margin:0 auto;padding:28px 20px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.panel-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.panel-nav a{padding:.5rem .9rem;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink)}
.panel-nav a.on{background:var(--navy);color:#fff}
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.92rem}
.table th{background:var(--sky);color:var(--navy)}
.table tr:last-child td{border-bottom:none}
.pill{font-size:.72rem;padding:2px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}
.pill.pub,.pill.aprobado{background:#eafaf1;color:#1a6b45}
.pill.draft,.pill.pendiente{background:#fff4e0;color:#8a5a00}
.pill.rechazado{background:#fdecea;color:#9b2c22}
.login-card{max-width:400px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.stat b{font-size:1.8rem;color:var(--navy);display:block}
.stat span{color:var(--muted);font-size:.85rem}
.actions{display:flex;gap:8px}
.mini{font-size:.82rem;padding:.35rem .7rem}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px;flex-wrap:wrap}

@media(max-width:860px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .burger{display:block}
  .mainnav{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 16px;border-bottom:1px solid var(--line);display:none;gap:2px;box-shadow:var(--shadow)}
  .navtoggle:checked ~ .mainnav{display:flex}
  .hero h1{font-size:2rem}
  .count-row{flex-wrap:wrap}
}
@media(max-width:520px){.event-item{flex-direction:column}}


/* ==== Logo oficial ==== */
.brand{gap:0}
.logo-img{height:46px;width:auto;display:block}
.site-head .logo-img{height:44px}
.foot-brand-logo{margin-bottom:12px}
.foot-brand-logo .logo-img{height:40px;filter:brightness(0) invert(1)}
.login-card .logo-img{height:48px;margin:0 auto 6px}
.panel-shell .logo-img,.site-head .brand .logo-img{height:40px}
@media(max-width:520px){.logo-img{height:38px}.site-head .logo-img{height:38px}}

/* ==========================================================================
   Revista Refractiva / Educación / Links / Past presidents
   ========================================================================== */

/* Contadores del encabezado de Revista */
.rev-stats{display:flex;gap:40px;margin-top:28px}
.rev-stats div{display:flex;flex-direction:column}
.rev-stats strong{font-size:2.2rem;line-height:1;color:#fff}
.rev-stats span{text-transform:uppercase;letter-spacing:2px;font-size:.68rem;color:#bcd2f7;margin-top:6px}

/* Última edición destacada */
.rev-destacada{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow)}
.rev-destacada-tapa img{width:100%;border-radius:10px;border:1px solid var(--line)}
.rev-destacada-tapa:hover img{opacity:.92}
.rev-destacada-txt .eyebrow{color:var(--blue)}
.rev-destacada-txt h2{margin:.2em 0 .4em}
.rev-destacada-txt p{color:var(--muted);margin:0 0 18px}

/* Grilla del archivo de ediciones */
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px;margin-top:26px}
.rev-item a{display:block;color:inherit}
.rev-item a:hover{text-decoration:none}
.rev-item img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;
  border:1px solid var(--line);background:var(--sky);transition:.18s}
.rev-item a:hover img{transform:translateY(-4px);box-shadow:var(--shadow)}
.rev-item-txt{padding:10px 2px 0;display:flex;flex-direction:column;gap:2px}
.rev-item-txt strong{color:var(--navy);font-size:1.02rem}
.rev-item-txt span{color:var(--muted);font-size:.86rem}
.rev-item-txt em{font-style:normal;color:var(--blue);font-size:.78rem;font-weight:600;
  text-transform:uppercase;letter-spacing:1px;margin-top:2px}
.rev-nota{margin-top:28px;color:var(--muted);font-size:.94rem}

/* Tarjetas de Educación */
.edu-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.edu-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow);color:inherit;transition:.18s}
.edu-card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--cyan)}
.edu-card h2{font-size:1.2rem;margin:0 0 .5em}
.edu-card p{color:var(--muted);margin:0 0 14px}
.edu-card span{color:var(--blue);font-weight:600;font-size:.94rem}

/* Videoteca */
.video-list{list-style:none;padding:0;margin:24px 0 0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.video-list li{background:var(--white);border:1px solid var(--line);border-radius:12px}
.video-list a{display:block;padding:14px 18px;color:var(--ink);font-weight:500}
.video-list a::before{content:"▶";color:var(--cyan);margin-right:10px;font-size:.8rem}
.video-list a:hover{background:var(--sky);text-decoration:none;border-radius:12px}

/* Links de interés */
.link-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.link-list li{background:var(--white);border:1px solid var(--line);border-radius:12px}
.link-list a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:8px;padding:18px 22px;color:var(--ink)}
.link-list a:hover{background:var(--sky);text-decoration:none;border-radius:12px}
.link-name{font-weight:600;color:var(--navy)}
.link-url{color:var(--muted);font-size:.88rem}

/* Past presidents */
.pp-list{list-style:none;padding:0;margin:24px 0 0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;counter-reset:pp}
.pp-list li{display:flex;align-items:baseline;gap:14px;background:var(--white);
  border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.pp-anios{font-variant-numeric:tabular-nums;color:var(--blue);font-weight:700;
  font-size:.86rem;min-width:82px}
.pp-nombre{color:var(--navy);font-weight:500}

@media (max-width:720px){
  .rev-destacada{grid-template-columns:1fr;text-align:center}
  .rev-destacada-tapa{max-width:220px;margin:0 auto}
  .rev-stats{gap:28px}
  .rev-stats strong{font-size:1.8rem}
}

/* ==========================================================================
   SISTEMA VISUAL — fotografía real, tipografía de marca
   Referencia: identidad de @sacrycok (navy + celeste, titulares en Montserrat
   con la segunda palabra en celeste, serif editorial para momentos "save the date")
   ========================================================================== */

h1,h2,h3,h4,.brand-text b{letter-spacing:-.015em}
h1{font-weight:800}
h2{font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem)}
.eyebrow{font-weight:700}

/* Palabra acentuada dentro de un titular: <em> = celeste, sin cursiva */
h1 em,h2 em{font-style:normal;color:var(--cyan)}
.revista-band h2 em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--cyan)}

/* ---------- HERO con fotografía a sangre completa ---------- */
.hero-photo{position:relative;isolation:isolate;background:var(--navy);
  min-height:min(78vh,660px);display:flex;align-items:flex-end;overflow:hidden}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--bg);background-size:cover;background-position:center 38%}
.hero-photo::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(36,42,84,.55) 0%,rgba(36,42,84,.72) 45%,rgba(36,42,84,.94) 100%)}
.hero-photo-inner{color:#fff;padding:96px 20px 84px;width:100%}
.hero-photo h1{color:#fff;font-size:clamp(2.1rem,5.4vw,3.9rem);line-height:1.05;margin:0 0 .45em;max-width:16ch}
.hero-photo .lead{color:#dbe6f8;max-width:56ch;font-size:1.06rem}
.hero-photo .eyebrow{color:#8fc4ec}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-photo-sm{min-height:min(46vh,380px)}
.hero-photo-sm .hero-photo-inner{padding:72px 20px 56px}
.hero-photo-sm h1{font-size:clamp(1.9rem,4.4vw,3rem)}
.hero-scroll{position:absolute;left:50%;bottom:18px;width:1px;height:38px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.7));z-index:1}

.btn-line{background:transparent;border-color:var(--blue);color:var(--blue)!important}
.btn-line:hover{background:var(--sky);text-decoration:none}

/* ---------- Banda del Simposio: pieza oficial + cuenta regresiva ---------- */
.simposio{background:var(--navy);color:#fff;padding:64px 0}
.simposio-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center}
.simposio-art{display:block;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.35);transition:.2s}
.simposio-art:hover{transform:translateY(-3px)}
.simposio-art img{width:100%}
.simposio-txt .eyebrow{color:#8fc4ec}
.simposio-txt h2{color:#fff;margin:0 0 .35em;font-size:clamp(1.4rem,2.4vw,1.95rem);line-height:1.18}
.simposio-meta{color:#c3d6f2;margin:0 0 24px;font-weight:500}
.simposio .count-row{display:flex;gap:10px;margin-bottom:26px}
.simposio .count-box{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  border-radius:12px;padding:14px 0;text-align:center;flex:1}
.simposio .count-box b{display:block;font-size:1.9rem;line-height:1;font-variant-numeric:tabular-nums}
.simposio .count-box span{font-size:.64rem;letter-spacing:1.6px;text-transform:uppercase;color:#9fb9dd}
.simposio-cta{display:flex;flex-wrap:wrap;gap:12px}
.simposio .btn-line{border-color:rgba(255,255,255,.55);color:#fff!important}
.simposio .btn-line:hover{background:rgba(255,255,255,.12)}

/* ---------- Pilares: tarjetas con foto duotono de marca ---------- */
.pilar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px}
.pilar{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);color:inherit;transition:.2s}
.pilar:hover{text-decoration:none;transform:translateY(-4px);border-color:var(--cyan)}
.pilar-img{aspect-ratio:4/3;overflow:hidden;background:var(--sky)}
.pilar-img img{width:100%;height:100%;object-fit:cover;transition:.35s}
.pilar:hover .pilar-img img{transform:scale(1.04)}
.pilar-txt{padding:26px}
.pilar-kicker{display:block;text-transform:uppercase;letter-spacing:1.8px;font-size:.68rem;
  font-weight:700;color:var(--blue);margin-bottom:10px}
.pilar-txt h3{font-size:1.16rem;margin:0 0 .5em}
.pilar-txt p{color:var(--muted);margin:0 0 16px;font-size:.95rem}
.pilar-cta{color:var(--blue);font-weight:600;font-size:.92rem}

/* ---------- Banda Revista con la tapa grande ---------- */
.revista-band{background:var(--sky);padding:70px 0}
.revista-band-grid{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:center}
.revista-band h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:0 0 .4em}
.revista-band p{color:var(--navy);opacity:.85;max-width:52ch}
.revista-band-ult{font-size:.95rem;opacity:1;color:var(--blue)!important;margin-top:18px}
.revista-band-tapa img{width:100%;border-radius:12px;box-shadow:0 24px 55px rgba(18,53,110,.28);transition:.22s}
.revista-band-tapa:hover img{transform:translateY(-5px) rotate(-1deg)}

/* ---------- Bandas de foto a sangre completa ---------- */
.banda-foto,.cta-foto{position:relative;isolation:isolate;color:#fff;padding:96px 0}
.banda-foto::before,.cta-foto::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--bg);background-size:cover;background-position:center}
.banda-foto::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(36,42,84,.86)}
.cta-foto::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(36,42,84,.94) 35%,rgba(59,105,177,.82) 100%)}
.banda-foto-inner{max-width:70ch}
.banda-foto .eyebrow{color:#8fc4ec}
.banda-lead{font-size:clamp(1.1rem,2.1vw,1.5rem);line-height:1.5;color:#fff;margin:0 0 28px;font-weight:500}
.cta-foto-inner{text-align:center;max-width:64ch;margin:0 auto}
.cta-foto h2{color:#fff}
.cta-foto p{color:#dbe6f8;margin-bottom:26px}

/* ---------- Personas con retrato real ---------- */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:24px;margin:0}
.person{margin:0;text-align:center;background:none;border:0;padding:0;border-radius:0}
.person-ph{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--sky);
  border:1px solid var(--line);transition:.2s}
.person-ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.person:hover .person-ph{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--cyan)}
.person-ph-ini{display:flex;align-items:center;justify-content:center}
.person-ph-ini span{font-size:1.7rem;font-weight:700;color:var(--blue)}
.person figcaption{padding-top:12px;display:flex;flex-direction:column;gap:2px}
.person figcaption b{color:var(--navy);font-size:.95rem;line-height:1.25}
.person figcaption span{color:var(--muted);font-size:.8rem}
.subhead{margin-top:52px}

/* ---------- Past presidents con foto ---------- */
.pp-grid{list-style:none;padding:0;margin:26px 0 0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px}
.pp-grid li{display:flex;flex-direction:column;text-align:center;gap:3px}
.pp-ph{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--sky);
  border:3px solid var(--white);box-shadow:0 0 0 1px var(--line),var(--shadow);margin-bottom:10px}
.pp-ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.pp-ph-ini{display:flex;align-items:center;justify-content:center}
.pp-ph-ini span{font-size:1.4rem;font-weight:700;color:var(--blue)}
.pp-grid .pp-nombre{color:var(--navy);font-weight:600;font-size:.9rem;line-height:1.25}
.pp-grid .pp-anios{color:var(--blue);font-size:.8rem;font-variant-numeric:tabular-nums;min-width:0}

/* ---------- Evento destacado de la agenda ---------- */
.ev-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow);margin-bottom:20px}
.ev-hero-art img{width:100%;border-radius:12px}
.ev-hero-txt h2{margin:.35em 0 .5em;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.2}
.ev-hero-txt p{color:var(--muted)}
.ev-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--sky);color:var(--navy);
  border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600}
.chip-loc{background:var(--navy);color:#fff}

@media (max-width:900px){
  .simposio-grid,.revista-band-grid,.ev-hero{grid-template-columns:1fr;gap:30px}
  .revista-band-tapa{max-width:230px;margin:0 auto}
  .ev-hero-art{order:-1}
}
@media (max-width:560px){
  .people{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px}
  .pp-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:16px}
  .simposio .count-box b{font-size:1.5rem}
  .banda-foto,.cta-foto{padding:70px 0}
}

/* ==========================================================================
   SIMPOSIOS — la sección más importante de la sociedad
   ========================================================================== */

.simposio-txt h2 small{display:block;font-size:.62em;font-weight:500;opacity:.85;margin-top:.25em}
.simposio .ev-chips{margin:14px 0 18px}
.simposio .chip{background:rgba(255,255,255,.14);color:#fff}
.simposio .chip-loc{background:var(--cyan);color:var(--navy)}

/* Listado de ediciones anteriores */
.simp-list{display:flex;flex-direction:column;gap:24px}
.simp-item{display:grid;grid-template-columns:96px 1fr 260px;gap:28px;align-items:start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow)}
.simp-item:has(.simp-art:empty),.simp-item.sin-art{grid-template-columns:96px 1fr}
.simp-num{display:flex;align-items:center;justify-content:center;aspect-ratio:1;
  border-radius:50%;background:var(--sky);border:2px solid var(--cyan)}
.simp-num span{font-weight:800;color:var(--navy);font-size:1.15rem;letter-spacing:-.02em}
.simp-body h3{margin:0 0 .5em;font-size:1.25rem}
.simp-body p{color:var(--muted);margin:0 0 14px}
.simp-body .ev-chips{margin-bottom:14px}
.simp-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.btn.mini{padding:.45rem .9rem;font-size:.85rem}
.simp-galerias{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  border-top:1px solid var(--line);padding-top:14px}
.simp-galerias-t{text-transform:uppercase;letter-spacing:1.5px;font-size:.66rem;
  font-weight:700;color:var(--muted);margin-right:4px}
.simp-galerias a{font-size:.86rem;background:var(--sky);color:var(--navy);
  border-radius:999px;padding:.3rem .7rem;font-weight:500}
.simp-galerias a:hover{background:var(--cyan);text-decoration:none}
.simp-art img{width:100%;border-radius:12px;border:1px solid var(--line)}

/* Programa científico */
.prog{list-style:none;padding:0;margin:28px 0 0;counter-reset:p}
.prog-item{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:18px 0;
  border-top:1px solid var(--line)}
.prog-item:first-child{border-top:0}
.prog-hora{font-variant-numeric:tabular-nums;font-weight:700;color:var(--blue);font-size:.95rem;padding-top:2px}
.prog-txt h4{margin:0 0 .35em;font-size:1.02rem;color:var(--navy)}
.prog-txt p{margin:0 0 4px;color:var(--ink);font-size:.94rem}
.prog-gente{color:var(--muted)!important;font-size:.86rem!important}

/* Comités */
.comite-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:24px}
.comite{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.comite h4{margin:0 0 14px;font-size:1rem;color:var(--blue);text-transform:uppercase;
  letter-spacing:1.4px;font-size:.74rem}
.comite ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.comite li{display:flex;flex-direction:column}
.comite li b{color:var(--navy);font-size:.94rem}
.comite li span{color:var(--muted);font-size:.8rem}

/* Distintivo de perfil sobre el retrato */
.person-link{display:block;position:relative}
.person-link .person-badge{position:absolute;left:8px;bottom:8px;
  background:rgba(36,42,84,.92);color:#fff;font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;padding:.24rem .5rem;border-radius:999px;
  opacity:0;transform:translateY(4px);transition:.18s}
.person-link:hover .person-badge,.person-link:focus-visible .person-badge{opacity:1;transform:none}
.person-link:hover{text-decoration:none}
.person-ini{font-size:1.7rem;font-weight:700;color:var(--blue);
  display:flex;align-items:center;justify-content:center;width:100%;height:100%}

@media (max-width:860px){
  .simp-item{grid-template-columns:64px 1fr}
  .simp-art{grid-column:1/-1}
  .simp-art img{max-width:320px}
  .prog-item{grid-template-columns:64px 1fr;gap:14px}
}

/* ==========================================================================
   TRAYECTORIA DE EDICIONES
   ========================================================================== */
.tray{list-style:none;padding:0;margin:30px 0 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}
.tray-item a{display:flex;flex-direction:column;gap:2px;position:relative;
  background:var(--white);border:1px solid var(--line);border-top:4px solid var(--cyan);
  border-radius:var(--radius);padding:22px 22px 20px;color:inherit;
  box-shadow:var(--shadow);transition:.18s;height:100%}
.tray-item a:hover{text-decoration:none;transform:translateY(-4px);border-top-color:var(--blue)}
.tray-num{font-size:1.6rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1}
.tray-anio{font-variant-numeric:tabular-nums;color:var(--blue);font-weight:700;
  font-size:.92rem;margin-top:6px}
.tray-lugar{color:var(--ink);font-weight:600;font-size:.95rem;margin-top:8px}
.tray-sede{color:var(--muted);font-size:.84rem}
.tray-next a{border-top-color:var(--navy);background:linear-gradient(180deg,var(--sky),var(--white))}
.tray-badge{position:absolute;top:-11px;right:16px;background:var(--navy);color:#fff;
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;
  padding:.26rem .6rem;border-radius:999px}

/* ==========================================================================
   SPONSORS — la base de la sociedad, tratados como tal
   ========================================================================== */
.spon-bloque{margin-top:34px}
.spon-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;
  border-bottom:2px solid var(--line);padding-bottom:10px;margin-bottom:20px}
.spon-head h3{margin:0;font-size:1.08rem;color:var(--navy)}
.spon-head span{color:var(--blue);font-size:.84rem;font-weight:600;
  text-transform:uppercase;letter-spacing:1.2px}
.spon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}
.spon-card{background:var(--white);border:1px solid var(--line);border-radius:12px;
  height:92px;display:flex;align-items:center;justify-content:center;
  padding:14px 18px;transition:.18s;overflow:hidden}
.spon-card:hover{border-color:var(--cyan);box-shadow:var(--shadow);transform:translateY(-2px)}
.spon-card img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.spon-grid-avales .spon-card{flex-direction:column;gap:8px;height:118px}
.spon-tipo{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;
  color:var(--blue);background:var(--sky);border-radius:999px;padding:.16rem .55rem}

/* Programa histórico: presente para Google, plegado para el visitante */
.prog-det{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.prog-det summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:.92rem;
  list-style:none;display:inline-flex;align-items:center;gap:8px}
.prog-det summary::-webkit-details-marker{display:none}
.prog-det summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;background:var(--sky);color:var(--blue);
  font-weight:700;font-size:.9rem;line-height:1}
.prog-det[open] summary::before{content:"–"}
.prog-det summary:hover{text-decoration:underline}
.prog-det .prog{margin-top:18px}
.prog-det .comite-grid{margin-top:22px}

@media (max-width:560px){
  .tray{grid-template-columns:1fr 1fr;gap:12px}
  .tray-item a{padding:16px}
  .spon-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
  .spon-card{height:72px;padding:10px 12px}
}
