/* Ukraine Freedom Summit — site-specific (on top of shared design system) */
/* Story lists (hero profiles with credentials) — gold-dot bullets */
.story ul { margin: 0 0 var(--space-6); padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.story li { position: relative; padding-left: var(--space-6); color: var(--color-stone-700); line-height: 1.6; }
.story li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; border-radius: 999px; background: var(--color-gold-500); }
.footer__owner { margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--color-navy-700); font-size:var(--text-sm); color:var(--color-navy-300); text-align:center; }
.res__tag { font-size:var(--text-sm); font-weight:var(--weight-semibold); letter-spacing:.04em; text-transform:uppercase; color:var(--color-gold-600); margin-bottom:var(--space-2); }
.people--4 { grid-template-columns: repeat(4, 1fr); }
.people--2 { grid-template-columns: repeat(2, 1fr); }

/* Programme / panel agenda (forum pages) */
.prog { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-5); }
.prog__row { display: flex; gap: var(--space-6); background: var(--color-white); border: 1px solid var(--color-stone-200); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-8); box-shadow: var(--shadow-sm); transition: box-shadow .2s ease, transform .2s ease; }
.prog__row:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.prog__num { flex: none; width: 44px; height: 44px; border-radius: 999px; background: var(--color-navy-950); color: var(--color-gold-400); font-family: var(--font-display, inherit); font-weight: var(--weight-bold); font-size: var(--text-lg); display: flex; align-items: center; justify-content: center; }
.prog__body { flex: 1 1 auto; min-width: 0; }
.prog__kind { font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: .07em; text-transform: uppercase; color: var(--color-gold-600); }
.prog__title { font-family: var(--font-display, inherit); font-size: var(--text-xl); font-weight: var(--weight-bold); color: var(--color-navy-950); line-height: 1.25; margin: 2px 0 0; }
.prog__desc { color: var(--color-stone-600); margin: var(--space-2) 0 var(--space-4); line-height: 1.55; }
.prog__speakers { display: flex; flex-wrap: wrap; gap: var(--space-2); border-top: 1px solid var(--color-stone-200); padding-top: var(--space-3); }
.prog__sp { font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--color-navy-800); background: var(--color-stone-100); border: 1px solid var(--color-stone-200); border-radius: 999px; padding: 4px 10px; }
@media (max-width: 640px) { .prog__row { padding: var(--space-5); gap: var(--space-4); } .prog__num { width: 36px; height: 36px; font-size: var(--text-base); } }

/* Forum showcase hero image + program hub cards */
.forum-showcase { width: 100%; aspect-ratio: 21/9; object-fit: cover; display: block; }
.fcard__img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.fcard__tag { color: var(--color-gold-600); font-weight: var(--weight-semibold); font-size: var(--text-sm); }

/* Heroes — initial avatars + profile layout */
.avatar { display:flex; align-items:center; justify-content:center; border-radius:999px; background:linear-gradient(135deg, var(--color-navy-800), var(--color-navy-950)); color:var(--color-gold-400); font-weight:var(--weight-bold); letter-spacing:.02em; flex:none; box-shadow:var(--shadow-sm); }
.avatar--lg { width:96px; height:96px; font-size:var(--text-2xl); }
.avatar--xl { width:120px; height:120px; font-size:var(--text-3xl); border:3px solid var(--color-gold-500); }
.hero-card { display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; }
.hero-card .avatar { margin-bottom:var(--space-4); }
.hero-card__photo { width:150px; height:150px; border-radius:999px; object-fit:cover; object-position:center top; margin-bottom:var(--space-4); box-shadow:var(--shadow-sm); background:var(--color-stone-200); }
.profile-photo { width:200px; height:240px; border-radius:var(--radius-lg); object-fit:cover; object-position:center top; box-shadow:var(--shadow-md); flex:none; background:var(--color-navy-900); }
.hero-card__name { font-family:var(--font-display, inherit); font-weight:var(--weight-bold); font-size:var(--text-xl); color:var(--color-navy-950); line-height:1.2; }
.hero-card__role { font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--color-gold-600); margin-top:4px; }
.hero-card__hook { color:var(--color-stone-600); margin-top:var(--space-3); line-height:1.5; }
.hero-card__link { margin-top:var(--space-4); font-weight:var(--weight-semibold); color:var(--color-navy-800); font-size:var(--text-sm); }
.pquote { border-left:3px solid var(--color-gold-500); padding:var(--space-2) 0 var(--space-2) var(--space-6); margin:var(--space-8) 0; font-size:var(--text-2xl); font-weight:var(--weight-medium); color:var(--color-navy-950); line-height:1.4; }
.pquote cite { display:block; margin-top:var(--space-3); font-size:var(--text-base); font-style:normal; font-weight:var(--weight-semibold); color:var(--color-stone-500); }
.story h3 { font-size:var(--text-sm); font-weight:var(--weight-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--color-gold-600); margin:var(--space-8) 0 var(--space-2); }
.story p { line-height:1.7; color:var(--color-stone-700); margin:0 0 var(--space-4); }

