:root{
  --red:#2A5D63;
  --red-dark:#1E4448;
  --red-deep:#17383B;
  --red-tint:#DCEBEA;
  --bg:#FAF6F2;
  --card:#FFFFFF;
  --ink:#2B2422;
  --ink-soft:#6E645D;
  --line:#EAE0D8;
  --radius:14px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink);
  line-height:1.25;
  margin:0 0 .5em;
}
p{margin:0 0 1em;text-align:justify;text-justify:inter-word;hyphens:auto;}
a{color:var(--red-dark);}
img,svg{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.skip-link{
  position:absolute;left:-999px;top:0;background:var(--red);color:#fff;
  padding:10px 18px;z-index:1000;font-weight:600;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* Header — moderno, plano, sin bloques de color grandes */
header.site{position:sticky;top:0;z-index:100;background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line);border-bottom:3px solid var(--red);}
.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;max-width:var(--maxw);margin:0 auto;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;flex:none;}
.brand img{height:48px;width:auto;display:block;}
nav.main-nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap;align-items:center;}
nav.main-nav a{position:relative;color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;padding:10px 12px;border-radius:8px;display:inline-block;transition:background .2s ease, color .2s ease;}
nav.main-nav a:hover, nav.main-nav a:focus{background:var(--red-tint);color:var(--red-dark);}
nav.main-nav ul > li > a::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
nav.main-nav ul > li > a:hover::after, nav.main-nav ul > li > a:focus::after{transform:scaleX(1);}
nav.main-nav li.has-sub{position:relative;}
nav.main-nav .sub{
  list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;background:var(--card);
  min-width:260px;border-radius:10px;box-shadow:0 14px 28px rgba(43,36,34,.16);border:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;
}
nav.main-nav .sub a{display:block;text-align:left;white-space:nowrap;}
nav.main-nav li.has-sub:hover .sub, nav.main-nav li.has-sub:focus-within .sub{display:flex;}
nav.main-nav .sub a{padding:9px 12px;font-size:.87rem;color:var(--ink);}
nav.main-nav .sub a:hover, nav.main-nav .sub a:focus{background:var(--red-tint);color:var(--red-dark);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 10px;font-size:1rem;cursor:pointer;}
@media (max-width:920px){
  nav.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);padding:8px 24px 18px;max-height:80vh;overflow:auto;border-bottom:1px solid var(--line);}
  nav.main-nav.open{display:block;}
  nav.main-nav ul{flex-direction:column;gap:4px;align-items:stretch;}
  nav.main-nav .sub{position:static;box-shadow:none;display:flex;background:var(--bg);margin:4px 0 8px 12px;border:none;}
  .nav-toggle{display:inline-block;}
}

