:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;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}}.loading-fallback{z-index:9999;background-color:#111116;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.loading-spinner{flex-direction:column;align-items:center;gap:1rem;display:flex}.spinner-circle{border:4px solid #29b8e34d;border-top-color:#29b8e3;border-radius:50%;width:50px;height:50px;animation:1s linear infinite spin}.spinner-text{color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-boundary{color:#f5f5f5;text-align:center;background-color:#1c1c24;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;padding:2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.error-boundary h2{color:#ff4c4c;margin-bottom:1rem;font-size:2rem}.error-boundary p{max-width:500px;margin-bottom:2rem;font-size:1.1rem}.error-details{text-align:left;background-color:#2b2b33;border-radius:8px;width:100%;max-width:600px;margin-bottom:2rem;padding:1rem}.error-details summary{cursor:pointer;margin-bottom:.5rem;font-weight:700}.error-details pre{white-space:pre-wrap;word-wrap:break-word;color:#ff4c4c;font-size:.9rem}.reload-button{color:#fff;cursor:pointer;background-color:#29b8e3;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s,transform .2s}.reload-button:hover{background-color:#1da7d3;transform:scale(1.05)}.loginRoot{place-items:center;min-height:100vh;padding:24px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Apple Color Emoji,Segoe UI Emoji;display:grid;position:relative;overflow:hidden}.loginRoot.theme-dark{--bg0:#050a14;--bg1:#0a1426;--card0:#0c182ec7;--card1:#0a142694;--border:#7cb6ff2e;--inner:#89c3ff29;--text:#eaf2ff;--muted:#9db0c9;--accent:#2fd0e3;--accent2:#7fe7ff;--shadow:0 24px 90px #050c1c99}.loginRoot.theme-light{--bg0:#f6f8ff;--bg1:#eaf0ff;--card0:#ffffffb8;--card1:#ffffff8a;--border:#0f162824;--inner:#0f16281a;--text:#0d1630;--muted:#425172;--accent:#0dbbd2;--accent2:#4fe0ff;--shadow:0 24px 90px #0a12282e}.bg{background:radial-gradient(1200px 900px at 20% 18%,#3ec4ff33,transparent 62%),radial-gradient(900px 700px at 80% 70%,#7fe7ff29,transparent 60%),radial-gradient(1000px 900px at 50% 120%,#080e1cb3,transparent 58%),linear-gradient(180deg,var(--bg0)0%,var(--bg1)100%);filter:saturate(1.1);position:absolute;inset:-20%}.card{border:1px solid var(--border);background:linear-gradient(180deg,var(--card0),var(--card1));width:min(460px,92vw);box-shadow:var(--shadow),0 0 0 1px #6ebeff14;color:var(--text);z-index:1;border-radius:24px;padding:22px 22px 18px;position:relative}.loginRoot .card:hover,.loginRoot .card:focus-within{filter:none;box-shadow:var(--shadow),0 0 0 1px #6ebeff14;transform:none}.loginRoot .card:before,.loginRoot .card:after{opacity:0;filter:none}.card:before{content:"";pointer-events:none;box-shadow:inset 0 1px 0 var(--inner);border-radius:24px;position:absolute;inset:0}.cardHeader{flex-direction:column;align-items:center;gap:12px;margin-bottom:14px;display:flex}.headText{text-align:center;min-width:0}.title{letter-spacing:.2px;margin:0;font-size:26px;line-height:1.15}.hint{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:320px;height:2.8em;margin:8px auto 0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.hintLabel{color:var(--text);font-weight:600}.controls{flex-direction:row;align-self:flex-end;align-items:center;gap:10px;display:flex}.control{align-items:center;gap:10px;display:flex}.controlLabel{color:var(--muted);font-size:12px}.select{border:1px solid var(--border);height:34px;color:var(--text);background:#00000014;border-radius:12px;outline:none;padding:0 10px}.loginRoot.theme-light .select{background:#ffffff8c}.toggle{border:1px solid var(--border);height:34px;color:var(--text);cursor:pointer;background:#00000014;border-radius:999px;align-items:center;gap:10px;min-width:86px;padding:4px 10px 4px 6px;display:flex}.loginRoot.theme-light .toggle{background:#ffffff8c}.toggleKnob{background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:999px;width:22px;height:22px;box-shadow:0 6px 18px #2fd0e340}.toggleText{color:var(--muted);white-space:nowrap;font-size:12px}.form{flex-direction:column;gap:12px;margin-top:10px;display:flex}.fieldLabel{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.inputRow{align-items:stretch;gap:10px;display:flex}.input{border:1px solid var(--border);height:44px;color:var(--text);background:#0000001a;border-radius:14px;outline:none;flex:1;padding:0 14px}.loginRoot.theme-light .input{background:#ffffffa6}.input:focus{border-color:#2fd0e373;box-shadow:0 0 0 4px #2fd0e31f}.reveal{border:1px solid var(--border);height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:#00000014;border-radius:14px;padding:0 12px}.loginRoot.theme-light .reveal{background:#ffffff8c}.primary{cursor:pointer;color:#051018;letter-spacing:.2px;background:linear-gradient(90deg,var(--accent),var(--accent2));border:0;border-radius:14px;height:44px;font-weight:700;box-shadow:0 14px 30px #2fd0e338}.primary:active{transform:translateY(1px)}.error{color:var(--text);background:#ff5a5a1a;border:1px solid #ff5a5a59;border-radius:14px;padding:10px 12px;font-size:13px}.error-spacer{height:42px}.hidden{display:none}.loading-sequence{text-align:center;background:linear-gradient(180deg,var(--card0),var(--card1));-webkit-backdrop-filter:blur(14px);width:min(420px,90vw);box-shadow:var(--shadow);opacity:0;border:1px solid var(--border);z-index:1;border-radius:24px;margin:0 auto;padding:1.5rem;transition:opacity .4s;display:none}.loading-sequence.show{opacity:1;display:block}.loading-sequence p{color:var(--text);min-height:24px;margin-top:1rem;font-size:1rem}.loader{border:4px solid #7fe7ff2e;border-top:4px solid var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 1.5rem;animation:1s linear infinite spin}.progress-bar{background-color:#0a102059;border-radius:4px;width:100%;height:8px;margin-bottom:1rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent2));width:0%;height:100%;transition:width .3s}@media (max-width:420px){.cardHeader{align-items:stretch}.controls{justify-content:space-between;align-self:stretch}.hint{max-width:none}}:root{--font-sans:"Rubik",sans-serif;--font-heading:"Rubik",sans-serif;--font-mono:"JetBrains Mono",monospace;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-xxl:2.25rem;--lh-tight:1.25;--lh-default:1.65;--bg:#06090f;--bg-muted:#0d141d;--surface-1:#111a28;--surface-2:#162233;--surface-3:#1f2f45;--obsidian:#050b12;--shell-surface:#0a101bee;--shell-border:#38688371;--shell-highlight:#ffffff14;--text:#e9f5f7;--text-muted:#95a7c2;--heading:#f8fcff;--border:#3e536e5c;--accent-role:#34c6d8;--accent-role-hover:#59dce8;--accent-support:#ffb38a;--accent-support-hover:#ff9d6b;--accent-contrast:#02161b;--success:#46d678;--warning:#f59f00;--error:#fa6b6b;--bg-base:#04070f;--bg-spot-1:#0e121c1f;--bg-spot-2:#4484d82e;--bg-spot-3:#50dccc1f;--bg-sheen:#03070fbf;--bg-gradient:radial-gradient(900px at 18% 22%,#0e121c14,transparent 60%),radial-gradient(650px at 82% -10%,#1c366e1f,transparent 58%),radial-gradient(900px at 50% 120%,#24567814,transparent 68%),linear-gradient(180deg,#081123 0%,var(--bg-sheen)55%,var(--bg-base)100%);--bg-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.8' numOctaves='3' seed='13' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.09  0 0 0 0 0.18  0 0 0 0 0.27  0 0 0 -1.6 0.95'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");--bg-noise-opacity:.22;--light-bg:#f4f7f8;--light-bg-gradient:radial-gradient(900px at 18% 12%,#c4daff4d,transparent 62%),radial-gradient(650px at 86% -8%,#b2dcff42,transparent 60%),radial-gradient(900px at 60% 115%,#a8eee533,transparent 70%),linear-gradient(180deg,#f8fbff 0%,#edf2f9 45%,#e4ebf5 100%);--light-surface-1:#fff;--light-surface-2:#ecf2f4;--light-surface-3:#dee7eb;--light-text:#1f252b;--light-text-muted:#63707d;--light-heading:#121b24;--light-border:#425d6f2e;--light-accent:#2fb6c7;--light-accent-hover:#2699a9;--light-accent-support:#ffb085;--light-accent-support-hover:#ff9461;--light-accent-contrast:#0a252b;--light-bg-spot-1:#f6dae538;--light-bg-spot-2:#98c6ff33;--light-bg-spot-3:#7dd6cb2e;--light-bg-sheen:#ffffffe6;--dark-bg:var(--bg);--dark-surface:var(--surface-1);--dark-text:var(--text);--dark-heading:var(--heading);--dark-border:var(--border);--dark-button:color-mix(in srgb,var(--accent-role)75%,#02090c 25%);--dark-button-hover:color-mix(in srgb,var(--accent-role-hover)80%,#031117 20%);--accent:var(--accent-role);--accent-hover:var(--accent-role-hover);--underline-light:#fff6;--arrow-filter:invert(0);--card-bg:color-mix(in srgb,var(--surface-1)92%,#34c6d814);--card-bg-muted:color-mix(in srgb,var(--surface-2)88%,#34c6d80a);--card-border:#5989a759;--icon-filter-default:invert(1)brightness(1.05);--icon-filter-hover:invert(1)brightness(1.2);--glass-dark-bg:#0a1228d1;--glass-dark-border:#4884d247;--glass-dark-highlight:#4caadc38;--glass-light-bg:#fffc;--glass-light-border:#43798b38;--glass-light-highlight:#ffffffc7;--glass-blur:18px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shell-max-width:1200px;--shell-horizontal-gap:clamp(2rem,6vw,3.5rem);--shadow-1:0 10px 24px #030a1438,inset 0 1px 0 #ffffff0d;--shadow-2:0 18px 48px #030c1a52,inset 0 1px 0 #ffffff0a;--shadow-3:0 28px 70px #02081473,inset 0 1px 0 #ffffff0a;--elevation-low:var(--shadow-1);--elevation-medium:var(--shadow-2);--elevation-high:var(--shadow-3);--motion-fast:.12s cubic-bezier(.22,1,.36,1);--motion-normal:.22s cubic-bezier(.22,1,.36,1);--motion-slow:.36s cubic-bezier(.22,1,.36,1);--ease-out-smooth:cubic-bezier(.22,1,.36,1)}html.light-theme{background:var(--light-bg-gradient);--bg:var(--light-bg);--bg-muted:#eef3f5;--surface-1:var(--light-surface-1);--surface-2:var(--light-surface-2);--surface-3:var(--light-surface-3);--text:var(--light-text);--text-muted:var(--light-text-muted);--heading:var(--light-heading);--border:var(--light-border);--accent-role:var(--light-accent);--accent-role-hover:var(--light-accent-hover);--accent-support:var(--light-accent-support);--accent-support-hover:var(--light-accent-support-hover);--accent-contrast:var(--light-accent-contrast);--bg-spot-1:var(--light-bg-spot-1);--bg-spot-2:var(--light-bg-spot-2);--bg-spot-3:var(--light-bg-spot-3);--bg-sheen:var(--light-bg-sheen);--bg-gradient:radial-gradient(950px at 18% 18%,var(--bg-spot-1),transparent 58%),radial-gradient(700px at 88% 0%,var(--bg-spot-2),transparent 60%),radial-gradient(900px at 60% 115%,var(--bg-spot-3),transparent 68%),linear-gradient(180deg,#f7fbff 0%,var(--bg-sheen)50%,var(--light-bg)100%);--card-bg:color-mix(in srgb,var(--light-surface-1)92%,#2fb6c70f);--card-bg-muted:color-mix(in srgb,var(--light-surface-2)88%,#2fb6c70a);--card-border:#425d6f29;--icon-filter-default:invert(0);--icon-filter-hover:invert(0)brightness(.85);--arrow-filter:invert(1);--shell-surface:#fbfcfeea;--shell-border:#9cc0e374;--shell-highlight:#ffffff8c;--glass-dark-bg:#111827b3;--glass-dark-border:#1e2b3f52;--glass-dark-highlight:#40afc12e;--glass-light-bg:#ffffffd6;--glass-light-border:#43798b3d;--glass-light-highlight:#ffffffd1;--shadow-1:0 8px 20px #0a202b1f,inset 0 1px 0 #fff9;--shadow-2:0 16px 36px #0c2d3a2e,inset 0 1px 0 #ffffff80;--shadow-3:0 26px 54px #07202c38,inset 0 1px 0 #ffffff73;--elevation-low:var(--shadow-1);--elevation-medium:var(--shadow-2);--elevation-high:var(--shadow-3);--bg-noise-opacity:.12}html.light-theme body{background:var(--bg);color:var(--text)}.glass-surface{border-radius:var(--radius-xl);background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);box-shadow:var(--elevation-high);-webkit-backdrop-filter:blur(var(--glass-blur));position:relative}.glass-surface:after{content:"";pointer-events:none;border-radius:inherit;opacity:.65;background:linear-gradient(135deg,transparent 0%,var(--glass-dark-highlight)100%);border:1px solid #0000;position:absolute;inset:0}html.light-theme .glass-surface{background:var(--glass-light-bg);border-color:var(--glass-light-border);box-shadow:var(--elevation-high)}html.light-theme .glass-surface:after{background:linear-gradient(135deg,var(--glass-light-highlight)0%,transparent 75%)}.glass-surface--dark{background:var(--glass-dark-bg);border-color:var(--glass-dark-border);box-shadow:var(--elevation-high)}.glass-surface--dark:after{background:linear-gradient(135deg,transparent 0%,var(--glass-dark-highlight)100%)}.glass-surface--light{background:var(--glass-light-bg);border-color:var(--glass-light-border);box-shadow:var(--elevation-high)}.glass-surface--light:after{background:linear-gradient(135deg,var(--glass-light-highlight)0%,transparent 75%)}.glass-border{border:1px solid var(--glass-dark-border)}html.light-theme .glass-border{border-color:var(--glass-light-border)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);scroll-behavior:smooth;background:var(--bg);width:100%;height:100%;color:var(--text);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;flex-direction:column;display:flex;overflow-y:scroll}body{color:var(--text);font-size:var(--fs-base);line-height:var(--lh-default);z-index:0;background:0 0;flex:1;transition:background .4s,color .4s;position:relative}body:before{content:"";z-index:-2;background:var(--bg-gradient);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background-image:var(--bg-noise),linear-gradient(120deg,#00000014,#00000005);opacity:var(--bg-noise-opacity);mix-blend-mode:soft-light;background-size:180px 180px,cover;position:fixed;inset:0}html.light-theme body:after{mix-blend-mode:multiply}@media (prefers-reduced-motion:reduce){:root{view-transition-name:none}}::view-transition-old(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:vt-fade-scale-out}::view-transition-new(root){animation-name:vt-fade-scale-in}@keyframes vt-fade-scale-out{0%{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(3px);transform:scale(.985)}}@keyframes vt-fade-scale-in{0%{opacity:0;filter:blur(6px);transform:scale(1.01)}to{opacity:1;filter:none;transform:none}}.logo{view-transition-name:site-logo}#page-main{view-transition-name:page-main}#page-main:focus{outline:none}h1,h2,h3{color:var(--heading);font-family:var(--font-heading);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.5px;margin-bottom:var(--space-3)}h1{font-size:var(--fs-xxl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p,a,li,span,label{color:var(--text)}p{margin-bottom:var(--space-3);max-width:65ch}a{color:inherit;text-decoration:none}a:hover{color:color-mix(in srgb,var(--accent-role)60%,var(--text)40%);text-decoration:underline}:where(a,button,[role=button],input,select,textarea):focus-visible{outline:2px solid color-mix(in hsl,var(--accent-role),white 10%);outline-offset:2px;box-shadow:0 0 0 3px color-mix(in hsl,var(--accent-role),transparent 70%)}.page-wrapper,.section-projektit{padding-top:clamp(64px,10vh,96px)}.page-wrapper{flex-direction:column;width:100%;min-height:100dvh;display:flex}.page-wrapper>main{flex-direction:column;flex:1 0 auto;padding-bottom:clamp(16px,4vh,32px);display:flex}.about-section{padding-top:clamp(64px,10vh,96px)}.scroll-next{text-align:center;margin-top:2rem;position:relative}.arrow-icon{width:40px;height:40px;color:color-mix(in srgb,var(--accent-role)80%,#ffffffb3);stroke-width:1.7px;transition:transform .3s;animation:2s ease-in-out infinite float}.arrow-icon:hover{transform:scale(1.1)}.scroll-navigation{align-items:center;gap:clamp(1rem,3vw,1.5rem);width:min(1100px,100% - clamp(2rem,6vw,3rem));margin:clamp(2rem,5vw,3.25rem) auto clamp(2.5rem,6vw,4rem);display:flex}.scroll-link{border:1px solid color-mix(in srgb,var(--border)70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-1)92%,#ffffff0d),color-mix(in srgb,var(--surface-2)90%,#ffffff08));min-height:40px;color:var(--heading);letter-spacing:.14em;text-transform:uppercase;transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);box-shadow:var(--elevation-low);-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1.05rem;font-size:.8rem;font-weight:600;display:inline-flex}.scroll-link:hover{border-color:color-mix(in srgb,var(--accent-role)48%,var(--border)52%);box-shadow:var(--elevation-medium);transform:translateY(-2px)}.scroll-link:focus-visible{border-color:color-mix(in srgb,var(--accent-role)60%,var(--border)40%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-role)18%,transparent);outline:none}.scroll-link--prev{margin-right:auto}.scroll-link--next.scroll-link--solo{margin-left:auto}.scroll-link-icon{width:1rem;height:1rem}.scroll-link-label{white-space:nowrap}@media (max-width:640px){.scroll-navigation{justify-content:center;gap:clamp(.75rem,4vw,1.25rem)}.scroll-link{border-radius:50%;min-height:38px;padding:.5rem}.scroll-link-label{display:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.surface{background:var(--surface-1);color:var(--text);border:1px solid var(--border);box-shadow:var(--elevation-low)}.surface-2{background:var(--surface-2);color:var(--text);border:1px solid var(--border);box-shadow:var(--elevation-low)}.card{background:linear-gradient(165deg,color-mix(in srgb,var(--surface-1)94%,#14244e47)0%,color-mix(in srgb,var(--surface-2)96%,#0a183a52)100%);color:var(--text);border:1px solid color-mix(in srgb,var(--border)70%,#3c72d240);border-radius:var(--radius-lg);box-shadow:var(--elevation-medium);transition:transform var(--motion-normal),box-shadow var(--motion-normal),background var(--motion-normal),border-color var(--motion-normal),filter var(--motion-normal);transform-style:preserve-3d;will-change:transform,box-shadow;position:relative;overflow:hidden}.card:before,.card:after{content:"";pointer-events:none;transition:opacity var(--motion-normal),transform var(--motion-normal);opacity:0;position:absolute;inset:0}.card:before{border-radius:calc(var(--radius-lg) - 2px);opacity:.18;background:linear-gradient(#ffffff2e 0%,#fff0 55%),linear-gradient(135deg,#0000 35%,#20528c2e 100%);inset:1px}.card:after{filter:blur(34px);opacity:0;background:radial-gradient(52% 34% at 50% 12%,#76b0ff42,#0000 72%),radial-gradient(48% 30% at 60% 8%,#3dbad029,#0000 74%);inset:-40%;transform:translateY(16%)}.card:hover,.card:focus-within{box-shadow:var(--elevation-high);background:linear-gradient(160deg,color-mix(in srgb,var(--surface-1)82%,#5a8aff57)0%,color-mix(in srgb,var(--surface-2)90%,#102c506b)100%);border-color:color-mix(in srgb,var(--border)45%,#4692e68c);filter:saturate(1.03);transform:translateY(-6px)scale(1.01)}.card:hover:after,.card:focus-within:after{opacity:.54;transform:translateY(6%)}.card:hover:before,.card:focus-within:before{opacity:.24}@media (prefers-reduced-motion:reduce){.card,.card:hover,.card:focus-within,.card:after{transform:none}}html.light-theme .card{background:linear-gradient(165deg,color-mix(in srgb,var(--surface-1)92%,#aac2ff52)0%,color-mix(in srgb,var(--surface-2)95%,#cbe4f473)100%);border-color:color-mix(in srgb,var(--light-border)72%,#8877ff40)}html.light-theme .card:before{opacity:.4;background:linear-gradient(#ffffff8c 0%,#fff0 60%),linear-gradient(135deg,#0000 35%,#b0d3ff40 100%)}html.light-theme .card:hover,html.light-theme .card:focus-within{background:linear-gradient(160deg,color-mix(in srgb,var(--surface-1)82%,#9ebfff61)0%,color-mix(in srgb,var(--surface-2)90%,#c6e8f68c)100%);border-color:color-mix(in srgb,var(--light-border)40%,var(--accent-role)60%)}html.light-theme .card:after{filter:blur(42px);background:radial-gradient(55% 38% at 45% 12%,#b8d4ff61,#0000 70%),radial-gradient(52% 34% at 58% 10%,#8cddec47,#0000 76%)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);border:1px solid #0000;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-role);color:var(--accent-contrast);box-shadow:var(--elevation-low)}.btn-primary:hover{background:var(--accent-role-hover);color:var(--accent-contrast);box-shadow:var(--elevation-medium)}.btn-ghost{color:var(--text);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--border)60%,var(--accent-role)40%)}.contact-btn{color:var(--accent-contrast);transition:transform var(--motion-fast),box-shadow var(--motion-fast),filter var(--motion-fast);border:1px solid color-mix(in srgb,var(--accent-role)48%,#0a162c73);background:linear-gradient(155deg,#30bad6d9 0%,#3676e8e0 100%);border-radius:999px;margin-left:1rem;padding:.5rem 1.15rem;font-weight:600;line-height:1;text-decoration:none;box-shadow:0 18px 32px #122a4c66,inset 0 1px #ffffff59}.contact-btn:hover{filter:saturate(1.05);transform:translateY(-3px)scale(1.01);box-shadow:0 24px 38px #0c1e3a73,inset 0 1px #ffffff73}html.light-theme .contact-btn{color:var(--light-heading);border-color:color-mix(in srgb,var(--accent-role)35%,#ffffffb3);background:linear-gradient(150deg,#9ecefff2 0%,#7eacffeb 100%);box-shadow:0 18px 30px #6890be38,inset 0 1px #ffffffbf}html.light-theme .contact-btn:hover{filter:saturate(1.05);box-shadow:0 24px 36px #6890be42,inset 0 1px #ffffffd9}.navbar-outer{z-index:1000;width:min(var(--shell-max-width),calc(100% - var(--shell-horizontal-gap)));max-width:var(--shell-max-width);background-clip:padding-box;background:var(--shell-surface);border:1px solid var(--shell-border);-webkit-backdrop-filter:blur(26px)saturate(160%)brightness(1.02);border-radius:36px;padding:.65rem .9rem;position:fixed;top:clamp(12px,2.5vh,18px);left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 24px 45px #02060e8c,inset 0 1px #ffffff14}.navbar-outer:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,var(--shell-highlight)0%,#ffffff08 32%,transparent 70%);opacity:.35;position:absolute;inset:1px}html.light-theme .navbar-outer{background:var(--shell-surface);border:1px solid var(--shell-border);box-shadow:0 18px 36px #5a7aa43d,inset 0 1px #ffffffe6}html.light-theme .navbar-outer:after{background:linear-gradient(180deg,var(--shell-highlight)0%,#ffffff14 35%,transparent 70%);opacity:.55}html.light-theme .logo{color:var(--light-heading);text-shadow:0 12px 20px #6890be40,0 0 14px #88acff73}.navbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;display:flex}.navbar-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.navbar-mobile-controls{align-items:center;gap:.6rem;margin-left:auto;display:none}.navbar-icon{width:22px;height:22px;stroke:color-mix(in srgb,var(--accent-role)75%,#ffffffd9);stroke-width:1.9px;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--motion-fast),transform var(--motion-fast)}.navbar-icon-button .navbar-icon{stroke:color-mix(in srgb,var(--accent-role)82%,#ffffffe6)}.navbar-icon-button:hover .navbar-icon,.navbar-icon-button:focus-visible .navbar-icon{stroke:color-mix(in srgb,var(--accent-role)90%,#fffffff2)}.logo{color:var(--heading);white-space:nowrap;letter-spacing:.01em;view-transition-name:site-logo;text-shadow:0 10px 18px #040c1a66,0 0 18px #5486ff59;font-size:1.15rem;font-weight:700}.nav-links{flex-wrap:wrap;flex:1;justify-content:center;gap:.85rem;display:flex}.nav-links a{color:color-mix(in srgb,var(--heading)78%,transparent 22%);letter-spacing:.01em;transition:background-color 1.5s var(--ease-out-smooth),color 1.4s var(--ease-out-smooth),box-shadow 1.5s var(--ease-out-smooth),transform 1.5s var(--ease-out-smooth);border-radius:999px;padding:.38rem .85rem;font-size:.92rem;font-weight:500;text-decoration:none;position:relative}.nav-links a.active{background:color-mix(in srgb,var(--accent-role)32%,#081834bf);color:var(--heading);box-shadow:inset 0 0 0 1px #ffffff24,0 4px 14px #00000040}.nav-links a:after{content:"";background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-role)80%,#fff 15%),transparent);opacity:0;height:2px;transition:opacity .26s var(--ease-out-smooth),transform .32s var(--ease-out-smooth);border-radius:999px;position:absolute;bottom:6px;left:18%;right:18%;transform:translateY(4px)}.nav-links a:hover{background-color:color-mix(in srgb,var(--surface-2)72%,#3492e440);color:color-mix(in srgb,var(--heading)92%,transparent 8%);transform:translateY(-1px);box-shadow:0 8px 20px #0003}.nav-links a:hover:after{opacity:1;transform:translateY(0)}html.light-theme .nav-links a{color:color-mix(in srgb,var(--light-heading)70%,transparent 30%)}html.light-theme .nav-links a.active{background:color-mix(in srgb,var(--accent-role)32%,#ffffffd9);color:var(--light-heading);box-shadow:inset 0 0 0 1px #7eacff59,0 6px 18px #789cd459}.language-toggle{align-items:center;gap:.4rem;display:flex}.language-btn{cursor:pointer;transition:background-color var(--motion-fast);background:0 0;border:none;border-radius:6px;padding:.2rem}.language-btn:hover{background-color:color-mix(in srgb,var(--surface-2)70%,var(--accent-role)30%)}.flag-icon{width:22px;height:22px;display:block}.hamburger{cursor:pointer;color:color-mix(in srgb,var(--heading)92%,#ffffffe6);border:1px solid color-mix(in srgb,var(--glass-dark-border)78%,#5494f085);transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);background:linear-gradient(155deg,#1e3a7eb3 0%,#122a5c9e 100%),linear-gradient(32deg,#3098de47,#28b4ce29);border-radius:18px;justify-content:center;align-items:center;gap:.35rem;padding:.34rem .5rem;display:none;box-shadow:0 14px 28px #06102866,inset 0 1px #ffffff24}.hamburger .navbar-icon{stroke-width:1.5px;width:22px;height:22px}.hamburger:hover{color:#fff;background:linear-gradient(155deg,#3a8af0d9 0%,#1c46b0c7 100%),linear-gradient(32deg,#46bcf042,#40d2e62e);border-color:#60b0ffc7;transform:translateY(-1px);box-shadow:0 18px 32px #08122c73,inset 0 1px #ffffff2e}html.light-theme .hamburger{color:color-mix(in srgb,var(--light-heading)85%,#304a7666);border-color:color-mix(in srgb,var(--glass-light-border)78%,#7eb8ff8c);background:linear-gradient(155deg,#dceaffeb 0%,#cadcf8e0 100%),linear-gradient(28deg,#9cd2ff42,#8cd6ee2e);box-shadow:0 12px 24px #668cbc38,inset 0 1px #ffffffe0}html.light-theme .hamburger:hover{border-color:color-mix(in srgb,var(--accent-role)45%,#ffffffbf);color:color-mix(in srgb,var(--light-heading)92%,#28447659);background:linear-gradient(155deg,#e2eefff5 0%,#d0e2fce6 100%),linear-gradient(28deg,#a6d8ff4d,#92dcf033)}.settings-toggle,.navbar-icon-button{cursor:pointer;border-radius:var(--radius-sm);font:inherit;border:1px solid color-mix(in srgb,var(--glass-dark-border)52%,#4284dc59);color:color-mix(in srgb,var(--heading)85%,transparent 15%);transition:color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast),border-color var(--motion-fast);background:linear-gradient(160deg,#101e389e 0%,#0a162c75 100%);justify-content:center;align-items:center;padding:.32rem .42rem;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 8px 18px #060c1c59}.settings-toggle:hover,.settings-toggle-mobile:hover,.navbar-icon-button:hover{color:color-mix(in srgb,var(--heading)95%,transparent 5%);border-color:color-mix(in srgb,var(--accent-role)42%,#2860cc59);background:linear-gradient(155deg,#22488cb8 0%,#0e20448c 100%);box-shadow:0 12px 24px #060c1c5c,inset 0 1px #ffffff1f}.navbar-icon-button{color:var(--accent-contrast);border-color:color-mix(in srgb,var(--accent-role)48%,#040c1c8c);background:linear-gradient(155deg,#3acee057 0%,#124e7042 100%);border-radius:999px;padding:.35rem .45rem;box-shadow:inset 0 1px #ffffff40,0 12px 26px #040e1e61}.navbar-icon-button:hover{color:var(--accent-contrast);background:linear-gradient(155deg,#59dce8a6 0%,#125c6e66 100%)}.settings-toggle-mobile{all:unset;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--glass-dark-border)52%,#4284dc59);color:color-mix(in srgb,var(--heading)85%,transparent 15%);transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);background:linear-gradient(160deg,#101e3899 0%,#0a162c7a 100%);justify-content:center;align-items:center;padding:.32rem;display:none}.settings-toggle-mobile:hover{color:var(--heading);border-color:color-mix(in srgb,var(--accent-role)40%,transparent);background:linear-gradient(155deg,#264e74b3 0%,#0f203e80 100%);box-shadow:0 12px 25px #040c1a57}html.light-theme .settings-toggle,html.light-theme .navbar-icon-button,html.light-theme .settings-toggle-mobile{border-color:color-mix(in srgb,var(--glass-light-border)75%,#84b4ff73);color:color-mix(in srgb,var(--light-heading)70%,transparent 30%);background:linear-gradient(160deg,#f4f8ffd9 0%,#e7f0f9bf 100%);box-shadow:inset 0 1px #ffffffd9,0 8px 16px #4c78a62e}html.light-theme .settings-toggle:hover,html.light-theme .navbar-icon-button:hover,html.light-theme .settings-toggle-mobile:hover{border-color:color-mix(in srgb,var(--accent-role)35%,#ffffffa6);color:var(--light-heading);background:linear-gradient(155deg,#cadaffe6 0%,#e2edf8d1 100%)}.settings-toggle .navbar-icon,.settings-toggle-mobile .navbar-icon{stroke:color-mix(in srgb,var(--accent-role)70%,#ffffffd9)}.settings-toggle:hover .navbar-icon,.settings-toggle:focus-visible .navbar-icon,.settings-toggle-mobile:hover .navbar-icon,.settings-toggle-mobile:focus-visible .navbar-icon{stroke:color-mix(in srgb,var(--accent-role)90%,#fffffff2)}.mobile-menu{width:100%;max-height:0;color:var(--heading);box-shadow:none;text-align:center;z-index:999;pointer-events:none;transition:max-height var(--motion-slow),padding var(--motion-normal),margin-top var(--motion-normal),background var(--motion-normal),border-color var(--motion-normal),border-width var(--motion-normal),border-radius var(--motion-normal),box-shadow var(--motion-normal);background:0 0;border:0;border-radius:0;flex-direction:column;margin-top:0;padding:0;display:flex;position:absolute;top:100%;left:0;overflow:hidden}.mobile-menu:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--motion-normal);background:linear-gradient(145deg,#ffffff52 0%,#ffffff14 48%,#0000 80%);position:absolute;inset:1px}.mobile-menu.show{border-width:1px;border-color:color-mix(in srgb,var(--glass-dark-border)86%,#569ef48c);max-height:80vh;color:color-mix(in srgb,var(--heading)97%,#fffffff5);-webkit-backdrop-filter:blur(30px)saturate(160%);pointer-events:auto;background:linear-gradient(198deg,#0a142af5 0%,#060e20eb 55%,#030918e0 100%),linear-gradient(30deg,#3e94e24d,#34c4d833);border-radius:28px;margin-top:clamp(.35rem,2.4vw,.65rem);padding:1.3rem clamp(1rem,3.2vw,1.65rem) 1.65rem;box-shadow:0 30px 68px #060e209e,inset 0 1px #ffffff2e}.mobile-menu.show:before{opacity:.52}html.light-theme .mobile-menu.show{color:color-mix(in srgb,var(--light-heading)95%,#20345894);border-color:color-mix(in srgb,var(--glass-light-border)86%,#88bcff99);background:linear-gradient(198deg,#fffffff7 0%,#f2f8fff0 60%,#e8f0fce8 100%),linear-gradient(32deg,#9cd2ff4d,#8cd6ee33);box-shadow:0 26px 56px #4e7cac42,inset 0 1px #fffffff0}.mobile-menu a,.mobile-menu button{color:color-mix(in srgb,var(--heading)92%,#ffffffe6);text-align:left;cursor:pointer;text-shadow:0 10px 24px #040c1c80;background:0 0;border:none;padding:.75rem 1rem;font-size:1rem;font-weight:600;text-decoration:none}html.light-theme .mobile-menu a,html.light-theme .mobile-menu button{color:color-mix(in srgb,var(--light-heading)90%,#3e68a07a);text-shadow:0 8px 18px #789cc642}.mobile-menu a:hover{color:#fff;background:linear-gradient(90deg,#4688de47,#34c4d82e)}html.light-theme .mobile-menu a:hover,html.light-theme .mobile-menu button:hover{color:color-mix(in srgb,var(--light-heading)96%,#26427861);background:linear-gradient(90deg,#9cd2ff3d,#84d6ee29)}.mobile-menu .contact-btn{justify-content:center;align-self:center;width:calc(100% - 2rem);margin-top:.75rem;margin-left:0}html.light-theme .mobile-menu.show{border-color:color-mix(in srgb,var(--glass-light-border)82%,#88bcff8c);box-shadow:0 26px 54px #4e7cac3d}html.light-theme .mobile-menu.show:before{opacity:.56}@media (max-width:1200px){.nav-links,.navbar-actions{display:none}.navbar{flex-wrap:nowrap}.navbar-mobile-controls{display:flex}.hamburger{align-items:center;gap:.75rem;margin-left:0;display:flex}.navbar{justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.navbar-outer{padding:.6rem .8rem}.logo{font-size:1.05rem}.hamburger .navbar-icon{width:24px;height:24px}.settings-toggle-mobile{display:inline-flex}}@media (max-width:960px){.navbar-outer{width:min(var(--shell-max-width),calc(100% - clamp(1.5rem,6vw,2.5rem)));border-radius:32px}}@media (max-width:640px){.navbar-outer{border-radius:28px;width:calc(100% - clamp(1rem,6vw,1.75rem));max-width:none;padding:.55rem .75rem}}@media (max-width:480px){.navbar-outer{width:auto;left:clamp(.75rem,4vw,1.25rem);right:clamp(.75rem,4vw,1.25rem);transform:none}}#toggle,#toggle-mobile{opacity:0;pointer-events:none;border:none;width:0;height:0;margin:0;padding:0;display:none;position:absolute}.toggle-label{background:color-mix(in srgb,var(--surface-2)85%,var(--bg)15%);cursor:pointer;width:70px;height:36px;transition:background-color var(--motion-normal);border-radius:50px;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px #00000040}.toggle-icon{z-index:2;background-color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .6s;display:flex;position:absolute;top:3px;left:3px}.toggle-icon .kuva{object-fit:contain;width:18px;height:18px;transition:opacity .6s;position:absolute}.toggle-icon .sun{opacity:1;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle-icon .moon{opacity:0;top:50%;left:50%;transform:translate(-50%,-50%)}#toggle:checked+.toggle-label .toggle-icon,#toggle-mobile:checked+.toggle-label .toggle-icon{transform:translate(34px)}#toggle:checked+.toggle-label .sun,#toggle-mobile:checked+.toggle-label .sun{opacity:0}#toggle:checked+.toggle-label .moon,#toggle-mobile:checked+.toggle-label .moon{opacity:1}.settings-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.settings-toggle img{filter:invert()}html.light-theme .settings-toggle img{filter:invert(0)}.settings-popup{color:var(--text);border-radius:var(--radius-md);z-index:9999;flex-direction:column;gap:.75rem;width:240px;padding:1rem;font-size:.95rem;display:flex;position:absolute;top:80px;right:0}.settings-popup.hidden{display:none}.settings-popup h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.settings-popup label{margin-top:.5rem;font-weight:500}.settings-popup select,.settings-popup button{border:1px solid var(--card-border);width:100%;color:inherit;cursor:pointer;background-color:#0000;border-radius:6px;padding:.4rem .6rem;font-size:.95rem}#settings-popup select{appearance:none;border:1px solid var(--light-border);color:inherit;cursor:pointer;background-color:#0000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' width='16' height='16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M70 100 L40 60 H100 Z' fill='%23999999'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:.7rem;border-radius:6px;width:100%;padding:.5rem 1rem;font-size:.95rem}html.light-theme #settings-popup select{border-color:var(--card-border);color:var(--light-text);background-color:#ffffffd9}#settings-popup select:focus,#settings-popup select:hover{border-color:var(--accent-role);background-color:#34c6d814;outline:none}.settings-popup button{background:var(--accent-role);color:var(--accent-contrast);border-radius:var(--radius-md);box-shadow:var(--elevation-low);transition:background var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);border:none}.settings-popup button:hover{background:var(--accent-role-hover);box-shadow:var(--elevation-medium);transform:translateY(-1px)}.settings-popup .settings-toggle-switch{--active-index:0;--toggle-background:linear-gradient(135deg,color-mix(in srgb,var(--surface-1)88%,#ffffff0f),color-mix(in srgb,var(--surface-2)82%,#00000014));border:1px solid color-mix(in srgb,var(--light-border)78%,transparent);background:var(--toggle-background);color:var(--heading);text-transform:uppercase;letter-spacing:.18em;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-3)65%,transparent);cursor:pointer;transition:border-color var(--motion-fast),box-shadow var(--motion-fast);border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.25rem;padding:.35rem;font-size:.8rem;font-weight:600;display:grid;position:relative;overflow:hidden}.settings-popup .settings-toggle-switch:focus-visible{border-color:color-mix(in srgb,var(--accent-role)48%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-role)18%,transparent);outline:none}.settings-popup .settings-toggle-switch:hover{border-color:color-mix(in srgb,var(--accent-role)24%,var(--light-border)76%);background:var(--toggle-background);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-3)65%,transparent);transform:none}.settings-popup .settings-toggle-switch-option{z-index:2;color:inherit;justify-content:center;align-items:center;padding:.35rem 0;display:flex;position:relative}.settings-popup .settings-toggle-switch-indicator{background:color-mix(in srgb,var(--accent-role)32%,#ffffff2e);border:1px solid color-mix(in srgb,var(--accent-role)36%,transparent);width:calc(50% - 4px);box-shadow:var(--elevation-low);transform:translateX(calc(var(--active-index)*100%));border-radius:999px;transition:transform .22s cubic-bezier(.25,1,.5,1);position:absolute;inset:4px}html.light-theme .settings-popup .settings-toggle-switch-indicator{background:color-mix(in srgb,var(--accent-role)48%,#ffffffad)}.settings-popup .settings-toggle-switch-hint{letter-spacing:.12em;text-transform:uppercase;text-align:center;color:color-mix(in srgb,var(--text)70%,#ffffff80);margin:-.25rem 0 0;font-size:.7rem}.planet-halo{pointer-events:none;z-index:-2;justify-content:center;align-items:flex-start;padding-top:6vh;display:flex;position:fixed;inset:0}.planet-halo__core,.planet-halo__ring,.planet-halo__flare{border-radius:50%;position:absolute;transform:translateY(-60%)}.planet-halo__core{filter:blur(3px);background:radial-gradient(circle,#9e71ffd9 0%,#280c3c26 65%,#0000 80%);width:min(420px,60vw);height:min(420px,60vw)}.planet-halo__ring{filter:blur(50px);opacity:.95;border:2px solid #dbc0ff8c;width:min(620px,86vw);height:min(620px,86vw)}.planet-halo__flare{filter:blur(95px);opacity:.4;mix-blend-mode:screen;background:radial-gradient(circle,#8a57ff59 0%,#160a1e00 70%);width:min(820px,110vw);height:min(820px,110vw)}.planet-halo--light .planet-halo__core{background:radial-gradient(circle,#ece2fff2 0%,#b0c4ff59 55%,#0000 78%)}.planet-halo--light .planet-halo__second-core{background:radial-gradient(circle,#dce0ff73 0%,#ffffff0d 65%,#0000 85%)}.planet-halo--light .planet-halo__ring{border-color:#ffffffb3}.planet-halo--light .planet-halo__flare{background:radial-gradient(circle,#eae2ff8c 0%,#fff0 75%)}.ocean-wave{pointer-events:none;z-index:-2;background:linear-gradient(#ebf4fff2 0%,#d2e2f5d1 45%,#ccdef500 75%);position:fixed;inset:0;overflow:hidden}.ocean-wave__layer{opacity:.55;border-radius:50% 50% 0 0;width:120%;animation:18s ease-in-out infinite waveFloat;position:absolute;bottom:0;left:-10%}.ocean-wave__layer--one{background:linear-gradient(#97c0f58c,#a4ccf5bf);height:38vh;animation-duration:22s}.ocean-wave__layer--two{opacity:.5;background:linear-gradient(#aed2faa6,#badafcd9);height:32vh;animation-duration:18s;animation-direction:reverse;bottom:-6vh}.ocean-wave__layer--three{opacity:.4;background:linear-gradient(#c1e0ff99,#d2ebffe6);height:28vh;animation-duration:28s;bottom:-10vh}@keyframes waveFloat{0%{transform:translateY(0)translate(0)}50%{transform:translateY(-10px)translate(25px)}to{transform:translateY(0)translate(0)}}.site-footer{z-index:2;width:min(var(--shell-max-width),calc(100% - var(--shell-horizontal-gap)));max-width:var(--shell-max-width);background:var(--shell-surface);border:1px solid var(--shell-border);-webkit-backdrop-filter:blur(26px)saturate(160%)brightness(1.02);border-radius:22px 22px 0 0;align-self:center;margin-top:auto;padding:1.2rem 1.75rem;position:relative;box-shadow:0 -22px 45px #02060e8c,inset 0 1px #ffffff14}.site-footer:before{content:"";background:linear-gradient(180deg,var(--shell-highlight)0%,#ffffff0d 45%,transparent 80%);opacity:.38;pointer-events:none;border-radius:20px 20px 0 0;position:absolute;inset:1px 1px 0}.site-footer:after{content:"";opacity:.5;pointer-events:none;filter:blur(.2px);background:linear-gradient(90deg,#0000,#4098e061,#34c4d847,#0000);width:min(100% + clamp(120px,20vw,280px),100vw - clamp(1rem,5vw,2rem));height:1.5px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.site-footer p{z-index:1;letter-spacing:.024em;color:color-mix(in srgb,var(--text-muted)68%,#86c6eca6);margin:0;font-size:.88rem;line-height:1.5;position:relative}html.light-theme .site-footer{background:var(--shell-surface);border-color:var(--shell-border);box-shadow:0 -18px 36px #5a7aa43d,inset 0 1px #ffffffe6}html.light-theme .site-footer:before{background:linear-gradient(180deg,var(--shell-highlight)0%,#ffffff1f 38%,transparent 76%);opacity:.5}html.light-theme .site-footer:after{opacity:.55;background:linear-gradient(90deg,#0000,#9cd2ff8c,#8cd6ee66,#0000)}html.light-theme .site-footer p{color:color-mix(in srgb,var(--light-text-muted)68%,#5682c48c)}@media (max-width:768px){.site-footer{border-radius:18px 18px 0 0;width:calc(100% - clamp(1.25rem,6vw,2rem));max-width:none;padding:1rem 1.15rem}.site-footer:before{border-radius:16px 16px 0 0}.site-footer p{letter-spacing:.018em;font-size:.78rem}}@media (max-width:560px){.site-footer{border-radius:16px 16px 0 0;width:calc(100% - clamp(1rem,6vw,1.5rem));padding:.9rem 1rem}}