/* Partnership tiers */
.tier { display:flex; flex-direction:column; position:relative; }
.tier--feat { border:2px solid var(--color-gold-500); box-shadow:var(--shadow-lg); }
.tier__badge { position:absolute; top:calc(-1 * var(--space-3)); left:50%; transform:translateX(-50%); background:var(--color-gold-500); color:var(--color-navy-950); font-size:var(--text-xs); font-weight:var(--weight-bold); text-transform:uppercase; letter-spacing:.05em; padding:4px 12px; border-radius:999px; white-space:nowrap; }
.tier__name { font-weight:var(--weight-bold); font-size:var(--text-lg); color:var(--color-navy-950); }
.tier__price { font-family:var(--font-display, inherit); font-size:var(--text-4xl); font-weight:var(--weight-extrabold); color:var(--color-navy-950); margin:var(--space-2) 0 var(--space-5); }
.tier__list { list-style:none; padding:0; margin:0 0 var(--space-6); flex:1 1 auto; }
.tier__list li { position:relative; padding:var(--space-2) 0 var(--space-2) var(--space-6); border-top:1px solid var(--color-stone-200); color:var(--color-stone-700); font-size:var(--text-sm); line-height:1.5; }
.tier__list li::before { content:"✓"; position:absolute; left:0; top:var(--space-2); color:var(--color-gold-600); font-weight:var(--weight-bold); }

/* Contact form */
.cform { display:flex; flex-direction:column; gap:var(--space-4); }
.cform__row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); }
.cform label { display:flex; flex-direction:column; gap:var(--space-2); font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--color-navy-900); }
.cform input, .cform select, .cform textarea { font-family:inherit; font-size:var(--text-base); font-weight:var(--weight-normal); color:var(--color-navy-950); background:var(--color-white); border:1px solid var(--color-stone-300); border-radius:var(--radius-md); padding:var(--space-3) var(--space-4); width:100%; }
.cform input:focus, .cform select:focus, .cform textarea:focus { outline:none; border-color:var(--color-gold-500); box-shadow:0 0 0 3px rgba(197,160,89,.18); }
.cform textarea { resize:vertical; }
@media (max-width:640px){ .cform__row { grid-template-columns:1fr; } }

/* ==========================================================================
   London 2025 archive — showcase components
   ========================================================================== */

/* --- Dark immersive hero (archive) --- */
.ahero { position: relative; background: var(--color-navy-950); color: var(--color-warm-50); overflow: hidden; }
.ahero::after { content:""; position:absolute; inset:0; background:
    radial-gradient(1200px 600px at 75% -10%, rgba(212,160,23,.16), transparent 60%),
    linear-gradient(180deg, rgba(10,15,30,.55), rgba(10,15,30,.92)); z-index:1; }
