@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--purple:#3214eb;--deep:#160a76;--navy:#142b83;--orange:#ff4b1f;--paper:#f4f1eb;--ink:#17122b;--muted:#79748b;--mono:'DM Mono',monospace;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--purple);color:white;font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.site-header{height:90px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%;top:0}.brand img{width:260px;max-height:52px;object-fit:contain;object-position:left center}.header-cta{font-weight:700;font-size:13px;border:1px solid #ffffff80;padding:10px 17px;border-radius:99px}.header-cta span{margin-left:13px;color:#ff6b3c}.hero{min-height:820px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(25,8,113,.88),rgba(42,13,218,.46) 65%,rgba(28,7,140,.48)),linear-gradient(0deg,#2510d9 1%,transparent 42%),url('images/bundestag-purple.png') center/cover no-repeat;padding:175px 10vw 65px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,6,123,.25),transparent 40%);pointer-events:none}.hero-content,.hero-bottom,.hero-side-note{position:relative;z-index:1}.eyebrow,.section-kicker,.tag,.hero-bottom,.hero-meta,.part-label,.speaker-index{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.eyebrow{color:#ff886a;margin:0 0 23px}.hero h1{font-size:clamp(58px,8vw,116px);letter-spacing:-.075em;line-height:.88;margin:0;font-weight:800;max-width:850px}.hero h1 em{font-style:normal;color:#ff5932}.hero-meta{display:flex;gap:28px;margin-top:34px;color:#eee8ff}.hero-meta span:first-child{color:#ff744d}.hero-intro{font-size:17px;max-width:485px;margin:26px 0 27px;color:#f2edff}.button{display:inline-flex;align-items:center;gap:35px;padding:15px 21px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.button-orange{background:var(--orange);color:white}.button span{font-size:20px}.hero-side-note{position:absolute;right:8vw;bottom:27%;font-size:15px;line-height:1.35;font-weight:700;border-left:2px solid #ff5e37;padding-left:15px}.hero-bottom{position:absolute;bottom:29px;left:10vw;right:10vw;display:flex;justify-content:space-between;color:#d5cfff;border-top:1px solid #ffffff4d;padding-top:14px}.section-wrap{max-width:1280px;margin:0 auto;padding-left:7vw;padding-right:7vw}.intro{padding-top:130px;padding-bottom:140px;display:grid;grid-template-columns:130px minmax(300px,1.05fr) minmax(300px,.95fr);gap:35px;align-items:start;background:var(--purple)}.section-kicker{color:#ff865f;padding-top:8px}.intro h2,.program h2,.speakers h2,.register h2{font-size:clamp(46px,6.4vw,82px);line-height:.98;letter-spacing:-.07em;margin:0 0 31px;font-weight:800}.intro h2 span,.program h2 span,.speakers h2 span{color:#ff6039}.intro-copy p{max-width:580px;color:#e2dcff;font-size:15px}.intro-copy .lead{font-size:20px;line-height:1.5;color:white;font-weight:600}.people-stack{position:relative;min-height:480px;margin-left:12px}.person-card{position:absolute;width:78%;background:#ff4b1f;color:#1d105f;padding:10px 10px 17px}.person-card img{width:100%;height:250px;object-fit:cover;display:block;filter:saturate(.8)}.patron-card{top:0;left:10%;transform:rotate(2deg)}.voice-card{bottom:4px;right:1%;transform:rotate(-3deg);width:72%}.voice-card img{height:190px;object-position:top center}.person-caption{padding:12px 7px 0}.person-caption h3{font-size:22px;line-height:1.1;margin:8px 0 4px;letter-spacing:-.04em}.person-caption p{margin:0;font-size:11px;line-height:1.4}.tag{color:#ff6845;font-size:9px}.person-caption .tag{color:#3620b0}.program{background:var(--paper);color:var(--ink);padding:115px 0 130px}.program .section-wrap{padding-left:7vw;padding-right:7vw}.program-heading{display:grid;grid-template-columns:1fr 360px;align-items:end;margin-bottom:75px}.program .section-kicker,.speakers .section-kicker{color:#ed4a27}.program h2{margin:12px 0 0}.program h2 span{color:#4b2cf1}.program-heading>p{font-size:14px;color:#666174;margin:0 0 8px}.program-part{display:grid;grid-template-columns:190px 1fr;border-top:1px solid #cfcbd4;padding:32px 0 43px}.part-label{display:flex;flex-direction:column;gap:9px;color:#4b2cf1}.part-label span:first-child{color:#f0512a}.part-content h3{font-size:32px;line-height:1.1;letter-spacing:-.05em;margin:0 0 12px}.part-deck{font-size:15px;max-width:730px;color:#544f60;margin:0 0 29px}.workshops details{border-top:1px solid #d4d0d7}.workshops details:last-child{border-bottom:1px solid #d4d0d7}.workshops summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr 1.4fr 28px;gap:8px;align-items:center;padding:19px 0;font-weight:800;font-size:15px}.workshops summary::-webkit-details-marker{display:none}.workshop-no{font-family:var(--mono);font-size:11px;color:#f0512a}.summary-sub{font-size:12px;font-weight:500;color:#7b7682}.plus{font-size:22px;color:#4b2cf1;text-align:right;transition:transform .2s}.workshops details[open] .plus{transform:rotate(45deg)}.workshop-body{padding:0 45px 22px 68px;max-width:890px}.workshop-body p,.public-part .part-content>p:last-child{font-size:13px;color:#5e5968;margin:0 0 12px}.workshop-body small{font-family:var(--mono);font-size:10px;color:#f0512a}.public-part{padding-bottom:0}.public-part .part-content h3{font-size:40px}.public-part .part-deck{color:#f0512a}.public-part .part-content>p:last-child{max-width:700px;font-size:14px}.speakers{padding-top:125px;padding-bottom:125px}.speaker-heading{display:flex;justify-content:space-between;align-items:end}.speakers h2{margin:13px 0 15px}.speaker-intro{max-width:580px;color:#e4deff;font-size:15px;margin:0 0 34px}.speaker-controls{display:flex;gap:10px;padding-bottom:22px}.circle-btn{width:48px;height:48px;border:1px solid #ffffff88;border-radius:50%;background:transparent;color:white;font-size:22px;cursor:pointer;transition:.2s}.circle-btn:hover{background:#ff4b1f;border-color:#ff4b1f}.speaker-viewport{overflow:hidden}.speaker-track{display:flex;gap:22px;transition:transform .45s cubic-bezier(.2,.75,.3,1)}.speaker-card{flex:0 0 calc((100% - 44px)/3);min-width:275px;background:#f5f1ed;color:var(--ink)}.speaker-image{height:280px;position:relative;background:#3015d5;overflow:hidden}.speaker-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.78)}.speaker-image img.hannah-photo{object-position:center 30%;transform:none;}.speaker-image img.shila-photo{object-fit:cover;object-position:center 12%;transform:none;}.speaker-image img.evelyn-photo{object-position:center 20%;}.speaker-image img.masih-photo{object-position:center 48%;transform:none;}.speaker-image img.almut-photo{object-position:center 30%;transform:translateY(-12px) scale(1.22);}.photo-credit{position:absolute;right:8px;bottom:10px;color:#fff;font:9px var(--mono);text-shadow:0 1px 4px #000;background:#160a7680;padding:4px 6px;border-radius:2px}.speaker-index{position:absolute;bottom:13px;left:15px;color:white;background:#1b0c80;padding:7px 9px}.speaker-info{padding:21px 22px 25px}.speaker-info h3{font-size:25px;letter-spacing:-.05em;margin:7px 0 11px}.speaker-info p{font-size:12px;line-height:1.65;color:#625d6b;min-height:100px;margin:0 0 17px}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#4b2cf1}.text-link span{color:#f0512a;margin-left:12px}.placeholder-image{background:linear-gradient(140deg,#491cff,#160a76 70%)}.placeholder-image.tone-two{background:linear-gradient(140deg,#ff6b36,#5815db 70%)}.placeholder-image.tone-three{background:linear-gradient(140deg,#b530ee,#190b89 72%)}.silhouette{position:absolute;inset:20px;display:grid;place-items:center;border:1px solid #ffffff50;color:#ffffff99;font-size:70px;font-weight:200}.slider-progress{height:2px;background:#ffffff4a;margin-top:26px}.slider-progress span{display:block;width:25%;height:2px;background:#ff623d;transition:width .35s}.register{background:var(--orange);color:white;padding:85px 12vw;display:flex;justify-content:space-between;align-items:center;min-height:430px;position:relative;overflow:hidden}.register .section-kicker{color:#ffd7c9}.register h2{font-size:clamp(54px,7vw,90px);margin:17px 0}.register h2 span{color:#201084}.register-inner>p{max-width:540px;font-size:15px;margin:0 0 24px}.button-dark{background:#201084}.register small{display:block;margin-top:12px;font-family:var(--mono);font-size:10px;color:#ffdbce}.register-date{width:250px;height:250px;border:1px solid #ffffff69;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:.9;transform:rotate(10deg);margin-right:4vw}.register-date span:first-child{font-size:100px;font-weight:800;letter-spacing:-.1em}.register-date span:nth-child(2){font-family:var(--mono);font-size:16px;margin:8px 0}.register-date span:last-child{font-family:var(--mono);font-size:13px}footer{background:#170b76;padding:43px 7vw 22px}.footer-logos{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-logos img{max-width:205px;max-height:52px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}.footer-logos img:nth-child(3){filter:none;background:white;padding:6px;max-width:185px}.footer-bottom{border-top:1px solid #ffffff45;padding-top:18px;display:flex;justify-content:space-between;color:#c7bfff;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.hero{padding-left:7vw;padding-right:7vw;min-height:760px}.hero-side-note{right:7vw;bottom:12%}.hero-bottom{left:7vw;right:7vw}.intro{grid-template-columns:90px 1fr;gap:25px}.people-stack{grid-column:2;min-height:420px;max-width:500px}.person-card{width:67%}.voice-card{width:62%}.program-heading{grid-template-columns:1fr 270px}.program-part{grid-template-columns:130px 1fr}.speaker-card{flex-basis:calc((100% - 22px)/2)}.register{padding-left:8vw;padding-right:8vw}}
@media(max-width:600px){body{font-size:15px}.site-header{height:74px;padding:0 5vw}.brand img{width:190px}.header-cta{font-size:10px;padding:8px 11px}.hero{padding:145px 6vw 75px;min-height:750px;background-position:58% center}.hero h1{font-size:clamp(54px,15vw,82px)}.hero-meta{flex-direction:column;gap:4px;font-size:10px}.hero-intro{max-width:360px;font-size:15px}.hero-side-note{display:none}.hero-bottom{left:6vw;right:6vw;font-size:8px;gap:15px}.section-wrap,.program .section-wrap{padding-left:6vw;padding-right:6vw}.intro{padding-top:85px;padding-bottom:90px;grid-template-columns:1fr;gap:15px}.intro h2,.program h2,.speakers h2{font-size:58px}.intro-copy .lead{font-size:18px}.people-stack{grid-column:auto;min-height:405px;margin:15px 0 0}.patron-card{left:0;width:74%}.voice-card{right:0;width:66%}.program{padding:83px 0 90px}.program-heading{display:block;margin-bottom:45px}.program-heading>p{margin-top:22px}.program-part{grid-template-columns:1fr;gap:20px;padding:25px 0 35px}.part-label{flex-direction:row;gap:22px}.part-content h3{font-size:27px}.workshops summary{grid-template-columns:38px 1fr 24px;gap:7px;font-size:13px}.summary-sub{grid-column:2;grid-row:2}.plus{grid-column:3;grid-row:1/3}.workshop-body{padding:0 10px 20px 45px}.public-part .part-content h3{font-size:34px}.speakers{padding-top:83px;padding-bottom:85px}.speaker-heading{align-items:end}.speaker-controls{gap:6px;padding-bottom:13px}.circle-btn{width:40px;height:40px}.speaker-intro{font-size:13px}.speaker-card{flex-basis:84%;min-width:260px}.speaker-image{height:250px}.speaker-info p{min-height:0}.register{padding:70px 7vw;min-height:560px;display:block}.register h2{font-size:65px}.register-date{width:130px;height:130px;margin:36px 0 0 auto}.register-date span:first-child{font-size:54px}.register-date span:nth-child(2){font-size:11px;margin:5px 0}.register-date span:last-child{font-size:10px}footer{padding:33px 6vw 18px}.footer-logos{justify-content:flex-start;flex-wrap:wrap;gap:25px}.footer-logos img{max-width:130px;max-height:42px}.footer-logos img:nth-child(3){max-width:145px}.footer-bottom{font-size:8px;gap:12px}}

