:root{--background:#f4f7f8;--surface:#ffffff;--text:#182b36;--muted:#52676c;--primary:#176658;--on-primary:#ffffff;--secondary:#e1edeb;--border:#d8e2e3;--input-border:#aabcbf;--focus:#b27719;--danger:#a6382c;--danger-background:#fff0ed}
:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--background);font-size:16px;line-height:1.6;scroll-behavior:smooth}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}a{color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.site-header{max-width:1100px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;letter-spacing:.12em;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:16px}.site-header nav [aria-current=page]{font-weight:700;text-decoration-thickness:3px}main{max-width:1052px;margin:auto;padding:0 24px}section{padding:56px 0;scroll-margin-top:24px}#hero{border-bottom:1px solid var(--border)}h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.12;letter-spacing:-.035em;margin:16px 0 24px;overflow-wrap:anywhere}h2{font-size:2rem;margin:8px 0 24px}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}.subtitle{font-size:1.35rem;max-width:760px}.event-meta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.event-meta span{background:var(--secondary);border-radius:6px;padding:6px 12px}.description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:800px}.event-days{padding:0;list-style:none;display:grid;gap:12px;margin:28px 0}.event-days li{display:flex;flex-wrap:wrap;gap:8px 20px}.event-days time{font-variant-numeric:tabular-nums}.button,button{display:inline-block;border:0;border-radius:8px;background:var(--primary);color:var(--on-primary);padding:13px 22px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}button:disabled{opacity:.6;cursor:wait}#registration{max-width:760px}#publicRegistrationForm{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px}fieldset{border:0;margin:0;padding:0;min-width:0}.rf-field{margin-bottom:24px}label,legend{display:block;font-weight:600;margin-bottom:7px}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;font:inherit;color:inherit;border:1px solid var(--input-border);border-radius:6px;padding:10px 12px;background:var(--surface)}textarea{resize:vertical}.rf-choice{display:flex;gap:10px;align-items:baseline;font-weight:400}.rf-choice input{accent-color:var(--primary)}.conf-field__help,.cookie-note{color:var(--muted);font-size:.9rem}.conf-required{color:var(--danger)}#registrationErrors{padding:16px;border-left:4px solid var(--danger);background:var(--danger-background);margin:16px 0}.cookie-note{margin-top:24px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{max-width:1052px;margin:20px auto;padding:24px;color:var(--muted);font-size:.8rem}@media(max-width:560px){.site-header{align-items:flex-start;flex-direction:column}section{padding:32px 0}#publicRegistrationForm{padding:18px}button,.button{max-width:100%}}
dialog{background:var(--surface);width:min(480px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:28px;color:inherit}dialog::backdrop{background:rgb(18 37 44 / .55)}#registrationLoginForm input{margin-bottom:18px}.login-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}#loginError{color:var(--danger)}#openLogin{margin-bottom:20px}
#speakers{border-bottom:1px solid var(--border)}.published-speakers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}.published-speaker{min-width:0;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow-wrap:anywhere}.published-speaker img{display:block;width:100%;max-width:240px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}.published-speaker h3{margin:16px 0 8px;font-size:1.2rem}.speaker-location{color:var(--muted)}.speaker-credentials{white-space:pre-wrap}
.site-header{flex-wrap:wrap;border-bottom:1px solid var(--border)}.site-header .section-navigation{flex:1 1 360px;justify-content:center;gap:8px 20px}.section-navigation a{padding:8px 0;font-weight:600;text-decoration:none}.section-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.site-header .language-navigation{gap:8px 14px;font-size:.9rem}@media(max-width:760px){.site-header{align-items:flex-start}.site-header .section-navigation{flex-basis:100%;justify-content:flex-start;order:3}}@media(max-width:560px){.site-header .section-navigation{flex:0 1 auto;width:100%}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.site-header .brand{display:inline-flex;align-items:center;max-width:100%;flex-shrink:0}.site-header .brand img{display:block;max-width:min(220px,100%);max-height:64px;width:auto;height:auto;object-fit:contain}
.brand-title{display:block;max-width:min(280px,100%);white-space:normal;overflow-wrap:anywhere;letter-spacing:normal;line-height:1.3}footer{overflow-wrap:anywhere}
#sponsors{border-bottom:1px solid var(--border)}.published-sponsor-group{margin:28px 0}.published-sponsor-group h3{overflow-wrap:anywhere}.published-sponsors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px}.published-sponsor{margin:0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-align:center;min-width:0}.published-sponsor img{width:100%;max-width:240px;height:120px;object-fit:contain}.published-sponsor figcaption{margin-top:12px;overflow-wrap:anywhere}
.rf-choice-text{min-width:0}.rf-option-description{display:block;margin-top:3px;font-size:.9rem;font-weight:400;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}

.section-subtitle{color:var(--muted);font-size:1.15rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 24px}
#program{border-bottom:1px solid var(--border);overflow-wrap:anywhere}.program-day{margin:32px 0}.program-day h3{font-size:1.4rem}.program-hall{padding:24px;margin:20px 0;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.program-hall h4{font-size:1.2rem;margin:0}.program-section{margin-top:24px}.program-section h5{font-size:1.05rem;margin:0}.program-time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.program-people{color:var(--muted)}.program-lectures{list-style:none;padding:0;margin:16px 0 0}.program-lectures li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--border)}.program-lectures p{margin:0 0 8px;white-space:pre-wrap}.program-lecture-title{font-weight:650}@media(max-width:560px){.program-hall{padding:16px}.program-lectures li{grid-template-columns:1fr;gap:4px}}
.venue-address{font-size:1.15rem;white-space:pre-wrap;overflow-wrap:anywhere}.venue-map{display:block;width:100%;height:400px;border:1px solid var(--border);border-radius:14px;margin-top:24px;background:var(--surface)}@media(max-width:560px){.venue-map{height:300px}}
/* Published registration: preserve reading order and give long controls a full row. */
#registration{max-width:100%}
#publicRegistrationForm .registration-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px}
#publicRegistrationForm .registration-fields>.rf-field{min-width:0;margin-bottom:0;overflow-wrap:anywhere}
#publicRegistrationForm .registration-fields>.rf-field--wide,
#publicRegistrationForm .registration-fields>.fb-missing,
#publicRegistrationForm .registration-fields>.fb-empty{grid-column:1/-1}
#publicRegistrationForm .rf-field input,
#publicRegistrationForm .rf-field select,
#publicRegistrationForm .rf-field textarea{min-width:0;max-width:100%}
@media(min-width:768px){#publicRegistrationForm .registration-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
#publicRegistrationForm .rf-radio-options{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-start}
#publicRegistrationForm .rf-radio-options>.rf-choice{flex:0 1 auto;min-width:0;max-width:100%;min-height:32px;margin:0;padding:4px 0;cursor:pointer}
#publicRegistrationForm .rf-radio-options input[type=radio]{flex-shrink:0}
#publicRegistrationForm .rf-radio-options--stacked{flex-direction:column}
.hero-stream-button{margin-inline-start:12px}@media(max-width:560px){.hero-stream-button{margin-inline-start:0;margin-top:12px}}
.program-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.program-tabs [role=tab]{background:var(--surface);color:var(--text);border:1px solid var(--border);text-align:left;max-width:100%;overflow-wrap:anywhere}.program-tabs [role=tab] span{display:block;font-size:.85em;font-weight:400}.program-tabs [aria-selected=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.program-day[role=tabpanel]{margin-top:20px}

.venue-location{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}

.program-speaker-list{display:grid;gap:12px;margin:12px 0}.program-speaker{display:flex;align-items:flex-start;gap:12px;min-width:0}.program-speaker-photo{display:block;width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:50%}.program-speaker>div{min-width:0;overflow-wrap:anywhere}.program-speaker-name{font-weight:600}.program-speaker-credentials{font-size:.9rem;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}

:root {
    --background: #f4f7f8;
    --surface: #ffffff;
    --text: #182b36;
    --muted: #52676c;
    --primary: #176658;
    --on-primary: #ffffff;
    --secondary: #e1edeb;
    --border: #d8e2e3;
    --input-border: #aabcbf;
    --focus: #b27719;
    --danger: #a6382c;
    --danger-background: #fff0ed;
}
