:root{--maroon:#6d1f30;--maroon-dark:#551824;--purple:#2e1a47;--bg-page:#fff;--bg-section:#ececec;--text:#222;--text-muted:#555;--border:#d9d9d9;--radius:6px;--max-width:1100px;font-size:16px}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--maroon);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--maroon);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:auto;background:var(--maroon);color:#fff;padding:10px 18px;border-radius:0 0 var(--radius) 0;z-index:100;font-weight:700}.skip-link:focus{left:0;top:0}.visually-hidden-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}header.site-header{border-bottom:1px solid var(--border);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-bar{max-width:var(--max-width);margin:0 auto;flex-wrap:wrap;gap:6px 18px;padding:12px 20px}.brand,.nav-bar{display:flex;align-items:center}.brand{gap:10px;margin-right:12px;flex-shrink:0;color:var(--text)}.brand:hover{text-decoration:none}.brand .brand-logo{height:44px;width:auto;object-fit:contain}.brand-text{font-size:1.15rem;font-weight:600;color:var(--text);white-space:nowrap}.nav-links{display:flex;align-items:center;gap:4px 20px;flex-wrap:wrap;margin-left:auto;font-size:.95rem;font-weight:600}.nav-links a,.nav-links summary{color:var(--text);padding:6px 2px;border-bottom:3px solid transparent;cursor:pointer;list-style:none}.nav-links a:hover,.nav-links summary:hover{text-decoration:none;border-bottom-color:var(--border)}.nav-links a.active{border-bottom-color:var(--maroon)}.my-schedule-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);padding:6px 2px;border-bottom:3px solid transparent}.my-schedule-link:hover{text-decoration:none;border-bottom-color:var(--border)}.my-schedule-count{background:var(--maroon);color:#fff;font-size:.72rem;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-more{position:relative}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary:after{content:" \25BE";font-size:.8em}.nav-more[open] summary{border-bottom-color:var(--border)}.nav-more-menu{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 18px rgba(0,0,0,.12);padding:6px 0;min-width:210px;z-index:60}.nav-more-menu a{display:block;padding:9px 16px;font-weight:500;border-bottom:none;color:var(--text)}.nav-more-menu a:hover{background:var(--bg-section);text-decoration:none}.hero{position:relative;background:linear-gradient(135deg,#f4f4f4,#e9e9ec 55%,#ece4e6);overflow:hidden;padding:56px 0 64px}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 82% 28%,rgba(109,31,48,.1),transparent 45%),radial-gradient(circle at 15% 80%,rgba(46,26,71,.08),transparent 40%);pointer-events:none}.hero-inner{position:relative;max-width:var(--max-width);margin:0 auto;padding:0 20px}.hero-inner-split{display:flex;align-items:center;justify-content:space-between;gap:32px}.hero-logo{flex-shrink:0;width:200px;height:auto}@media (max-width:720px){.hero-inner-split{flex-direction:column-reverse;text-align:center}.hero-logo{width:150px}}.hero-eyebrow{color:var(--maroon);font-weight:700;font-size:1.5rem;margin:0 0 6px}.hero-dates{color:var(--text-muted);font-size:1.15rem;margin:0 0 22px}.hero-title{color:var(--maroon);font-weight:800;font-size:2.6rem;line-height:1.15;margin:0;max-width:720px}@media (max-width:640px){.hero-title{font-size:1.9rem}.hero-eyebrow{font-size:1.25rem}}.info-section{background:var(--bg-section);padding:40px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}@media (max-width:720px){.info-grid{grid-template-columns:1fr}}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}.theme-card{padding:26px 24px 30px;text-align:center}.theme-card h2{color:var(--purple);font-size:1.15rem;font-weight:800;letter-spacing:.2px;margin:0 0 4px;text-transform:uppercase}.theme-card h2 .subtitle{display:block;text-transform:none;font-size:1rem;font-weight:700;margin-top:4px}.wordcloud-globe{display:block;width:100%;height:auto;max-width:300px;margin:18px auto 0}.venue-card .venue-photo{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--maroon) 0,var(--purple) 100%)}.venue-card .venue-body{padding:18px 24px 26px;text-align:center}.venue-card h3{margin:4px 0 14px;font-size:1.5rem;font-weight:500;text-decoration:underline}.venue-card p{margin:4px 0;text-decoration:underline;color:var(--text)}.quicklinks-banner{background:#fff;text-align:center;padding:18px 20px;font-size:1.05rem;border-bottom:1px dashed var(--border)}.quicklinks-section{background:var(--bg-section);padding:30px 0 50px}.quicklinks-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px}@media (max-width:900px){.quicklinks-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.quicklinks-grid{grid-template-columns:1fr}}.quicklink{display:block;text-decoration:none;color:inherit}.quicklink .ql-label{background:var(--maroon);color:#fff;font-weight:700;text-align:center;padding:22px 16px;border-radius:var(--radius);transition:background .15s ease}.quicklink:hover .ql-label{background:var(--maroon-dark);text-decoration:none}.page-hero{background:linear-gradient(135deg,#f4f4f4,#e9e9ec 60%,#ece4e6);padding:40px 0}.page-hero h1{color:var(--maroon);font-size:2rem;margin:0 0 6px}.page-hero p{color:var(--text-muted);margin:0}main.page-content{padding:36px 0 60px}.section-title{color:var(--purple);font-size:1.4rem;margin:0 0 18px;font-weight:800}.note-box{background:#fbf2e9;border:1px solid #e6cfa9;border-radius:var(--radius);padding:14px 18px;font-size:.92rem;color:#6b4a1c;margin:0 0 24px}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;align-items:center}.filter-bar .day-tabs{display:flex;gap:6px;background:var(--bg-section);border-radius:999px;padding:4px}.day-tabs button{border:none;background:transparent;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.9rem;cursor:pointer;color:var(--text)}.day-tabs button.active{background:var(--maroon);color:#fff}.filter-bar select{padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border);font-size:.9rem}.timeline-box{margin-bottom:30px}.timeline-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.timeline-row{display:flex;gap:16px;padding:10px 16px;font-size:.92rem;border-bottom:1px solid var(--border)}.timeline-row:last-child{border-bottom:none}.timeline-row:nth-child(odd){background:#fafafa}.timeline-time{min-width:190px;font-weight:700;color:var(--maroon);flex-shrink:0}.timeline-label{font-weight:600}.slot-block{margin-bottom:30px;scroll-margin-top:90px}.slot-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--maroon)}.slot-time{font-weight:800;color:var(--maroon);font-size:1.05rem}.slot-label{color:var(--purple);font-weight:700;font-size:.95rem}.session-list{display:flex;flex-direction:column;gap:14px}.session-card{border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;gap:14px;align-items:flex-start;background:#fff;scroll-margin-top:90px}.session-time{min-width:100px;font-weight:700;color:var(--maroon);font-size:.9rem}.session-main{flex:1 1;min-width:0}.session-main h3{margin:0 0 4px;font-size:1.05rem}.session-meta{font-size:.85rem;color:var(--text-muted);margin:0 0 6px}.session-meta a{font-weight:600}.session-exhibitor{margin:10px 0 0;font-size:.9rem;font-weight:600}.session-exhibitor a{display:inline-flex;align-items:center;gap:10px}.session-exhibitor-logo{height:28px;width:auto}.session-desc{font-size:.92rem;margin:0;color:var(--text)}.session-tags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.tag{background:var(--bg-section);color:var(--text-muted);font-size:.72rem;padding:3px 9px;border-radius:999px;font-weight:600}.tag-room{background:#f4efe9;color:var(--maroon)}.tag-language{background:#ece4e6;color:var(--purple)}.tag-cancelled{background:#fdecea;color:#b3261e}.session-card.cancelled{background:var(--bg-section);border-style:dashed}.session-card.cancelled .session-main h3{text-decoration:line-through;color:var(--text-muted)}.star-btn{border:none;background:none;font-size:1.4rem;cursor:pointer;color:#ccc;line-height:1;padding:2px}.star-btn.saved{color:#d9a300}.empty-state{text-align:center;color:var(--text-muted);padding:30px 10px;font-size:.95rem}.my-schedule-box{margin-top:40px;background:var(--bg-section);border-radius:var(--radius);padding:20px 22px}.my-schedule-box h2{margin-top:0}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{padding:16px 4px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.3rem;color:var(--maroon);font-weight:400}.faq-item[open] summary:after{content:"\2212"}.faq-body{margin:0 4px 16px;color:var(--text-muted)}.faq-body p,.faq-body ul{margin:0 0 12px}.faq-body ul{padding-left:22px}.faq-body li{margin-bottom:4px}.faq-body h3{color:var(--text);font-size:1rem;margin:18px 0 6px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:30px;gap:30px}@media (max-width:760px){.two-col{grid-template-columns:1fr}}.info-card{border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.info-card h3{margin:0 0 8px;color:var(--maroon);font-size:1.05rem}.info-card p{margin:0;color:var(--text)}.sponsor-tier{margin-bottom:28px}.sponsor-featured{background:var(--bg-section);border-top:4px solid var(--maroon);border-radius:var(--radius);padding:24px 24px 28px;margin-bottom:40px}.sponsor-featured .sponsor-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.sponsor-featured .sponsor-slot{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - 10px);background:#fff;aspect-ratio:16/9;font-size:1rem}.sponsor-slot.sponsor-logo{position:relative;border-style:solid}.sponsor-logo img{padding:8%}.sponsor-link:hover{border-color:var(--maroon)}.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}@media (max-width:640px){.sponsor-grid{grid-template-columns:repeat(2,1fr)}}.sponsor-slot{border:1px dashed var(--border);border-radius:var(--radius);aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:.85rem;text-align:center;padding:10px}.bios-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}@media (max-width:700px){.bios-grid{grid-template-columns:1fr}}.bio-card{border:1px solid var(--border);border-radius:var(--radius);padding:20px;scroll-margin-top:90px}.bio-card .bio-avatar{width:56px;height:56px;border-radius:999px;background:var(--bg-section);color:var(--maroon);font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.bio-card h3{margin:0 0 2px;color:var(--maroon);font-size:1.1rem}.bio-role{font-size:.85rem;color:var(--text-muted);margin:0 0 10px;font-weight:600}.bio-text{margin:0 0 12px;color:var(--text)}.bio-sessions{margin:0;padding:0;list-style:none;font-size:.88rem}.bio-sessions li{margin-bottom:4px}.panel-group{margin-bottom:36px}.panel-group h2{scroll-margin-top:90px}.btn{display:inline-block;background:var(--maroon);color:#fff;padding:10px 22px;border-radius:var(--radius);font-weight:700;border:none;cursor:pointer;font-size:.95rem}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--maroon-dark)}.btn-outline{background:transparent;color:var(--maroon);border:2px solid var(--maroon)}.btn-outline:hover{background:var(--maroon);color:#fff}footer.site-footer{background:var(--purple);color:#eee;padding:28px 0;font-size:.85rem;text-align:center}footer.site-footer a{color:#f4c9d1}