@font-face{font-family:'Roboto';src:url('assets/fonts/Roboto.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Roboto';src:url('assets/fonts/Roboto-Italic.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}
:root{--navy:#143e62;--blue:#1965ac;--cyan:#0b7289;--text:#18344e;--muted:#66798b;--line:#dfe7ee;--pale:#f2f6fa;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--text);font-family:'Roboto',Arial,sans-serif;line-height:1.6;background:#fff}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #e1a526;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h2{font-size:32px;line-height:1.3;letter-spacing:-.8px}h3{line-height:1.5}button{border:0;background:none}.header{max-width:1280px;margin:auto;height:92px;display:flex;align-items:center;gap:42px;padding:0 40px}.brand{display:flex;gap:13px;align-items:center;margin-right:auto}.brand img{object-fit:contain;border-radius:50%}.brand span{font-size:12px;font-weight:750;letter-spacing:.25px}.brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}.header nav{display:flex;gap:26px;font-size:14px;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--blue)}.download{border:1px solid var(--line);border-radius:6px;padding:9px 16px;font-weight:650;font-size:14px}.download span{margin-left:12px}.hero{background:var(--navy);color:white;overflow:hidden}.hero-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.06fr 1fr;min-height:464px}.hero-copy{padding:48px 35px 46px max(40px,calc((100vw - 1200px)/2))}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:750;color:var(--cyan);margin-bottom:12px}.eyebrow.light{color:#b6dbe9;font-size:11px;display:flex;align-items:center;gap:10px}.eyebrow.light span{width:22px;height:1px;background:#89c6da}.hero-pre{font-size:24px;margin-top:22px;color:#d6e8f4}.hero h1{font-size:43px;line-height:1.2;letter-spacing:-1.3px;font-weight:750;margin:5px 0 16px}.hero h1 span{color:#9edbeb}.hero-sub{font-size:14px;color:#c7d9e6}.hero-facts{display:flex;gap:28px;margin:24px 0}.hero-facts>div{display:flex;flex-direction:column}.hero-facts>div+div{border-left:1px solid #ffffff35;padding-left:28px}.fact-label{font-size:10px;letter-spacing:1.3px;color:#a9c9dc;margin-bottom:4px}.hero-facts strong{font-size:16px}.hero-facts span:last-child{font-size:12px;color:#c0d3e1}.button{display:inline-flex;justify-content:center;align-items:center;padding:12px 20px;border-radius:5px;font-size:14px;font-weight:650;min-height:46px}.button.white{color:var(--navy);background:white}.hero-photo{position:relative;min-width:0}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 50%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#143e6250,transparent 45%),linear-gradient(0deg,#092d4c80,transparent 45%)}.photo-caption{position:absolute;bottom:28px;left:32px;z-index:1;font-size:20px;letter-spacing:5px;font-weight:600}.photo-caption span{display:block;font-size:9px;letter-spacing:2px;margin-top:4px}.stats{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;border-bottom:1px solid var(--line)}.stats>div{display:flex;align-items:center;justify-content:center;gap:16px}.stats>div+div{border-left:1px solid var(--line)}.stats strong{font-size:30px;color:var(--blue);font-weight:650}.stats span{font-size:13px;color:var(--muted)}.section{max-width:1200px;margin:auto;padding:54px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:10px}.text-link{font-size:14px;font-weight:650;color:var(--blue)}.text-link span{margin-left:10px}.searchbar{display:flex;gap:12px;margin-bottom:26px}.search-field{display:flex;align-items:center;gap:14px;flex:1;background:#f6f8fb;border:1px solid var(--line);border-radius:6px;padding:0 17px;min-width:0}.search-field>span:first-child{font-size:28px;line-height:1;color:var(--muted)}.search-field input{border:0;background:transparent;width:100%;min-width:0;height:52px;font-size:14px;color:var(--text)}.search-field input:focus{outline:0}.search-field:focus-within{outline:2px solid var(--blue);outline-offset:2px}kbd{font-size:12px;border:1px solid #cfd9e2;border-radius:4px;padding:0 6px;color:var(--muted)}select{height:54px;min-width:225px;border:1px solid var(--line);border-radius:6px;background:white;padding:0 36px 0 16px;font-size:14px;color:var(--text)}.program-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.day-tabs{display:flex;gap:28px}.day-tabs button{padding:0 3px 16px;text-align:left;position:relative}.day-tabs button span{display:block;font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-bottom:3px}.day-tabs button strong{font-size:16px;font-weight:600}.day-tabs button[aria-selected=true]{color:var(--blue)}.day-tabs button[aria-selected=true]:after{content:'';height:3px;position:absolute;bottom:-1px;left:0;right:0;background:var(--blue);border-radius:3px}.view-switch{display:flex;padding:4px;background:var(--pale);border:1px solid var(--line);border-radius:6px;gap:3px;margin-bottom:13px}.view-switch button{font-size:12px;padding:6px 12px;border-radius:4px}.view-switch button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #143e6212}.view-switch span{margin-left:5px;font-size:10px;padding:1px 5px;background:#e4ebf2;border-radius:3px}.results-line{display:flex;justify-content:space-between;margin:21px 0;font-size:12px;color:var(--muted)}.schedule-row{display:grid;grid-template-columns:110px 1fr;gap:20px;margin-bottom:16px}.time-col{padding-top:16px;font-size:14px;font-weight:650;color:var(--navy)}.time-col small{display:block;font-size:11px;color:var(--muted);font-weight:400}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:12px}.session-card{position:relative;border:1px solid var(--line);border-top:3px solid var(--room,#3683b9);border-radius:6px;background:#fff;transition:box-shadow .2s,transform .2s;min-width:0}.session-card:hover{box-shadow:0 5px 20px #153e6210;transform:translateY(-2px)}.card-main{display:block;width:100%;text-align:left;padding:18px 20px 15px}.room-tag{display:inline-block;background:color-mix(in srgb,var(--room) 9%,white);color:var(--room);font-size:11px;font-weight:650;border-radius:3px;padding:3px 8px;margin-bottom:16px;margin-right:30px}.session-label{font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:5px}.session-card h3{font-size:16px;font-weight:650;line-height:1.5;margin-bottom:10px}.chairs{color:var(--muted);font-size:12px;line-height:1.7}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf1f5;margin-top:16px;padding-top:11px;font-size:11px;color:var(--muted)}.card-bottom b{color:var(--blue);font-weight:600}.save{position:absolute;right:10px;top:11px;width:38px;height:38px;border-radius:5px;font-size:22px;color:#8a9aa9}.save:hover{background:var(--pale)}.save[aria-pressed=true]{color:#b88014;background:#fff7e7}.general-event{padding:15px 20px;border:1px solid var(--line);background:#f7f9fb;border-radius:5px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px}.general-event span{font-size:12px;color:var(--muted)}.program-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.empty{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:6px}.empty h3{margin-bottom:8px}.empty p{color:var(--muted);font-size:14px}.empty button{color:var(--blue);text-decoration:underline;margin-top:15px}.venue-section{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.venue-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.venue-layout h3{font-size:18px;margin:20px 0 10px}.venue-layout p{font-size:14px;color:var(--muted);margin-bottom:8px}.venue-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.navy{background:var(--navy);color:#fff}.outline{border:1px solid #bcccd9}.room-directory{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 28px}.room-directory>div{display:flex;gap:26px;padding:18px 0}.room-directory>div+div{border-top:1px solid var(--line)}.floor{font-size:34px;color:#afc4d7;font-weight:300}.room-directory>div>div{flex:1}.room-directory h3{margin:0 0 8px;font-size:16px}.room-directory p{display:flex;justify-content:space-between;gap:12px;margin:5px 0;font-size:13px;color:var(--text)}.room-directory p span{color:var(--muted);font-size:12px}.contact{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}.contact h2{font-size:27px}.contact p{font-size:13px;color:var(--muted);margin-top:10px}.contact h3{font-size:16px;margin:8px 0}.contact a{display:block;color:var(--muted);font-size:13px;margin-top:3px;overflow-wrap:anywhere}.contact a:hover{text-decoration:underline}.contact-role{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:700}footer{background:#10314d;color:#c0d2df;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(40px,calc((100vw - 1200px)/2));font-size:11px}footer>span{font-size:20px;letter-spacing:1px;color:white}footer b{font-weight:300;color:#8bb8cf}dialog{border:0;border-radius:12px;padding:28px 32px;width:min(800px,calc(100% - 32px));max-height:88vh;color:var(--text);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#082338b8;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-top .eyebrow{margin:0}.close{width:40px;height:40px;border-radius:50%;background:var(--pale);font-size:28px;line-height:1;flex-shrink:0}dialog h2{font-size:25px;margin-bottom:15px}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.detail-meta span{font-size:12px;background:var(--pale);padding:4px 9px;border-radius:4px}.detail-chairs{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:24px}.talk-list{list-style:none;margin:0;padding:0}.talk{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:19px 0;border-top:1px solid var(--line)}.talk time{font-size:12px;color:var(--blue);font-weight:650}.talk h3{font-size:16px}.talk .english{font-size:13px;color:var(--muted);margin-top:6px;font-style:italic}.talk .speaker{font-size:13px;color:var(--cyan);margin-top:8px}.source-link{display:block;font-size:12px;color:var(--blue);padding-top:20px;border-top:1px solid var(--line)}.map-dialog img{width:100%;height:auto}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:11px 22px;border-radius:6px;box-shadow:0 3px 15px #0002;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:10px;background:white;padding:12px;z-index:100}
@media(min-width:1440px){.hero-copy{padding-left:120px}}@media(max-width:1280px){.section{margin:0 40px}.stats{margin:0 40px}}@media(max-width:950px){.header{padding:0 24px;gap:20px}.header nav{gap:15px}.brand span{font-size:10px}.brand small{font-size:9px}.hero-copy{padding:38px 26px}.hero h1{font-size:35px}.hero-facts{gap:14px}.hero-facts>div+div{padding-left:14px}.hero-facts strong{font-size:13px}.section{margin:0 26px}.stats{margin:0 26px}.stats>div{gap:10px}.stats span{font-size:11px}.venue-layout{gap:28px}.contact{gap:20px}.contact h3{font-size:14px}.session-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}}
@media(max-width:640px){html{scroll-padding-top:20px}.header{height:76px;padding:0 18px;gap:10px}.brand{gap:9px}.brand img{width:43px;height:43px}.brand span{font-size:9px;max-width:190px}.brand small{font-size:8px}.header nav{display:none}.download{font-size:11px;padding:7px 10px;white-space:nowrap}.download span{margin-left:3px}.hero-inner{display:flex;flex-direction:column}.hero-copy{padding:30px 22px}.hero h1{font-size:36px}.hero-pre{font-size:22px;margin-top:18px}.hero-sub{font-size:13px}.hero-facts{gap:20px}.hero-facts>div+div{padding-left:20px}.hero-facts strong{font-size:14px}.hero-photo{height:210px}.hero-photo>img{object-position:center 60%}.photo-caption{left:22px;bottom:18px;font-size:17px}.stats{grid-template-columns:1fr 1fr;margin:0 20px;padding:10px 0;gap:0}.stats>div{padding:10px 0;justify-content:flex-start;gap:12px}.stats>div+div{border:0}.stats strong{font-size:26px}.stats span{font-size:11px}.section{margin:0 20px;padding:35px 0}.section-heading{display:block;margin-bottom:20px}h2{font-size:27px}.section-heading .text-link{display:inline-block;margin-top:16px;font-size:13px}.searchbar{flex-direction:column;gap:10px;margin-bottom:24px}.search-field{padding:0 12px;gap:9px}.search-field input{font-size:13px}.room-field select{width:100%;height:46px}.program-toolbar{flex-wrap:wrap;gap:16px}.day-tabs{width:100%;gap:30px;border-bottom:1px solid var(--line)}.day-tabs button{flex:1;padding-bottom:12px}.day-tabs button strong{font-size:15px}.view-switch{margin-bottom:12px}.results-line{font-size:11px;margin:17px 0}.timezone{font-size:10px}.schedule-row{display:block;margin-bottom:20px}.time-col{padding:0 0 9px;display:flex;align-items:center;gap:10px;font-size:13px}.time-col small{font-size:10px}.session-grid{grid-template-columns:1fr}.card-main{padding:15px 16px 12px}.session-card h3{font-size:16px}.room-tag{margin-bottom:12px}.general-event{padding:12px 15px;font-size:13px;align-items:flex-start;flex-direction:column;gap:2px}.venue-layout{grid-template-columns:1fr;gap:28px}.room-directory{padding:5px 20px}.contact{grid-template-columns:1fr;gap:26px}.contact h3{font-size:16px}.contact a{font-size:14px}footer{padding:24px 20px;flex-wrap:wrap;gap:12px}footer p{order:3;width:100%}dialog{padding:20px;width:calc(100% - 20px);max-height:92vh}dialog h2{font-size:22px}.talk{grid-template-columns:1fr;gap:6px}.dialog-top .eyebrow{font-size:10px}.toast{width:max-content;max-width:calc(100% - 32px);text-align:center}.eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header nav,.searchbar,.save,.view-switch,.venue-actions,dialog,footer,.hero-photo{display:none}.hero{background:#fff;color:#000}.hero-inner{display:block}.hero-copy{padding:20px}.hero h1 span,.hero-sub,.hero-pre,.hero-facts span{color:#333}.section{margin:0;padding:20px}.schedule-row,.session-card{break-inside:avoid}}

/* Mobile hierarchy: page sections and time slots have distinct boundaries. */
@media screen and (max-width:640px){
  .stats{margin:0;padding:20px;border-bottom:8px solid #e0e8f0;gap:12px 0}
  .stats>div{padding:8px 12px}
  .stats>div:nth-child(even){border-left:1px solid #cad7e3}
  .program.section{margin:0;padding:36px 20px;background:white}
  .section-heading{border-left:4px solid var(--blue);padding-left:16px;margin-bottom:26px}
  .search-field{background:white}
  .program-toolbar{border-bottom:1px solid #b8cadb}
  .day-tabs{gap:8px;border:0}
  .day-tabs button{padding:12px;border:1px solid #c4d3e1;border-radius:6px;background:white}
  .day-tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}
  .day-tabs button[aria-selected=true] span{color:#c9e5f4}
  .day-tabs button[aria-selected=true]:after{display:none}
  .day-tabs button strong{font-size:14px}
  .results-line{margin:22px 0 16px;color:#50677c;flex-wrap:wrap;gap:4px 12px}
  .schedule-row{margin-bottom:32px;padding:0;background:transparent;border:0;border-radius:0;overflow:visible}
  .time-col{margin:0;padding:0 0 12px;border-bottom:1px solid #bdcedd;background:transparent;color:var(--navy);font-size:18px;font-weight:750;flex-wrap:wrap;gap:4px 12px}
  .time-col small{color:var(--muted);font-size:12px;font-weight:400}
  .time-col small:empty{display:none}
  .session-grid{gap:0}
  .session-grid:has(>.session-card+.session-card){border-left:2px solid #d7e2eb;padding-left:16px;margin-top:16px}
  .session-card{border:0;border-radius:0;background:transparent;box-shadow:none}
  .session-card:hover{box-shadow:none;transform:none}
  .session-card+.session-card{border-top:1px solid #dce5ed}
  .card-main{padding:18px 0}
  .room-tag{padding:0;border-radius:0;background:transparent;font-size:13px;margin:0 40px 10px 0}
  .room-tag:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--room);margin-right:8px;vertical-align:1px}
  .save{top:12px;right:-6px}
  .card-bottom{border:0;padding:0;margin-top:14px}
  .session-label{font-size:12px;letter-spacing:.6px;color:#526779}
  .chairs{font-size:13px}
  .card-bottom{font-size:12px}
  .general-event{background:transparent;border:0;border-radius:0;padding:16px 0 0;font-size:16px}
  .program-note{border-top:2px solid #bdcedd;padding-top:20px}
  .venue-section{background:white;border-top:6px solid var(--cyan);border-bottom:0}
  .venue-layout{padding:36px 0 40px}
  .venue-layout>div:first-child>.eyebrow{padding-bottom:12px;border-bottom:1px solid #cad9e3}
  .room-directory{background:#f2f7fa;border-color:#c5d7e2}
  .room-directory>div+div{border-top:2px solid #c5d7e2}
  .contact.section{margin:0;padding:36px 20px 40px;background:#eaf1f7;border-top:6px solid var(--navy);gap:22px}
  .contact>div+div{padding-top:22px;border-top:1px solid #bdcfde}
  .contact-role{font-size:12px;color:#496378}
  .talk{padding:20px 0;margin:0;border:0;border-top:1px solid #cfdae4;border-radius:0;background:transparent}
  .talk time{font-size:14px}
}

.organizers-section{background:#f2f6fa;border-top:1px solid #d3dfe9}
.organizer-intro{display:flex;gap:24px;align-items:center;padding:26px;background:white;border:1px solid var(--line);border-radius:8px}
.organizer-intro>img{object-fit:contain;border-radius:50%;flex-shrink:0}
.organizer-intro h3{font-size:24px;color:var(--blue)}
.organizer-intro p{font-size:14px;color:var(--muted);margin-top:4px}
.organizer-intro strong{color:var(--text)}
.committee-heading{font-size:20px;margin:30px 0 16px}
.committee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.committee-grid article{padding:22px;background:white;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:6px}
.committee-grid span{font-size:12px;letter-spacing:1px;color:var(--cyan);font-weight:700}
.committee-grid h4{font-size:17px;margin:8px 0}
.committee-grid p{font-size:14px;color:var(--muted)}
.committee-members{margin-top:20px;border:1px solid #ccd9e5;border-radius:6px;background:white;padding:16px 20px;font-size:14px}
.committee-members summary{cursor:pointer;font-weight:600}
.committee-members ul{padding-left:20px;line-height:2}
.sponsors-section{background:white;border-top:1px solid #cbd9e5}
.sponsor-tier{padding:28px 0;border-top:1px solid #d8e2ea}
.sponsor-tier h3{text-align:center;font-size:17px;color:var(--navy);margin-bottom:22px;text-transform:uppercase;letter-spacing:1px}
.sponsor-grid{display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 0 14px;scrollbar-width:thin;scrollbar-color:#a9c1d5 #edf2f6;min-width:0}
.sponsor-logo{scroll-snap-align:start;flex:0 0 200px;height:110px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid #dce4eb;border-radius:8px;background:white}
.sponsor-logo img{display:block;width:100%;height:100%;object-fit:contain}
.diamond .sponsor-logo{flex-basis:310px;height:138px;border:2px solid #a7c9e5;background:#fbfdff}
.gold .sponsor-logo{flex-basis:250px;height:125px;border-color:#dbcca7}
.silver .sponsor-logo{flex-basis:220px;border-color:#becbd7}
.partners .sponsor-logo{flex-basis:175px;height:100px}
@media screen and (max-width:640px){
 .organizers-section{border-top:6px solid var(--blue)}
 .organizers-section .section,.sponsors-section .section{padding:36px 0 40px}
 .organizer-intro{padding:20px 16px;gap:16px;align-items:flex-start}
 .organizer-intro>img{width:60px;height:60px}
 .organizer-intro h3{font-size:20px}
 .organizer-intro p{font-size:13px}
 .organizer-intro strong{display:block;margin-top:4px}
 .committee-grid{grid-template-columns:1fr;gap:14px}
 .committee-grid article{padding:18px}
 .committee-members{padding:16px}
 .committee-members li{margin-bottom:10px;line-height:1.7}
 .sponsors-section{border-top:6px solid #aa8848}
 .sponsor-tier{padding:24px 0;border-top:2px solid #d2dee8}
 .sponsor-tier h3{font-size:15px;margin-bottom:18px}
 .sponsor-grid{gap:12px}
 .sponsor-logo,.gold .sponsor-logo,.silver .sponsor-logo,.partners .sponsor-logo{height:98px;padding:12px;min-width:0}
 .diamond .sponsor-grid{justify-content:center}
 .diamond .sponsor-logo{height:135px;padding:25px 35px}
 .sponsor-logo,.gold .sponsor-logo,.silver .sponsor-logo,.partners .sponsor-logo{flex-basis:75%;max-width:250px}
 .diamond .sponsor-logo{flex-basis:100%;max-width:310px}
}

/* Sponsor carousels stay usable through touch, keyboard, or buttons. */
.sponsor-tier{min-width:0}
.sponsor-tier-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.sponsor-tier .sponsor-tier-heading h3{text-align:left;margin:0}
.carousel-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.carousel-controls[hidden]{display:none}
.carousel-controls button{width:40px;height:40px;border:1px solid #c2d2df;border-radius:50%;font-size:25px;line-height:1;background:white;color:var(--navy)}
.carousel-controls button:hover:not(:disabled){background:#eaf1f7}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-position{font-size:12px;font-variant-numeric:tabular-nums;min-width:48px;text-align:center;color:var(--muted)}
.sponsor-grid:not(.is-scrollable){justify-content:center}
@media screen and (max-width:640px){
 .sponsor-tier-heading{gap:8px;flex-wrap:wrap;margin-bottom:14px}
 .carousel-controls{gap:5px}
 .carousel-controls button{width:36px;height:36px}
 .carousel-position{min-width:42px}
 .sponsor-tier .sponsor-tier-heading h3{font-size:14px;letter-spacing:.5px}
}
@media print{.sponsor-grid{flex-wrap:wrap;overflow:visible}.carousel-controls{display:none}}

/* Selected mobile agenda: compact controls and a chronological rail. */
.agenda-icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0}
.mobile-only,.mobile-agenda-title,.timeline-marker,.detail-chevron{display:none}
.save .agenda-icon{width:22px;height:22px}
.time-col small{display:block}
@media screen and (max-width:640px){
 #program .section-heading{padding:0;border:0;margin-bottom:16px}
 #program .section-heading .eyebrow,#program .section-heading p:not(.eyebrow),#program .section-heading>.text-link,.desktop-agenda-title{display:none}
 .mobile-agenda-title{display:inline}
 #program h2{font-size:28px;letter-spacing:-.5px;line-height:1.2}
 .agenda-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search search" "days days" "room saved";gap:0;min-width:0}
 #program .searchbar,#program .program-toolbar{display:contents}
 #program .search-field{grid-area:search;background:#f7f9fc;border:1px solid var(--line);border-radius:5px;min-height:44px;padding:0 12px;gap:10px;margin:0 0 14px}
 #program .search-field input{height:44px;font-size:14px}
 #program .search-field kbd{display:none}
 #program .day-tabs{grid-area:days;width:100%;gap:0;border-bottom:1px solid var(--line);margin:0}
 #program .day-tabs button{padding:12px 4px;text-align:center;border:0;border-radius:0;background:transparent;color:var(--muted);min-height:48px}
 #program .day-tabs button span{display:none}
 #program .day-tabs button strong{font-size:14px}
 #program .day-tabs button[aria-selected=true]{color:var(--blue)}
 #program .day-tabs button[aria-selected=true]:after{display:block;height:3px;bottom:-1px}
 #program .room-field{grid-area:room;display:flex;align-items:center;min-width:0;position:relative;padding:8px 0}
 #program .room-field>.agenda-icon{display:block;position:absolute;left:0;pointer-events:none;filter:invert(28%) sepia(62%) saturate(1100%) hue-rotate(174deg)}
 #program .room-field select{width:100%;min-width:0;border:0;border-radius:0;background:transparent;height:44px;padding:0 22px 0 28px;font-size:14px}
 #program .view-switch{grid-area:saved;display:flex;align-items:center;border:0;border-radius:0;background:transparent;margin:8px 0;padding:0;border-left:1px solid var(--line)}
 #program #all-view{display:none}
 #program #saved-view{display:flex;align-items:center;gap:3px;min-height:44px;padding:0 0 0 12px;color:var(--blue);font-size:13px;white-space:nowrap;box-shadow:none;border-radius:0;background:transparent}
 #program #saved-view>.agenda-icon{display:block;margin-right:5px}
 #program #saved-view[aria-pressed=true]{font-weight:750;text-decoration:underline;text-underline-offset:5px}
 #program #saved-view span{margin:0;padding:0;background:transparent;font-size:inherit}
 #program .saved-paren{display:inline}
 #program .results-line{padding:8px 0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}
 #program .timezone{display:none}
 #program .schedule-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:26px;margin:0;padding:0;border:0;background:transparent;overflow:visible}
 #program .time-col{display:block;font-size:16px;font-weight:700;line-height:1.35;padding:18px 0;margin:0;border:0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
 #program .time-start,#program .time-end{display:block}
 #program .time-end{font-weight:400;color:var(--muted);font-size:14px;margin-top:2px}
 #program .time-dash,#program .time-col small{display:none}
 #program .timeline-content{position:relative;min-width:0;border-bottom:1px solid var(--line)}
 #program .timeline-content:before{content:"";position:absolute;left:-13px;top:0;bottom:0;border-left:2px solid var(--line)}
 #program .schedule-row:first-child .timeline-content:before{top:23px}
 #program .schedule-row:last-child .timeline-content:before{bottom:calc(100% - 24px)}
 #program .session-grid,#program .session-grid:has(>.session-card+.session-card){display:block;margin:0;padding:0;border:0}
 #program .session-card{border:0;position:relative;border-radius:0;background:transparent;box-shadow:none;transform:none}
 #program .session-card+.session-card{border-top:1px solid var(--line)}
 #program .card-main{display:flex;flex-direction:column;width:100%;padding:18px 0 20px;text-align:left}
 #program .session-label{order:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1.5;padding-right:60px;margin:0 0 8px}
 #program .session-card h3{order:1;font-size:16px;font-weight:700;line-height:1.4;margin:0 0 12px}
 #program .room-tag{order:2;display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--blue);background:transparent;padding:0;margin:0 0 10px;border-radius:0;line-height:1.5}
 #program .room-tag:before{display:none}
 #program .room-tag>.agenda-icon{display:block;width:14px;height:16px;filter:invert(28%) sepia(62%) saturate(1100%) hue-rotate(174deg)}
 #program .chairs{order:3;font-size:13px;line-height:1.65;margin:0;color:var(--muted)}
 #program .session-card:not(:first-child) .chairs,.schedule-row:has(.session-card+.session-card) .chairs{display:none}
 #program .card-bottom{display:none}
 #program .save{display:flex;align-items:center;justify-content:center;position:absolute;top:4px;right:23px;width:44px;height:44px;padding:10px;border-radius:4px;background:transparent}
 #program .save[aria-pressed=true]{background:#eaf2fa}
 #program .detail-chevron{display:block;position:absolute;top:16px;right:-3px;width:18px;height:18px}
 #program .timeline-marker{display:block;position:absolute;left:-19px;top:17px;width:14px;height:14px;background:white;filter:invert(28%) sepia(62%) saturate(1100%) hue-rotate(174deg)}
 #program .general-event{position:relative;display:flex;justify-content:center;padding:20px 0;min-height:70px;border:0;border-radius:0;background:transparent;font-size:15px;line-height:1.45}
 #program .general-event span{font-size:13px}
 #program .program-note{font-size:12px;margin-top:20px;border-top:0;padding:0}
}
@media screen and (max-width:640px){
 html{scroll-padding-top:0}
 #program.program.section{padding-top:22px}
 #program h2{font-size:26px}
 #program .section-heading{margin-bottom:14px}
 #program .search-field{margin-bottom:10px}
 #program .room-field{padding:3px 0}
 #program .view-switch{margin:3px 0}
 #program .results-line{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 #program .agenda-controls{border-bottom:1px solid var(--line)}
 #program .timeline-marker{background:transparent}
 #program .save .agenda-icon,#program .detail-chevron{filter:invert(43%) sepia(14%) saturate(750%) hue-rotate(163deg)}
 #program .save[aria-pressed=true] .agenda-icon{filter:invert(28%) sepia(62%) saturate(1100%) hue-rotate(174deg)}
 #program #saved-view{font-size:14px}
 #program .room-field select{font-size:14px}
}
.mobile-chairs{display:none}
@media screen and (max-width:640px){
 #program .desktop-chairs{display:none}
 #program .mobile-chairs{display:block}
 #program .schedule-row:has(.session-card+.session-card) .mobile-chairs{display:none}
 #program .time-col{padding-top:14px;padding-bottom:14px}
 #program .general-event{padding:18px 0;min-height:66px}
 #program .card-main{padding:16px 0}
 #program .session-card h3{margin-bottom:10px}
 #program .room-tag{margin-bottom:8px}
}

/* Keep agenda controls within their section; 16px fields prevent iOS focus zoom. */
@media screen{
 #program .agenda-controls{position:sticky;top:0;z-index:5;background:var(--white);padding:8px 0;border-bottom:1px solid var(--line)}
 #program .search-field input,#program .room-field select{font-size:16px}
 #schedule [data-open],#schedule [data-save]{scroll-margin-top:190px}
}

/* The conference president leads the organizer hierarchy. */
.organizer-intro{flex-wrap:wrap}
.conference-president{flex-basis:100%;border-top:1px solid var(--line);padding-top:20px}
.organizer-intro .president-role{font-size:15px;font-weight:650;color:var(--blue);margin:0 0 6px}
.organizer-intro .president-name{font-size:28px;line-height:1.3;color:var(--navy);font-weight:750;margin:0}
.contact>div{min-width:0}
.contact a{overflow-wrap:anywhere}
@media screen and (max-width:640px){
 .organizer-intro .president-role{font-size:14px}
 .organizer-intro .president-name{font-size:24px}
}

/* Display the supplied conference artwork in full at every screen width. */
.intro-banner{width:100%;background:#d9f2fa}
.intro-banner>img{display:block;width:100%;height:auto}