/* Breadcrumb + page header — color plano, sin degradado */
.page-hero{background:var(--red);color:#fff;padding:52px 0;}
.page-hero .crumbs{color:#C9E2E0;font-size:.85rem;margin-bottom:10px;}
.page-hero .crumbs a{color:#E4F2F1;}
.page-hero h1{color:#fff;margin-bottom:.2em;}
.page-hero p{color:#D6E9E7;max-width:60ch;text-align:left;}

/* Hero (home) — imagen grande real, con velo oscuro plano (sin degradado de color) */
.hero{position:relative;color:#fff;padding:120px 0 100px;overflow:hidden;background-color:var(--red-deep);background-size:cover;background-position:center;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,24,26,.62) 0%, rgba(10,24,26,.5) 38%, rgba(10,24,26,.28) 62%, rgba(10,24,26,.08) 100%);}
.hero .container{position:relative;max-width:760px;}
.eyebrow{display:inline-block;background:rgba(255,255,255,.16);color:#fff;padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:18px;border:1px solid rgba(255,255,255,.35);}
.hero h1{color:#fff;font-size:2.7rem;margin-bottom:.4em;text-align:left;text-shadow:0 2px 14px rgba(0,0,0,.45);}
.hero p.lead{color:#EAF5F4;font-size:1.15rem;max-width:52ch;text-align:left;text-shadow:0 1px 10px rgba(0,0,0,.4);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:8px;font-weight:700;text-decoration:none;font-size:.95rem;transition:transform .15s ease, background .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--red);color:#fff;animation:pulseGlow 2.6s ease-in-out infinite;}
.btn-primary:hover{background:var(--red-dark);animation-play-state:paused;}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(42,93,99,.32);}50%{box-shadow:0 0 0 9px rgba(42,93,99,0);}}
@media (prefers-reduced-motion: reduce){
  .btn-primary{animation:none;}
}
.btn-secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);}
.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:24px;backdrop-filter:blur(2px);}
.hero-card h3{color:#fff;font-size:1.05rem;margin-bottom:10px;}
.hero-card p{color:#DCEBEA;font-size:.92rem;margin-bottom:14px;text-align:left;}
.hero-card a{color:#fff;font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;}

/* Franja de logos institucionales (nueva) — marquee animado */
.partner-strip{background:var(--card);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden;}
.partner-strip .lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);text-align:center;margin-bottom:16px;}
.partner-marquee{display:flex;width:max-content;animation:marquee 32s linear infinite;}
.partner-marquee:hover{animation-play-state:paused;}
.partner-row{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:40px;padding-right:40px;}
.partner-row img{height:40px;width:auto;max-width:120px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:opacity .2s, filter .2s, transform .2s;}
.partner-row img:hover{filter:grayscale(0);opacity:1;transform:scale(1.06);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .partner-marquee{animation:none;}
}
/* Sin JS/marquee (fallback simple): si no hay dos filas duplicadas, se ve como fila estática centrada */
.partner-strip:not(:has(.partner-marquee)) .partner-row{flex-wrap:wrap;padding-right:0;}

/* Stats */
.stats{background:var(--card);border-bottom:1px solid var(--line);}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:36px 24px;}
@media (max-width:760px){.stats .container{grid-template-columns:repeat(2,1fr);}}
.stat{text-align:center;}
.stat .num{font-family:Georgia,serif;font-size:2.2rem;color:var(--red);font-weight:700;}
.stat .lbl{font-size:.82rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.4px;}

section{padding:64px 0;}
.section-head{max-width:70ch;margin-bottom:36px;}
.section-head .eyebrow-dark{color:var(--red);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.6px;}
.section-head h2{font-size:1.9rem;margin-top:6px;}
.section-head p{color:var(--ink-soft);text-align:left;}
.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:860px){.grid-3, .grid-2, .grid-4{grid-template-columns:1fr;}}
@media (max-width:960px) and (min-width:861px){.grid-4{grid-template-columns:repeat(2,1fr);}}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:0 0 26px;display:flex;flex-direction:column;gap:9px;overflow:hidden;transition:transform .3s ease, box-shadow .3s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(43,36,34,.14);}
.card > *:not(.news-thumb){padding-left:24px;padding-right:24px;}
.card .icon{width:46px;height:46px;border-radius:10px;background:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:6px;}
.card .icon svg{width:24px;height:24px;stroke:#fff;}
.card h3{font-size:1.08rem;margin-bottom:2px;}
.card .meta{font-size:.8rem;color:var(--red-dark);font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.card p{text-align:left;}
.card a.more{font-weight:700;font-size:.88rem;margin-top:auto;text-decoration:none;transition:color .2s ease;}
.card a.more:hover{color:var(--red-dark);text-decoration:underline;}

/* Miniatura grande de foto en tarjetas de noticia (portada + listado) */
.news-thumb{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--red-tint);margin-bottom:2px;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.card:hover .news-thumb img{transform:scale(1.06);}
.card .news-thumb + .meta{margin-top:18px;}
.card.no-thumb{padding-top:24px;}

/* Noticia destacada (portada): tarjeta grande por encima del resto */
.news-featured{margin-bottom:28px;}
.card-featured{display:grid;grid-template-columns:1.25fr 1fr;gap:0;}
.card-featured .news-thumb{aspect-ratio:16/9;margin-bottom:0;height:100%;}
.card-featured .featured-body{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.card-featured .featured-body .meta{margin-top:0;}
.card-featured .featured-body h3{font-size:1.55rem;line-height:1.28;margin-bottom:4px;}
.card-featured .featured-body p{font-size:1rem;color:var(--ink-soft);}
.card-featured .featured-body a.more{font-size:.95rem;}
@media (max-width:820px){.card-featured{grid-template-columns:1fr;}.card-featured .featured-body{padding:22px 24px 26px;}}

/* Resto de noticias en la portada: versión reducida de la tarjeta */
.news-small .news-thumb{aspect-ratio:16/11;}
.news-small h3{font-size:.94rem;}
.news-small p{font-size:.85rem;}
.news-small .card{padding-bottom:20px;}

/* Placeholder de marca para noticias sin foto real (no se inventa una fotografía) */
.photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--red-tint);}
.photo-placeholder .mark{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.05rem;color:var(--red-dark);letter-spacing:.5px;border:2px solid var(--red-dark);border-radius:50%;width:86px;height:86px;display:flex;align-items:center;justify-content:center;background:#fff;}
.article-photo.photo-placeholder{min-height:260px;}

.objectives{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media (max-width:700px){.objectives{grid-template-columns:1fr;}}
.objectives li{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.objectives li div{text-align:left;}
.objectives li .num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;}

.pub-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.pub-row:last-child{border-bottom:none;}
.pub-row .info strong{display:block;font-size:.98rem;}
.pub-row .info span{font-size:.82rem;color:var(--ink-soft);}
.pub-row .dl{flex:none;background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;padding:9px 16px;border-radius:8px;}
.pub-row .dl:hover{background:var(--red-dark);}

.cta-band{background:var(--red-deep);color:#fff;border-radius:var(--radius);padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.cta-band h3{color:#fff;font-size:1.35rem;max-width:38ch;}
.cta-band p{color:#D6E9E7;max-width:44ch;margin-bottom:0;text-align:left;}

footer.site{background:var(--red-deep);color:#D6E9E7;padding:52px 0 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
footer h4{color:#fff;font-size:.92rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;}
footer p{text-align:left;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:8px;font-size:.9rem;}
footer a{color:#D6E9E7;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#A9C7C4;}

/* Tables / member lists */
table.simple{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
table.simple th, table.simple td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.92rem;}
table.simple th{background:var(--red-tint);color:var(--red-deep);font-size:.8rem;text-transform:uppercase;letter-spacing:.4px;}
table.simple tr:last-child td{border-bottom:none;}

.people-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 28px;list-style:disc;margin:0;padding-left:20px;text-align:left;}
@media (max-width:760px){.people-cols{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.people-cols{grid-template-columns:1fr;}}
.people-cols li{font-size:.88rem;margin-bottom:9px;line-height:1.35;text-align:left;}
.people-cols li strong{display:block;color:var(--ink);}
.people-cols li span{color:var(--ink-soft);font-size:.82rem;}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;border-bottom:2px solid var(--line);padding-bottom:0;}
.tabs a{padding:10px 16px;border-radius:8px 8px 0 0;text-decoration:none;font-weight:700;font-size:.9rem;color:var(--ink-soft);}
.tabs a.active{color:var(--red-dark);background:var(--card);border:2px solid var(--line);border-bottom-color:var(--card);position:relative;top:2px;}

.person-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;gap:22px;align-items:center;}
.person-card .photo{flex:none;width:210px;height:210px;border-radius:50%;overflow:hidden;background:var(--red-tint);border:1px solid var(--line);}
.person-card .photo img{width:100%;height:100%;object-fit:cover;display:block;}
.person-card h4{margin-bottom:2px;font-size:1.1rem;}
.person-card .role{color:var(--red-dark);font-weight:700;font-size:.85rem;margin-bottom:6px;}
.person-card p{font-size:.9rem;color:var(--ink-soft);margin-bottom:0;text-align:left;}
@media (max-width:560px){.person-card{flex-direction:column;text-align:center;}.person-card p{text-align:center;}}

/* Consejo Directivo — tarjetas con foto grande */
.council-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:900px){.council-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.council-grid{grid-template-columns:1fr;}}
.council-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease, box-shadow .3s ease;}
.council-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(43,36,34,.14);}
.council-photo{width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--red-tint);}
.council-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.council-card:hover .council-photo img{transform:scale(1.05);}
.council-body{padding:20px 22px 26px;}
.council-body h4{margin-bottom:2px;font-size:1.1rem;}
.council-body .role{color:var(--red-dark);font-weight:700;font-size:.85rem;margin-bottom:6px;}
.council-body p{font-size:.9rem;color:var(--ink-soft);margin-bottom:12px;text-align:left;}
.council-body .linkedin-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.85rem;color:var(--red-dark);text-decoration:none;}
.council-body .linkedin-link:hover{text-decoration:underline;color:var(--red-deep);}

.badge-note{background:var(--red-tint);border:1px solid #bcd9d6;color:var(--red-deep);font-size:.85rem;padding:10px 16px;border-radius:8px;margin:16px 0;}
.photo-banner{width:100%;border-radius:var(--radius);overflow:hidden;margin-bottom:28px;border:1px solid var(--line);}
.photo-banner img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:24px;}
.pagination a{padding:8px 14px;border-radius:8px;background:var(--card);border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:.88rem;color:var(--ink);}
.pagination a.current{background:var(--red);color:#fff;border-color:var(--red);}

/* Páginas de noticia individual */
.article-body{max-width:70ch;margin:0 auto;}
.article-body p{color:var(--ink);font-size:1.02rem;line-height:1.75;margin-bottom:1.1em;text-align:justify;}
.article-body p:last-child{margin-bottom:0;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;margin-bottom:22px;font-size:.92rem;color:var(--red-dark);}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ink-soft);font-size:.85rem;margin-bottom:8px;}
.page-hero .article-meta{color:#D6E9E7;}
.article-photo{max-width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-bottom:28px;}
.article-photo img{width:100%;height:auto;max-height:520px;object-fit:cover;display:block;}

.post-nav{max-width:70ch;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);}
.post-nav a{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;display:block;}
.post-nav a:hover{border-color:var(--red);}
.post-nav .lbl{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--red-dark);margin-bottom:6px;}
.post-nav .ttl{color:var(--ink);font-weight:700;font-size:.92rem;}
.post-nav .next{text-align:right;}
@media (max-width:640px){.post-nav{grid-template-columns:1fr;}}

.related-heading{margin-top:52px;font-size:1.3rem;}

/* Miembros institucionales con logo */
.inst-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);}
.inst-row:last-child{border-bottom:none;}
.inst-logo{flex:none;width:60px;height:60px;border-radius:8px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.inst-logo img{max-width:50px;max-height:50px;width:auto;height:auto;object-fit:contain;}
.inst-logo.placeholder{color:var(--ink-soft);font-size:.7rem;font-weight:700;text-align:center;line-height:1.1;}
.inst-info strong{display:block;font-size:.96rem;color:var(--ink);}
.inst-info span{font-size:.82rem;color:var(--ink-soft);}
.inst-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}