/* Desktop refinements */
@media (min-width: 901px) {
  .site-header { padding-left: 10vw; }
  .hero { min-height: 100svh; display: flex; align-items: center; padding-top: 150px; padding-bottom: 115px; }
  .hero-content { margin-top: 15px; }
  .hero-side-note { display: none; }
  .hero-bottom { left: 10vw; right: 10vw; justify-content: flex-start; }
  .people-stack { display: flex; flex-direction: column; gap: 25px; min-height: 0; margin-left: 12px; }
  .person-card, .patron-card, .voice-card { position: relative; top: auto; right: auto; bottom: auto; left: auto; transform: none; width: 100%; }
  .person-card img { height: 245px; }
  .voice-card img { height: 245px; object-fit: contain; background: #21108a; object-position: center 20%; }
  .program-heading { grid-template-columns: 1fr; gap: 22px; align-items: start; }
  .program-heading > p { max-width: 710px; font-size: 17px; line-height: 1.7; margin: 0; }
  .workshops summary { font-size: 18px; }
  .workshop-body p { font-size: 15px; line-height: 1.75; }
  .workshop-body small, .workshop-body strong { font-size: 13px; }
}

@media (max-width: 600px) {
  .hero { min-height: 750px; }
  .hero h1 { font-size: clamp(47px, 12.5vw, 70px); }
  .hero-bottom { font-size: 8px; line-height: 1.5; }
  .speaker-controls { display: none; }
  .speaker-viewport { touch-action: pan-y; }
  .speaker-track { cursor: grab; }
  .speaker-track:active { cursor: grabbing; }
  .people-stack { display: flex; flex-direction: column; gap: 20px; min-height: 0; }
  .person-card, .patron-card, .voice-card { position: relative; inset: auto; transform: none; width: 100%; }
  .person-card img, .voice-card img { height: 250px; }
  .voice-card img { object-fit: contain; object-position: center 20%; background: #21108a; }
}

/* Portrait section refinements */
.intro h2 { text-align: left; }
.intro { grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); gap: 60px; }
.people-stack { align-items: flex-start; }
.person-card, .patron-card, .voice-card { width: min(100%, 300px); padding: 0; }
.person-card img, .patron-card img, .voice-card img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: unset;
  object-position: unset;
  background: transparent;
}
.person-caption { padding: 14px 15px 17px; }
@media (max-width: 600px) {
  .people-stack { width: 100%; }
  .intro { grid-template-columns: 1fr; gap: 15px; }
  .person-card, .patron-card, .voice-card { width: min(100%, 300px); }
}

