:root {
    --green: #006b3f;
    --green-deep: #004c2f;
    --green-pale: #edf5ee;
    --gold: #fbbc05;
    --gold-light: #ffda62;
    --navy: #006b3f;
    --navy-deep: #003c29;
    --ink: #19392c;
    --ink-soft: #65756b;
    --sand: #f4f7f2;
    --line: #dce6dd;
    --container: 1280px;
}
.events-platform { font-family: "Segoe UI", Arial, sans-serif; color: var(--ink); font-size: 16px; line-height: 1.65; }
.events-platform h1, .events-platform h2, .events-platform h3 { letter-spacing: -.035em; }
.events-platform h2 { font-size: clamp(2rem, 3.35vw, 3.1rem); font-weight: 700; line-height: 1.15; }
.events-platform .section { padding-block: 88px; }
.events-platform .eyebrow { font-size: .69rem; letter-spacing: .16em; font-weight: 750; margin-bottom: 17px; }
.events-platform .eyebrow-light { color: var(--gold); }
.icon { width: 20px; height: 20px; flex: 0 0 20px; }
.events-platform .button { border-radius: 28px; min-height: 48px; padding: 13px 23px; letter-spacing: 0; font-size: .85rem; font-weight: 700; }
.events-platform .text-link { display: inline-flex; align-items: center; gap: 14px; border-bottom: 0; color: var(--green); font-size: .84rem; letter-spacing: 0; text-transform: none; }
.events-platform .text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.events-platform .section-heading { margin-bottom: 28px; }
.events-platform .section-heading h2 { max-width: 740px; margin: 0; }
.events-platform .section-heading > p, .events-platform .section-heading > div + p { max-width: 460px; font-size: .95rem; color: var(--ink-soft); }
.events-platform .section-heading.heading-light > p { color: #bdd2c5; }
.events-platform .centered-heading { max-width: 740px; margin: 0 auto 40px; text-align: center; }
.events-platform .centered-heading .eyebrow { justify-content: center; }
.events-platform .centered-heading > p:last-child { margin: 20px auto 0; max-width: 620px; }
.section-intro { max-width: 750px; margin: -7px 0 35px; color: var(--ink-soft); }
.events-platform .site-header { position: sticky; top: 0; background: var(--green); color: white; box-shadow: 0 3px 15px #002d2424; }
.events-platform .main-nav { min-height: 88px; gap: 22px; }
.events-platform .brand { gap: 18px; min-width: 0; flex-shrink: 0; }
.events-platform .brand img { width: 92px; height: 53px; object-fit: contain; }
.events-platform .brand-copy { padding-inline-start: 18px; border-inline-start: 1px solid #ffffff3b; }
.events-platform .brand-copy strong { color: white; font-size: 1.2rem; font-weight: 750; white-space: nowrap; }
.events-platform .brand-copy small { max-width: 170px; color: #d3e5d7; font-size: .55rem; letter-spacing: .07em; font-weight: 500; }
.events-platform .primary-navigation { gap: 22px; }
.events-platform .primary-navigation > a:not(.nav-cta) { color: #e5efe8; font-weight: 600; font-size: .8rem; padding-block: 33px; letter-spacing: 0; }
.events-platform .primary-navigation > a.active, .events-platform .primary-navigation > a:hover { color: var(--gold); }
.events-platform .primary-navigation > a.active::after { height: 2px; bottom: 24px; }
.events-platform .nav-cta { display: flex; color: #153421; background: var(--gold); border-radius: 25px; padding: 11px 17px; font-size: .76rem; white-space: nowrap; }
.events-platform .nav-cta:hover { color: #153421; background: var(--gold-light); }
.events-platform .language-menu { align-self: center; }
.events-platform .language-trigger { padding: 8px 9px; border: 1px solid #ffffff32; border-radius: 6px; gap: 5px; font-size: .7rem; }
.events-platform .language-trigger .icon:last-child { width: 12px; flex-basis: 12px; }
.events-platform .language-dropdown { font-size: .85rem; }
.events-platform .nav-toggle { background: #ffffff18; border: 1px solid #ffffff35; }
.events-platform .nav-toggle-lines i { background: white; }
.events-hero { height: min(720px, calc(100svh - 155px)); min-height: 585px; border-bottom: 3px solid var(--gold); }
.events-hero .hero-content { padding-block: 74px 120px; }
.events-hero .hero-copy { width: min(770px, 75vw); }
.events-hero .hero-copy h1, .events-hero .hero-title { color: white; font-size: clamp(2.8rem, 4.9vw, 4.65rem); line-height: 1.09; font-weight: 700; margin: 0 0 24px; max-width: 770px; text-wrap: balance; }
.events-hero .hero-summary { max-width: 600px; font-size: 1.08rem; line-height: 1.75; color: #e1eae2; margin-bottom: 33px; }
.events-platform .hero-overlay { background: linear-gradient(90deg, #003b29eF 0%, #003b29ba 40%, #003b2940 100%); }
[dir="rtl"] .events-platform .hero-overlay, .events-platform[dir="rtl"] .hero-overlay { background: linear-gradient(-90deg, #003b29ef 0%, #003b29ba 40%, #003b2940 100%); }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-secondary { display: inline-flex; align-items: center; gap: 11px; color: white; font-size: .86rem; font-weight: 600; padding-block: 12px; }
.hero-secondary:hover { color: var(--gold); }
.hero-bottom { position: absolute; z-index: 3; inset-inline: 0; bottom: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.events-platform .hero-controls { background: #002c2160; border-color: #ffffff30; border-radius: 25px; }
.events-platform .hero-dots { gap: 3px; }
.events-platform .hero-dots button { width: 25px; }
.events-platform .hero-dots span { height: 3px; }
.events-platform .hero-caption { font-size: .63rem; color: #d1dfd5; letter-spacing: .05em; }
.hero-slide-speaker { background: var(--green-deep); }
.hero-slide-speaker > img { width: 58%; inset-inline-start: auto; inset-inline-end: 0; object-position: center; }
.hero-slide-speaker .hero-overlay { background: linear-gradient(90deg, #003b29 0%, #003b29f5 38%, #003b29a8 67%, #003b2945 100%); }
[dir="rtl"] .hero-slide-speaker .hero-overlay { background: linear-gradient(-90deg, #003b29 0%, #003b29f5 38%, #003b29a8 67%, #003b2945 100%); }
.hero-slide-speaker .hero-summary { max-width: 660px; }
.seed-summit-home-hero .hero-slide > img { object-position: center 52%; filter: saturate(.88) contrast(.97); }
.seed-summit-home-hero .hero-overlay { background: linear-gradient(90deg, rgba(0, 39, 27, .97) 0%, rgba(0, 50, 34, .9) 39%, rgba(20, 28, 20, .46) 72%, rgba(20, 14, 8, .24) 100%); }
[dir="rtl"] .seed-summit-home-hero .hero-overlay { background: linear-gradient(-90deg, rgba(0, 39, 27, .97) 0%, rgba(0, 50, 34, .9) 39%, rgba(20, 28, 20, .46) 72%, rgba(20, 14, 8, .24) 100%); }
.seed-summit-home-hero .hero-copy { width: min(760px, 78vw); padding: 32px 35px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 15px; background: rgba(0, 43, 30, .54); box-shadow: 0 24px 70px rgba(0, 24, 17, .25); backdrop-filter: blur(8px); }
.seed-summit-home-hero .hero-copy h1 { margin-bottom: 16px; }
.seed-summit-home-hero .hero-summary { margin-bottom: 19px; color: #f1f5ed; font-size: 1.15rem; font-weight: 550; }
.seed-summit-hero-facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-bottom: 26px; color: #edf4ed; font-size: .78rem; }
.seed-summit-hero-facts span { display: inline-flex; align-items: flex-start; gap: 8px; }
.seed-summit-hero-facts .icon { width: 17px; height: 19px; flex-basis: 17px; color: var(--gold); }
.seed-summit-home-hero .hero-bottom { justify-content: flex-end; }
.next-event-bar { background: var(--green-deep); color: white; }
.next-event-inner { display: flex; align-items: center; gap: 28px; min-height: 83px; }
.next-event-label { display: flex; align-items: center; gap: 12px; color: var(--gold); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.next-event-name { flex: 1; padding-inline-start: 27px; color: white; border-inline-start: 1px solid #ffffff2c; font-size: .93rem; font-weight: 600; }
.next-event-name:hover { color: var(--gold); }
.next-event-date { display: flex; align-items: center; gap: 9px; color: #d8e8de; font-size: .8rem; white-space: nowrap; }
.next-event-date .icon { width: 17px; }
.next-event-arrow { border: 1px solid #ffffff40; padding: 10px; border-radius: 50%; }
.next-event-arrow:hover { color: var(--gold); border-color: var(--gold); }
.spotlight-event { display: grid; grid-template-columns: 1.04fr 1fr; background: #f5f8f3; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 24px; }
.spotlight-image { position: relative; min-height: 410px; overflow: hidden; }
.spotlight-image > img { width: 100%; height: 100%; position: absolute; object-fit: cover; transition: transform .6s; }
.spotlight-image:hover > img { transform: scale(1.03); }
.spotlight-image::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, #0039237a); }
.image-label { position: absolute; top: 23px; inset-inline-start: 23px; color: white; background: var(--green); padding: 7px 14px; border-radius: 18px; font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; z-index: 1; }
.event-date-tile { position: absolute; bottom: 25px; inset-inline-start: 25px; z-index: 1; background: white; min-width: 90px; border-radius: 6px; text-align: center; padding: 7px 18px 13px; box-shadow: 0 5px 20px #00392325; }
.event-date-tile strong { display: block; color: var(--green); font-size: 2.2rem; line-height: 1.25; }
.event-date-tile span { font-size: .7rem; color: var(--ink-soft); text-transform: uppercase; font-weight: 600; }
.spotlight-copy { padding: 42px 45px; }
.spotlight-copy h3 { font-size: clamp(1.6rem, 2.5vw, 2.3rem); line-height: 1.2; margin: 21px 0 16px; }
.spotlight-copy > p { font-size: .94rem; color: var(--ink-soft); margin-bottom: 23px; }
.spotlight-facts { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-bottom: 27px; font-size: .78rem; }
.spotlight-facts > span { display: flex; align-items: center; gap: 8px; }
.spotlight-facts .icon { color: var(--green); width: 17px; flex-basis: 17px; }
.partner-label { color: var(--ink-soft); font-size: .65rem; }
.portal-themes { background: #f2f6ef; border-block: 1px solid #eaf0e6; }
.theme-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.theme-card { position: relative; display: flex; flex-direction: column; padding: 28px 25px; min-height: 300px; border-top: 3px solid var(--green); border-radius: 8px; background: white; transition: transform .2s, box-shadow .2s; }
.theme-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px #13452513; }
.theme-number { display: inline-flex; justify-content: center; align-items: center; width: 39px; height: 39px; flex-shrink: 0; border-radius: 50%; color: var(--green); background: var(--green-pale); font-size: .8rem; font-weight: 750; }
.theme-card h3 { color: var(--green); font-size: 1.17rem; line-height: 1.35; margin: 22px 0 14px; }
.theme-card p { color: var(--ink-soft); font-size: .83rem; line-height: 1.75; }
.theme-arrow { margin-top: auto; color: var(--green); }
.day-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.day-card { padding: 24px; border: 1px solid var(--line); border-radius: 8px; border-top: 3px solid var(--gold); display: flex; flex-direction: column; }
.day-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 25px; font-size: .67rem; }
.day-card-top > span { color: var(--green); font-weight: 800; text-transform: uppercase; }
.day-card-top time { color: var(--ink-soft); }
.day-card h3 { font-size: 1.15rem; line-height: 1.38; }
.day-card > p { font-size: .81rem; color: var(--ink-soft); }
.day-card > a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; color: var(--green); font-size: .75rem; font-weight: 650; }
.programme-note { display: flex; align-items: flex-start; gap: 10px; color: #748177; font-size: .75rem; margin: 22px 0 0; }
.programme-note .icon { width: 16px; flex-basis: 16px; height: 18px; }
.portal-resources, .event-documents, .resource-library { background: #f5f7f1; }
.resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 25px; }
.resource-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid #dce5d6; background: white; border-radius: 9px; }
.resource-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.resource-icon { display: grid; place-items: center; width: 45px; height: 51px; border-radius: 7px; color: var(--green); background: #edf4e9; }
.resource-icon .icon { width: 25px; height: 25px; }
.resource-type { color: #7b846f; border: 1px solid #e1e7dc; border-radius: 4px; padding: 3px 8px; font-size: .66rem; font-weight: 650; }
.resource-category { color: var(--green); font-size: .64rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 750; }
.resource-card h3 { margin: 10px 0 13px; font-size: 1.2rem; line-height: 1.4; }
.resource-card > p { font-size: .82rem; color: var(--ink-soft); }
.resource-event { color: var(--green); font-size: .75rem; margin-bottom: 18px; }
.resource-event:hover { text-decoration: underline; }
.resource-meta { display: flex; align-items: center; gap: 13px; color: #6d776e; font-size: .7rem; margin-top: auto; margin-bottom: 17px; }
.resource-meta span + span::before { content: "·"; margin-inline-end: 13px; }
.resource-download { display: flex; justify-content: space-between; align-items: center; color: var(--green); border-top: 1px solid var(--line); padding-top: 17px; font-size: .79rem; font-weight: 750; }
.resource-download:hover { color: #a57000; }
.portal-media { color: white; background: #004b30; }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.video-card { border: 1px solid #ffffff28; border-radius: 8px; overflow: hidden; background: #ffffff06; }
.video-card video { width: 100%; aspect-ratio: 16/9; object-fit: contain; background: #001e16; display: block; }
.video-card > div { display: flex; align-items: flex-start; gap: 14px; padding: 21px; }
.video-card h3 { font-size: 1rem; line-height: 1.4; margin: 0; font-weight: 600; }
.video-number { color: var(--gold); font-size: .7rem; padding-top: 3px; }
.media-credit { font-size: .7rem; color: #abc8b6; margin-top: 23px; margin-bottom: 0; }
.media-credit a { text-decoration: underline; text-underline-offset: 3px; }
.participation-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.participation-image { position: relative; height: 540px; border-radius: 8px; overflow: hidden; }
.participation-image img { width: 100%; height: 100%; object-fit: cover; }
.participation-copy h2 { font-size: 2.15rem; line-height: 1.28; margin-bottom: 30px; }
.participation-step { display: flex; align-items: center; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.step-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 8px; background: var(--green-pale); color: var(--green); }
.participation-step strong { display: block; font-size: .97rem; font-weight: 650; }
.participation-step small { display: block; font-size: .81rem; color: var(--ink-soft); line-height: 1.6; margin-top: 5px; }
.participation-step > .icon { margin-inline-start: auto; color: var(--green); }
.portal-faq { background: #f3f6ef; }
.portal-faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 85px; }
.portal-faq-layout h2 { margin-bottom: 28px; }
.portal-faq .faq-item { background: transparent; border-color: #d4e0cf; }
.portal-faq .faq-item summary { display: flex; justify-content: space-between; gap: 22px; font-size: .96rem; padding: 24px 0; }
.portal-faq .faq-item summary > span { font-size: .96rem; color: var(--ink); }
.portal-faq .faq-answer { padding: 0 35px 22px 0; font-size: .85rem; }
.portal-cta { position: relative; color: white; background: #006b3f; padding-block: 63px; border-bottom: 1px solid #ffffff22; }
.portal-cta-inner { display: flex; justify-content: space-between; gap: 55px; align-items: center; }
.portal-cta-inner > div:first-child { max-width: 660px; }
.portal-cta h2 { font-size: 2.4rem; margin-bottom: 15px; }
.portal-cta p:not(.eyebrow) { font-size: .9rem; color: #d0e4d7; margin: 0; }
.cta-actions { display: flex; flex-direction: column; gap: 15px; align-items: stretch; flex-shrink: 0; }
.events-platform .site-footer { background: #003f2a; padding-top: 0; }
.events-platform .footer-grid { grid-template-columns: 1.45fr .85fr .9fr 1fr; gap: 45px; padding-block: 65px 50px; }
.events-platform .footer-grid .brand img { width: 76px; }
.events-platform .footer-grid .brand-copy { padding-inline-start: 14px; }
.events-platform .footer-grid .brand-copy strong { font-size: 1.1rem; }
.events-platform .footer-grid .brand-copy small { font-size: .54rem; line-height: 1.7; }
.events-platform .footer-brand > p { color: #b9d0c2; font-size: .84rem; margin-block: 23px; max-width: 330px; }
.footer-main-site { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); font-size: .8rem; }
.events-platform .footer-column h2 { color: var(--gold); font-size: .81rem; letter-spacing: 0; margin-top: 10px; margin-bottom: 22px; font-weight: 650; text-transform: none; }
.events-platform .footer-column > a, .events-platform .footer-column > p { font-size: .79rem; color: #bfd5c7; overflow-wrap: anywhere; }
.events-platform .footer-column > a:hover { color: white; }
.events-platform .language-pills { gap: 6px; }
.events-platform .language-pills a { font-size: .63rem; padding: 5px 8px; border-color: #ffffff26; border-radius: 3px; }
.events-platform .footer-bottom { font-size: .67rem; color: #a9c6b5; border-top: 1px solid #ffffff20; padding-block: 21px; }
.events-platform .page-hero, .events-platform .page-hero-inner { min-height: 330px; }
.events-platform .page-hero-inner { padding-block: 38px 54px; }
.events-platform .page-hero h1 { font-size: clamp(2.3rem, 4.5vw, 3.6rem); max-width: 850px; line-height: 1.12; }
.events-platform .page-hero-overlay { background: linear-gradient(90deg, #003c2aee, #003c2ab0); }
.events-platform .page-hero-pattern { display: none; }
.events-platform .breadcrumbs { font-size: .69rem; margin-bottom: 32px; }
.events-platform .page-hero-inner > p:last-child { font-size: 1rem; max-width: 780px; }
.events-platform .detail-hero, .events-platform .detail-hero-inner { min-height: 500px; }
.events-platform .detail-hero-inner { padding-block: 40px 60px; }
.events-platform .detail-hero h1 { font-size: clamp(2.4rem, 4.5vw, 4.2rem); max-width: 940px; }
.events-platform .detail-hero-inner > p { font-size: 1rem; max-width: 850px; }
.events-platform .detail-facts { border-bottom: 1px solid var(--line); background: #f3f7ef; }
.events-platform .detail-facts-grid { grid-template-columns: 1fr 1fr 1fr; }
.events-platform .detail-facts-grid > div { padding: 28px 20px; }
.events-platform .detail-facts-grid strong { font-size: .9rem; }
.event-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 70px; align-items: start; }
.event-description { font-size: .95rem; line-height: 1.9; color: #58685c; }
.event-participation { padding: 30px; background: #f4f7ef; border: 1px solid var(--line); border-top: 3px solid var(--green); border-radius: 8px; position: sticky; top: 115px; }
.event-participation h3 { font-size: 1.25rem; margin: 20px 0 15px; }
.event-participation p { font-size: .83rem; color: var(--ink-soft); }
.event-participation .text-link { font-size: .79rem; }
.event-share { border-top: 1px solid var(--line); margin-top: 25px; padding-top: 20px; display: flex; justify-content: space-between; gap: 10px; font-size: .75rem; }
.event-share button { background: none; border: 0; color: var(--green); text-decoration: underline; cursor: pointer; padding: 0; }
.agenda-section { background: #f5f8f1; }
.programme-update-band { padding: 28px 0 0; background: #f7f8f4; }
.programme-update-notice { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 22px; align-items: center; padding: 25px 28px; color: white; background: linear-gradient(125deg, #8f171d, #c72b32); border: 1px solid #761116; border-radius: 9px; box-shadow: 0 12px 30px rgba(113, 17, 22, .18); }
.programme-update-icon { display: grid; place-items: center; width: 54px; height: 54px; color: #991b20; background: white; border-radius: 50%; font-family: Georgia, serif; font-size: 2rem; font-weight: 800; line-height: 1; }
.programme-update-label { margin: 0 0 4px; color: #ffd9d9; font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.programme-update-notice h2 { margin: 0 0 5px; color: white; font-size: 1.3rem; line-height: 1.25; }
.programme-update-notice > div > p:last-child { max-width: 900px; margin: 0; color: #fff1f1; font-size: .88rem; line-height: 1.65; }
.programme-event-heading { display: flex; align-items: center; justify-content: space-between; gap: 45px; margin-bottom: 35px; }
.programme-event-heading > div { max-width: 830px; }
.programme-event-heading h2 { font-size: 2.3rem; }
.programme-event-heading > div > p:last-child { color: var(--ink-soft); font-size: .91rem; margin-bottom: 0; }
.programme-event-heading > .button { flex-shrink: 0; }
.programme-day-list { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.programme-day { display: grid; grid-template-columns: 148px minmax(0, 1fr) 28px; gap: 30px; padding: 32px; background: white; align-items: start; }
.programme-day + .programme-day { border-top: 1px solid var(--line); }
.programme-day-date { display: flex; flex-direction: column; border-inline-end: 1px solid var(--line); }
.programme-day-date > span { font-size: .64rem; color: var(--green); font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.programme-day-date strong { font-size: 1.65rem; margin: 7px 0 2px; line-height: 1.2; }
.programme-day-date small { color: var(--ink-soft); font-size: .75rem; }
.programme-day h3 { font-size: 1.2rem; line-height: 1.35; margin: 8px 0 12px; }
.programme-day p { color: var(--ink-soft); font-size: .85rem; margin: 0; }
.programme-day-icon { color: var(--green); margin-top: 7px; }
.programme-speaker { display: flex; gap: 8px; margin-top: 16px; font-size: .8rem; }
.programme-end { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 50px; }
.programme-end .programme-note { max-width: 730px; }
.programme-end .text-link { flex-shrink: 0; padding-top: 20px; }
.programme-end:last-child { margin-bottom: 0; }
.programme-track { display: flex; gap: 30px; padding: 33px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.programme-track h3 { margin: 4px 0 13px; font-size: 1.4rem; }
.programme-track p, .programme-track .prose { color: var(--ink-soft); font-size: .9rem; }
.back-events { padding-block: 30px; }
.resource-filter-band { position: relative; background: #fff; border-bottom: 1px solid var(--line); }
.resource-filters { display: grid; grid-template-columns: 1.5fr 1fr .9fr 1.2fr auto; gap: 16px; align-items: end; padding-block: 28px; }
.resource-filters label { min-width: 0; }
.resource-filters label > span { display: block; font-size: .71rem; color: #465e4e; font-weight: 650; margin-bottom: 8px; }
.resource-filters select, .resource-search > div { height: 48px; border: 1px solid #d5dfd0; border-radius: 6px; width: 100%; background: #fcfdf9; }
.resource-filters select { padding: 9px; font-size: .78rem; text-overflow: ellipsis; }
.resource-search > div { display: flex; align-items: center; gap: 10px; padding: 10px 13px; }
.resource-search .icon { color: #6d856f; width: 17px; flex-basis: 17px; }
.resource-search input { min-width: 0; width: 100%; border: 0; background: none; font-size: .79rem; outline-offset: 6px; }
.library-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.library-heading h2 { font-size: 1.5rem; margin: 0; }
.library-heading h2 span { padding: 4px 10px; background: #e3eddc; border-radius: 15px; font-size: .85rem; vertical-align: middle; margin-inline-start: 10px; }
.events-platform .empty-state > .icon { width: 42px; height: 42px; margin: 0 auto 20px; }
.about-events-layout { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; }
.about-events-layout > img { width: 100%; height: 460px; object-fit: cover; border-radius: 8px; }
.about-events-layout .prose { font-size: .96rem; }
.about-events-layout .button { margin-top: 25px; }
.events-platform .listing-card, .events-platform .news-card { border-radius: 8px; overflow: hidden; border-color: var(--line); }
.events-platform .news-grid:has(> .news-card:only-child) { grid-template-columns: 1fr; }
.events-platform .news-grid > .news-card:only-child { display: grid; grid-template-columns: .9fr 1.1fr; }
.events-platform .news-grid > .news-card:only-child .news-image { min-height: 290px; height: 100%; }
.events-platform .news-grid > .news-card:only-child .news-content { align-self: center; padding: 38px; }
.events-platform .news-grid > .news-card:only-child h3 { font-size: 1.65rem; line-height: 1.3; }
.events-platform .listing-copy h2, .events-platform .news-copy h3 { font-size: 1.4rem; }
.events-platform .listing-toolbar, .events-platform .faq-search-inner form { border-radius: 9px; }
.events-platform .listing-intro h2 { font-size: 1.9rem; }
.events-platform .back-to-top { border-radius: 50%; background: var(--green); }
@media (max-width: 1200px) {
    .events-platform .brand-copy small { max-width: 145px; font-size: .5rem; }
    .events-platform .primary-navigation { gap: 15px; }
    .events-platform .primary-navigation > a:not(.nav-cta) { font-size: .74rem; }
    .events-platform .brand img { width: 77px; }
    .events-platform .brand-copy { padding-inline-start: 12px; }
    .events-platform .brand { gap: 12px; }
    .events-platform .brand-copy strong { font-size: 1.08rem; }
    .events-platform .nav-cta { font-size: .68rem; padding-inline: 14px; }
    .spotlight-copy { padding: 30px; }
    .events-platform .footer-grid { gap: 27px; }
    .day-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .resource-filters { grid-template-columns: 1.5fr 1fr 1fr; }
}
@media (max-width: 1050px) {
    .events-platform .nav-toggle { display: grid; }
    .events-platform .main-nav { min-height: 78px; }
    .events-platform .primary-navigation { position: fixed; inset: 78px 0 auto; width: auto; height: auto; transform: none; display: none; max-height: calc(100svh - 78px); overflow-y: auto; background: var(--green-deep); padding: 20px; align-items: stretch; flex-direction: column; gap: 0; border-top: 1px solid #ffffff20; box-shadow: 0 20px 30px #002c2638; }
    .events-platform.nav-open .primary-navigation { display: flex; }
    .events-platform.nav-open .nav-toggle { position: static; }
    .events-platform .primary-navigation > a:not(.nav-cta) { font-size: .95rem; padding: 15px 10px; border-bottom: 1px solid #ffffff16; }
    .events-platform .primary-navigation > a::after { display: none; }
    .events-platform .primary-navigation .nav-cta { align-self: flex-start; font-size: .85rem; margin: 16px 10px 10px; }
    .events-platform .language-menu { align-self: flex-start; margin: 18px 10px 0; }
    .events-platform .language-dropdown { position: static; display: none; transform: none; box-shadow: none; margin-top: 8px; }
    .events-platform .language-menu.open .language-dropdown { display: block; }
    .theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-card { min-height: 250px; }
    .events-platform .footer-grid { grid-template-columns: 1.3fr 1fr; gap: 35px; }
    .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .participation-layout, .portal-faq-layout, .about-events-layout { gap: 40px; }
    .event-detail-layout { gap: 40px; grid-template-columns: minmax(0, 1fr) 290px; }
    .next-event-date { display: none; }
    .programme-event-heading { flex-direction: column; align-items: flex-start; gap: 25px; }
}
@media (max-width: 760px) {
    .events-platform .news-grid > .news-card:only-child { grid-template-columns: 1fr; }
    .events-platform .news-grid > .news-card:only-child .news-image { height: 270px; }
    .events-platform .news-grid > .news-card:only-child .news-content { padding: 25px; }
    .events-platform .section { padding-block: 58px; }
    .events-platform .container { width: calc(100% - 36px); }
    .events-platform .section-heading h2 { font-size: 2rem; }
    .events-hero { min-height: 575px; height: calc(88svh - 78px); max-height: 680px; }
    .events-hero .hero-copy { width: 100%; }
    .events-hero .hero-copy h1, .events-hero .hero-title { font-size: clamp(2.45rem, 7.7vw, 3.6rem); max-width: 610px; line-height: 1.12; }
    .events-hero .hero-summary { font-size: .94rem; line-height: 1.7; }
    .events-hero .hero-content { padding-block: 45px 105px; }
    .hero-bottom { bottom: 25px; }
    .hero-caption { display: none; }
    .hero-slide-speaker > img { width: 100%; object-position: 70% center; }
    .hero-slide-speaker .hero-overlay { background: linear-gradient(90deg, #003b29f5 0%, #003b29df 58%, #003b2978 100%); }
    [dir="rtl"] .hero-slide-speaker .hero-overlay { background: linear-gradient(-90deg, #003b29f5 0%, #003b29df 58%, #003b2978 100%); }
    .events-platform .hero-controls > button { width: 37px; height: 40px; }
    .events-platform .hero-dots button { width: 21px; height: 40px; }
    .events-platform .hero-dots { padding-inline: 2px; }
    .events-platform .hero-actions { gap: 16px; flex-direction: row; }
    .hero-secondary { font-size: .8rem; }
    .next-event-inner { flex-wrap: wrap; gap: 8px 15px; padding-block: 17px; position: relative; padding-inline-end: 47px; }
    .next-event-label { flex-basis: 100%; font-size: .65rem; }
    .next-event-name { border: 0; padding: 0; font-size: .85rem; line-height: 1.5; }
    .next-event-arrow { position: absolute; inset-inline-end: 0; top: calc(50% - 20px); }
    .spotlight-event { grid-template-columns: 1fr; }
    .spotlight-image { min-height: 280px; }
    .spotlight-copy { padding: 27px; }
    .spotlight-copy h3 { font-size: 1.8rem; }
    .theme-grid, .day-grid { gap: 15px; }
    .theme-card { padding: 23px; }
    .day-card { padding: 22px; }
    .video-grid { grid-template-columns: 1fr; }
    .video-card > div { padding: 20px; }
    .participation-layout, .portal-faq-layout, .about-events-layout, .event-detail-layout { grid-template-columns: 1fr; gap: 35px; }
    .participation-image { height: 350px; }
    .participation-copy h2 { font-size: 1.9rem; }
    .portal-faq-layout h2 { max-width: 500px; }
    .portal-cta { padding-block: 48px; }
    .portal-cta-inner { flex-direction: column; align-items: flex-start; gap: 28px; }
    .portal-cta h2 { font-size: 2rem; }
    .cta-actions { flex-direction: row; flex-wrap: wrap; }
    .events-platform .page-hero h1 { font-size: 2.4rem; }
    .events-platform .page-hero, .events-platform .page-hero-inner { min-height: 335px; }
    .events-platform .detail-hero h1 { font-size: 2.5rem; }
    .events-platform .detail-hero, .events-platform .detail-hero-inner { min-height: 490px; }
    .events-platform .detail-facts-grid { grid-template-columns: 1fr; }
    .events-platform .detail-facts-grid > div { padding: 20px 0; border-inline: 0; }
    .event-participation { position: static; }
    .programme-day { grid-template-columns: 100px minmax(0, 1fr); padding: 24px; gap: 24px; }
    .programme-day-date strong { font-size: 1.4rem; }
    .programme-day-icon { display: none; }
    .programme-day h3 { font-size: 1.15rem; }
    .programme-end { align-items: flex-start; flex-direction: column; gap: 0; }
    .programme-event-heading h2 { font-size: 1.85rem; }
    .resource-filters { grid-template-columns: 1fr 1fr; }
    .resource-filters .resource-search { grid-column: 1/-1; }
    .resource-filters > .button { align-self: end; }
    .about-events-layout > img { height: 350px; }
}
@media (max-width: 520px) {
    .programme-update-band { padding-top: 18px; }
    .programme-update-notice { grid-template-columns: 42px minmax(0, 1fr); gap: 15px; padding: 20px; }
    .programme-update-icon { width: 42px; height: 42px; font-size: 1.55rem; }
    .programme-update-notice h2 { font-size: 1.12rem; }
    .events-platform .brand img { width: 75px; height: 44px; }
    .events-platform .brand-copy strong { font-size: 1.06rem; }
    .events-platform .brand-copy small { font-size: .5rem; max-width: 140px; }
    .events-platform .main-nav { gap: 10px; }
    .events-platform .nav-toggle { width: 41px; height: 41px; }
    .events-platform .hero-actions { flex-direction: column; align-items: flex-start; gap: 8px; }
    .events-platform .hero-overlay { background: linear-gradient(90deg, #003b29ed, #003b29a0); }
    .theme-grid, .day-grid, .resource-grid, .events-platform .footer-grid { grid-template-columns: 1fr; }
    .theme-card { min-height: 230px; }
    .theme-card h3 { font-size: 1.25rem; }
    .theme-card p { font-size: .9rem; }
    .spotlight-image { min-height: 240px; }
    .spotlight-copy { padding: 25px 23px; }
    .spotlight-facts { flex-direction: column; }
    .resource-card { padding: 25px; }
    .programme-day { display: block; padding: 23px; }
    .programme-day-date { flex-direction: row; align-items: center; gap: 12px; border: 0; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line); }
    .programme-day-date strong { font-size: 1.1rem; margin: 0; }
    .programme-day-date small { margin-inline-start: auto; font-size: .66rem; }
    .resource-filters { gap: 15px 12px; }
    .resource-filters > label:nth-child(4) { grid-column: 1/-1; }
    .resource-filters > .button { grid-column: 1/-1; }
    .programme-track { gap: 20px; }
    .programme-track h3 { font-size: 1.25rem; }
    .events-platform .footer-grid { padding-block: 45px 35px; gap: 30px; }
    .events-platform .footer-column h2 { margin-bottom: 16px; }
    .events-platform .footer-brand > p { max-width: none; }
    .events-platform .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
}


/* Continental coverage map, rendered from the supplied country boundaries. */
.africa-coverage { scroll-margin-top: 120px; }
.coverage-heading { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-bottom: 32px; }
.coverage-heading > div:first-child { max-width: 760px; }
.coverage-heading h2 { font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.12; margin: 0 0 18px; }
.coverage-heading > div > p:last-child { color: var(--ink-soft); font-size: .96rem; max-width: 650px; margin-bottom: 0; }
.coverage-total { display: flex; flex-direction: column; align-items: center; padding: 18px 30px; border-inline-start: 1px solid var(--line); text-align: center; flex-shrink: 0; }
.coverage-total strong { color: var(--green); font-size: 3.7rem; line-height: 1; letter-spacing: -.06em; }
.coverage-total span { font-size: .75rem; font-weight: 650; margin-top: 9px; }
.coverage-total small { color: var(--ink-soft); font-size: .72rem; margin-top: 5px; }
.africa-map-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, 1fr); border: 1px solid #dce5db; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 12px 38px #14362006; }
.africa-map-figure { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 25px; background: radial-gradient(ellipse at center, #fafcf9 15%, #edf4ed 100%); position: relative; min-width: 0; }
.africa-map-svg { display: block; width: 100%; height: auto; min-height: 350px; direction: ltr; }
.africa-country { cursor: pointer; transition: opacity .18s ease; }
.africa-country path, .africa-country circle { fill: var(--region-color); stroke: #fff; stroke-width: .9px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.africa-country.muted { opacity: .18; }
.africa-country:hover, .africa-country.selected { opacity: 1; }
.africa-country:hover path, .africa-country.selected path { stroke: #123f30; stroke-width: 1.8px; }
.africa-country.selected { filter: drop-shadow(0 2px 3px #163f3040); }
.africa-country .island-marker { stroke-width: 2px; }
.island-code { font-family: inherit; font-size: 11px; font-weight: 700; fill: #284b40; paint-order: stroke; stroke: #f3f7f1; stroke-width: 3px; stroke-linejoin: round; }
.africa-map-figure figcaption { color: #667e6c; font-size: .67rem; line-height: 1.6; padding-top: 14px; text-align: center; }
.africa-map-figure figcaption a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.africa-map-panel { padding: 30px; border-inline-start: 1px solid #dce5db; display: flex; flex-direction: column; justify-content: center; }
.coverage-statement { display: flex; align-items: flex-start; gap: 10px; font-size: 1rem; line-height: 1.6; font-weight: 650; color: var(--green-deep); margin: 0 0 23px; }
.coverage-statement > .icon { color: var(--green); flex-shrink: 0; margin-top: 4px; }
.map-region-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.map-region-button { display: flex; align-items: center; gap: 8px; min-height: 55px; padding: 10px; border: 1px solid #e0e7dc; border-radius: 7px; background: #fafbf8; color: #49634f; font-size: .71rem; line-height: 1.4; text-align: start; }
.map-region-button.active { border-color: var(--green); background: #eaf2e8; box-shadow: inset 0 0 0 1px var(--green); color: var(--green-deep); }
.map-region-button:hover { background: #edf3e9; }
.map-region-button strong { margin-inline-start: auto; font-size: .75rem; }
.map-region-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; background: var(--region-color); flex-shrink: 0; }
.all-regions-dot { background: conic-gradient(#c68a24 0 20%, #2e8b69 20% 40%, #3688a0 40% 60%, #aa657c 60% 80%, #7466a3 80%); }
.map-country-picker { display: block; margin-top: 25px; }
.map-country-picker > span { display: block; font-size: .75rem; font-weight: 650; margin-bottom: 8px; }
.map-country-picker select { width: 100%; min-width: 0; height: 45px; padding: 8px 10px; border: 1px solid #d5dfd0; border-radius: 6px; color: var(--green-deep); background: white; font-size: .83rem; text-overflow: ellipsis; }
.map-selection { padding: 19px 0 0; margin-top: 20px; border-top: 1px solid var(--line); min-height: 130px; }
.map-selection > span { display: block; font-size: .67rem; font-weight: 650; color: var(--ink-soft); margin-bottom: 7px; }
.map-selection > strong { display: block; font-size: 1.25rem; color: var(--green-deep); line-height: 1.3; }
.map-selection > p { color: var(--ink-soft); font-size: .76rem; margin: 9px 0 0; line-height: 1.7; }
.map-country-directory { margin-top: 18px; border: 1px solid var(--line); border-radius: 8px; }
.map-country-directory summary { padding: 17px 20px; cursor: pointer; font-weight: 650; font-size: .82rem; color: var(--green-deep); }
.map-country-directory summary > span { display: inline-block; padding: 2px 8px; background: #edf3e8; border-radius: 20px; font-size: .7rem; margin-inline-start: 8px; }
.map-country-groups { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; padding: 10px 24px 24px; }
.map-country-groups h3 { display: flex; align-items: center; gap: 8px; font-size: .86rem; margin-bottom: 15px; }
.map-country-groups ul { padding: 0; margin: 0; list-style: none; }
.map-country-groups li { font-size: .76rem; color: var(--ink-soft); margin-bottom: 7px; line-height: 1.5; }
.coverage-participation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 30px; }
.coverage-participation .participation-step { align-items: flex-start; border: 0; }

/* CAADP event artwork and participant information. */
.day-card-visual { position: relative; min-height: 360px; overflow: hidden; border: 0; color: white; isolation: isolate; }
.day-card-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .45s ease; }
.day-card-visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #001f3882 0%, #001f3be8 58%, #00192ff5 100%); }
.day-card-visual:hover .day-card-background { transform: scale(1.035); }
.day-card-content { display: flex; flex: 1; flex-direction: column; }
.day-card-visual .day-card-top > span, .day-card-visual > .day-card-content > a { color: var(--gold); }
.day-card-visual .day-card-top time, .day-card-visual > .day-card-content > p { color: #ffffffc7; }
.programme-day:has(.programme-day-image) { grid-template-columns: 112px 128px minmax(0, 1fr) 28px; }
.programme-day-image { width: 112px; aspect-ratio: 1; border-radius: 7px; object-fit: cover; box-shadow: 0 8px 24px #153a2930; }
.caadp-information { background: #f3f6f1; scroll-margin-top: 110px; }
.caadp-information-heading > p { max-width: 560px; color: var(--ink-soft); line-height: 1.8; }
.caadp-gallery { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 12px; margin: 34px 0; }
.caadp-gallery figure { min-width: 0; height: 210px; margin: 0; overflow: hidden; border-radius: 10px; background: var(--navy-deep); }
.caadp-gallery .caadp-gallery-feature { height: 440px; grid-row: span 2; }
.caadp-gallery figure:nth-child(2) { grid-column: span 2; }
.caadp-gallery img { width: 100%; height: 100%; object-fit: cover; }
.caadp-gallery figure:nth-child(3) img, .caadp-gallery figure:nth-child(4) img { object-fit: contain; padding: 14px; }
.caadp-audience { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.5fr); gap: 45px; align-items: center; margin-bottom: 30px; padding: 30px 34px; border-radius: 10px; background: var(--green-deep); color: white; }
.caadp-audience h3 { margin: 8px 0 0; color: white; font-size: 1.65rem; }
.caadp-audience p { margin: 0; color: #ffffffc9; line-height: 1.8; }
.caadp-information-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.caadp-info-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; padding: 28px; border: 1px solid #dce5d9; border-radius: 10px; background: white; box-shadow: 0 10px 30px #173a2808; }
.caadp-info-card-wide { grid-column: 1 / -1; }
.caadp-info-number { color: var(--gold-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.caadp-info-card h3 { margin: 0 0 14px; color: var(--green-deep); font-size: 1.2rem; }
.caadp-info-card p { margin: 0 0 12px; color: var(--ink-soft); font-size: .84rem; line-height: 1.8; }
.caadp-info-card a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hotel-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 12px; }
.hotel-list > div { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; padding: 15px; border-radius: 7px; background: #f4f7ef; }
.hotel-list strong, .hotel-list span { font-size: .76rem; }
.hotel-list span { color: var(--gold-dark); font-weight: 800; }
.hotel-list small { grid-column: 1 / -1; color: var(--ink-soft); font-size: .67rem; line-height: 1.55; overflow-wrap: anywhere; }
.source-note { display: block; color: var(--ink-soft); font-size: .67rem; }
.caadp-quick-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.caadp-quick-facts > div { padding: 18px; border-inline-start: 3px solid var(--gold); background: #f5f8f2; }
.caadp-quick-facts strong, .caadp-quick-facts span { display: block; }
.caadp-quick-facts strong { color: var(--green-deep); font-size: 1.35rem; }
.caadp-quick-facts span { margin-top: 5px; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.caadp-contacts { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.6fr); gap: 45px; margin-top: 30px; padding: 38px; border-radius: 12px; background: var(--navy-deep); color: white; }
.caadp-contacts h2, .caadp-contacts h3 { color: white; }
.caadp-contacts h2 { margin: 12px 0; font-size: 2rem; }
.caadp-contacts > div:first-child > p:last-child { color: #ffffffa8; }
.caadp-contact-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.caadp-contact-groups h3 { margin: 0 0 14px; font-size: .8rem; color: var(--gold); }
.caadp-contact-groups a { display: block; margin-bottom: 10px; color: #ffffffe0; font-size: .76rem; }
.caadp-contact-groups p { color: #ffffff8f; font-size: .68rem; line-height: 1.7; }

/* Seed Summit facts sourced from the official concept note. */
.seed-summit-information { overflow: clip; background: linear-gradient(180deg, #f7f2e7 0%, #fbfaf5 42%, #eef5ec 100%); scroll-margin-top: 110px; }
.seed-summit-information-heading { align-items: end; }
.seed-summit-information-heading > p { max-width: 560px; color: var(--ink-soft); line-height: 1.8; }
.seed-summit-fact-strip { display: grid; grid-template-columns: .85fr .65fr 1.35fr; margin: 34px 0 18px; overflow: hidden; color: white; background: var(--green-deep); border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; box-shadow: 0 16px 42px rgba(0, 54, 36, .12); }
.seed-summit-fact-strip > div { min-width: 0; padding: 25px 28px; border-inline-end: 1px solid rgba(255, 255, 255, .16); }
.seed-summit-fact-strip > div:last-child { border-inline-end: 0; }
.seed-summit-fact-strip span, .seed-summit-fact-strip strong { display: block; }
.seed-summit-fact-strip span { margin-bottom: 7px; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seed-summit-fact-strip strong { color: white; font-size: .94rem; line-height: 1.5; }
.seed-summit-audience { display: grid; grid-template-columns: minmax(245px, .8fr) minmax(0, 1.5fr); gap: 45px; align-items: center; margin-bottom: 18px; padding: 30px 34px; color: var(--green-deep); background: white; border: 1px solid #dbe5d8; border-radius: 12px; }
.seed-summit-audience h3 { margin: 8px 0 0; color: var(--green-deep); font-size: 1.55rem; }
.seed-summit-audience p { margin: 0; color: var(--ink-soft); line-height: 1.8; }
.seed-summit-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.seed-summit-priority-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; padding: 31px; background: white; border: 1px solid #dbe5d8; border-top: 4px solid var(--green); border-radius: 12px; box-shadow: 0 12px 32px rgba(20, 58, 39, .055); }
.seed-summit-priority-card-gold { border-top-color: #ba8b15; }
.seed-summit-card-number { color: #99720f; font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.seed-summit-priority-card h3 { margin: 8px 0 18px; color: var(--green-deep); font-size: 1.25rem; line-height: 1.35; }
.seed-summit-priority-card ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.seed-summit-priority-card li { position: relative; padding-inline-start: 20px; color: var(--ink-soft); font-size: .82rem; line-height: 1.7; }
.seed-summit-priority-card li::before { position: absolute; content: ''; top: .72em; inset-inline-start: 0; width: 7px; height: 7px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 4px rgba(251, 188, 5, .14); }
.seed-summit-themes { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); gap: 48px; margin-top: 18px; padding: 38px; color: white; background: #4a0b0b; border-radius: 12px; }
.seed-summit-themes h3 { margin: 8px 0 0; color: white; font-size: 1.7rem; }
.seed-summit-themes ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.seed-summit-themes li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: start; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .13); }
.seed-summit-themes li:first-child { padding-top: 0; }
.seed-summit-themes li:last-child { padding-bottom: 0; border-bottom: 0; }
.seed-summit-themes li span { color: var(--gold); font-size: .67rem; font-weight: 850; letter-spacing: .08em; }
.seed-summit-themes li strong { color: rgba(255, 255, 255, .9); font-size: .83rem; font-weight: 600; line-height: 1.65; }
.seed-summit-source-note { margin: 17px 0 0; color: var(--ink-soft); font-size: .68rem; }
@media (prefers-reduced-motion: reduce) { .day-card-background { transition: none; } }
@media (prefers-reduced-motion: reduce) { .africa-country { transition: none; } }
@media (max-width: 1050px) {
    .africa-map-panel { padding: 24px; }
    .africa-map-layout { grid-template-columns: minmax(0, 1.3fr) minmax(285px, 1fr); }
    .africa-map-figure { padding: 16px; }
    .map-country-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .coverage-participation { gap: 18px; }
    .hotel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .caadp-contacts { grid-template-columns: 1fr; gap: 25px; }
    .seed-summit-themes { grid-template-columns: 1fr; gap: 25px; }
}

/* Speakers */
.speakers-section { background: linear-gradient(180deg, #f7f9f4 0%, #fff 42%); }
.speakers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; width: 100%; max-width: 1160px; margin-inline: auto; }
.speaker-card { display: flex; width: 100%; min-width: 0; max-width: 566px; flex-direction: column; justify-self: center; padding: 0; overflow: hidden; color: var(--ink); text-align: start; background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 60, 41, .06); transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
.speaker-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - 14px); justify-self: center; }
.speaker-card:hover, .speaker-card:focus-visible { transform: translateY(-9px); border-color: #c4d5c7; box-shadow: 0 24px 55px rgba(0, 60, 41, .15); }
.speaker-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1078 / 768; background: var(--green-deep); }
.speaker-card-image::after { position: absolute; content: ""; inset: 55% 0 0; background: linear-gradient(transparent, rgba(0, 42, 29, .72)); opacity: 0; transition: opacity .35s; }
.speaker-card-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .65s var(--ease); }
.speaker-card:hover .speaker-card-image img, .speaker-card:focus-visible .speaker-card-image img { transform: scale(1.035); }
.speaker-card:hover .speaker-card-image::after, .speaker-card:focus-visible .speaker-card-image::after { opacity: 1; }
.speaker-card-action { position: absolute; z-index: 1; inset-inline-end: 20px; bottom: 17px; display: flex; align-items: center; gap: 8px; color: white; font-size: .75rem; font-weight: 750; opacity: 0; transform: translateY(8px); transition: opacity .3s, transform .3s; }
.speaker-card:hover .speaker-card-action, .speaker-card:focus-visible .speaker-card-action { opacity: 1; transform: none; }
.speaker-card-copy { display: flex; flex: 1; flex-direction: column; padding: 25px 27px 27px; }
.speaker-card-copy strong { color: var(--green-deep); font-size: 1.35rem; line-height: 1.25; }
.speaker-card-copy > span { margin-top: 9px; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.speaker-card-copy small { margin-top: auto; padding-top: 18px; color: #8a6510; font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.speaker-modal { width: min(940px, calc(100% - 36px)); max-height: calc(100svh - 36px); padding: 0; overflow: visible; color: var(--ink); background: white; border: 0; border-radius: 14px; box-shadow: 0 30px 90px rgba(0, 25, 17, .38); }
.speaker-modal::backdrop { background: rgba(0, 31, 22, .78); backdrop-filter: blur(7px); }
.speaker-modal-panel { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; overflow: hidden; border-radius: 14px; }
.speaker-modal-panel > img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.speaker-modal-copy { display: flex; flex-direction: column; justify-content: center; padding: 45px 38px; background: linear-gradient(145deg, #fff, #f0f6ed); }
.speaker-modal-copy h2 { margin: 0 0 18px; color: var(--green-deep); font-size: clamp(2rem, 4vw, 3rem); }
.speaker-modal-copy > p:last-child { margin: 0; color: var(--ink-soft); font-size: .95rem; }
.speaker-modal-close { position: absolute; z-index: 2; top: 14px; inset-inline-end: 14px; display: grid; width: 42px; height: 42px; place-items: center; color: white; font-size: 1.8rem; line-height: 1; background: rgba(0, 52, 36, .88); border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; transition: transform .2s, background .2s; }
.speaker-modal-close:hover, .speaker-modal-close:focus-visible { background: var(--green); transform: rotate(8deg) scale(1.05); }
.speaker-modal[open] { animation: speaker-modal-in .28s var(--ease); }
@keyframes speaker-modal-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
    .page-speakers .page-hero, .page-speakers .page-hero-inner { min-height: 300px; }
    .speakers-grid { gap: 20px; }
    .speaker-card-copy { padding: 21px 22px 23px; }
    .speaker-card-copy strong { font-size: 1.18rem; }
    .speaker-modal { width: min(680px, calc(100% - 32px)); max-height: calc(100svh - 32px); overflow-y: auto; }
    .speaker-modal-panel { grid-template-columns: 1fr; }
    .speaker-modal-panel > img { height: auto; min-height: 0; max-height: 52svh; object-fit: contain; background: var(--green-deep); }
    .speaker-modal-copy { padding: 28px 30px 32px; }
    .speaker-modal-copy h2 { font-size: clamp(1.75rem, 5vw, 2.4rem); }
}
@media (max-width: 620px) {
    .speakers-grid { grid-template-columns: 1fr; gap: 20px; }
    .speaker-card, .speaker-card:last-child:nth-child(odd) { grid-column: auto; width: 100%; max-width: 440px; }
    .speaker-card-image { aspect-ratio: auto; }
    .speaker-card-image img { height: auto; aspect-ratio: 1078 / 768; }
    .speaker-card-copy { padding: 19px 20px 21px; }
    .speaker-card-copy > span { font-size: .81rem; line-height: 1.48; }
    .speaker-card-copy small { padding-top: 14px; font-size: .65rem; }
    .speaker-modal { width: calc(100% - 24px); max-height: calc(100svh - 24px); }
    .speaker-modal-panel > img { max-height: 44svh; }
    .speaker-modal-copy { padding: 22px 22px 25px; }
    .speaker-modal-copy .eyebrow { font-size: .62rem; overflow-wrap: anywhere; }
    .speaker-modal-copy h2 { margin-bottom: 12px; font-size: 1.75rem; }
    .speaker-modal-copy > p:last-child { font-size: .84rem; line-height: 1.55; }
    .speaker-modal-close { top: 10px; inset-inline-end: 10px; width: 38px; height: 38px; }
}
@media (max-width: 420px) {
    .page-speakers .page-hero, .page-speakers .page-hero-inner { min-height: 285px; }
    .page-speakers .page-hero h1 { font-size: 2.15rem; }
    .page-speakers .page-hero-inner > p:last-child { font-size: .9rem; line-height: 1.6; }
    .page-speakers .centered-heading h2 { font-size: 1.75rem; overflow-wrap: anywhere; }
    .page-speakers .centered-heading .eyebrow { font-size: .61rem; letter-spacing: .11em; }
}
@media (prefers-reduced-motion: reduce) {
    .speaker-card, .speaker-card-image img, .speaker-card-action, .speaker-modal[open] { animation: none; transition: none; }
}
@media (max-width: 760px) {
    .coverage-heading { gap: 22px; align-items: flex-start; }
    .coverage-total { padding: 5px 0 5px 18px; max-width: 125px; }
    .coverage-total strong { font-size: 2.8rem; }
    .africa-map-layout { grid-template-columns: 1fr; }
    .africa-map-panel { border-inline-start: 0; border-top: 1px solid #dce5db; }
    .africa-map-svg { min-height: 0; max-height: 650px; }
    .coverage-participation { grid-template-columns: 1fr; gap: 0; }
    .coverage-participation .participation-step { border-bottom: 1px solid var(--line); }
    .map-country-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .programme-day:has(.programme-day-image) { grid-template-columns: 90px 100px minmax(0, 1fr); }
    .programme-day-image { width: 90px; }
    .caadp-gallery { grid-template-columns: repeat(2, 1fr); }
    .caadp-gallery .caadp-gallery-feature { height: 360px; grid-column: 1 / -1; grid-row: auto; }
    .caadp-gallery figure:nth-child(2) { grid-column: auto; }
    .caadp-gallery figure { height: 180px; }
    .caadp-audience { grid-template-columns: 1fr; gap: 16px; }
    .caadp-information-grid { grid-template-columns: 1fr; }
    .caadp-info-card-wide { grid-column: auto; }
    .caadp-contact-groups { grid-template-columns: 1fr 1fr; }
    .seed-summit-fact-strip { grid-template-columns: 1fr 1fr; }
    .seed-summit-fact-strip > div:last-child { grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, .16); }
    .seed-summit-fact-strip > div:nth-child(2) { border-inline-end: 0; }
    .seed-summit-audience, .seed-summit-priority-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .coverage-heading { flex-direction: column; }
    .coverage-total { flex-direction: row; gap: 12px; border-inline-start: 0; padding: 0; max-width: none; }
    .coverage-total strong { font-size: 2.1rem; }
    .coverage-total span, .coverage-total small { margin-top: 0; }
    .coverage-total small { border-inline-start: 1px solid var(--line); padding-inline-start: 12px; }
    .africa-map-figure { padding: 16px 8px; }
    .africa-map-panel { padding: 24px 20px; }
    .map-country-groups { gap: 18px; padding-inline: 18px; }
    .programme-day:has(.programme-day-image) { display: grid; grid-template-columns: 74px minmax(0, 1fr); }
    .programme-day-image { width: 74px; grid-row: span 2; }
    .programme-day:has(.programme-day-image) .programme-day-date { margin: 0; padding: 0 0 12px; }
    .caadp-gallery { gap: 8px; }
    .caadp-gallery .caadp-gallery-feature { height: 300px; }
    .caadp-gallery figure { height: 145px; }
    .caadp-audience, .caadp-info-card, .caadp-contacts { padding: 23px; }
    .hotel-list, .caadp-quick-facts, .caadp-contact-groups { grid-template-columns: 1fr; }
    .caadp-info-card { grid-template-columns: 1fr; gap: 9px; }
    .seed-summit-home-hero .hero-copy { width: 100%; padding: 25px 23px; backdrop-filter: blur(6px); }
    .seed-summit-home-hero .hero-copy h1 { font-size: clamp(2.25rem, 11vw, 3.15rem); }
    .seed-summit-home-hero .hero-summary { font-size: .94rem; }
    .seed-summit-hero-facts { flex-direction: column; gap: 8px; margin-bottom: 21px; }
    .seed-summit-fact-strip { grid-template-columns: 1fr; }
    .seed-summit-fact-strip > div { padding: 20px 22px; border-inline-end: 0; border-bottom: 1px solid rgba(255, 255, 255, .16); }
    .seed-summit-fact-strip > div:last-child { grid-column: auto; border-top: 0; border-bottom: 0; }
    .seed-summit-audience, .seed-summit-priority-card, .seed-summit-themes { padding: 24px; }
    .seed-summit-audience { gap: 14px; }
    .seed-summit-priority-card { grid-template-columns: 1fr; gap: 8px; }
}

/* Day-by-day event media gallery. */
.event-gallery-section { overflow: clip; background: linear-gradient(180deg, #eef4ed 0%, #f8faf6 48%, #eef4ed 100%); scroll-margin-top: 96px; }
.event-gallery-heading { align-items: end; }
.event-gallery-intro { max-width: 520px; }
.event-gallery-intro p { margin: 0; color: var(--ink-soft); line-height: 1.8; }
.event-gallery-intro span { display: inline-flex; margin-top: 14px; padding: 7px 12px; color: var(--green-deep); font-size: .69rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; background: #dfece1; border-radius: 999px; }
.event-gallery-day-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 34px 0 20px; }
.event-gallery-day-links a { display: inline-flex; align-items: center; gap: 18px; min-width: 142px; padding: 12px 15px; color: var(--green-deep); font-size: .76rem; font-weight: 750; background: white; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 6px 20px rgba(0, 61, 41, .05); }
.event-gallery-day-links a:hover, .event-gallery-day-links a:focus-visible { color: var(--green); border-color: #9ebfa8; transform: translateY(-2px); }
.event-gallery-day-links strong { display: grid; min-width: 29px; height: 29px; margin-inline-start: auto; place-items: center; color: white; font-size: .67rem; background: var(--green); border-radius: 50%; }
.event-gallery-days { display: grid; gap: 16px; }
.event-gallery-day { scroll-margin-top: 108px; background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 13px 35px rgba(0, 61, 41, .055); }
.event-gallery-day > summary { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 34px; gap: 18px; align-items: center; min-height: 92px; padding: 18px 24px; cursor: pointer; list-style: none; }
.event-gallery-day > summary::-webkit-details-marker { display: none; }
.event-gallery-day > summary:hover .event-gallery-day-title strong, .event-gallery-day > summary:focus-visible .event-gallery-day-title strong { color: var(--green); }
.event-gallery-day-number { display: grid; width: 44px; height: 44px; place-items: center; color: var(--gold); font-size: .72rem; font-weight: 850; letter-spacing: .08em; background: var(--green-deep); border-radius: 7px; }
.event-gallery-day-title { display: flex; min-width: 0; flex-direction: column; }
.event-gallery-day-title strong { color: var(--green-deep); font-size: 1.08rem; transition: color .2s; }
.event-gallery-day-title time { color: var(--ink-soft); font-size: .73rem; }
.event-gallery-day-count { color: var(--ink-soft); font-size: .72rem; white-space: nowrap; }
.event-gallery-day-toggle { display: grid; width: 30px; height: 30px; place-items: center; color: var(--green); font-size: 1.4rem; font-weight: 300; border: 1px solid #c9dacf; border-radius: 50%; transition: transform .25s, color .25s, background .25s; }
.event-gallery-day[open] .event-gallery-day-toggle { color: white; background: var(--green); transform: rotate(45deg); }
.event-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; grid-auto-rows: 108px; gap: 10px; padding: 0 12px 12px; }
.event-gallery-card { position: relative; display: block; min-width: 0; grid-row: span 2; overflow: hidden; color: white; background: var(--green-deep); border-radius: 8px; isolation: isolate; }
.event-gallery-card:nth-child(12n + 1) { grid-column: span 2; grid-row: span 4; }
.event-gallery-card:nth-child(12n + 6), .event-gallery-card:nth-child(12n + 9) { grid-row: span 3; }
.event-gallery-card::after { position: absolute; content: ''; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 48%, rgba(0, 30, 22, .78) 100%); opacity: .82; transition: opacity .3s; }
.event-gallery-card img, .event-gallery-card video { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease); }
.event-gallery-card:hover img, .event-gallery-card:hover video, .event-gallery-card:focus-visible img, .event-gallery-card:focus-visible video { transform: scale(1.045); }
.event-gallery-card:hover::after, .event-gallery-card:focus-visible::after { opacity: 1; }
.event-gallery-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.event-gallery-card-overlay { position: absolute; z-index: 2; inset-inline: 13px; bottom: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; pointer-events: none; }
.event-gallery-card-type { display: inline-flex; align-items: center; gap: 7px; font-size: .65rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.event-gallery-card-type .icon { width: 15px; height: 15px; flex-basis: 15px; }
.event-gallery-card-overlay > strong { color: #fff; font-size: .66rem; letter-spacing: .06em; }
.event-gallery-dialog { width: min(1180px, calc(100% - 34px)); max-width: none; max-height: calc(100svh - 34px); padding: 0; overflow: visible; color: white; background: transparent; border: 0; }
.event-gallery-dialog::backdrop { background: rgba(0, 25, 18, .92); backdrop-filter: blur(8px); }
.event-gallery-dialog-panel { position: relative; background: #001d16; border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; box-shadow: 0 30px 95px rgba(0, 0, 0, .5); }
.event-gallery-dialog figure { margin: 0; }
.event-gallery-dialog-stage { display: flex; width: 100%; height: min(78svh, 780px); align-items: center; justify-content: center; overflow: hidden; background: #00150f; border-radius: 12px 12px 0 0; }
.event-gallery-dialog-stage img, .event-gallery-dialog-stage video { display: block; width: 100%; height: 100%; object-fit: contain; }
.event-gallery-dialog-stage [hidden] { display: none; }
.event-gallery-dialog figcaption { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 72px 13px 20px; color: #e3eee7; font-size: .78rem; }
.event-gallery-dialog figcaption strong { color: var(--gold); font-size: .72rem; white-space: nowrap; }
.event-gallery-dialog-close, .event-gallery-dialog-nav { position: absolute; z-index: 3; display: grid; place-items: center; color: white; background: rgba(0, 56, 41, .86); border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; box-shadow: 0 6px 20px rgba(0, 0, 0, .3); }
.event-gallery-dialog-close:hover, .event-gallery-dialog-nav:hover, .event-gallery-dialog-close:focus-visible, .event-gallery-dialog-nav:focus-visible { color: var(--green-deep); background: var(--gold); border-color: var(--gold); }
.event-gallery-dialog-close { top: 14px; inset-inline-end: 14px; width: 42px; height: 42px; font-size: 1.8rem; line-height: 1; }
.event-gallery-dialog-nav { top: 50%; width: 48px; height: 48px; font-size: 1.25rem; transform: translateY(-50%); }
.event-gallery-dialog-prev { inset-inline-start: 16px; }
.event-gallery-dialog-next { inset-inline-end: 16px; }
[dir="rtl"] .event-gallery-dialog-nav { transform: translateY(-50%) scaleX(-1); }
.event-gallery-dialog[open] { animation: event-gallery-dialog-in .25s var(--ease); }
@keyframes event-gallery-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
    .event-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 100px; }
    .event-gallery-card:nth-child(12n + 1) { grid-column: span 2; }
}
@media (max-width: 680px) {
    .event-gallery-heading { align-items: flex-start; }
    .event-gallery-day > summary { grid-template-columns: 44px minmax(0, 1fr) 30px; gap: 13px; min-height: 82px; padding: 15px 17px; }
    .event-gallery-day-count { display: none; }
    .event-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 92px; gap: 7px; padding: 0 8px 8px; }
    .event-gallery-card:nth-child(12n + 1) { grid-row: span 3; }
    .event-gallery-card:nth-child(12n + 6), .event-gallery-card:nth-child(12n + 9) { grid-row: span 2; }
    .event-gallery-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); }
    .event-gallery-dialog-stage { height: 72svh; }
    .event-gallery-dialog figcaption { min-height: 70px; align-items: flex-start; flex-direction: column; gap: 4px; padding: 12px 58px 12px 15px; }
    .event-gallery-dialog-nav { width: 42px; height: 42px; }
    .event-gallery-dialog-prev { inset-inline-start: 9px; }
    .event-gallery-dialog-next { inset-inline-end: 9px; }
    .event-gallery-dialog-close { top: 9px; inset-inline-end: 9px; width: 39px; height: 39px; }
}
@media (max-width: 420px) {
    .event-gallery-day-links a { flex: 1 1 130px; }
    .event-gallery-grid { grid-auto-rows: 78px; }
    .event-gallery-card-overlay { inset-inline: 9px; bottom: 8px; }
    .event-gallery-card-type { font-size: .58rem; }
}
@media (prefers-reduced-motion: reduce) {
    .event-gallery-card img, .event-gallery-card video, .event-gallery-day-toggle, .event-gallery-day-links a, .event-gallery-dialog[open] { animation: none; transition: none; }
}

/* Seed Investment Summit speakers */
.summit-speakers-section { background: linear-gradient(180deg, #f2f7f2 0%, #fff 42%, #f8faf7 100%); }
.summit-speakers-grid, .summit-speaker-teaser-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; width: 100%; max-width: 1240px; margin-inline: auto; }
.summit-speaker { min-width: 0; scroll-margin-top: 120px; }
.summit-speaker-card, .summit-speaker-teaser-card { display: flex; width: 100%; height: 100%; min-width: 0; flex-direction: column; padding: 0; overflow: hidden; color: var(--ink); text-align: start; text-decoration: none; appearance: none; background: #fff; border: 1px solid rgba(0, 78, 50, .16); border-radius: 16px; box-shadow: 0 12px 34px rgba(0, 54, 36, .08); transition: transform .3s var(--ease), border-color .3s, box-shadow .3s; }
.summit-speaker-card:hover, .summit-speaker-card:focus-visible, .summit-speaker-teaser-card:hover, .summit-speaker-teaser-card:focus-visible { transform: translateY(-6px); border-color: rgba(0, 107, 63, .46); box-shadow: 0 24px 54px rgba(0, 54, 36, .15); }
.summit-speaker-card:focus-visible, .summit-speaker-teaser-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.summit-speaker-artwork { display: block; width: 100%; overflow: hidden; aspect-ratio: 1200 / 628; background: #174a3c; }
.summit-speaker-artwork img { display: block; width: 100%; height: 100%; object-fit: contain; }
.summit-speaker-caption { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; padding: 23px 25px 25px; }
.summit-speaker-caption strong { color: var(--green-deep); font-family: var(--font-display); font-size: clamp(1.18rem, 2vw, 1.48rem); line-height: 1.2; }
.summit-speaker-caption > span:not(.summit-speaker-action) { margin-top: 9px; color: var(--ink-soft); font-size: .88rem; line-height: 1.55; }
.summit-speaker-caption small { margin-top: 13px; color: #84610e; font-size: .69rem; font-weight: 800; letter-spacing: .075em; line-height: 1.45; text-transform: uppercase; }
.summit-speaker-action { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 18px; color: var(--green); font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.summit-speaker-action span { font-size: 1rem; transition: transform .25s var(--ease); }
.summit-speaker-card:hover .summit-speaker-action span, .summit-speaker-card:focus-visible .summit-speaker-action span { transform: translate(3px, -3px); }
.summit-speaker-dialog { width: min(1120px, calc(100% - 36px)); max-height: calc(100svh - 36px); overflow-y: auto; }
.summit-speaker-dialog-panel { display: block; }
.summit-speaker-dialog-toolbar { display: flex; min-height: 60px; align-items: center; justify-content: flex-end; padding: 9px 14px; background: #edf5ee; border-bottom: 1px solid rgba(0, 78, 50, .14); }
.summit-speaker-dialog-toolbar .speaker-modal-close { position: static; inset: auto; flex: 0 0 auto; }
.summit-speaker-dialog-artwork { width: 100%; margin: 0; aspect-ratio: 1200 / 628; background: #174a3c; }
.summit-speaker-dialog-artwork img { display: block; width: 100%; height: 100%; object-fit: contain; }
.summit-speaker-dialog-copy { display: block; padding: 27px 34px 32px; }
.summit-speaker-dialog-copy h2 { margin: 8px 0 10px; font-size: clamp(1.7rem, 3.5vw, 2.7rem); }
.summit-speaker-dialog-copy > p:last-child { max-width: 760px; font-size: .94rem; line-height: 1.6; }
.summit-speakers-teaser { background: linear-gradient(145deg, #edf5ee, #fff 58%); }
.summit-speaker-teaser-grid { gap: 24px; }

@media (max-width: 900px) {
    .summit-speakers-grid, .summit-speaker-teaser-grid { grid-template-columns: minmax(0, 1fr); gap: 21px; }
    .summit-speaker-card, .summit-speaker-teaser-card { max-width: 600px; margin-inline: auto; }
    .summit-speaker-caption { padding: 20px 21px 22px; }
    .summit-speaker-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); }
    .summit-speaker-dialog-copy { padding: 22px 22px 25px; }
}

@media (prefers-reduced-motion: reduce) {
    .summit-speaker-card, .summit-speaker-teaser-card, .summit-speaker-action span { transition: none; }
}

/* Archived CAADP event speakers */
.caadp-speakers-section { background: #f4f0e7; }
.caadp-speakers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; width: 100%; }
.caadp-speaker-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid rgba(85, 42, 31, .14); border-radius: 14px; box-shadow: 0 12px 34px rgba(64, 30, 20, .08); }
.caadp-speaker-card:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc(50% - 14px); justify-self: center; }
.caadp-speaker-artwork { display: block; width: 100%; overflow: hidden; aspect-ratio: 1078 / 768; background: #8d1730; }
.caadp-speaker-artwork img { display: block; width: 100%; height: 100%; object-fit: contain; }
.caadp-speaker-caption { padding: 22px 24px 25px; }
.caadp-speaker-caption h3 { margin: 0; color: var(--green-deep); font-size: 1.3rem; line-height: 1.25; }
.caadp-speaker-caption p { margin: 9px 0 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.caadp-speaker-caption span { display: block; margin-top: 13px; color: #84610e; font-size: .69rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }

@media (max-width: 900px) {
    .caadp-speakers-grid { grid-template-columns: minmax(0, 1fr); gap: 21px; }
    .caadp-speaker-card, .caadp-speaker-card:last-child:nth-child(odd) { grid-column: auto; width: 100%; max-width: 680px; justify-self: center; }
}