/* Revistas — parrilla grande de portadas (más visual) */
.covers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px;}
.cover-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease, box-shadow .3s ease;}
.cover-card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(43,36,34,.14);}
.cover-card .cover-img{width:100%;aspect-ratio:3/4.2;overflow:hidden;background:var(--red-tint);}
.cover-card .cover-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.cover-card:hover .cover-img img{transform:scale(1.05);}
.cover-card .cover-info{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.cover-card .cover-info strong{font-size:.96rem;}
.cover-card .cover-info span{font-size:.8rem;color:var(--ink-soft);}
.cover-card .cover-info a.dl{margin-top:auto;font-weight:700;font-size:.84rem;text-decoration:none;color:var(--red-dark);}

/* Ficha de inscripción — layout de dos columnas, foto grande + beneficios */
.reg-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:stretch;}
@media (max-width:860px){.reg-layout{grid-template-columns:1fr;}}
.reg-side{position:relative;border-radius:var(--radius);overflow:hidden;background-size:cover;background-position:center;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:linear-gradient(160deg, var(--red) 0%, var(--red-deep) 100%);}
.reg-side::before{content:"";position:absolute;inset:0;background:rgba(12,28,30,.15);}
.reg-side-icon{position:relative;margin-bottom:6px;opacity:.95;}
.reg-side-inner{position:relative;padding:10px 30px 34px;max-width:380px;}
.reg-side-inner h3{color:#fff;font-size:1.35rem;margin-bottom:16px;}
.reg-side-inner ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.reg-side-inner li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:#DCEBEA;text-align:left;}
.reg-side-inner li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#fff;margin-top:1px;}

.reg-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;max-width:640px;}
.reg-form label{display:block;font-weight:700;font-size:.88rem;color:var(--ink);margin-bottom:6px;}
.reg-form .field{margin-bottom:20px;}
.reg-form input, .reg-form select, .reg-form textarea{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;font-family:inherit;color:var(--ink);background:#fff;
}
.reg-form textarea{min-height:110px;resize:vertical;}
.reg-form input[type="file"]{padding:9px 10px;background:#fff;font-size:.86rem;}
.reg-form .btn-primary{border:none;cursor:pointer;font-size:.95rem;}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:14px;text-align:left;}
.field-hint{display:block;font-size:.78rem;color:var(--ink-soft);margin-top:6px;line-height:1.4;}

