.agenda { position: relative; background: var(--night); padding: 40px clamp(16px, 5vw, 72px) 80px; overflow: hidden; }
.agenda-inner { position: relative; max-width: 1240px; margin: 0 auto; }
.ag-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 4vw, 56px); margin-top: 8px; }
.ag-cols > div { min-width: 0; }
@media (max-width: 860px) { .ag-cols { grid-template-columns: 1fr; gap: 40px; } }

.ag-zone { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-family: var(--display); font-weight: 800; font-size: 1.9rem; line-height: 1; letter-spacing: .04em; text-transform: uppercase; color: var(--sky); }
.ag-zone::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.ag-zone small { font-family: var(--mono); font-weight: 400; font-size: .76rem; letter-spacing: .04em; text-transform: none; color: var(--muted); }
.zico { width: 46px; height: 46px; flex: none; overflow: visible; margin: -8px 0 -8px -4px; }
.zico-monde { width: 58px; height: 58px; margin: -12px -4px; }
.orbite { transform-origin: 40px 44px; animation: ag-orbite 14s linear infinite; }
@keyframes ag-orbite { to { transform: rotate(360deg); } }

.ag-une { --k: .3; position: relative; display: grid; gap: 9px; padding: 20px 20px 22px; border-radius: 18px; border: 1px solid rgb(84 236 150 / calc(.06 + .34 * var(--k))); background: radial-gradient(110% 140% at 100% 0%, rgb(84 236 150 / calc(.02 + .17 * var(--k))), transparent 65%), var(--card); box-shadow: 0 0 calc(var(--k) * 34px) rgb(84 236 150 / calc(.16 * var(--k))); overflow: hidden; }
.ag-une::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(2px + 1px * var(--k)); opacity: calc(.3 + .7 * var(--k)); background: linear-gradient(90deg, var(--red), var(--amber) 45%, var(--green)); box-shadow: 0 0 12px rgba(84,236,150,.5); }
.ag-jm { font-family: var(--display); font-weight: 900; font-size: clamp(3.6rem, 8.1vw, 5.76rem); line-height: .82; color: rgb(84 236 150 / calc(.45 + .55 * var(--k))); text-shadow: 0 0 calc(4px + 24px * var(--k)) rgb(84 236 150 / calc(.1 + .35 * var(--k))); font-variant-numeric: tabular-nums; }
.ag-jm small { font-size: .32em; font-weight: 800; color: var(--muted); text-shadow: none; margin-left: 10px; letter-spacing: .02em; text-transform: uppercase; }
.ag-une.direct .ag-jm { animation: ag-direct 1.8s ease-in-out infinite; }
@keyframes ag-direct { 50% { opacity: .72; } }
.ag-une h3 { margin: 4px 0 0; font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: 1.71rem; line-height: .95; }
.ag-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--muted); font-size: .83rem; }
.ag-une p { margin: 0; color: var(--muted); line-height: 1.5; font-size: .86rem; }
.ag-actions, .ag-pied { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }

.ag-piste { list-style: none; margin: 26px 0 0; padding: 0 0 0 34px; position: relative; display: grid; gap: 24px; }
.ag-piste::before { content: ""; position: absolute; left: 6px; top: -26px; bottom: 8px; width: 2px; border-radius: 2px; background: linear-gradient(to bottom, var(--green), var(--amber) 60%, var(--red)); box-shadow: 0 0 14px rgba(84,236,150,.35); }
.ag-piste li { position: relative; display: grid; gap: 5px; min-width: 0; }
.ag-piste li::before { content: ""; position: absolute; left: -34px; top: 7px; width: 14px; height: 14px; border-radius: 50%; background: var(--night); border: 2px solid rgba(244,246,251,.35); }
.ag-d { font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: 1.35rem; line-height: 1; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
.ag-piste h3 { margin: 0; font-size: .97rem; font-weight: 600; }
.ag-piste h3 span { color: var(--muted); font-weight: 400; }
.ag-piste p { margin: 0; color: var(--muted); line-height: 1.5; font-size: .84rem; max-width: 52ch; }

.ag-type { font-family: var(--mono); font-size: .72rem; color: var(--amber); }
.ag-quand { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: .74rem; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(169,214,247,.35); color: var(--sky); white-space: nowrap; }
.ag-quand.proche { border-color: rgba(84,236,150,.5); color: var(--green); }
.ag-quand.proche::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.ag-src { font-family: var(--mono); font-size: .72rem; color: var(--muted); border-bottom: 1px dotted rgba(169,179,201,.5); white-space: nowrap; }

@media (pointer: coarse) { .ag-src { position: relative; z-index: 1; } .ag-src::after { content: ""; position: absolute; inset: -5px 0; } }
.ag-src:hover, .ag-src:focus-visible { color: var(--sky); border-bottom-color: var(--sky); }
.ag-lire { font-size: .84rem; font-weight: 600; color: var(--green); white-space: nowrap; }
.ag-lire:hover, .ag-lire:focus-visible { text-decoration: underline; }
.ag-note { margin: 28px 0 0; font-size: .85rem; color: var(--muted); }
.ag-note b { color: var(--ink); font-weight: 600; }

.ag-page { padding-top: 8px; }
.ag-piste li.ag-mois { font-family: var(--mono); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--sky); margin-bottom: -12px; }
.ag-piste li.ag-mois::before { width: 8px; height: 8px; left: -31px; top: 4px; border-color: var(--sky); }
.ag-archive { padding-top: 24px; border-top: 1px solid var(--line); }
.ag-archive .ag-piste { margin-top: 0; }
.ag-archive .ag-piste::before { top: 8px; background: rgba(244,246,251,.18); box-shadow: none; }
.ag-zone-passee { font-size: 1.4rem; color: var(--muted); }

@media (prefers-reduced-motion: reduce) { .orbite, .ag-une.direct .ag-jm { animation: none; } }
