/* A single keynote stage with the audience choices directly below it. */
.keynote{position:relative;display:block;scroll-margin-top:88px;padding:64px var(--pad) 66px;background:#071e63;color:#fff;border-bottom:1px solid rgba(216,226,240,.25)}
.keynote::before{content:"";position:absolute;top:0;left:50%;width:88px;height:4px;transform:translateX(-50%);background:var(--yellow)}
.keynote [hidden]{display:none!important}
.keynote-kicker{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.5;margin:0 0 14px;color:#d8e2f0}
.keynote-reveal{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:1100px;margin-inline:auto}
.keynote-reveal__copy{position:relative;z-index:1;width:100%}
.keynote-reveal h2{margin:0;font-size:clamp(40px,5vw,76px);font-weight:700;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.keynote-reveal h2 em{font-style:normal;color:var(--yellow)}
.keynote-reveal__portrait{position:relative;width:340px;max-width:100%;height:260px;margin:20px auto 0;overflow:clip;pointer-events:none;mask-image:linear-gradient(#000 65%,transparent 100%)}
.keynote-reveal__portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 23%}
.keynote-reveal__portrait>span{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:90px;font-weight:700;color:#fff;line-height:1}
.keynote-reveal__soon{position:relative;z-index:1;display:inline-block;margin-top:-23px;padding:8px 17px;border:1px solid rgba(255,191,0,.7);background:#071e63;color:var(--yellow);font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.keynote-reveal__caption{font-size:16px;line-height:1.6;margin:16px 0 0;color:#d8e2f0;text-wrap:balance}
.keynote-poll{max-width:1320px;margin:34px auto 0;min-width:0}
.keynote-poll__heading{text-align:center}
.keynote-poll__heading .keynote-kicker{color:var(--yellow);margin-bottom:9px}
.keynote-poll h3{font-size:clamp(25px,2.5vw,36px);letter-spacing:-.035em;line-height:1.2;margin:0 0 12px;text-wrap:balance}
.keynote-poll__intro{font-size:16px;line-height:1.6;color:#d8e2f0;margin:0 0 18px}
.keynote-poll__disclaimer{max-width:920px;margin:0 auto 24px;font-size:13px;line-height:1.6;color:#c9d7eb;text-align:center;text-wrap:pretty}
.keynote-poll fieldset{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;margin:0;border:0;min-width:0}
.keynote-option{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:126px;padding:20px 16px;border:1px solid rgba(216,226,240,.35);background:rgba(255,255,255,.035);cursor:pointer;text-align:left;transition:background .2s,border-color .2s}
.keynote-option:hover{background:rgba(255,255,255,.09);border-color:#d8e2f0}
.keynote-option:has(input:checked){background:rgba(255,191,0,.1);border-color:var(--yellow);box-shadow:inset 0 -3px 0 var(--yellow)}
.keynote-option:has(input:focus-visible){outline:3px solid var(--yellow);outline-offset:3px}
.keynote-option input{position:absolute;opacity:0;width:1px;height:1px}
.keynote-option__initials{display:grid;place-items:center;width:40px;height:44px;border:1px solid rgba(216,226,240,.25);color:#d8e2f0;font-size:14px;font-weight:700;letter-spacing:-.03em}
.keynote-option__text{min-width:0}
.keynote-option__text strong{display:block;font-size:18px;line-height:1.25;letter-spacing:-.02em;color:#fff}
.keynote-option__text>span{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#c9d7eb}
.keynote-option__check{width:20px;height:20px;border:1px solid #a7bbd8;border-radius:50%;display:grid;place-items:center}
.keynote-option input:checked~.keynote-option__check{border-color:var(--yellow);background:var(--yellow)}
.keynote-option input:checked~.keynote-option__check::after{content:'✓';font-size:12px;font-weight:800;color:#071e63}
.keynote-poll__actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:26px}
.keynote-poll__actions .button{font-size:14px;min-height:50px;text-transform:none;letter-spacing:0;padding-inline:26px}
.keynote-poll .button--navy{background:var(--yellow);border-color:var(--yellow);color:#071e63}
.keynote-poll .button--navy:hover{background:#fff;border-color:#fff;color:#071e63}
.keynote-poll button:disabled{opacity:.45;cursor:not-allowed}
.keynote-text-button{padding:12px 0;border:0;border-bottom:1px solid #9aacc9;background:transparent;color:#fff;font-size:14px;line-height:1.4;font-weight:700;cursor:pointer;min-height:44px}
.keynote-text-button:hover{border-color:var(--yellow);color:var(--yellow)}
.keynote-poll__status{font-size:14px;line-height:1.5;color:#fff;margin:18px auto 0;max-width:900px;text-align:center}
.keynote-poll__status:empty{display:none}
.keynote-poll__privacy{max-width:900px;font-size:12px;line-height:1.7;color:#c9d7eb;margin:25px auto 0;text-align:center}
.keynote-sources{max-width:900px;margin:12px auto 0;font-size:12px;color:#c9d7eb;text-align:center}
.keynote-sources summary{cursor:pointer;padding:8px 0;min-height:40px}
.keynote-sources a{display:block;line-height:1.7;padding-block:6px;text-underline-offset:3px;color:#fff}
.keynote-results,.keynote-poll form{scroll-margin-top:110px}
.keynote-results{max-width:900px;margin-inline:auto;padding:26px 30px;border:1px solid rgba(216,226,240,.35);background:rgba(255,255,255,.035)}
.keynote-results__header{display:flex;justify-content:space-between;align-items:start;gap:20px}
.keynote-results h4{font-size:22px;letter-spacing:-.02em;line-height:1.25;margin:0}
.keynote-results__header>span{white-space:nowrap;font-size:14px;color:#c9d7eb}
.keynote-results__leader{font-size:15px;color:#d8e2f0;line-height:1.5;margin:16px 0 25px}
.keynote-results ol{list-style:none;margin:0;padding:0}
.keynote-result{padding:17px 0;border-bottom:1px solid rgba(216,226,240,.25)}
.keynote-result__label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:16px;line-height:1.4}
.keynote-result__label strong{font-weight:600}
.keynote-result__label>span{font-weight:700;color:var(--yellow)}
.keynote-result__track{height:7px;background:rgba(255,255,255,.15);margin-top:12px;overflow:hidden}
.keynote-result__fill{height:100%;background:#2eaefa;width:var(--share);transition:width .6s ease}
.keynote-result:first-child .keynote-result__fill{background:var(--yellow)}
.keynote-result__meta{margin:7px 0 0;font-size:12px;line-height:1.5;color:#c9d7eb}
.keynote-results__updated{font-size:12px;color:#c9d7eb;margin-top:20px}
@media(max-width:1100px){.keynote-poll fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.keynote-option{min-height:100px;padding:18px 20px}}
@media(max-width:620px){
  .keynote{padding:44px var(--pad) 44px;scroll-margin-top:72px}
  .keynote-kicker{font-size:11px;letter-spacing:.1em}
  .keynote-reveal h2{font-size:clamp(29px,9.4vw,52px);line-height:1.08}
  .keynote-reveal__portrait{width:290px;height:225px;margin-top:15px}
  .keynote-reveal__portrait>span{font-size:78px}
  .keynote-reveal__caption{font-size:15px;max-width:320px;margin-top:14px}
  .keynote-poll{margin-top:28px}
  .keynote-poll h3{font-size:26px}
  .keynote-poll__intro{font-size:15px}
  .keynote-poll__disclaimer{font-size:12px;text-align:left;margin-bottom:20px;padding-left:12px;border-left:2px solid var(--yellow)}
  .keynote-poll fieldset{grid-template-columns:1fr;gap:10px}
  .keynote-option{min-height:86px;padding:15px;grid-template-columns:38px minmax(0,1fr) 20px;gap:12px}
  .keynote-option__initials{width:38px;height:40px}
  .keynote-option__text strong{font-size:18px}
  .keynote-option__text>span{margin-top:5px}
  .keynote-poll__actions{gap:10px 20px;margin-top:22px}
  .keynote-poll__actions .button{width:100%;padding-inline:16px}
  .keynote-poll__privacy{text-align:left}
  .keynote-results{padding:20px 16px}
  .keynote-results__header{display:block}
  .keynote-results__header>span{display:block;margin-top:8px}
  .keynote-result__label{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.keynote-option,.keynote-result__fill{transition:none}}
