:root{
  --blue:#1d3cff;
  --blue-light:#dfe4ff;
  --black:#0a0a0a;
  --white:#ffffff;
  --fs-s:15px;
  --fs-m:20px;
  --fs-l:64px;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--white);color:var(--black);font-size:var(--fs-m);line-height:1.35;min-height:100vh;display:flex;flex-direction:column;transition:background-color 1.2s ease,color 1.2s ease}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

.site-header{position:sticky;top:0;z-index:10;padding:12px 16px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;pointer-events:none}
.logo-name{pointer-events:auto;justify-self:start;font-size:var(--fs-m);font-weight:500;line-height:1;letter-spacing:-.01em;color:var(--blue);padding-top:8px;white-space:nowrap}
.logo-name:hover{color:var(--black)}
.logo-name .logo-img{height:44px;width:auto}
.pill{pointer-events:auto;position:relative;display:flex;align-items:flex-start;justify-content:center;gap:8px;background:var(--blue);color:var(--white);border-radius:26px;padding:6px;min-height:52px;max-width:100%}
.pill:has(.item.open .subs),.pill:has(.item.current .subs){padding-bottom:50px}
.brand{display:none;font-size:var(--fs-m);font-weight:500;white-space:nowrap}
.menu{display:flex;align-items:center;gap:2px}
.item{position:static}
.item>a{display:block;font-size:var(--fs-s);color:var(--white);padding:9px 16px;border-radius:999px}
.item>a:hover,.item.open>a,.item>a.active{background:var(--white);color:var(--blue)}
.subs{position:absolute;left:6px;right:6px;top:52px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px;opacity:0;visibility:hidden;transition:opacity .2s .05s,visibility .2s}
.item.open .subs,.item.current .subs{opacity:1;visibility:visible}
.menu:has(.item.open:not(.current) .subs) .item.current .subs{opacity:0;visibility:hidden;transition:none}
.subs a{display:block;font-size:var(--fs-s);color:var(--white);padding:7px 14px;border-radius:999px}
.subs a:hover,.subs a.active{background:var(--white);color:var(--blue)}
.pill,.logo-name,.label,.blue,.burger,.burger span{transition-property:background-color,color,padding-bottom,transform,top,opacity;transition-duration:1.2s,1.2s,.25s,.25s,.25s,.25s}
.item>a,.subs a{transition:background-color .15s,color .15s}
@media (max-width:1000px){
  .site-header{grid-template-columns:auto 1fr}
  .pill{justify-self:center}
  .item>a{padding:8px 10px}
}
@media (max-width:820px){
  .pill{min-height:44px}
  .subs{top:46px}
  .pill:has(.item.open .subs),.pill:has(.item.current .subs){padding-bottom:44px}
  .menu{gap:0}
  .item>a{padding:7px 7px}
  .subs a{padding:6px 10px}
}