.ahero__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.5; z-index:0; }
.ahero__inner { position:relative; z-index:2; padding: calc(var(--space-32) + var(--space-6)) 0 var(--space-20); }
.ahero__eyebrow { font-size:var(--text-base); font-weight:var(--weight-semibold); color:var(--color-gold-400); letter-spacing:.02em; }
.ahero__title { color:var(--color-warm-50); font-size: clamp(2.6rem, 6vw, var(--text-6xl)); font-weight:var(--weight-black); letter-spacing:-0.03em; line-height:1.02; margin-top:var(--space-4); max-width:20ch; }
/* Light nav treatment while over a dark hero top */
body.dark-top .nav:not(.nav--solid) .nav__link { color: var(--color-warm-50); }
body.dark-top .nav:not(.nav--solid) .nav__link:hover { color: var(--color-gold-400); }
body.dark-top .nav:not(.nav--solid) .nav__logo img { filter: brightness(0) invert(1); }
.ahero .btn--ghost { color: var(--color-warm-50); border-color: rgba(255,255,255,.55); }
.ahero .btn--ghost:hover { border-color: var(--color-gold-400); color: var(--color-gold-400); }
.ahero__lead { font-size:var(--text-xl); line-height:var(--leading-snug); color:var(--color-navy-100); margin-top:var(--space-6); max-width:60ch; font-weight:var(--weight-medium); }
.ahero__meta { display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-6); margin-top:var(--space-8); color:var(--color-navy-100); font-weight:var(--weight-semibold); }
.ahero__meta span { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--text-base); }
.ahero__meta span::before { content:""; width:7px; height:7px; border-radius:999px; background:var(--color-gold-500); }
.ahero__cta { margin-top:var(--space-10); display:flex; gap:var(--space-4); flex-wrap:wrap; }

/* --- Sticky in-page day nav --- */
.daynav { position: sticky; top: 0; z-index: var(--z-sticky); background: rgba(250,247,241,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--color-warm-200); }
.daynav__inner { display:flex; gap:var(--space-2); overflow-x:auto; scrollbar-width:none; padding: var(--space-3) var(--space-8); max-width: var(--container-xl); margin-inline:auto; }
.daynav__inner::-webkit-scrollbar { display:none; }
.daynav a { flex:none; font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--color-navy-700); padding: var(--space-2) var(--space-4); border-radius:999px; white-space:nowrap; transition: background var(--duration-fast), color var(--duration-fast); }
.daynav a:hover { background:var(--color-warm-100); color:var(--color-navy-950); }
.daynav a.is-active { background:var(--color-navy-950); color:var(--color-gold-400); }

/* --- Forum band (section opener) --- */
.forumband { scroll-margin-top: 72px; }
.forumband__tag { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--text-sm); font-weight:var(--weight-bold); letter-spacing:.07em; text-transform:uppercase; color:var(--color-gold-600); }
.forumband__tag b { color:var(--color-navy-950); }
.forumband__title { font-size: clamp(2rem, 4.4vw, var(--text-4xl)); font-weight:var(--weight-black); letter-spacing:-0.02em; line-height:1.08; margin-top:var(--space-3); }
.forumband__motto { font-size:var(--text-xl); color:var(--color-stone-600); font-style:italic; margin-top:var(--space-3); }