/* Congresos */
.congress-list{display:flex;flex-direction:column;gap:22px;}
.congress-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;transition:box-shadow .3s ease, transform .3s ease;}
.congress-item:hover{box-shadow:0 14px 28px rgba(43,36,34,.1);transform:translateY(-3px);}
.congress-item p{text-align:left;}
.congress-item .cnum{color:var(--red);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;}
.congress-item h3{margin:4px 0 10px;font-size:1.2rem;}
.congress-item .clinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.congress-item .clinks a{background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:.84rem;padding:8px 14px;border-radius:8px;transition:background .2s ease;}
.congress-item .clinks a:hover{background:var(--red-dark);}
.congress-item .clinks span.disabled{background:var(--bg);color:var(--ink-soft);font-weight:700;font-size:.84rem;padding:8px 14px;border-radius:8px;border:1px solid var(--line);}
.congress-gap{text-align:center;color:var(--ink-soft);font-style:italic;font-size:.9rem;padding:6px 0;}

/* Foto por congreso (real o, si no existe, foto ilustrativa de la ciudad sede) — mismo tamaño fijo para todas */
.congress-flex{display:flex;gap:24px;align-items:flex-start;}
.congress-flex .cphoto{position:relative;flex:none;width:300px;height:220px;border-radius:10px;overflow:hidden;background:var(--red-tint);}
.congress-flex .cphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.congress-item:hover .cphoto img{transform:scale(1.06);}
.congress-flex .cphoto-placeholder{display:flex;align-items:center;justify-content:center;color:var(--red-dark);font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:2rem;}
.congress-flex .cbody{flex:1;min-width:0;}
@media (max-width:760px){
  .congress-flex{flex-direction:column;}
  .congress-flex .cphoto{width:100%;height:220px;}
}

/* Placeholder próximamente */
.coming-soon{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:48px;text-align:center;color:var(--ink-soft);}
.coming-soon .icon{font-size:2.4rem;margin-bottom:14px;}
.coming-soon p{text-align:center;}

/* Animaciones al hacer scroll (se activan vía IntersectionObserver en script.js) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}
