@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

:root{--bg-color:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--border-color:rgba(15,56,90,.08);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--glass-bg:rgba(255,255,255,.9);--glass-border:rgba(15,56,90,.06);--shadow-color:rgba(15,56,90,.08);--primary-color:#0f385a;--primary-hover:#07223b;--accent-color:#2a8bca;--accent-rgb:42,139,202;--radius:20px;--transition-smooth:all .3s cubic-bezier(.25,.8,.25,1)}[data-theme=dark]{--bg-color:#0b111e;--bg-surface:#111b2d;--bg-surface-hover:#1a273d;--border-color:rgba(255,255,255,.08);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--glass-bg:rgba(11,17,30,.9);--glass-border:rgba(255,255,255,.08);--shadow-color:rgba(0,0,0,.3);--primary-color:#38bdf8;--accent-color:#60a5fa}
html,body{font-family:'Outfit',sans-serif;background:var(--bg-color);color:var(--text-primary);scroll-behavior:smooth;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}body{padding-top:76px}a{color:var(--accent-color)}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,.brand-text{font-family:'Outfit',sans-serif;color:var(--text-primary)}h1{font-size:2.5rem;line-height:1.2;letter-spacing:-.5px;font-weight:800}h2{font-size:2rem;line-height:1.3;letter-spacing:-.3px;font-weight:700}h3{font-size:1.5rem;line-height:1.4;font-weight:700}h4{font-size:1.25rem;line-height:1.4;font-weight:600}h5{font-size:1.1rem;line-height:1.4;font-weight:600}h6{font-size:1rem;line-height:1.4;font-weight:600}p{font-size:.95rem;color:var(--text-secondary);line-height:1.65}.site-navbar{background:var(--glass-bg)!important;backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);transition:.25s}.site-navbar.scrolled{box-shadow:0 10px 30px var(--shadow-color);padding-top:.5rem;padding-bottom:.5rem}.brand-badge{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;padding:4px 8px;border-radius:8px;font-weight:800;font-size:.85rem;letter-spacing:1px}.brand-text{color:var(--text-primary);font-size:1.25rem;letter-spacing:.5px}.text-accent{color:var(--accent-color)!important}.navbar-dark .navbar-nav .nav-link{color:var(--text-secondary);font-weight:500;font-size:.95rem;border-radius:8px;padding:8px 16px!important}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link.active{color:var(--accent-color)!important;background:var(--bg-surface-hover)}.navbar-dark .navbar-nav .nav-link.active{font-weight:600}.theme-toggle-btn{width:40px;height:40px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:10px}.page-header-section{padding:55px 0 28px}.page-header-title{font-weight:800}.page-header-title:after{content:'';display:block;width:42px;height:3px;background:linear-gradient(90deg,var(--accent-color),transparent);margin:10px auto 0}.hero-gradient-card{background:linear-gradient(135deg,#0f385a,#2a8bca);border-radius:24px;padding:56px 48px;color:#fff;box-shadow:0 20px 40px rgba(15,56,90,.18);position:relative;overflow:hidden}.hero-gradient-card h1,.hero-gradient-card h2,.hero-gradient-card p{color:#fff}.hero-gradient-card:after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;right:-110px;bottom:-130px;background:rgba(255,255,255,.08)}.section-padding{padding:64px 0}.card-modern{height:100%;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 30px var(--shadow-color);transition:.25s}.card-modern:hover{transform:translateY(-4px)}.card-modern img{width:100%;height:230px;object-fit:cover}.card-body-modern{padding:24px}.meta-row{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-muted);font-size:.88rem}.btn-primary-custom{display:inline-block;background:var(--primary-color);color:#fff!important;border:0;border-radius:30px;padding:10px 20px;text-decoration:none;font-weight:600}.btn-outline-custom{display:inline-block;border:1px solid var(--border-color);color:var(--text-primary)!important;border-radius:30px;padding:9px 18px;text-decoration:none;background:transparent}.chip-btn,.switcher-btn{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);border-radius:30px;padding:8px 16px}.chip-btn.active,.switcher-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.form-control-custom{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;padding:12px}.form-control-custom:focus{background:var(--bg-surface);color:var(--text-primary);border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}.site-footer{background:var(--bg-surface);border-top:1px solid var(--border-color)}.site-footer a{color:var(--text-secondary);text-decoration:none}.footer-bottom{border-top:1px solid var(--border-color);color:var(--text-muted)}.gallery-tile{cursor:pointer}.gallery-tile img{height:260px}.empty-state{border:1px dashed var(--border-color);border-radius:var(--radius);padding:48px;text-align:center;color:var(--text-muted)}.event-session{border-left:3px solid var(--accent-color);padding-left:16px;margin:14px 0}.content-body img{max-width:100%;height:auto}.login-card,.form-glass-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius);padding:28px;box-shadow:0 12px 30px var(--shadow-color)}

/* Consistent UI/UX, matching the legacy .NET visual system */
button,a,.btn,.form-control,.form-select{transition:var(--transition-smooth)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(var(--accent-rgb),.35)!important;outline-offset:3px!important}.btn-primary-custom:hover{background:var(--primary-hover);transform:translateY(-1px)}.card-modern:focus-within{border-color:rgba(var(--accent-rgb),.35);box-shadow:0 14px 34px var(--shadow-color)}.section-padding>.container>div:first-child h2{margin-bottom:.25rem}.form-label{font-weight:600;color:var(--text-primary)}

/* .NET-style accessibility widget */
.accessibility-toggle-btn{position:fixed;bottom:25px;left:25px;width:50px;height:50px;border-radius:50%;background:#0f385a;border:none;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 15px rgba(0,0,0,.3);z-index:10000;transition:all .3s ease}.accessibility-toggle-btn:hover{transform:scale(1.1);background:#07223b}.accessibility-toggle-btn.active{background:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.35)}.accessibility-panel{position:fixed;bottom:90px;left:25px;width:320px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 30px var(--shadow-color);z-index:9999;display:none;overflow:hidden}.accessibility-panel.active{display:block}.accessibility-panel-header{background:#0f385a!important;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;color:#fff!important}.accessibility-panel-header h5,.accessibility-panel-header i{color:#fff!important;font-family:'Outfit',sans-serif;font-weight:700}.accessibility-panel-header .btn-close{filter:invert(1) grayscale(100%) brightness(200%)!important;opacity:.8}.accessibility-panel-body{padding:20px;background:var(--bg-surface)!important}.accessibility-control-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;font-size:.95rem}.accessibility-control-item>span{font-weight:600;color:var(--text-primary)!important}.btn-outline-theme{border:1px solid var(--border-color)!important;color:var(--text-primary)!important;background:var(--bg-color)!important;font-weight:500;padding:6px 12px!important;border-radius:8px!important}.btn-outline-theme:hover{background:var(--bg-surface-hover)!important;border-color:var(--text-secondary)!important}.btn-outline-theme.active{background:var(--accent-color)!important;color:#fff!important;border-color:var(--accent-color)!important}.btn-reset-theme{background:#0f385a!important;color:#fff!important;border:none!important;font-weight:600;padding:10px 16px!important;border-radius:30px!important}.btn-reset-theme:hover{background:#07223b!important;transform:translateY(-1px)}html.accessibility-active-contrast,html.accessibility-active-contrast body{background:#000!important;color:#fff!important}html.accessibility-active-contrast .site-navbar,html.accessibility-active-contrast .yac-footer,html.accessibility-active-contrast .card-modern,html.accessibility-active-contrast .form-glass-card,html.accessibility-active-contrast .campaign-card,html.accessibility-active-contrast .event-sidebar{background:#000!important;border-color:#fff!important;box-shadow:none!important}html.accessibility-active-contrast *,html.accessibility-active-contrast a,html.accessibility-active-contrast h1,html.accessibility-active-contrast h2,html.accessibility-active-contrast h3,html.accessibility-active-contrast h4,html.accessibility-active-contrast h5,html.accessibility-active-contrast h6,html.accessibility-active-contrast span,html.accessibility-active-contrast p,html.accessibility-active-contrast i{color:#ff0!important}html.accessibility-active-contrast a:hover{color:#0ff!important;text-decoration:underline!important}html.accessibility-active-contrast button,html.accessibility-active-contrast input,html.accessibility-active-contrast select,html.accessibility-active-contrast textarea{background:#000!important;border:2px solid #ff0!important;color:#ff0!important}html.accessibility-active-grayscale{filter:grayscale(100%)!important}html.accessibility-active-highlight-links a{background:#ff0!important;color:#000!important;font-weight:bold!important;text-decoration:underline!important;padding:1px 3px!important;border-radius:3px!important}html.accessibility-active-readable-font *{font-family:Arial,Helvetica,sans-serif!important}

/* Mobile-first polish for all public pages */
@media(max-width:991.98px){body{padding-top:68px;overflow-x:hidden}.container{max-width:100%}.site-navbar{padding:.65rem 0}.site-navbar .navbar-collapse{margin-top:.7rem;padding:.7rem;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-surface);box-shadow:0 14px 32px var(--shadow-color);max-height:calc(100vh - 90px);overflow-y:auto}.site-navbar .navbar-nav{align-items:stretch!important}.site-navbar .nav-item{width:100%}.site-navbar .nav-link{display:block;width:100%;padding:.7rem .85rem!important}.site-navbar .language-toggle-btn,.site-navbar .theme-toggle-btn{margin-top:.45rem}.page-header-section{padding:34px 0 20px}.section-padding{padding:44px 0}.hero-gradient-card{padding:42px 28px}.yac-footer-main{padding-top:40px!important}.event-sidebar{position:static!important;top:auto!important}}
@media(max-width:767.98px){body{padding-top:64px}.container{padding-left:16px;padding-right:16px}.navbar-brand .brand-text{font-size:.96rem}.navbar-brand .brand-badge{font-size:.78rem}.navbar-toggler{padding:.35rem .5rem;border-color:var(--border-color)}.page-header-section{padding:28px 0 18px}.page-header-title{font-size:clamp(1.65rem,8vw,2.15rem)}.breadcrumb{font-size:.82rem;flex-wrap:wrap}.section-padding{padding:36px 0}.section-padding .d-flex.justify-content-between.align-items-end{align-items:flex-start!important;gap:10px}.section-padding .d-flex.justify-content-between.align-items-end>div{min-width:0}.section-padding .d-flex.justify-content-between.align-items-end>a{flex:0 0 auto;margin-top:5px;font-size:.9rem}.hero-gradient-card{padding:32px 20px;border-radius:18px}.hero-gradient-card h1,.hero-gradient-card h2{font-size:clamp(1.8rem,9vw,2.55rem)!important}.hero-gradient-card p{font-size:.98rem!important}.card-modern{border-radius:16px}.card-modern img{height:205px}.card-body-modern{padding:18px}.empty-state{padding:30px 18px}.btn-primary-custom,.btn-outline-custom{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.row.g-5{--bs-gutter-y:2rem}.row.g-4{--bs-gutter-y:1.25rem}.form-control,.form-select,.form-control-custom{font-size:16px!important}.accessibility-toggle-btn{left:16px;bottom:16px;width:48px;height:48px;font-size:1.35rem}.accessibility-panel{left:16px;bottom:76px;width:min(320px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow-y:auto}.accessibility-control-item{align-items:flex-start;flex-direction:column}.accessibility-control-item .btn-group,.accessibility-control-item>button{width:100%}.accessibility-control-item .btn-group .btn{flex:1}
.event-detail-hero{min-height:0!important;padding:92px 0 34px!important;align-items:flex-end!important}.event-detail-hero-bg{inset:-12px!important;filter:blur(16px)!important}.event-detail-hero-content{padding-left:16px!important;padding-right:16px!important}.event-breadcrumb{font-size:.78rem;margin-bottom:18px!important}.event-status-badge,.event-session-count,.event-category-badge{font-size:.7rem!important;padding:6px 10px!important;margin:0 5px 10px 0!important}.event-detail-title{font-size:clamp(1.9rem,10vw,2.7rem)!important;line-height:1.1!important;margin-bottom:12px!important;word-break:break-word}.event-detail-lead{font-size:.98rem!important;line-height:1.6!important}.event-detail-section{padding:30px 0 48px!important}.event-description-title{font-size:1.25rem!important;margin-bottom:14px!important}.event-html-content{font-size:.96rem!important;line-height:1.72!important;overflow-wrap:anywhere}.event-html-content iframe,.event-html-content video{max-width:100%!important;height:auto!important}.event-html-content table{display:block;max-width:100%;overflow-x:auto}.event-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px!important;margin-top:18px!important;padding-top:18px!important}.detail-action{width:100%!important;min-height:44px;padding:10px 8px!important;font-size:.82rem!important;text-align:center}.event-back-link{margin-top:26px!important}.event-sidebar{padding:18px!important;border-radius:16px!important}.event-sidebar-image{margin-bottom:18px!important}.event-info-item{padding:12px 0!important}.sessions-list{max-height:none!important}.session-picker{padding:11px 12px!important}.session-picker-top{align-items:flex-start!important}.session-date-label{font-size:.88rem!important}.session-state{flex:0 0 auto}.copy-toast{max-width:calc(100vw - 32px);text-align:center}.events-toolbar{gap:12px!important;margin-bottom:18px!important}.events-toolbar-left{gap:10px!important}.custom-nav-tabs,.custom-view-switcher{overflow:hidden}.custom-nav-link,.switcher-btn{padding:9px 10px!important;font-size:.82rem!important}.category-chips-wrapper{gap:8px!important;margin-bottom:24px!important;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px}.category-chips-wrapper .chip-btn{flex:0 0 auto}.yac-event-image-wrap{height:210px!important}.yac-event-body{padding:18px!important}.yac-event-desc{min-height:0!important}.calendar-card-container{padding:10px!important;border-radius:14px!important;overflow-x:auto}.fc .fc-toolbar-title{font-size:1rem!important}.fc .fc-toolbar{gap:8px!important}.fc .fc-button{min-height:36px!important;padding:.35rem .55rem!important;font-size:.78rem!important}.fc .fc-daygrid-day-number{font-size:.78rem}.fc .fc-col-header-cell-cushion{font-size:.72rem}.fc .fc-event-title{font-size:.68rem}.application-card,.contact-form-card{padding:20px!important;border-radius:16px!important}.application-note,.application-campaign{padding:16px!important}.campaign-body{padding:20px!important}.campaign-footer{align-items:stretch!important}.campaign-footer .btn{width:100%}.contact-card{padding:18px!important}.map-wrapper iframe{height:320px!important}.yac-footer{margin-top:40px!important}.yac-footer-main{padding:34px 0 24px!important}.yac-footer-main .row{--bs-gutter-y:2rem}.yac-footer-title{margin-bottom:12px!important}.yac-footer-bottom{padding:16px 0!important}.yac-footer-bottom-inner{font-size:.8rem!important;line-height:1.55}.yac-legal-links{gap:7px!important}}
@media(max-width:420px){.container{padding-left:13px;padding-right:13px}.brand-text{font-size:.9rem}.event-actions{grid-template-columns:1fr!important}.detail-action{font-size:.86rem!important}.event-detail-title{font-size:1.85rem!important}.custom-nav-link,.switcher-btn{font-size:.78rem!important;padding:8px 7px!important}.yac-event-date{font-size:.7rem!important;max-width:80%;text-align:right}.campaign-status{white-space:normal!important}}