/* --- Session library (accordion cards) --- */
.sessions { display:flex; flex-direction:column; gap:var(--space-4); max-width:960px; margin-inline:auto; }
.session { background:var(--color-white); border:1px solid var(--color-warm-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); overflow:hidden; }
.session > summary { list-style:none; cursor:pointer; padding: var(--space-6) var(--space-8); display:grid; grid-template-columns:auto 1fr auto; gap:var(--space-5); align-items:center; }
.session > summary::-webkit-details-marker { display:none; }
.session__no { width:40px; height:40px; border-radius:999px; background:var(--color-navy-950); color:var(--color-gold-400); font-weight:var(--weight-bold); display:flex; align-items:center; justify-content:center; flex:none; }
.session__no--kn { background:var(--color-gold-500); color:var(--color-navy-950); }
.session__hd { min-width:0; }
.session__kind { display:block; font-size:var(--text-xs); font-weight:var(--weight-bold); letter-spacing:.06em; text-transform:uppercase; color:var(--color-gold-600); }
.session__title { display:block; font-size:var(--text-lg); font-weight:var(--weight-bold); color:var(--color-navy-950); line-height:1.25; margin-top:4px; }
.session__kicker { display:block; color:var(--color-stone-600); font-size:var(--text-sm); margin-top:6px; }
.session__more { display:inline-flex; align-items:center; gap:var(--space-2); margin-top:var(--space-6); font-weight:var(--weight-semibold); color:var(--color-navy-900); font-size:var(--text-sm); }
.session__more:hover { gap:var(--space-3); color:var(--color-gold-600); }
.session__chev { flex:none; color:var(--color-stone-500); transition: transform var(--duration-fast) var(--ease-out); }
.session[open] .session__chev { transform: rotate(180deg); }
.session__body { padding: 0 var(--space-8) var(--space-8); border-top:1px solid var(--color-warm-200); }
.session__lineup { display:flex; flex-wrap:wrap; gap:var(--space-6); margin: var(--space-5) 0; }
.session__role { font-size:var(--text-xs); font-weight:var(--weight-bold); letter-spacing:.05em; text-transform:uppercase; color:var(--color-stone-500); margin-bottom:var(--space-2); }
.chips { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.chip { font-size:var(--text-xs); font-weight:var(--weight-semibold); color:var(--color-navy-800); background:var(--color-warm-100); border:1px solid var(--color-warm-200); border-radius:999px; padding:5px 11px; }
.chip--link { color:var(--color-navy-900); text-decoration:none; }
.chip--link:hover { background:var(--color-gold-100); border-color:var(--color-gold-200); color:var(--color-navy-950); }
.chip--mod { background:var(--color-navy-950); color:var(--color-warm-50); border-color:var(--color-navy-950); }
.session__summary { color:var(--color-stone-700); line-height:1.7; font-size:var(--text-base); }
.session__quotes { margin-top:var(--space-5); display:flex; flex-direction:column; gap:var(--space-4); }
.squote { border-left:3px solid var(--color-gold-500); padding-left:var(--space-5); }
.squote p { font-size:var(--text-lg); font-weight:var(--weight-medium); color:var(--color-navy-950); line-height:1.4; }
.squote cite { display:block; margin-top:var(--space-2); font-size:var(--text-sm); font-style:normal; font-weight:var(--weight-semibold); color:var(--color-stone-500); }
.session__note { margin-top:var(--space-5); font-size:var(--text-sm); color:var(--color-stone-500); background:var(--color-warm-50); border:1px dashed var(--color-warm-200); border-radius:var(--radius-md); padding:var(--space-3) var(--space-4); }
@media (max-width:640px){ .session > summary { padding:var(--space-5); gap:var(--space-4); grid-template-columns:auto 1fr auto; } .session__body { padding:0 var(--space-5) var(--space-5); } }

/* --- Feature speech block --- */
.speech { display:grid; grid-template-columns: 1.1fr .9fr; gap:var(--space-12); align-items:center; }
.speech--flip .speech__media { order:2; }
.speech__media { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); background:#000; }
.speech__media video, .speech__media img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.speech__name { color:var(--color-gold-600); font-weight:var(--weight-bold); font-size:var(--text-sm); }
.speech__title { font-size:var(--text-2xl); font-weight:var(--weight-black); letter-spacing:-0.02em; margin-top:4px; line-height:1.15; }
@media (max-width:820px){ .speech, .speech--flip { grid-template-columns:1fr; } .speech--flip .speech__media { order:0; } }

/* --- Masonry photo gallery + lightbox --- */
.gallery { columns: 4 240px; column-gap: var(--space-3); }
.gallery a { display:block; margin:0 0 var(--space-3); break-inside:avoid; border-radius:var(--radius-md); overflow:hidden; background:var(--color-warm-100); box-shadow:var(--shadow-sm); position:relative; }
.gallery img { width:100%; display:block; transition: transform var(--duration-slow) var(--ease-out); }
.gallery a:hover img { transform: scale(1.04); }
.gallery__more { text-align:center; margin-top:var(--space-8); }
.lb { position:fixed; inset:0; z-index:var(--z-modal); background:rgba(6,9,18,.94); display:none; align-items:center; justify-content:center; }
.lb.open { display:flex; }
.lb img { max-width:92vw; max-height:86vh; object-fit:contain; border-radius:var(--radius-sm); box-shadow:0 20px 60px rgba(0,0,0,.5); }
.lb__btn { position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border:0; border-radius:999px; background:rgba(255,255,255,.10); color:#fff; font-size:26px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background var(--duration-fast); }
.lb__btn:hover { background:rgba(255,255,255,.22); }
.lb__prev { left:3vw; } .lb__next { right:3vw; }
.lb__close { top:3vh; right:3vw; transform:none; }
.lb__count { position:absolute; bottom:3vh; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.75); font-size:var(--text-sm); font-weight:var(--weight-semibold); letter-spacing:.03em; }
@media (max-width:640px){ .gallery { columns: 2 140px; } .lb__btn { width:44px; height:44px; font-size:20px; } }

/* --- Archive index cards --- */
.arccard { display:block; text-decoration:none; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--color-warm-200); background:var(--color-warm-50); box-shadow:var(--shadow-sm); transition:transform var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out); }
.arccard:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.arccard__img { position:relative; aspect-ratio:16/10; background:var(--color-navy-900); }
.arccard__img img { width:100%; height:100%; object-fit:cover; display:block; }
.arccard__badge { position:absolute; top:var(--space-4); left:var(--space-4); background:var(--color-gold-500); color:var(--color-navy-950); font-size:var(--text-xs); font-weight:var(--weight-bold); text-transform:uppercase; letter-spacing:.05em; padding:5px 12px; border-radius:999px; }
.arccard__body { padding:var(--space-6) var(--space-8) var(--space-8); }
.arccard__yr { color:var(--color-gold-600); font-weight:var(--weight-bold); font-size:var(--text-sm); }
.arccard__ttl { font-size:var(--text-xl); font-weight:var(--weight-bold); color:var(--color-navy-950); margin-top:2px; }
.arccard__txt { color:var(--color-stone-600); margin-top:var(--space-3); line-height:1.55; font-size:var(--text-base); }
.arccard--soon { opacity:.7; }
.arccard--soon .arccard__badge { background:var(--color-navy-700); color:var(--color-warm-50); }

