.events-hero { position:relative; overflow:hidden; background:#073f7c; color:#fff; padding:clamp(2.5rem,6vw,4.5rem) 0; }
.events-hero .site-width { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 15rem; align-items:center; gap:2rem; }
.events-hero .eyebrow { color:var(--yellow); }
.events-hero h1 { max-width:44rem; color:white; margin:.5rem 0 1.25rem; font-size:clamp(2.6rem,5.8vw,4.8rem); line-height:1; letter-spacing:-.045em; }
.events-hero p:last-child { max-width:37rem; margin:0; font-size:1.15rem; color:#deedfa; line-height:1.65; }
.events-hero::after { content:""; position:absolute; width:26rem; height:26rem; right:-3rem; top:-10rem; border:3rem solid #1460a4; border-radius:50%; }
.events-calendar-mark { transform:rotate(7deg); padding:1.5rem; border-radius:1.5rem; background:var(--yellow); color:var(--blue-deep); box-shadow:1rem 1rem 0 #1460a4; text-align:center; }
.events-calendar-mark svg { display:block; width:6rem; height:6rem; margin:.5rem auto 1.25rem; }
.events-calendar-mark strong { display:block; font-size:1.25rem; }
.events-calendar-mark span { display:block; font-size:.95rem; margin-top:.3rem; }
.events-content { padding-block:2.5rem 4rem; }
.events-intro { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:2.5rem; padding-bottom:1.25rem; border-bottom:1px solid #d8e6f1; }
.events-intro p { margin:0; color:#41627d; font-size:1.05rem; }
.events-course { white-space:nowrap; background:#edf6fd; padding:.55rem 1rem; border-radius:2rem; color:var(--blue-deep); font-weight:700; }
.events-term { margin-bottom:2.75rem; }
.events-term-heading { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.events-term-heading h2 { font-size:1.7rem; color:var(--blue-deep); margin:0; letter-spacing:-.025em; }
.events-term-heading span { color:#597a95; font-size:.9rem; }
.events-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.event-card { position:relative; display:flex; align-items:flex-start; gap:1rem; min-height:10rem; padding:1.4rem 1.2rem; border:1px solid #d9e7f2; border-radius:1rem; background:white; overflow:hidden; }
.event-card::after { content:""; position:absolute; right:1.1rem; bottom:1rem; width:1.5rem; height:3px; border-radius:2px; background:var(--yellow); }
.event-date { display:flex; flex-direction:column; align-items:center; flex:0 0 4.2rem; padding:.8rem .4rem; border-radius:.85rem; background:#eff6fc; color:var(--blue-deep); font-style:normal; line-height:1; }
.event-date strong { font-size:2.1rem; letter-spacing:-.04em; }
.event-date span { margin-top:.55rem; font-size:.75rem; font-weight:700; letter-spacing:.06em; }
.event-copy { min-width:0; padding-top:.2rem; }
.event-copy h3 { margin:0; font-size:1.15rem; line-height:1.35; color:var(--blue-deep); }
.event-copy p { margin:.7rem 0 0; color:#456883; font-size:.95rem; line-height:1.5; }
.event-card.is-next { background:#fff9d8; border-color:#ead45a; }
.event-card.is-next .event-date { background:var(--yellow); }
.event-next-label { display:block; color:#426480; font-size:.73rem; font-weight:700; margin-bottom:.5rem; letter-spacing:.03em; }
.home-events { margin:2.5rem 0; }
.home-events .events-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-events .event-card { min-height:8.5rem; }
@media(max-width:1050px) { .events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-events .events-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .home-events .event-card { padding:1rem .85rem; gap:.8rem; } }
@media(max-width:760px) { .events-hero .site-width { grid-template-columns:1fr; } .events-calendar-mark { display:none; } .events-intro { align-items:flex-start; flex-direction:column; } .events-grid,.home-events .events-grid { grid-template-columns:1fr; } .event-card { min-height:8rem; padding:1.2rem; } .events-term-heading { align-items:flex-start; flex-direction:column; gap:.4rem; } }
/* Agenda editorial — propuesta elegida. Los estilos de Home se conservan. */
.agenda-editorial { color:#073f7c; }
.agenda-hero { overflow:hidden; }
.agenda-hero .site-width { position:relative; min-height:25rem; padding-top:4rem; padding-bottom:3rem; display:grid; grid-template-columns:3fr 2fr; align-items:center; }
.agenda-hero-copy { position:relative; z-index:1; }
.agenda-hero .eyebrow { color:#073f7c; margin:0 0 1rem; font-size:.9rem; }
.agenda-hero h1 { color:#073f7c; font-size:clamp(3.7rem,7.2vw,6.6rem); line-height:.94; letter-spacing:-.055em; margin:0 0 1rem; font-weight:850; }
.agenda-hero-copy>p:last-child { font-size:1.1rem; max-width:37rem; margin:0; }
.agenda-hero-art { position:absolute; right:-5rem; top:0; width:35rem; height:24rem; pointer-events:none; }
.agenda-hero-art img { width:100%; height:100%; object-fit:contain; }
.agenda-handwritten { font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive; font-weight:700; font-style:italic; font-size:2rem; line-height:1.22; color:#073f7c; }
.agenda-hero-art .agenda-handwritten { position:absolute; bottom:1rem; left:1rem; transform:rotate(-7deg); margin:0; }
.agenda-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding-bottom:4.5rem; }
.agenda-term { padding:0 1.6rem; border-left:1px solid #d4e5f5; }
.agenda-term:first-child { border-left:0; padding-left:0; }
.agenda-term:last-child { padding-right:0; }
.agenda-term-heading { padding-bottom:1rem; border-bottom:1px solid #d4e5f5; }
.agenda-term-heading h2 { font-size:1.8rem; letter-spacing:-.035em; line-height:1.15; margin:0 0 .4rem; color:#073f7c; }
.agenda-term-heading p { margin:0; color:#4b7098; font-size:1rem; }
.agenda-event { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:1rem; align-items:center; min-height:7.5rem; padding:1.4rem .25rem; border-bottom:1px solid #d4e5f5; }
.agenda-event:last-child { border-bottom:0; }
.agenda-date { display:block; text-align:center; line-height:1; }
.agenda-date strong { display:block; font-weight:850; font-size:2.8rem; letter-spacing:-.04em; }
.agenda-date span { display:block; font-size:.85rem; font-weight:800; margin-top:.5rem; }
.agenda-copy h3 { font-size:1.1rem; line-height:1.3; margin:0; color:#073f7c; }
.agenda-copy p { font-size:.95rem; margin:.5rem 0 0; color:#4b7098; }
.agenda-event-smile { position:relative; background:#ffe838; border-radius:1rem; border:0; padding:1.5rem 5.2rem 1.2rem .75rem; margin:0 0 .25rem; grid-template-columns:3.8rem minmax(0,1fr); gap:.8rem; }
.agenda-smile { width:5rem; height:5rem; object-fit:contain; position:absolute; right:.5rem; top:1rem; }
.smile-caption { grid-column:1/-1; font-size:1.65rem; text-align:center; margin:.7rem 0 0; transform:rotate(-5deg); }
.agenda-note { margin:2.3rem 0 0; padding:1.7rem .5rem; background:#edf6fd; text-align:center; border-radius:1rem; }
.agenda-note-family { background:white; margin-top:2rem; transform:rotate(-5deg); }
@media(max-width:1050px) { .agenda-term { padding-inline:1.1rem; } .agenda-term-heading h2 { font-size:1.5rem; } .agenda-event { gap:.6rem; grid-template-columns:3.2rem minmax(0,1fr); } .agenda-event-smile { padding-right:3.5rem; } .agenda-smile { width:3.3rem; } .agenda-copy h3 { font-size:1rem; } .agenda-hero-art { opacity:.9; right:-10rem; } }
@media(max-width:760px) { .agenda-hero .site-width { display:block; min-height:0; padding-top:2.5rem; padding-bottom:2.5rem; } .agenda-hero h1 { font-size:3.8rem; } .agenda-hero-art { display:none; } .agenda-hero-copy>p:last-child { font-size:1rem; } .agenda-columns { grid-template-columns:1fr; gap:2.7rem; padding-bottom:3rem; } .agenda-term,.agenda-term:first-child,.agenda-term:last-child { padding:0; border:0; } .agenda-term-heading h2 { font-size:1.75rem; } .agenda-event { grid-template-columns:4rem minmax(0,1fr); gap:1rem; min-height:6.5rem; } .agenda-copy h3 { font-size:1.1rem; } .agenda-event-smile { padding-right:5.5rem; } .agenda-smile { width:5rem; } .agenda-note { margin-top:1rem; font-size:1.8rem; } }
@media(min-width:1051px) {
 .agenda-editorial .site-width { width:calc(100% - 96px); max-width:1344px; }
 .agenda-hero .site-width { min-height:28rem; padding-top:4rem; padding-bottom:4rem; }
 .agenda-hero h1 { font-size:8rem; }
 .agenda-hero-copy>p:last-child { font-size:1.25rem; max-width:43rem; }
 .agenda-hero-art { width:38rem; height:26rem; right:-3rem; }
 .agenda-hero-art .agenda-handwritten { font-size:2.4rem; left:3rem; bottom:2rem; }
 .agenda-term { padding-inline:1.8rem; }
 .agenda-term-heading h2 { font-size:2.2rem; }
 .agenda-term-heading p { font-size:1.2rem; }
 .agenda-event { min-height:9rem; grid-template-columns:4.8rem minmax(0,1fr); gap:1rem; padding-block:1.8rem; }
 .agenda-date strong { font-size:3.6rem; }
 .agenda-date span { font-size:1rem; }
 .agenda-copy h3 { font-size:1.35rem; }
 .agenda-copy p { font-size:1.1rem; }
 .agenda-event-smile { padding-right:5rem; min-height:15rem; grid-template-columns:4.6rem minmax(0,1fr); }
 .agenda-smile { width:6rem; height:6rem; right:.1rem; top:1.3rem; }
 .smile-caption { font-size:2rem; }
 .agenda-note { font-size:2.3rem; padding-block:2rem; }
}
/* Versión compacta de la agenda para la portada. */
.home-agenda { margin:2.4rem 0; }
.home-agenda>.section-heading { margin-bottom:1.15rem; }
.home-agenda-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:1.25rem 1.35rem; border:1px solid #d4e5f5; border-top:4px solid #ffe838; border-radius:.75rem; }
.home-agenda-term { min-width:0; padding:0 1.2rem; border-left:1px solid #d4e5f5; }
.home-agenda-term:first-child { border:0; padding-left:0; }
.home-agenda-term:last-child { padding-right:0; }
.home-agenda-term header { padding-bottom:.55rem; border-bottom:1px solid #d4e5f5; }
.home-agenda-term h3 { margin:0; color:#073f7c; font-size:1.05rem; letter-spacing:-.025em; }
.home-agenda-term header p { margin:.2rem 0 0; color:#56789b; font-size:.8rem; }
.home-agenda-event { display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:.8rem; align-items:center; padding:.7rem .15rem; min-height:3.75rem; color:#073f7c; border-bottom:1px solid #e1edf7; text-decoration:none; border-radius:.25rem; }
.home-agenda-event:last-child { border-bottom:0; }
.home-agenda-date { text-align:center; line-height:1; }
.home-agenda-date strong { display:block; font-size:1.75rem; font-weight:850; letter-spacing:-.04em; }
.home-agenda-date>span { display:block; margin-top:.3rem; font-size:.63rem; font-weight:800; }
.home-agenda-copy>strong { display:block; font-size:.9rem; line-height:1.3; font-weight:750; }
.home-agenda-note { display:block; margin-top:.25rem; font-size:.77rem; line-height:1.3; color:#496a8c; }
.home-agenda-smile { background:#ffe838; padding-inline:.4rem; border:0; margin:.25rem 0; border-radius:.55rem; }
.home-agenda-event:hover { background:#edf6fd; }
.home-agenda-smile:hover { background:#fff19b; }
.home-agenda-event:focus-visible { outline:3px solid #1267bd; outline-offset:2px; }
@media(max-width:1000px) { .home-agenda-columns { padding:1rem; } .home-agenda-term { padding-inline:.75rem; } .home-agenda-event { gap:.5rem; } .home-agenda-copy>strong { font-size:.84rem; } }
@media(max-width:680px) { .home-agenda-columns { grid-template-columns:1fr; gap:1.35rem; padding:1rem; } .home-agenda-term,.home-agenda-term:first-child,.home-agenda-term:last-child { padding:0; border:0; } .home-agenda-term h3 { font-size:1.08rem; } .home-agenda-event { min-height:3.5rem; gap:.9rem; } .home-agenda-copy>strong { font-size:.94rem; } .home-agenda>.section-heading { align-items:flex-start; gap:.5rem; } .home-agenda>.section-heading .text-link { font-size:.78rem; white-space:nowrap; } }
.home-agenda-event:not(a):hover { background:transparent; }
.home-agenda-smile:not(a):hover { background:#ffe838; }