main{flex:1;padding:48px 16px 80px}
.page-section{max-width:1100px;margin:0 auto;animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.label{font-size:var(--fs-s);color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
h1{font-size:var(--fs-l);line-height:.95;font-weight:500;letter-spacing:-.02em;margin-bottom:28px}
h2{font-size:var(--fs-l);line-height:1;font-weight:500;letter-spacing:-.01em;margin-bottom:24px}
p{max-width:720px;margin-bottom:16px}
.lead{font-size:var(--fs-m);max-width:860px}
.blue{color:var(--blue)}

.content{margin:24px 0 32px}
.content h2,.content h3,.content h4{font-size:var(--fs-m);font-weight:500;margin:32px 0 12px;letter-spacing:0;line-height:1.35}
.content ul,.content ol{max-width:720px;margin:0 0 16px 1.2em}
.content li{margin-bottom:6px}
.content a{text-decoration:underline;text-underline-offset:3px}
.content a:hover{color:var(--blue)}
.content img{margin:24px 0}
.content strong{font-weight:500}

.list-title{font-size:var(--fs-m);font-weight:500;margin:40px 0 16px}
.dates{display:flex;gap:40px;flex-wrap:wrap;margin:36px 0;padding:24px 0;border-top:1px solid var(--black);border-bottom:1px solid var(--black)}
.dates div span{display:block;font-size:var(--fs-s);color:var(--blue)}
.dates div strong{font-size:var(--fs-m);font-weight:400}

.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.cta{display:inline-block;background:var(--blue);color:var(--white);padding:12px 24px;border-radius:999px;font-size:var(--fs-m)}
.cta:hover{background:var(--black)}

.list{margin-top:24px}
.list .row{display:grid;grid-template-columns:120px 1fr 220px;gap:20px;padding:16px 12px;margin:0 -12px;border-top:1px solid var(--black);align-items:baseline;transition:background .15s,color .15s}
.list .row:last-child{border-bottom:1px solid var(--black)}
.list .time{color:var(--blue);font-variant-numeric:tabular-nums;transition:color .15s}
.list .who{font-size:var(--fs-s);transition:color .15s}
.list .row:hover{background:var(--blue);color:var(--white);border-color:var(--blue)}
.list .row:hover+.row{border-top-color:var(--blue)}
.list .row:hover .time,.list .row:hover .who{color:var(--white)}
.list .row:hover .row-text{color:var(--white)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:24px}
.card{display:block;border-top:1px solid var(--black);padding-top:14px}
.card .img{aspect-ratio:4/3;background:var(--blue-light);margin-bottom:12px;overflow:hidden}
.card .img img{width:100%;height:100%;object-fit:cover}
.card h3{font-weight:500;font-size:var(--fs-m)}
.card p{font-size:var(--fs-s)}
a.card:hover h3{color:var(--blue)}
.row-text{display:block;font-size:var(--fs-s);margin-top:4px}
.news{margin-top:72px}
.day-nav{display:none;flex-wrap:wrap;gap:6px;margin:8px 0 8px}
@media (max-width:640px){.day-nav{display:flex}}
.day-nav a{font-size:var(--fs-s);color:var(--blue);padding:7px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--blue);transition:background-color .15s,color .15s}
.day-nav a:hover,.day-nav a.active{background:var(--blue);color:var(--white)}
.day{margin-top:32px}
.day-pager{margin-top:40px}
.day{margin-top:56px;scroll-margin-top:140px}
.day-title{font-size:var(--fs-m);font-weight:500;margin-bottom:16px}
.day .list{margin-top:0}
.day .list .row{grid-template-columns:150px 1fr 260px}
.day .list .time{white-space:nowrap}
.list .who a{text-decoration:underline;text-underline-offset:3px}
body.is-blue .day-nav a{color:var(--white);box-shadow:inset 0 0 0 1px var(--white)}
.home-list{margin-top:56px}
.home-list .list{margin-top:0}
.list .row.row-two{grid-template-columns:1fr 1fr}
.committee .c-item{border-top:1px solid var(--black);margin:0 -12px}
.committee .c-item:last-child{border-bottom:1px solid var(--black)}
.committee .row,.committee .row:last-child{border:0;margin:0}
.committee summary,.committee summary *{list-style:none;cursor:pointer}
.committee summary::-webkit-details-marker{display:none}
.committee .row.row-two{grid-template-columns:1fr 1fr 24px}
.committee .plus{font-size:var(--fs-m);line-height:1;text-align:right;transition:transform .2s}
.committee details[open] .plus{transform:rotate(45deg)}
.committee details[open] summary{color:var(--blue)}
.committee details[open] summary .who{color:var(--blue)}
.committee details[open] summary:hover,.committee details[open] summary:hover .who{color:var(--white)}
.committee .bio{overflow:hidden;transition:height .35s ease}
.committee .bio-inner{padding:12px 12px 24px;max-width:744px}
.committee .bio p{margin-bottom:12px}
.committee .bio p:last-child{margin-bottom:0}
body.is-blue .committee .c-item{border-color:var(--white)}
.speaker-body{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:40px;margin-top:32px;align-items:start}
.speaker-body .content{margin-top:0}
.speaker-body.no-photo{grid-template-columns:1fr}
.speaker-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cta-outline{background:none;color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.cta-outline:hover{background:var(--blue);color:var(--white)}
@media (max-width:700px){.speaker-body{grid-template-columns:1fr}}

.site-footer{position:relative;z-index:6;background:var(--black);color:var(--white);padding:48px 16px 28px}
.foot{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.foot h4{font-size:var(--fs-l);font-weight:500;line-height:1;letter-spacing:-.02em}
.foot h5{font-size:var(--fs-s);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-weight:400}
.foot p,.foot a{font-size:var(--fs-s)}
.foot div>a{display:block}
.foot a:hover{text-decoration:underline}
.foot h4 a{font-size:inherit}
.partners{max-width:1100px;margin:40px auto 0;display:flex;gap:32px;flex-wrap:wrap;align-items:center}
.partners img{height:48px;width:auto;object-fit:contain}
.partners .logo{font-size:var(--fs-s);letter-spacing:.06em;text-transform:uppercase}
.legal{max-width:1100px;margin:20px auto 0;font-size:var(--fs-s);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.legal a:hover{text-decoration:underline}

body.is-blue{background:var(--blue);color:var(--white)}
body.is-blue .logo-name,body.is-blue .label,body.is-blue .blue,body.is-blue .list .time{color:var(--white)}
body.is-blue .logo-name:hover{color:var(--black)}
body.is-blue .pill{background:var(--white)}
body.is-blue .item>a,body.is-blue .subs a{color:var(--blue)}
body.is-blue .item>a:hover,body.is-blue .item.open>a,body.is-blue .item>a.active,body.is-blue .subs a:hover,body.is-blue .subs a.active{background:var(--blue);color:var(--white)}
body.is-blue .burger{background:var(--blue)}
body.is-blue .burger span{background:var(--white)}
body.is-blue .list .row,body.is-blue .dates,body.is-blue .card{border-color:var(--white)}
body.is-blue .card .img{background:rgba(255,255,255,.18)}
body.is-blue .content a:hover,body.is-blue a.card:hover h3{color:var(--black)}
body.is-blue .cta{background:var(--white);color:var(--blue)}
body.is-blue .cta:hover{background:var(--black);color:var(--white)}

.burger{display:none;border:none;background:var(--white);cursor:pointer;width:40px;height:40px;border-radius:999px;position:relative;flex:none}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--blue)}
.burger span:nth-child(1){top:14px}
.burger span:nth-child(2){top:19px}
.burger span:nth-child(3){top:24px}
body.nav-open .burger span:nth-child(1){top:19px;transform:rotate(45deg)}
body.nav-open .burger span:nth-child(2){opacity:0}
body.nav-open .burger span:nth-child(3){top:19px;transform:rotate(-45deg)}

@media (max-width:700px){
  .list .row,.list .row.row-two,.day .list .row{grid-template-columns:1fr;gap:4px}
  .committee .row.row-two{grid-template-columns:1fr 24px}
  .committee .row.row-two .who{grid-row:2}
  .foot{grid-template-columns:1fr}
  main{padding-top:32px}
}
@media (max-width:640px){
  :root{--fs-l:40px}
  .site-header{display:block}
  .logo-name{display:none}
  .pill{flex-wrap:wrap;align-items:center;justify-content:space-between;padding:6px 6px 6px 18px}
  .pill:has(.item.open .subs),.pill:has(.item.current .subs){padding-bottom:6px}
  .brand{display:block}
  .burger{display:block}
  .menu{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;padding:6px 0 10px;margin-left:-12px}
  body.nav-open .menu{display:flex}
  .item>a{font-size:var(--fs-m);padding:9px 12px}
  .subs{position:static;opacity:1;visibility:visible;flex-wrap:wrap;justify-content:flex-start;padding:4px 12px 8px;display:none}
  .item.current .subs{display:flex}
  .menu:has(.item.open:not(.current) .subs) .item.current .subs{opacity:1;visibility:visible}
}