/* ==========================================================================
   Session detail page (episode-style)
   ========================================================================== */
.ep-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-3) var(--space-5); margin-top:var(--space-6); }
.ep-meta__item { font-size:var(--text-base); font-weight:var(--weight-semibold); color:var(--color-navy-800); display:inline-flex; align-items:center; gap:var(--space-2); }
.ep-meta__item + .ep-meta__item::before { content:"·"; color:var(--color-stone-300); margin-right:var(--space-3); }
.ep-share { display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--color-navy-900); background:var(--color-white); border:1px solid var(--color-warm-200); border-radius:999px; padding:6px 14px; cursor:pointer; }
.ep-share:hover { border-color:var(--color-gold-500); color:var(--color-gold-600); }

.ep-audio { display:flex; align-items:center; gap:var(--space-4); flex-wrap:wrap; background:var(--color-warm-100); border:1px solid var(--color-warm-200); border-radius:var(--radius-lg); padding:var(--space-4) var(--space-5); }
.ep-audio__label { font-weight:var(--weight-semibold); color:var(--color-navy-900); font-size:var(--text-sm); white-space:nowrap; }
.ep-audio audio { flex:1 1 320px; height:40px; }

.ep-people { display:flex; flex-wrap:wrap; gap:var(--space-5); }
.ep-person { display:flex; align-items:center; gap:var(--space-3); }
.ep-person .avatar { width:52px; height:52px; font-size:var(--text-base); }
.ep-person__name { font-weight:var(--weight-bold); color:var(--color-navy-950); font-size:var(--text-base); line-height:1.2; }
.ep-person__role { color:var(--color-stone-500); font-size:var(--text-sm); }
.ep-person__name a { color:inherit; }
.ep-person__name a:hover { color:var(--color-gold-600); }

/* Key takeaways — big gold numerals */
.takeaways { max-width:760px; display:flex; flex-direction:column; gap:var(--space-6); }
.takeaway { display:grid; grid-template-columns:auto 1fr; gap:var(--space-5); align-items:start; }
.takeaway__n { font-size:var(--text-3xl); font-weight:var(--weight-black); color:var(--color-gold-500); line-height:1; font-variant-numeric:tabular-nums; min-width:1.6ch; }
.takeaway__t { font-size:var(--text-lg); line-height:1.6; color:var(--color-navy-900); }
.takeaway + .takeaway { border-top:1px solid var(--color-warm-200); padding-top:var(--space-6); }

