:root{--animation-duration-short: .2s;--animation-duration-medium: .4s;--animation-duration-long: .8s;--animation-duration-extra-long: 1.2s;--animation-easing-standard: cubic-bezier(.4, 0, .2, 1);--animation-easing-decelerate: cubic-bezier(0, 0, .2, 1);--animation-easing-accelerate: cubic-bezier(.4, 0, 1, 1);--animation-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--animation-easing-smooth: cubic-bezier(.25, .46, .45, .94);--animation-easing-sharp: cubic-bezier(.4, 0, .6, 1);--animation-easing-mechanical: cubic-bezier(.55, .085, .68, .53);--animation-easing-industrial: cubic-bezier(.23, 1, .32, 1);--hover-scale-subtle: 1.02;--hover-scale-standard: 1.05;--hover-scale-prominent: 1.08;--hover-translate-subtle: -2px;--hover-translate-standard: -4px;--hover-translate-prominent: -8px;--stagger-fast: 50ms;--stagger-medium: .1s;--stagger-slow: .15s;--color-clean-blue: #1565C0;--color-trust-green: #2E7D32;--color-finnish-blue: #003580;--color-professional-dark: #121212;--color-clean-white: #FFFFFF;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .12);--shadow-soft: 0 2px 6px rgba(0, 0, 0, .15);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .15);--shadow-strong: 0 8px 24px rgba(0, 0, 0, .2);--shadow-brand-blue: 0 4px 12px rgba(21, 101, 192, .25);--shadow-brand-green: 0 4px 12px rgba(46, 125, 50, .25);--shadow-brand-finnish: 0 4px 12px rgba(0, 53, 128, .25)}.animate-fade-in{animation:fadeIn var(--animation-duration-medium) var(--animation-easing-smooth) forwards}.animate-slide-up{animation:slideUp var(--animation-duration-long) var(--animation-easing-industrial) forwards}.animate-scale-in{animation:scaleIn var(--animation-duration-medium) var(--animation-easing-bounce) forwards}.animate-hover-lift{transition:transform var(--animation-duration-short) var(--animation-easing-standard),box-shadow var(--animation-duration-short) var(--animation-easing-standard)}.animate-hover-lift:hover{transform:translateY(var(--hover-translate-standard)) scale(var(--hover-scale-subtle));box-shadow:var(--shadow-medium)}.animate-button-press{transition:transform var(--animation-duration-short) var(--animation-easing-sharp)}.animate-button-press:active{transform:scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.loading-pulse{animation:pulse 1.5s var(--animation-easing-standard) infinite}.loading-shimmer{background:linear-gradient(90deg,#ffffff1a,#fff3,#ffffff1a);background-size:200px 100%;animation:shimmer 2s var(--animation-easing-standard) infinite}.loading-spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-fade-in,.animate-slide-up,.animate-scale-in{animation:none;opacity:1;transform:none}}.focus-visible{outline:2px solid var(--color-clean-blue);outline-offset:2px;border-radius:4px}@media(prefers-contrast:high){:root{--shadow-subtle: 0 2px 4px rgba(0, 0, 0, .3);--shadow-soft: 0 4px 8px rgba(0, 0, 0, .3);--shadow-medium: 0 6px 12px rgba(0, 0, 0, .3);--shadow-strong: 0 8px 16px rgba(0, 0, 0, .4)}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px 16px;text-decoration:none;z-index:9999;border-radius:4px;font-weight:500;transform:translateY(-100%);transition:transform .3s ease-in-out}.skip-link:focus{transform:translateY(0);outline:2px solid #00ACC1;outline-offset:2px}:focus-visible{outline:2px solid #00ACC1!important;outline-offset:2px!important;border-radius:4px}:focus:not(:focus-visible){outline:none}button:focus-visible,[role=button]:focus-visible{outline:3px solid #00ACC1;outline-offset:2px;box-shadow:0 0 0 1px #fff,0 0 0 4px #00acc1}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #00ACC1;outline-offset:1px;border-color:#00acc1}a:focus-visible{outline:2px solid #00ACC1;outline-offset:2px;border-radius:2px}[role=button]:focus-visible,.interactive-card:focus-visible{outline:2px solid #00ACC1;outline-offset:2px;transform:translateY(-2px);box-shadow:0 4px 12px #00acc14d}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-particles,.floating-particles,.parallax-element{transform:none!important;animation:none!important}:focus-visible,:hover{transition-duration:.1s!important}.typewriter-effect{animation:none!important}.scroll-animation{transform:none!important;opacity:1!important}}@media(prefers-contrast:high){.MuiCard-root,.MuiPaper-root{border:1px solid currentColor}.MuiButton-root{border:2px solid currentColor}:focus-visible{outline-width:3px!important;outline-color:currentColor!important}.MuiTypography-root{color:inherit}}@media(prefers-color-scheme:no-preference){.status-success:before{content:"✓ "}.status-error:before{content:"✗ "}.status-warning:before{content:"⚠ "}}@media(min-resolution:2dppx){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media(pointer:coarse){button,[role=button],input[type=checkbox],input[type=radio],a{min-height:44px;min-width:44px}.touch-friendly{padding:12px 16px;margin:8px 4px}}.keyboard-navigation-active :focus-visible{outline:3px solid #00ACC1;outline-offset:2px;box-shadow:0 0 0 1px #fff,0 0 0 5px #00acc1}.error-field{border-color:#d32f2f!important}.error-field:focus-visible{outline-color:#d32f2f!important;box-shadow:0 0 0 1px #fff,0 0 0 4px #d32f2f}.success-field{border-color:#2e7d32!important}.success-field:focus-visible{outline-color:#2e7d32!important;box-shadow:0 0 0 1px #fff,0 0 0 4px #2e7d32}.loading-indicator{position:relative}.loading-indicator:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-indicator:after{animation:none;border:2px solid currentColor;border-radius:2px}}.modal-backdrop{background-color:#00000080;backdrop-filter:blur(4px)}.modal-content{position:relative}.modal-content:focus{outline:none}.carousel-container{position:relative}.carousel-slide[aria-hidden=true]{visibility:hidden}.carousel-indicators{display:flex;justify-content:center;gap:8px;margin-top:16px}.carousel-indicator{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;background:transparent;cursor:pointer}.carousel-indicator[aria-selected=true]{background:currentColor}.carousel-indicator:focus-visible{outline:2px solid #00ACC1;outline-offset:2px}.form-field{position:relative;margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-weight:500}.form-label.required:after{content:" *";color:#d32f2f}.form-input{width:100%;padding:12px;border:2px solid #ccc;border-radius:4px;font-size:16px}.form-input:focus-visible{border-color:#00acc1;outline:none;box-shadow:0 0 0 2px #00acc133}.form-error{color:#d32f2f;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.form-error:before{content:"⚠";font-weight:700}.form-success{color:#2e7d32;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.form-success:before{content:"✓";font-weight:700}.accessible-table{border-collapse:collapse;width:100%}.accessible-table th,.accessible-table td{border:1px solid #ccc;padding:12px;text-align:left}.accessible-table th{background-color:#f5f5f5;font-weight:600}.accessible-table caption{font-weight:600;margin-bottom:8px;text-align:left}@media print{*{background:#fff!important;color:#000!important;box-shadow:none!important}button,.interactive-element{display:none!important}a:after{content:" (" attr(href) ")";font-size:12px}.page-break{page-break-before:always}}@media screen and (-ms-high-contrast:active){.MuiCard-root,.MuiPaper-root,.MuiButton-root{border:1px solid}:focus{outline:2px solid}}@media(forced-colors:active){.MuiButton-root{border:1px solid ButtonText;background:ButtonFace;color:ButtonText}.MuiButton-root:hover{background:Highlight;color:HighlightText}:focus-visible{outline:2px solid Highlight}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#121212;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translateZ(0);backface-visibility:hidden;perspective:1000px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