@media (min-width: 901px) {
  .brand { transform: translateY(16px); }
  .intro { max-width: none; padding-left: 10vw; padding-right: 7vw; }
  .people-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
  .person-card, .patron-card, .voice-card { width: 100%; height: 100%; display: flex; flex-direction: column; }
  .person-card img, .patron-card img, .voice-card img { width: 100%; height: auto; aspect-ratio: 0.88; flex: 0 0 auto; object-fit: cover; object-position: center top; }
  .person-caption { flex: 1; }
  .part-label { gap: 9px; }
  .part-label span { display: block; width: fit-content; padding: 10px 12px; font-size: 13px; }
  .part-label span:first-child { color: var(--orange); background: transparent; padding-left: 0; }
  .part-label span:nth-child(2) { color: var(--purple); background: transparent; font-size: 14px; padding-left: 0; }
  .speakers { position: relative; }
  .speaker-controls { position: absolute; top: 56%; left: 2vw; right: 2vw; z-index: 2; justify-content: space-between; pointer-events: none; }
  .speaker-controls .circle-btn { pointer-events: auto; background: var(--deep); box-shadow: 0 3px 15px #160a7633; }
  .speaker-controls .circle-btn:hover { background: var(--orange); }
}
.register-date { background: var(--deep); border: 2px solid #ff8d70; }
.register-date span:first-child { color: #ff6845; }
.register-date span:nth-child(2) { font-size: 19px; letter-spacing: .13em; }
.register-date span:last-child { font-size: 18px; }
@media (max-width: 600px) {
  .register-date span:nth-child(2) { font-size: 13px; }
  .register-date span:last-child { font-size: 12px; }
}
footer { background: #fff; color: var(--ink); }
.supporters { padding: 4px 0 30px; margin-bottom: 30px; border-bottom: 1px solid #d9d6e0; }
.supporters h2 { margin: 0 0 18px; color: #6a6578; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.supporter-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: clamp(16px, 3vw, 42px); }
.supporter-logos img { display: block; width: 100%; height: 28px; object-fit: contain; }
.supporter-logos img:first-child { object-position: left center; }
.supporter-logos img:last-child { object-position: right center; }
.language-switch { display: flex; align-items: center; gap: 9px; margin-left: auto; font-family: var(--mono); font-size: 12px; letter-spacing: .1em; color: #ffffffa6; }
.language-switch a { padding: 8px 2px; }
.language-switch a[aria-current="page"] { color: #fff; font-weight: 500; }
.language-switch a:not([aria-current="page"]):hover { color: #ff8d70; }
.footer-logos { align-items: center; justify-content: space-between; gap: 36px; }
.footer-logos img { width: 21%; height: 64px; max-width: 230px; max-height: 64px; object-fit: contain; filter: none; padding: 0; background: transparent; }
.footer-logos img:first-child { width: 18%; max-width: 185px; }
.footer-logos img:nth-child(2) { width: 21%; max-width: 230px; filter: grayscale(1) brightness(0); }
.footer-logos img:nth-child(3) { width: 21%; max-width: 230px; }
.footer-logos img:nth-child(4) { width: 21%; max-width: 230px; }
.footer-bottom { color: #5c5670; border-color: #d9d6e0; }

/* Evelyn Zupke portrait: frame the subject slightly left of center in this wide source photo. */
.people-gallery-track .person-card img.evelyn-photo { object-position: 35% 18%; }
.speaker-image img.evelyn-photo { object-position: 35% 20%; }
@media (max-width: 600px) {
  .footer-logos { gap: 20px; }
  .footer-logos img { width: 42%; height: 56px; max-width: none; max-height: 56px; }
  .footer-logos img:first-child { width: 42%; max-width: none; }
}
.footer-logos img:nth-child(2) { filter: none; }
.footer-logos img:nth-child(3) { transform: translateY(5px); }
.footer-logos img:nth-child(4) { width: 15%; max-width: 150px; filter: grayscale(1) brightness(0); }
@media (max-width: 600px) {
  .footer-logos img:nth-child(4) { width: 34%; max-width: none; }
}
.hero-register-strip { display: flex; align-items: center; justify-content: space-between; gap: 25px; width: min(80vw, 1100px); margin: 34px auto 0; padding: 20px 25px; background: var(--orange); color: white; font-size: clamp(16px, 1.65vw, 23px); line-height: 1.25; font-weight: 800; letter-spacing: -.02em; }
.hero-register-strip span { font-size: 27px; flex: 0 0 auto; }
.hero-register-strip:hover { background: #ff6742; }
@media (max-width: 600px) {
  .hero-register-strip { width: 100%; margin: 28px auto 0; padding: 15px 17px; font-size: 14px; gap: 14px; }
  .hero-register-strip span { font-size: 22px; }
}
.intro { align-items: center; }
.people-gallery { width: min(100%, 420px); justify-self: center; align-self: stretch; display: flex; align-items: center; }
.people-gallery-viewport { width: 100%; height: 100%; overflow: hidden; touch-action: pan-y; }
.people-gallery-track { display: flex; align-items: stretch; gap: 14px; height: 100%; transition: transform .55s cubic-bezier(.2,.75,.3,1); }
.people-gallery-track.no-transition, .people-gallery-track.no-transition .person-card { transition: none !important; }
.people-gallery-track .person-card { flex: 0 0 70%; width: 70%; max-width: none; padding: 0; background: var(--orange); color: #1d105f; opacity: .2; transform: scale(.94); transition: opacity .45s ease, transform .45s ease; cursor: pointer; }
.people-gallery-track .person-card.is-active { opacity: 1; transform: scale(1); cursor: default; }
.people-gallery-track .person-card { height: 100%; display: flex; flex-direction: column; }
.people-gallery-track .person-card img { display: block; width: 100%; height: 0; min-height: 0; flex: 1 1 auto; aspect-ratio: auto; object-fit: cover; object-position: center top; background: #21108a; }
.people-gallery-track .person-caption { padding: 14px 15px 17px; }
.people-gallery { align-self: center; display: block; height: auto; }
.people-gallery-viewport, .people-gallery-track { height: auto; }
.people-gallery-track .person-card { height: auto; display: block; }
.people-gallery-track .person-card img { height: auto; min-height: 0; flex: none; aspect-ratio: .88; object-fit: cover; object-position: center 18%; }
.people-gallery-nav { display: none; }
.people-arrow { width: 38px; height: 38px; border: 1px solid #ffffff80; border-radius: 50%; background: transparent; color: white; font-size: 19px; cursor: pointer; }
.people-arrow:hover { background: var(--orange); border-color: var(--orange); }
.people-dots { display: flex; align-items: center; justify-content: center; gap: 8px; }
.people-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #ffffff66; cursor: pointer; }
.people-dot[aria-current="true"] { background: var(--orange); transform: scale(1.35); }
@media (max-width: 600px) {
  .intro { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; padding-left: 6vw; padding-right: 6vw; }
  .intro-copy { min-width: 0; max-width: 100%; }
  .intro h2 { max-width: 100%; font-size: clamp(38px, 10vw, 48px); line-height: 1.04; overflow-wrap: normal; }
  .people-gallery { width: min(100%, 340px); justify-self: start; align-self: auto; display: block; margin-top: 18px; }
  .people-gallery-viewport, .people-gallery-track { height: auto; }
  .people-gallery-track .person-card { flex-basis: 75%; width: 75%; height: auto; }
  .people-gallery-track .person-card img { height: auto; min-height: 0; aspect-ratio: .88; flex: none; }
  .footer-logos { flex-wrap: nowrap; gap: 6px; justify-content: space-between; }
  .footer-logos img, .footer-logos img:first-child, .footer-logos img:nth-child(2), .footer-logos img:nth-child(3), .footer-logos img:nth-child(4) { flex: 1 1 0; width: 0; min-width: 0; max-width: none; height: 44px; max-height: 44px; padding: 0; object-fit: contain; }
  .supporters { padding-bottom: 24px; margin-bottom: 24px; }
  .supporter-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 15px; }
  .supporter-logos img { height: 22px; }
}

.speaker-card[hidden]{display:none!important}.speaker-image img.wolf-photo{object-position:center top;}

.speaker-bio-more{margin-top:10px;border-top:1px solid #d8d3dc;padding-top:8px}.speaker-bio-more summary{cursor:pointer;color:#4b2cf1;font:700 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.speaker-bio-more p{min-height:0;margin:8px 0 0}

/* Keep biography expansion confined to the selected speaker card. */
.speaker-track { align-items: flex-start; }

/* Speaker cards keep one shared frame height while long biographies scroll inside it. */
.speaker-track { align-items: stretch; }
.speaker-card { height: 720px; display: flex; flex-direction: column; }
.speaker-card .speaker-image { flex: 0 0 280px; }
.speaker-card .speaker-info { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
.speaker-card .speaker-info > p { min-height: 0; }
@media (max-width: 600px) {
  .speaker-card { height: 680px; }
  .speaker-card .speaker-image { flex-basis: 250px; }
}

/* Align the organizer and supporter marks on the same four-column footer grid. */
footer .footer-logos,
footer .supporter-logos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: clamp(12px, 2vw, 28px);
  width: 100%;
}
footer .footer-logos { padding-bottom: 20px; }
footer .footer-logos img,
footer .footer-logos img:first-child,
footer .footer-logos img:nth-child(2),
footer .footer-logos img:nth-child(3),
footer .footer-logos img:nth-child(4) {
  width: 100%;
  max-width: none;
  height: 54px;
  max-height: 54px;
  object-fit: contain;
  object-position: center;
  transform: none;
  padding: 0;
}
footer .supporters { padding: 0 0 20px; margin-bottom: 20px; }
footer .supporters h2 { margin-bottom: 12px; }
footer .supporter-logos img,
footer .supporter-logos img:first-child,
footer .supporter-logos img:last-child {
  width: 100%;
  height: 34px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 600px) {
  footer .footer-logos,
  footer .supporter-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  footer .footer-logos img,
  footer .footer-logos img:first-child,
  footer .footer-logos img:nth-child(2),
  footer .footer-logos img:nth-child(3),
  footer .footer-logos img:nth-child(4) { height: 38px; max-height: 38px; }
  footer .supporter-logos img,
  footer .supporter-logos img:first-child,
  footer .supporter-logos img:last-child { height: 24px; }
}

/* Optical sizing within the aligned organizer-logo grid. */
footer .footer-logos img:first-child { width: 78%; }
footer .footer-logos img:nth-child(2) { width: 112%; }
footer .footer-logos img:nth-child(3) { width: 100%; }
footer .footer-logos img:nth-child(4) { width: 78%; }
@media (max-width: 600px) {
  footer .footer-logos img:first-child,
  footer .footer-logos img:nth-child(4) { width: 78%; }
  footer .footer-logos img:nth-child(2) { width: 112%; }
  footer .footer-logos img:nth-child(3) { width: 100%; }
}

/* Use matching, left-aligned cells for the two footer logo rows. */
footer .footer-logos,
footer .supporter-logos {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-items: start;
  gap: clamp(8px, 1.5vw, 20px);
}
footer .footer-logos img,
footer .footer-logos img:first-child,
footer .footer-logos img:nth-child(2),
footer .footer-logos img:nth-child(3),
footer .footer-logos img:nth-child(4) {
  width: 100%;
  max-width: 100%;
  height: 54px;
  max-height: 54px;
  object-position: left center;
}
footer .supporter-logos img,
footer .supporter-logos img:first-child,
footer .supporter-logos img:last-child {
  width: 100%;
  height: 34px;
  object-position: left center;
}
@media (max-width: 600px) {
  footer .footer-logos,
  footer .supporter-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  footer .footer-logos img,
  footer .footer-logos img:first-child,
  footer .footer-logos img:nth-child(2),
  footer .footer-logos img:nth-child(3),
  footer .footer-logos img:nth-child(4) { width: 100%; height: 38px; max-height: 38px; }
  footer .supporter-logos img,
  footer .supporter-logos img:first-child,
  footer .supporter-logos img:last-child { width: 100%; height: 24px; }
}

/* Smaller marks for the Federal Commissioner and Axel Springer Freedom Foundation. */
footer .footer-logos img:first-child,
footer .footer-logos img:nth-child(4) {
  width: 62%;
  max-width: 62%;
}

.footer-logo-strip {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 28px;
  background: #fff;
}
.footer-logo-strip img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
@media (max-width: 600px) {
  .footer-logo-strip { margin-bottom: 22px; }
}

/* Tighter headshot framing in the speaker cards only. */
.speaker-image img.evelyn-photo { object-position: 0% 25%; transform: scale(1.32); transform-origin: 20% 25%; }
.speaker-image img.hannah-photo { object-position: 100% 25%; transform: scale(1.32); transform-origin: 50% 25%; }

/* Static speaker layout: the two presidents lead, followed by a three-column speaker grid. */
.speaker-controls,
.slider-progress { display: none !important; }
.president-speakers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 22px;
}
.speaker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.speaker-grid .speaker-card { width: 100%; min-width: 0; flex: none; }
.president-card { height: auto; }
.president-card .speaker-image { height: 280px; flex: 0 0 280px; }
.president-card .speaker-info { flex: 0 0 auto; overflow: visible; }
.speaker-image img.president-julia-photo { object-position: 90% 30%; }
.speaker-image img.president-yael-photo { object-position: center 25%; }
@media (max-width: 900px) {
  .speaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .president-speakers,
  .speaker-grid { grid-template-columns: 1fr; }
  .president-card .speaker-image { height: 250px; flex-basis: 250px; }
  .speaker-grid .speaker-card { height: 680px; }
}

/* President portraits use the same full-bleed headshot treatment as the speaker cards. */
.president-speakers { max-width: 940px; margin-left: auto; margin-right: auto; justify-items: center; }
.president-speakers .president-card { width: 100%; max-width: 450px; }
.president-card .speaker-image { height: 280px; flex-basis: 280px; }
.speaker-image img.president-julia-photo { object-position: 58% 20%; }
.speaker-image img.president-yael-photo { object-position: center top; }
.speakers h2 { text-transform: none; color: var(--orange); }
.person-image { position: relative; }
.person-card .person-image img { display: block; }
.person-image .photo-credit { right: 8px; bottom: 8px; }
@media (max-width: 600px) {
  .president-speakers { justify-items: stretch; }
  .president-speakers .president-card { max-width: none; }
}

/* Consistent, legible photo-credit labels on all credited portraits. */
.photo-credit {
  color: #111 !important;
  background: #fff !important;
  text-shadow: none !important;
  border-radius: 0 !important;
  padding: 5px 8px !important;
  font-size: 9px !important;
}
.president-speakers .president-card { max-width: 410px; }
.president-card .speaker-image { height: 350px; flex-basis: 350px; }
.speaker-image img.president-yael-photo { object-position: center top; }
@media (max-width: 600px) {
  .president-card .speaker-image { height: 350px; flex-basis: 350px; }
}

/* Subtle credit strips; crop the embedded source credit from Evelyn's photo so it appears only once. */
.photo-credit {
  color: #343434 !important;
  background: rgba(232, 232, 232, .94) !important;
  font-size: 8px !important;
  padding: 3px 6px !important;
}
.people-gallery-track .person-card .person-image { overflow: hidden; }
.people-gallery-track .person-card img.evelyn-photo,
.speaker-image img.evelyn-photo {
  object-position: center top;
  transform: scale(1.15);
  transform-origin: center top;
}
.speaker-image img.rushan-photo { object-position: center 22%; }
.speaker-image img.danielle-photo { object-position: center top; }
.speaker-image img.bradost-photo { object-position: center 12%; }
.speaker-image img.rietz-photo { object-position: center 5%; }
@media (max-width: 600px) {
  .speaker-image img.rietz-photo,
  .speaker-image img.danielle-photo {
    object-position: center top;
  }
  .speaker-image img.bradost-photo { object-position: center 8%; }
  .speaker-grid .speaker-card .speaker-image {
    height: 350px;
    flex-basis: 350px;
  }
}

/* Split the supplied composite logo artwork into the organizer row under registration
   and the supporter row in the footer, without duplicating either set of marks. */
.organizer-logo-strip {
  width: min(80vw, 1100px);
  aspect-ratio: 15 / 1;
  overflow: hidden;
  background: #fff;
  line-height: 0;
  margin: 14px auto 0;
}
.organizer-logo-strip img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  transform: translateY(-7%);
}
@media (max-width: 600px) {
  .organizer-logo-strip { width: 100%; margin: 10px auto 0; }
}
.footer-logo-strip.supporter-strip {
  aspect-ratio: 10 / 1;
  overflow: hidden;
  line-height: 0;
}
.footer-logo-strip.supporter-strip img {
  transform: translateY(-40%);
}
.footer-logo-strip.new-supporter-strip {
  aspect-ratio: auto;
  overflow: visible;
}
.footer-logo-strip.english-supporter-strip {
  position: relative;
}
.footer-logo-strip.english-supporter-strip::before {
  content: "WITH THE SUPPORT OF";
  position: absolute;
  z-index: 1;
  top: 14.5%;
  left: 3.7%;
  width: 34%;
  height: 10%;
  display: flex;
  align-items: center;
  background: #fff;
  color: #17122b;
  font: 500 clamp(9px, 1.25vw, 16px)/1 var(--mono);
  letter-spacing: .04em;
  white-space: nowrap;
}
.footer-logo-strip.new-supporter-strip img {
  transform: none;
}
.people-gallery-track .person-card { position: relative; inset: auto; }

/* Keep each speaker label and name fixed while only the biography text scrolls. */
.speaker-grid .speaker-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.speaker-grid .speaker-info > .tag,
.speaker-grid .speaker-info > h3 { flex: 0 0 auto; }
.speaker-bio-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 8px;
  scrollbar-width: thin;
  scrollbar-color: #b7aedb transparent;
}
.speaker-bio-scroll > p { min-height: 0; }