/* Key quotes — large pull quotes */
.eq { max-width:820px; display:flex; flex-direction:column; gap:var(--space-8); }
.eq__item { border-left:3px solid var(--color-gold-500); padding-left:var(--space-6); }
.eq__mark { color:var(--color-gold-500); font-size:var(--text-4xl); font-weight:var(--weight-black); line-height:.3; }
.eq__text { font-size:var(--text-2xl); font-weight:var(--weight-medium); color:var(--color-navy-950); line-height:1.35; margin-top:var(--space-2); }
.eq__who { margin-top:var(--space-4); font-weight:var(--weight-bold); color:var(--color-navy-900); }
.eq__who span { font-weight:var(--weight-regular); color:var(--color-stone-500); }

/* Transcript + chapters */
.transcript { max-width:820px; }
.transcript > summary { list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:var(--space-3); font-weight:var(--weight-bold); color:var(--color-navy-900); font-size:var(--text-lg); padding:var(--space-4) 0; }
.transcript > summary::-webkit-details-marker { display:none; }
.transcript > summary::before { content:""; width:34px; height:34px; border-radius:999px; background:var(--color-navy-950); color:var(--color-gold-400); display:inline-flex; }
.transcript__chev { transition:transform var(--duration-fast); }
.transcript[open] .transcript__chev { transform:rotate(180deg); }
.transcript__body { border-top:1px solid var(--color-warm-200); padding-top:var(--space-6); margin-top:var(--space-2); }
.transcript__body p { color:var(--color-stone-700); line-height:1.75; margin-bottom:var(--space-4); font-size:var(--text-base); }
.transcript__body p strong { color:var(--color-navy-900); }
.chapters { max-width:760px; list-style:none; padding:0; margin:0; }
.chapters li { display:grid; grid-template-columns:auto 1fr; gap:var(--space-4); padding:var(--space-2) 0; border-bottom:1px solid var(--color-warm-200); }
.chapters .t { font-variant-numeric:tabular-nums; color:var(--color-gold-600); font-weight:var(--weight-semibold); font-size:var(--text-sm); }
.chapters .c { color:var(--color-navy-800); font-size:var(--text-base); }

/* Prev/next session nav */
.epnav { display:flex; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; }
.epnav a { display:flex; flex-direction:column; gap:2px; text-decoration:none; max-width:46%; }
.epnav__dir { font-size:var(--text-sm); font-weight:var(--weight-semibold); color:var(--color-gold-600); }
.epnav__ttl { font-weight:var(--weight-bold); color:var(--color-navy-900); }
.epnav__ttl:hover { color:var(--color-gold-600); }
.epnav a:last-child { text-align:right; align-items:flex-end; }
@media (max-width:640px){ .takeaway { grid-template-columns:auto 1fr; } .eq__text { font-size:var(--text-xl); } }

/* 4-up card grid (home Dallas programme) — responsive */
.cards--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .cards--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .cards--4 { grid-template-columns: 1fr; } }

/* --- Archive layout polish (mobile daynav, spacing) --- */
.daynav a .dn-sfx { }
@media (max-width: 700px) {
  .daynav a .dn-sfx { display: none; }
  .daynav__inner { justify-content: center; gap: 2px; padding-inline: var(--space-3); }
  .daynav a { padding: var(--space-2) 10px; font-size: 0.78rem; }
}
@media (max-width: 540px) {
  .section > .container { padding-inline: var(--space-5); }
}

/* --- Speaker avatars inside lineup chips --- */
.chip { display:inline-flex; align-items:center; gap:7px; padding:4px 13px 4px 5px; }
.chip__av { width:22px; height:22px; border-radius:999px; flex:none; display:inline-flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:var(--weight-bold); letter-spacing:.02em;
  background:linear-gradient(135deg, var(--color-navy-700), var(--color-navy-950)); color:var(--color-gold-400); }
.chip--mod .chip__av { background:var(--color-gold-500); color:var(--color-navy-950); }
.chip--link:hover .chip__av { background:var(--color-gold-500); color:var(--color-navy-950); }

/* --- Photo headshots inside avatars/chips (fall back to initials) --- */
.avatar img, .chip__av img { width:100%; height:100%; object-fit:cover; object-position:center top; border-radius:inherit; display:block; }
.avatar:has(img), .chip__av:has(img) { background:none; }
