:root{--color-primary: #1E3A5F;--color-primary-dark: #152A45;--color-primary-light: #2D5088;--color-accent: #F5B800;--color-accent-dark: #D9A400;--color-accent-light: #FFD54F;--color-white: #FFFFFF;--color-bg: #F5F7FA;--color-bg-alt: #E8ECF0;--color-text: #1A1A1A;--color-text-light: #3D3D3D;--color-text-muted: #5A5A5A;--color-success: #28A745;--color-error: #DC3545;--shadow-soft: 0 4px 12px rgba(30, 58, 95, .08);--shadow-medium: 0 8px 24px rgba(30, 58, 95, .12);--shadow-strong: 0 12px 36px rgba(30, 58, 95, .16);--font-display: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50px;--transition-fast: .15s ease;--transition-medium: .3s ease;--touch-min: 48px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:18px}@media(max-width:768px){html{font-size:16px}}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.3;color:var(--color-primary)}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.75rem,4vw,2.25rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem)}p{margin-bottom:1em;font-size:1rem}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}:focus-visible{outline:4px solid var(--color-accent);outline-offset:4px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-white);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);z-index:9999;transition:top var(--transition-fast);font-weight:700;font-size:1.125rem;text-decoration:none}.skip-link:focus{top:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-body);font-size:1.125rem;font-weight:700;text-decoration:none;border:3px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-medium);min-height:var(--touch-min)}.btn-primary{background:var(--color-accent);color:var(--color-primary-dark);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white)}.btn-large{padding:var(--space-lg) var(--space-2xl);font-size:1.25rem}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-2xl) 0}.section-alt{background:var(--color-white)}.section-title{text-align:center;margin-bottom:var(--space-xl)}.section-title h2{margin-bottom:var(--space-sm)}.section-title p{color:var(--color-text-light);font-size:1.125rem;max-width:600px;margin:0 auto}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;transition:all var(--transition-medium);border:2px solid transparent}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:var(--color-accent)}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.text-center{text-align:center}.text-primary{color:var(--color-primary)}.text-accent{color:var(--color-accent-dark)}.text-muted{color:var(--color-text-muted)}.bg-white{background:var(--color-white)}.bg-light{background:var(--color-bg)}.bg-primary{background:var(--color-primary);color:var(--color-white)}.bg-accent{background:var(--color-accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:no-preference){@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-fade-in{animation:fadeIn .5s ease forwards}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--color-primary: #0A2540;--color-accent: #FFD000}.btn,.card{border-width:3px}}@media(max-width:768px){.section{padding:var(--space-xl) 0}.container{padding:0 var(--space-md)}.btn{width:100%;justify-content:center}}body.admin-page header.site-header,body.admin-page footer.site-footer{display:none!important}body.high-contrast,body.high-contrast *{background:#000!important;background-image:none!important;background-color:#000!important;color:#ff0!important;border-color:#ff0!important;text-shadow:none!important;box-shadow:none!important}body.high-contrast a,body.high-contrast a *{color:#0ff!important;text-decoration:underline!important}body.high-contrast a:hover,body.high-contrast a:focus{color:#fff!important;background:#333!important;outline:3px solid #FFFF00!important}body.high-contrast h1,body.high-contrast h2,body.high-contrast h3,body.high-contrast h4,body.high-contrast strong,body.high-contrast b{color:#ff0!important}body.high-contrast .btn,body.high-contrast button,body.high-contrast [class*=btn]{background:#ff0!important;color:#000!important;border:3px solid #FFFFFF!important;font-weight:700!important}body.high-contrast .btn:hover,body.high-contrast .btn:focus,body.high-contrast button:hover,body.high-contrast button:focus{background:#fff!important;color:#000!important;outline:3px solid #FFFF00!important}body.high-contrast .btn *,body.high-contrast button *{color:#000!important}body.high-contrast .card,body.high-contrast .ticket-card,body.high-contrast .day-card,body.high-contrast .info-card,body.high-contrast .contact-card,body.high-contrast [class*=card]{border:3px solid #FFFF00!important;background:#111!important}body.high-contrast input,body.high-contrast select,body.high-contrast textarea{background:#000!important;color:#ff0!important;border:3px solid #FFFF00!important}body.high-contrast input:focus,body.high-contrast select:focus,body.high-contrast textarea:focus{outline:3px solid #00FFFF!important}body.high-contrast ::placeholder{color:#aa0!important}body.high-contrast .badge,body.high-contrast [class*=badge]{background:#ff0!important;color:#000!important}body.high-contrast svg{fill:#ff0!important}body.high-contrast img{filter:grayscale(100%) contrast(150%)!important}body.high-contrast .a11y-widget .a11y-trigger{background:#ff0!important;color:#000!important;border:3px solid #FFFFFF!important}body.high-contrast .a11y-panel{background:#111!important;border:3px solid #FFFF00!important}body.high-contrast .a11y-panel-header{background:#ff0!important;color:#000!important}body.high-contrast .a11y-option{background:#000!important;border:2px solid #FFFF00!important}body.high-contrast .a11y-option.active{background:#333!important}body.high-contrast .a11y-option-text strong{color:#ff0!important}body.high-contrast .a11y-option-text small{color:#cc0!important}body.large-text{font-size:22px!important}body.large-text h1{font-size:3rem!important}body.large-text h2{font-size:2.5rem!important}body.large-text h3{font-size:2rem!important}body.large-text p,body.large-text li,body.large-text span,body.large-text a,body.large-text label{font-size:1.3rem!important;line-height:1.6!important}body.large-text .btn{font-size:1.3rem!important;padding:1rem 2rem!important;min-height:60px!important}body.large-text input,body.large-text select,body.large-text textarea{font-size:1.3rem!important;padding:1rem!important}body.large-text .nav-link{font-size:1.2rem!important;padding:.75rem 1rem!important}body.large-text button,body.large-text a,body.large-text input,body.large-text select{min-height:48px;min-width:48px}body.admin-page header.site-header,body.admin-page footer.site-footer,body.admin-page .a11y-bar{display:none!important}
