:root{color-scheme:dark;--bg:#000;--panel:#131313;--panel-2:#1c1c1c;--ink:#f0f0f0;--muted:#cbcbcb;--line:#333;--line-2:#4e4e4e;--orange:#fa6610;--soft:#fa6610;font-family:'Roboto','Helvetica Neue',Helvetica,Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:inherit;text-underline-offset:4px}
a:hover{color:var(--soft)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.12}
p+p{margin-top:1rem}
h3{font-size:1.3rem}
ul{padding-left:1.2rem}
li+li{margin-top:.5rem}
.wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.skip{position:absolute;left:1rem;top:-100px;z-index:30;background:var(--orange);color:#000;padding:1rem}
.skip:focus{top:1rem}
.topbar{position:sticky;top:0;z-index:10;background:#000000f0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}
.brand img{width:130px}
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-size:.875rem;text-decoration:none;font-weight:700}
.nav a span{color:var(--orange);margin-right:6px;font-size:.75rem}
.eyebrow{font-family:var(--ui);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}
.hero{padding:56px 0 48px}
.hero-grid{display:grid;grid-template-columns:1fr 330px;gap:64px;align-items:center}
.hero .eyebrow{color:var(--soft);margin-bottom:22px}
.hero h1{font-size:clamp(3rem,6vw,5.25rem);font-weight:800;letter-spacing:-.02em;line-height:.95}
.hero h1 span{color:var(--orange)}
.welcome{font-size:1.3rem;line-height:1.5;margin-top:22px;max-width:570px}
.date-card{background:var(--orange);color:#000;padding:28px 30px;transform:rotate(2deg);border-radius:2px}
.date-card .days{font-size:4.6rem;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.date-card .month{font-weight:700;font-size:1.4rem}
.date-card .place{border-top:1px solid #16161670;padding-top:18px;margin-top:22px;font-size:1rem}
.quick{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;border-top:1px solid var(--line);margin-top:44px;padding-top:24px}
.quick span{display:block;color:var(--muted);font-size:.875rem}
.quick strong{font-size:1rem}
.section{padding:64px 0;border-top:1px solid var(--line)}
.section-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:32px}
.section-no{font-family:var(--ui);color:var(--orange);font-size:1rem;border:1px solid var(--line);padding:8px 12px;line-height:1.3;flex:none}
.section h2{font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.015em;text-transform:uppercase;font-weight:800}
.section-head p{color:var(--muted);margin-top:10px;max-width:760px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.venue-box{padding:28px;background:var(--panel)}
.venue-box h3{font-size:1.8rem;letter-spacing:-.025em}
.address{font-size:1.15rem;margin:12px 0 20px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:.875rem;gap:12px}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#000}
.btn:hover{border-color:var(--orange)}
.btn.primary:hover{background:#ff7d2e}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.route{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.route:first-child{padding-top:0}
.route-tag{font-family:var(--ui);font-size:.8rem;border:1px solid var(--line);height:40px;display:grid;place-items:center;color:var(--soft)}
.route h3{margin-bottom:8px}
.route p{color:var(--muted)}
.map{background:#000;border:1px solid var(--line)}
.map img{width:100%}
.map a{display:block}
.map figcaption{padding:14px 18px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.875rem}
.map figcaption a{color:var(--ink);white-space:nowrap}
.arrival-map{margin-top:32px}
.arrival-map img{max-height:510px;object-fit:cover}
.mini-note{font-size:.875rem;color:var(--muted);margin-top:16px}
.callout{border-left:4px solid var(--orange);background:var(--panel);padding:24px 28px;margin:28px 0}
.callout h3{margin-bottom:10px}
.callout p{color:var(--muted)}
.callout strong{color:var(--ink)}
.registration{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:36px}
.registration .highlight{font-size:1.5rem;color:var(--soft);font-weight:700;margin:12px 0}
.subhead{font-size:1.7rem;margin:42px 0 20px;letter-spacing:-.025em}
.tickets{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ticket{background:var(--panel);padding:24px 20px}
.ticket h4{margin:0 0 12px;font-size:1.25rem}
.ticket .inherited{font-size:.875rem;color:var(--soft);min-height:44px}
.ticket ul{color:var(--muted);font-size:.9375rem;margin-bottom:0}
.ticket.vip{border-top:3px solid var(--orange);padding-top:21px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:28px}
.info-grid details{border-bottom:1px solid var(--line);align-self:start}
details summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font-size:1.1rem;font-weight:700;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';font-family:var(--ui);font-size:1.4rem;position:absolute;right:8px;top:18px;color:var(--orange)}
details[open]>summary:after{content:'−'}
.detail-body{padding:0 24px 24px 0;color:var(--muted)}
.detail-body strong{color:var(--ink)}
.detail-body ul{margin-top:10px}
.help-bar{background:var(--orange);color:#000;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:25px 28px;margin-top:32px}
.help-bar p{font-size:.9375rem;margin-top:8px;max-width:700px}
.help-bar a:hover{color:#000}
.help-bar .btn{border-color:#000;white-space:nowrap}
.program-days{margin-top:28px}
.agenda-day{border:1px solid var(--line);margin-top:14px;background:var(--panel)}
.agenda-day>summary{padding:26px 62px 26px 26px;display:flex;justify-content:space-between;gap:16px}
.agenda-day>summary:after{right:24px;top:24px}
.agenda-day .day-title{font-size:1.3rem}
.agenda-day .day-meta{font-family:var(--ui);font-size:.875rem;color:var(--muted);align-self:center}
.sessions{padding:0 26px 20px}
.session{display:grid;grid-template-columns:115px 88px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.session-time{font-family:var(--ui);color:var(--soft);font-size:.9375rem;white-space:nowrap}
.stage{font-family:var(--ui);font-size:.8125rem;font-weight:700;align-self:start;border:1px solid var(--line);padding:3px 6px;text-align:center}
.stage.main{border-color:#87522c;color:#ffad6a}
.stage.og{color:#d0c6ff;border-color:#635983}
.session-title{font-size:1rem;font-weight:700;line-height:1.4;text-decoration:none}
.speakers{font-size:.875rem;color:var(--muted);margin-top:5px;line-height:1.5}
.program-key{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:.875rem;margin-top:20px}
.timeline-day{display:grid;grid-template-columns:155px 1fr;gap:32px;padding-top:36px}
.date-label{border-top:2px solid var(--orange);padding-top:18px}
.date-label strong{display:block;font-size:2.5rem;letter-spacing:-.025em;line-height:1}
.date-label span{font-family:var(--ui);display:block;color:var(--muted);font-size:.875rem;margin-top:8px}
.event{display:grid;grid-template-columns:120px 1fr;gap:24px;border-top:1px solid var(--line);padding:24px 0}
.event:first-child{border-top:1px solid var(--line)}
.event-time{font-family:var(--ui);font-size:1rem;color:var(--soft);font-weight:700}
.event h3{font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere}
.location{color:var(--ink);margin-top:8px;font-size:.9375rem}
.event-desc{color:var(--muted);margin-top:10px}
.event .actions{margin-top:16px}
.badge{font-size:.75rem;border:1px solid var(--line);color:var(--soft);display:inline-block;padding:2px 8px;margin-top:10px}
.event-alert{font-size:.875rem;color:var(--soft);margin-top:12px}
.sponsor-tier{margin-top:36px}
.tier-title{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-size:.875rem;color:var(--soft);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}
.sponsors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sponsor{display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line)}
.sponsor-logo{background:#000;aspect-ratio:3/1;display:flex;align-items:center;justify-content:center}
.sponsor-logo img{width:100%;height:100%;object-fit:contain}
.sponsor-body{padding:22px;display:flex;flex-direction:column;flex:1}
.sponsor h4{font-size:1.05rem;line-height:1.3;margin:0 0 10px}
.sponsor p{color:var(--muted);font-size:.9375rem;margin-bottom:20px}
.sponsor .site-link{font-size:.875rem;margin-top:auto;align-self:start}
.sponsors.main-tier{grid-template-columns:repeat(2,1fr)}
.main-tier .sponsor-logo{max-height:160px}
.footer{border-top:1px solid var(--line);padding:32px 0 42px;color:var(--muted);font-size:.875rem}
.footer-row{display:flex;justify-content:space-between;gap:32px}
.footer img{width:140px;margin-bottom:16px}
.footer-links{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.source-note{font-size:.8125rem;color:var(--muted);margin-top:24px}
.backtop{font-family:var(--ui)}
.time-note{color:var(--soft);font-size:.875rem}
.readable{max-width:780px}
.venue-caption{padding:20px 28px;background:var(--panel)}

@media(max-width:900px){.wrap{width:calc(100% - 40px)}
.nav{gap:16px}
.nav a span{display:none}
.hero-grid{grid-template-columns:1fr 250px;gap:32px}
.date-card{padding:22px}
.date-card .days{font-size:3.75rem}
.tickets{grid-template-columns:repeat(2,1fr)}
.sponsors{grid-template-columns:repeat(2,1fr)}
.two-col{gap:24px}
.timeline-day{grid-template-columns:110px 1fr;gap:24px}
.event{grid-template-columns:1fr;gap:10px}
.help-bar{align-items:flex-start;flex-direction:column}
.session{grid-template-columns:105px 66px 1fr;gap:12px}
}

@media(max-width:620px){html{scroll-padding-top:122px}
.wrap{width:calc(100% - 32px)}
.topbar .wrap{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 0}
.brand img{width:100px}
.nav{width:100%;overflow-x:auto;gap:22px;padding-bottom:4px}
.nav a{font-size:.8125rem;white-space:nowrap}
.hero{padding:32px 0}
.hero-grid{grid-template-columns:1fr;gap:28px}
.hero h1{font-size:3.6rem}
.welcome{font-size:1.1rem}
.date-card{transform:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:22px}
.date-card .eyebrow{grid-column:1/-1;margin-bottom:0;color:#000}
.date-card .days{font-size:3.5rem}
.date-card .month{font-size:1rem}
.date-card .place{border:0;padding:0;margin:0;grid-column:2;grid-row:2/4;align-self:center;font-size:.9375rem}
.quick{grid-template-columns:1fr;gap:14px;margin-top:28px;padding-top:20px}
.quick div{display:flex;justify-content:space-between;gap:12px}
.quick span,.quick strong{font-size:.875rem}
.section{padding:40px 0}
.section-head{gap:14px;margin-bottom:26px}
.section h2{font-size:2.25rem}
.section-no{font-size:.875rem;padding:7px 9px}
.section-head p{font-size:.9375rem}
.two-col,.registration,.info-grid{grid-template-columns:1fr}
.registration{gap:24px}
.venue-box{padding:24px}
.route:first-child{padding-top:0}
.arrival-map img{object-fit:contain}
.map figcaption{flex-direction:column;gap:4px;padding:12px}
.tickets{grid-template-columns:1fr 1fr}
.ticket{padding:20px 15px}
.ticket ul{font-size:.875rem}
.ticket .inherited{min-height:60px}
.subhead{font-size:1.5rem}
.agenda-day>summary{display:block;padding:20px 50px 20px 18px}
.agenda-day .day-meta{display:block;margin-top:6px}
.agenda-day .day-title{font-size:1.1rem}
.sessions{padding:0 18px 18px}
.session{grid-template-columns:1fr auto;gap:8px 12px}
.session-content{grid-column:1/-1}
.session-time{font-size:.875rem}
.timeline-day{grid-template-columns:1fr;gap:18px;padding-top:30px}
.date-label{display:flex;gap:14px;align-items:baseline}
.date-label strong{font-size:2rem}
.date-label span{margin:0}
.event{grid-template-columns:1fr;padding:22px 0}
.sponsors,.sponsors.main-tier{grid-template-columns:1fr}
.sponsor{display:grid;grid-template-columns:1fr}
.sponsor-logo{max-height:150px}
.footer-row{flex-direction:column}
.footer-links{gap:16px}
.callout{padding:20px}
.help-bar{padding:24px}
.time-note{font-size:.8125rem}
}

@media(max-width:380px){.date-card{grid-template-columns:1fr}
.date-card .place{grid-column:1;grid-row:auto;border-top:1px solid #10101080;padding-top:14px;margin-top:8px}
.tickets{grid-template-columns:1fr}
.ticket .inherited{min-height:0}
.quick div{flex-direction:column;gap:0}
.section h2{font-size:1.95rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}

@media print{*{color:#000!important;background:#fff!important;box-shadow:none!important}
.topbar,.actions,.skip,.backtop{display:none}
.wrap{width:100%}
.section{padding:24px 0}
.hero{padding:12px 0}
.hero h1{font-size:36pt}
.date-card{transform:none;border:1px solid #999}
.hero-grid{grid-template-columns:1fr 220px}
.info-grid{display:block}
details>div{display:block!important}
details>summary:after{display:none}
.sponsor-logo{background:#000!important}
.sponsor-logo img{background:#000!important}
.sponsor,.event,.session,.ticket{break-inside:avoid}
.session{grid-template-columns:110px 80px 1fr}
.sponsors,.sponsors.main-tier{grid-template-columns:repeat(3,1fr)}
.sponsor-body{padding:12px}
.sponsor p{font-size:10pt}
.map{max-width:100%}
a{text-decoration:none}
body{font-size:11pt}
.footer{padding:20px 0}
}

/* Program: one dedicated column per stage, for each conference day. */
.program-day{margin-top:42px}
.program-day+.program-day{margin-top:64px}
.program-day-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}
.program-day-heading .eyebrow{color:var(--soft);margin-bottom:9px}
.program-day-heading h3{font-size:2rem;letter-spacing:-.015em}
.program-day-heading .day-meta{font-family:var(--ui);color:var(--muted);font-size:.875rem;text-align:right;margin:0}
.program-scroll{overflow-x:auto;padding-bottom:16px;scrollbar-color:var(--orange) var(--panel-2);scrollbar-width:thin}
.program-scroll:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.stage-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:900px;align-items:start}
.stage-column{min-width:0;--stage-color:#ff9b52;--stage-bg:#291b12}
.stage-expo{--stage-color:#d7e2eb;--stage-bg:#1c242a}
.stage-og{--stage-color:#d0b9ff;--stage-bg:#251e31}
.stage-heading{border-top:4px solid var(--stage-color);padding:20px;background:var(--stage-bg);margin-bottom:12px}
.stage-heading h4{font-size:1.5rem;margin:0 0 6px;letter-spacing:-.02em;color:var(--stage-color)}
.stage-heading p{color:var(--muted);font-size:.875rem}
.stage-sessions{display:grid;gap:12px}
.stage-column .session{display:block;padding:20px;background:var(--panel);border:1px solid var(--line);min-width:0}
.session-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.stage-column .session-time{color:var(--stage-color);font-size:.9375rem}
.session-kind{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.stage-column .session-title{display:block;font-size:1rem;line-height:1.45;text-wrap:pretty}
.stage-column .speakers{font-size:.875rem;line-height:1.55;margin-top:12px}
.stage-column .speakers:empty{display:none}
.stage-scroll-hint{display:none;font-size:.875rem;color:var(--soft);margin:0 0 12px}

/* Official calendar artwork accompanies every side-event listing. */
.event{grid-template-columns:210px minmax(0,1fr);gap:26px;padding:28px 0}
.event-image{display:block;align-self:start;border:1px solid var(--line);background:#000;overflow:hidden}
.event-image img{width:100%;height:auto;max-height:250px;object-fit:contain}
.event-content{min-width:0}
.event-content .event-time{font-size:1.05rem;margin-bottom:12px}
.event-content h3{font-size:1.3rem}
.event-image:hover{border-color:var(--orange)}

@media(max-width:1000px){.event{grid-template-columns:170px minmax(0,1fr);gap:22px}
.stage-scroll-hint{display:block}
}

@media(max-width:620px){.program-day-heading{align-items:start}
.program-day-heading h3{font-size:1.5rem;line-height:1.3}
.program-day-heading .day-meta{font-size:.8125rem;white-space:nowrap}
.stage-columns{min-width:840px;gap:14px}
.stage-heading{padding:18px}
.stage-column .session{padding:18px}
.program-day+.program-day{margin-top:42px}
.event{grid-template-columns:105px minmax(0,1fr);gap:10px 16px}
.event-image{grid-column:1;grid-row:1/3}
.event-content{display:contents}
.event-content .event-time{grid-column:2;font-size:.9375rem;margin:0;align-self:end}
.event-content h3{grid-column:2;font-size:1.1rem;margin:0;align-self:start}
.event-content>.location,.event-content>.event-desc,.event-content>.badge,.event-content>.event-alert,.event-content>.actions{grid-column:1/-1}
.event-content>.badge{justify-self:start}
.event-content>.location{margin-top:8px}
.event-content>.event-desc{margin-top:0}
.event-content>.actions{margin-top:6px}
.event-content>.event-alert{margin-top:0}
}

@media print{.program-scroll{overflow:visible}
.stage-columns{min-width:0;gap:10px}
.stage-scroll-hint{display:none}
.stage-heading{padding:12px}
.stage-column .session{padding:10px;border:1px solid #aaa;break-inside:avoid}
.stage-column .session-title{font-size:10pt}
.stage-column .speakers{font-size:9pt}
.stage-column .session-time{font-size:9pt}
.program-day-heading h3{font-size:18pt}
.event{grid-template-columns:140px 1fr}
.event-content{display:block}
}


@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/roboto-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/roboto-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/roboto-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/roboto-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--display:'Montserrat','Helvetica Neue',Helvetica,Arial,sans-serif;--ui:'Roboto','Helvetica Neue',Helvetica,Arial,sans-serif;}
html{font-family:var(--ui)}
body{font-family:var(--ui);letter-spacing:-.1px;color:var(--ink)}
h1,h2,h3,h4,.days,.date-label strong,.ticket h4,.sponsor h4,.stage-heading h4,.agenda-day .day-title{font-family:var(--display);font-weight:800;letter-spacing:-.01em}
strong,b{font-weight:700}
p,li,.detail-body,.welcome,.address,.speakers,.event-desc,.sponsor p{color:var(--muted)}
.welcome,.address{color:var(--ink)}
a{color:inherit}
a:hover{color:var(--orange)}
.eyebrow,.tier-title,.session-kind,.day-meta,.program-day-heading .day-meta,.backtop{font-family:var(--ui);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{font-size:.75rem}
.backtop{letter-spacing:.06em}
.session-time,.event-time,.date-label span,.route-tag,.section-no,.stage{font-family:var(--ui)}
.section-no{border-radius:9999px;border-color:#fa661059;background:#fa66101f;color:var(--orange);font-weight:700;font-size:.8125rem;letter-spacing:.08em;padding:9px 14px}
.route-tag{border-radius:9999px;font-weight:700;font-size:.75rem;letter-spacing:.08em;color:var(--orange);border-color:#fa661059;background:#fa66101f}
.badge,.stage{border-radius:9999px;font-family:var(--ui);font-weight:700;letter-spacing:.06em}
.badge{padding:4px 12px;font-size:.75rem;border-color:var(--line-2);color:var(--muted)}
.btn{border-radius:9999px;font-family:var(--ui);font-weight:700;font-size:.875rem;padding:11px 26px;letter-spacing:-.1px;transition:background .15s ease,color .15s ease,border-color .15s ease}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#000}
.btn.primary:hover{background:#ff7d2e;border-color:#ff7d2e;color:#000}
.btn:not(.primary){border-color:var(--line-2);color:var(--ink)}
.btn:not(.primary):hover{background:var(--orange);border-color:var(--orange);color:#000}
.skip{border-radius:9999px;font-family:var(--ui);font-weight:700}
.hero h1{font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff}
.hero h1 span{color:var(--orange)}
.section h2{text-transform:none;font-weight:800;letter-spacing:-.015em;color:#fff}
.subhead,.venue-box h3,.program-day-heading h3{letter-spacing:-.015em}
.date-label strong{letter-spacing:-.02em}
.topbar{background:#000000f0;border-bottom:1px solid var(--line)}
.nav a{font-family:var(--ui);font-weight:700;font-size:.875rem;color:var(--muted)}
.nav a:hover{color:var(--orange)}
.nav a span{color:var(--orange);font-weight:700}
.date-card{border-radius:6px;color:#000}
.date-card .days{font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.date-card .month{font-family:var(--ui);font-weight:700;letter-spacing:.02em}
.date-card .place{font-family:var(--ui);border-top-color:#00000038}
.date-card .eyebrow{color:#000}
.venue-box,.callout,.ticket,.agenda-day,.sponsor,.stage-column .session,.venue-caption{background:var(--panel)}
.sponsor{border-color:var(--line)}
.stage-column .session{border-color:var(--line)}
.help-bar{color:#000;border-radius:6px}
.help-bar .btn{border-color:#000;color:#000}
.help-bar .btn:hover{background:#000;border-color:#000;color:var(--orange)}
.help-bar h3{color:#000}
.help-bar p{color:#000000c4}
.highlight{color:var(--orange)}
.time-note,.event-alert,.ticket .inherited{color:var(--orange)}
.tier-title{color:var(--orange);font-size:.8125rem;border-bottom-color:var(--line)}
summary:after{font-family:var(--ui);font-weight:700}
details summary{font-family:var(--ui);font-weight:700}
.session-title,.nav a,.btn,.site-link,.footer a{text-underline-offset:4px}
.map figcaption,.mini-note,.source-note,.quick span,.footer{color:var(--muted)}
.quick strong{color:var(--ink);font-weight:700}
.stage-column{--stage-color:#fa6610;--stage-bg:#1a120b}
.stage-expo{--stage-color:#9a9a9a;--stage-bg:#151515}
.stage-og{--stage-color:#f0f0f0;--stage-bg:#1c1c1c}
.stage.main{border-color:#fa661059;color:var(--orange);background:#fa66101f}
.stage.og{border-color:var(--line-2);color:#f0f0f0;background:#ffffff14}
@media print{.btn,.section-no,.route-tag,.badge,.stage{border-radius:0}
h1,h2,h3,h4{font-family:var(--display)}
}
@media(max-width:620px){.date-card .days{font-size:3rem}
.hero h1{font-size:3.1rem}
.section h2{font-size:2.1rem}
}
@media(max-width:380px){.date-card .days{font-size:2.6rem}
.hero h1{font-size:2.7rem}
.section h2{font-size:1.8rem}
}
