:root{--bg:#071318;--bg-secondary:#0c1e28;--text:#dceef8;--text-muted:#89b4ca;--accent:#22d3ee;--accent-secondary:#3b82f6;--accent-rgb:34,211,238;--grid-color:rgba(var(--accent-rgb),.05);--card-bg:#081620cc;--card-border:rgba(var(--accent-rgb),.12);--nav-bg:#071318d9;--nav-border:rgba(var(--accent-rgb),.1);--scrollbar-thumb:rgba(var(--accent-rgb),.3);--scrollbar-track:#07131880;--font-heading:"Aptos","Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","Cascadia Code","IBM Plex Mono","Consolas",monospace;--transition:.25s ease}.light-mode{--bg:#f0f9ff;--bg-secondary:#e0f2fe;--text:#0a1828;--text-muted:#4a7a98;--accent:#0891b2;--accent-secondary:#2563eb;--accent-rgb:8,145,178;--card-bg:#ffffffe6;--card-border:#00000014;--grid-color:rgba(var(--accent-rgb),.03);--nav-bg:#f0f9ffe6;--nav-border:#0000000f;--scrollbar-thumb:rgba(var(--accent-rgb),.35);--scrollbar-track:#e0f2fecc}.accent-yellow{--accent:#f5e12b;--accent-secondary:#ffcb05;--accent-rgb:245,225,43}.accent-yellow.light-mode{--accent:#b8a308;--accent-secondary:#9a8800;--accent-rgb:184,163,8}.accent-red{--accent:#d44;--accent-secondary:#991b1b;--accent-rgb:221,68,68}.accent-red.light-mode{--accent:#b43434;--accent-secondary:#7f1d1d;--accent-rgb:180,52,52}.accent-pale{--accent:#feffb0;--accent-secondary:#f5e12b;--accent-rgb:254,255,176}.accent-pale.light-mode{--accent:#b4a014;--accent-secondary:#8a7a00;--accent-rgb:180,160,20}.accent-green{--accent:#2bf5b2;--accent-secondary:#10b981;--accent-rgb:43,245,178}.accent-green.light-mode{--accent:#109664;--accent-secondary:#047857;--accent-rgb:16,150,100}.alt-theme{--bg:#000;--bg-secondary:#515151;--text:#f0e6e8;--text-muted:#d0b8be;--accent:#f5e12b;--accent-secondary:#ffcb05;--grid-color:#d0b8be08;--card-bg:#3339;--card-border:#3333be1a;--nav-bg:#33333380;--nav-border:#d0b8be14;--scrollbar-thumb:#c8102e59;--scrollbar-track:#00255480}.alt-theme.light-mode{--bg:#faf6f7;--bg-secondary:#f2eaec;--text:#002554;--text-muted:#585c7d;--accent:#9b1b30;--accent-secondary:#002554;--grid-color:#9b1b3006;--card-bg:#ffffffeb;--card-border:#0025540f;--nav-bg:#faf6f7f0;--nav-border:#0025540d;--scrollbar-thumb:#9b1b304d;--scrollbar-track:#f2eaeccc}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-heading);color:var(--text);background-color:var(--bg);overflow-x:hidden;transition:background-color var(--transition),color var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.7}.bg-grid body{background-image:linear-gradient(var(--grid-color)1px,transparent 1px),linear-gradient(90deg,var(--grid-color)1px,transparent 1px);background-size:40px 40px}.bg-dots body{background-image:radial-gradient(circle,rgba(var(--accent-rgb),.08)1px,transparent 1px);background-size:24px 24px}.bg-hexagons body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%2322d3ee' fill-opacity='0.08' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.light-mode.bg-hexagons body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%230891b2' fill-opacity='0.06' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.bg-circuit-board body{position:relative;z-index:0}.bg-circuit-board body:before{content:"";position:fixed;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%2322d3ee' fill-opacity='0.055' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E");inset:0}.accent-yellow.bg-circuit-board body:before,.accent-yellow.bg-circuit-board .hero:after,.accent-yellow.bg-circuit-board .hero__traces--right{filter:hue-rotate(228deg)saturate(1.5)}.accent-red.bg-circuit-board body:before,.accent-red.bg-circuit-board .hero:after,.accent-red.bg-circuit-board .hero__traces--right{filter:hue-rotate(173deg)}.accent-pale.bg-circuit-board body:before,.accent-pale.bg-circuit-board .hero:after,.accent-pale.bg-circuit-board .hero__traces--right{filter:hue-rotate(233deg)saturate(.6)brightness(1.4)}.accent-green.bg-circuit-board body:before,.accent-green.bg-circuit-board .hero:after,.accent-green.bg-circuit-board .hero__traces--right{filter:hue-rotate(326deg)}.alt-theme.bg-circuit-board body:before,.alt-theme.bg-circuit-board .hero:after,.alt-theme.bg-circuit-board .hero__traces--right{filter:hue-rotate(228deg)saturate(1.5)}.light-mode.bg-circuit-board body:before{opacity:.6}.bg-none body{background-image:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:fixed;z-index:999;background:var(--accent);color:var(--bg);font-family:var(--font-mono);text-decoration:none;border-radius:0 0 6px 6px;padding:.5rem 1rem;transition:top .15s;font-size:.85rem;top:-100%;left:1rem}.skip-link:focus{color:var(--bg);top:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}#molecule-canvas{position:fixed;z-index:0;pointer-events:none;width:100vw;height:100vh;top:0;left:0}.content-layer{position:relative;z-index:1}.nav{position:fixed;z-index:100;display:flex;background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--nav-border);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);justify-content:space-between;align-items: center;height:60px;padding:0 2.5rem;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--card-border);box-shadow:0 1px 24px #0003}.nav__logo{display:flex;white-space:nowrap;align-items:baseline;gap:0}.nav__logo-main{font-family:var(--font-heading);color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:.95rem;font-weight:700}.nav__logo-suffix{font-family:var(--font-mono);color:var(--accent);margin-left:2px;font-size:.85rem;font-weight:400}.nav__center{display:flex;list-style:none;align-items: center;gap:2rem}.nav__center a{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;position:relative;transition:color var(--transition);padding-bottom:2px;font-size:.85rem;font-weight:400}.nav__center a:hover,.nav__center a.active{color:var(--text)}.nav__center a.active:after{content:"";position:absolute;background:var(--accent);border-radius:1px;height:2px;bottom:0;left:0;right:0}.theme-switch{display:flex;cursor:pointer;background:0 0;border:none;align-items: center;padding:0}.theme-switch__track{background:rgba(var(--accent-rgb),.08);border:1px solid var(--card-border);position:relative;display:flex;transition:background var(--transition),border-color var(--transition);border-radius:14px;justify-content:space-between;align-items: center;width:56px;height:28px;padding:0 7px}.theme-switch:hover .theme-switch__track{border-color:var(--accent);background:rgba(var(--accent-rgb),.12)}.theme-switch__icon{position:relative;z-index:2;display:flex;transition:color var(--transition),opacity var(--transition);justify-content:center;align-items: center;width:14px;height:14px}.theme-switch__icon svg{width:14px;height:14px}.theme-switch .theme-switch__icon--moon{color:var(--bg)}.theme-switch .theme-switch__icon--sun,.theme-switch.light .theme-switch__icon--moon{color:var(--text-muted);opacity:.5}.theme-switch.light .theme-switch__icon--sun{color:var(--bg);opacity:1}.theme-switch__thumb{background:var(--accent);position:absolute;z-index:1;border-radius:50%;width:22px;height:22px;transition:transform .4s cubic-bezier(.4,0,.2,1);top:2px;left:2px;box-shadow:0 1px 4px #0003}.theme-switch.light .theme-switch__thumb{transform:translate(28px)}.hero{display:flex;text-align:center;position:relative;flex-direction:column;justify-content:center;align-items: center;min-height:100vh;padding:6rem 2rem 4rem}.hero__label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);animation:fadeInUp .7s ease-out;margin-bottom:1.5rem;font-size:.75rem;font-weight:400}.hero__title{font-family:var(--font-heading);color:var(--text);animation:fadeInUp .7s ease-out .1s both;margin-bottom:.1em;font-size:clamp(2.8rem,7vw,5rem);font-weight:700;line-height:1.1}.hero__title-accent{color:var(--accent)}.hero__subtitle{font-family:var(--font-mono);color:var(--text-muted);animation:fadeInUp .7s ease-out .2s both;max-width:520px;margin-top:1.25rem;font-size:clamp(.85rem,1.5vw,1rem);font-weight:300;line-height:1.6}.hero__buttons{display:flex;animation:fadeInUp .7s ease-out .35s both;gap:1rem;margin-top:2.5rem}.hero__btn{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--accent);color:var(--accent);cursor:pointer;transition:background var(--transition),color var(--transition);text-decoration:none;background:0 0;border-radius:4px;padding:.65rem 1.5rem;font-size:.8rem;font-weight:400}.hero__btn:hover{background:var(--accent);color:var(--bg)}.hero__btn--github{background:var(--accent);color:var(--bg);border-color:var(--accent)}.hero__btn--github:hover{color:var(--accent);background:0 0}.hero-bg-cover{display:none}.bg-circuit-board .hero-bg-cover{display:block;position:absolute;z-index:0;background:var(--bg);-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 95%);mask-image:linear-gradient(#000 0% 55%,#0000 95%);pointer-events:none;height:150vh;top:0;left:0;right:0}.bg-circuit-board .hero:after,.bg-circuit-board .hero__traces--right{position:absolute;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' width='350' height='350'%3E%3Cg stroke='%2322d3ee' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='0.3'%3E%3Cpath d='M0,20 L30,20 L40,10 L80,10 L90,20 L140,20 L150,30 L180,30 L190,20 L200,20 M50,10 L60,20 L70,20 M160,30 L170,20 L180,20 M10,20 L20,10 L30,10 M0,40 L20,40 L30,50 L60,50 L70,40 L110,40 L120,30 L140,30 L150,40 L200,40 M40,50 L50,60 L70,60 M130,30 L140,20 L150,20 M80,40 L90,30 L100,30 M0,60 L10,60 L20,70 L50,70 L60,60 L90,60 L100,70 L130,70 L140,60 L170,60 L180,50 L190,50 L200,60 M30,70 L40,80 L60,80 M110,70 L120,60 L130,60 M80,60 L90,50 L100,50 M0,80 L20,80 L30,90 L80,90 L90,80 L120,80 L130,90 L160,90 L170,80 L200,80 M40,90 L50,100 L70,100 M140,90 L150,100 L160,100 M100,80 L110,90 L120,90 M0,100 L40,100 L50,110 L90,110 L100,100 L140,100 L150,110 L180,110 L190,100 L200,100 M60,110 L70,120 L80,120 M160,110 L170,100 L180,100 M120,100 L130,110 L140,110 M0,120 L30,120 L40,130 L90,130 L100,120 L140,120 L150,130 L180,130 L190,120 L200,120 M50,130 L60,140 L70,140 M160,130 L170,120 L180,120 M20,120 L30,110 L40,110 M0,140 L20,140 L30,150 L70,150 L80,140 L120,140 L130,150 L160,150 L170,140 L200,140 M40,150 L50,160 L60,160 M140,150 L150,140 L160,140 M100,140 L110,130 L120,130 M0,160 L10,160 L20,170 L60,170 L70,160 L100,160 L110,170 L140,170 L150,160 L180,160 L190,150 L200,160 M30,170 L40,180 L50,180 M120,170 L130,160 L140,160 M90,160 L100,150 L110,150 M0,180 L30,180 L40,190 L80,190 L90,180 L130,180 L140,190 L170,190 L180,180 L200,180 M50,190 L60,180 L70,180 M150,190 L160,180 L170,180 M110,180 L120,190 L130,190' /%3E%3Cg fill='%2322d3ee' stroke='none' opacity='1'%3E%3Ccircle cx='70' cy='20' r='3' /%3E%3Ccircle cx='180' cy='20' r='3' /%3E%3Ccircle cx='30' cy='10' r='3' /%3E%3Ccircle cx='70' cy='60' r='3' /%3E%3Ccircle cx='150' cy='20' r='3' /%3E%3Ccircle cx='100' cy='30' r='3' /%3E%3Ccircle cx='60' cy='80' r='3' /%3E%3Ccircle cx='130' cy='60' r='3' /%3E%3Ccircle cx='100' cy='50' r='3' /%3E%3Ccircle cx='70' cy='100' r='3' /%3E%3Ccircle cx='160' cy='100' r='3' /%3E%3Ccircle cx='120' cy='90' r='3' /%3E%3Ccircle cx='80' cy='120' r='3' /%3E%3Ccircle cx='180' cy='100' r='3' /%3E%3Ccircle cx='140' cy='110' r='3' /%3E%3Ccircle cx='70' cy='140' r='3' /%3E%3Ccircle cx='180' cy='120' r='3' /%3E%3Ccircle cx='40' cy='110' r='3' /%3E%3Ccircle cx='60' cy='160' r='3' /%3E%3Ccircle cx='160' cy='140' r='3' /%3E%3Ccircle cx='120' cy='130' r='3' /%3E%3Ccircle cx='50' cy='180' r='3' /%3E%3Ccircle cx='140' cy='160' r='3' /%3E%3Ccircle cx='110' cy='150' r='3' /%3E%3Ccircle cx='70' cy='180' r='3' /%3E%3Ccircle cx='170' cy='180' r='3' /%3E%3Ccircle cx='130' cy='190' r='3' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");inset:0}.bg-circuit-board .hero:after{content:"";-webkit-mask-image:linear-gradient(90deg,#000 0%,#0000 20vw 100%),linear-gradient(#0000 2%,#000 15% 80%,#0000 98%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 0%,#0000 20vw 100%),linear-gradient(#0000 2%,#000 15% 80%,#0000 98%);mask-composite:intersect}.bg-circuit-board .hero__traces--right{-webkit-mask-image:linear-gradient(90deg,#000 0%,#0000 20vw 100%),linear-gradient(#0000 2%,#000 15% 80%,#0000 98%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 0%,#0000 20vw 100%),linear-gradient(#0000 2%,#000 15% 80%,#0000 98%);mask-composite:intersect;transform:scaleX(-1)}.light-mode.bg-circuit-board .hero:after,.light-mode.bg-circuit-board .hero__traces--right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' width='350' height='350'%3E%3Cg stroke='%230891b2' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='0.25'%3E%3Cpath d='M0,20 L30,20 L40,10 L80,10 L90,20 L140,20 L150,30 L180,30 L190,20 L200,20 M50,10 L60,20 L70,20 M160,30 L170,20 L180,20 M10,20 L20,10 L30,10 M0,40 L20,40 L30,50 L60,50 L70,40 L110,40 L120,30 L140,30 L150,40 L200,40 M40,50 L50,60 L70,60 M130,30 L140,20 L150,20 M80,40 L90,30 L100,30 M0,60 L10,60 L20,70 L50,70 L60,60 L90,60 L100,70 L130,70 L140,60 L170,60 L180,50 L190,50 L200,60 M30,70 L40,80 L60,80 M110,70 L120,60 L130,60 M80,60 L90,50 L100,50 M0,80 L20,80 L30,90 L80,90 L90,80 L120,80 L130,90 L160,90 L170,80 L200,80 M40,90 L50,100 L70,100 M140,90 L150,100 L160,100 M100,80 L110,90 L120,90 M0,100 L40,100 L50,110 L90,110 L100,100 L140,100 L150,110 L180,110 L190,100 L200,100 M60,110 L70,120 L80,120 M160,110 L170,100 L180,100 M120,100 L130,110 L140,110 M0,120 L30,120 L40,130 L90,130 L100,120 L140,120 L150,130 L180,130 L190,120 L200,120 M50,130 L60,140 L70,140 M160,130 L170,120 L180,120 M20,120 L30,110 L40,110 M0,140 L20,140 L30,150 L70,150 L80,140 L120,140 L130,150 L160,150 L170,140 L200,140 M40,150 L50,160 L60,160 M140,150 L150,140 L160,140 M100,140 L110,130 L120,130 M0,160 L10,160 L20,170 L60,170 L70,160 L100,160 L110,170 L140,170 L150,160 L180,160 L190,150 L200,160 M30,170 L40,180 L50,180 M120,170 L130,160 L140,160 M90,160 L100,150 L110,150 M0,180 L30,180 L40,190 L80,190 L90,180 L130,180 L140,190 L170,190 L180,180 L200,180 M50,190 L60,180 L70,180 M150,190 L160,180 L170,180 M110,180 L120,190 L130,190' /%3E%3Cg fill='%230891b2' stroke='none' opacity='1'%3E%3Ccircle cx='70' cy='20' r='3' /%3E%3Ccircle cx='180' cy='20' r='3' /%3E%3Ccircle cx='30' cy='10' r='3' /%3E%3Ccircle cx='70' cy='60' r='3' /%3E%3Ccircle cx='150' cy='20' r='3' /%3E%3Ccircle cx='100' cy='30' r='3' /%3E%3Ccircle cx='60' cy='80' r='3' /%3E%3Ccircle cx='130' cy='60' r='3' /%3E%3Ccircle cx='100' cy='50' r='3' /%3E%3Ccircle cx='70' cy='100' r='3' /%3E%3Ccircle cx='160' cy='100' r='3' /%3E%3Ccircle cx='120' cy='90' r='3' /%3E%3Ccircle cx='80' cy='120' r='3' /%3E%3Ccircle cx='180' cy='100' r='3' /%3E%3Ccircle cx='140' cy='110' r='3' /%3E%3Ccircle cx='70' cy='140' r='3' /%3E%3Ccircle cx='180' cy='120' r='3' /%3E%3Ccircle cx='40' cy='110' r='3' /%3E%3Ccircle cx='60' cy='160' r='3' /%3E%3Ccircle cx='160' cy='140' r='3' /%3E%3Ccircle cx='120' cy='130' r='3' /%3E%3Ccircle cx='50' cy='180' r='3' /%3E%3Ccircle cx='140' cy='160' r='3' /%3E%3Ccircle cx='110' cy='150' r='3' /%3E%3Ccircle cx='70' cy='180' r='3' /%3E%3Ccircle cx='170' cy='180' r='3' /%3E%3Ccircle cx='130' cy='190' r='3' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.hero__traces--right{display:none}.bg-circuit-board .hero__traces--right{display:block}.section{max-width:1120px;margin:0 auto;padding:3.5rem 2rem}.section__label{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.75rem;font-weight:400}.section__heading{font-family:var(--font-heading);color:var(--text);margin-bottom:1.5rem;font-size:2.2rem;font-weight:300}.card{background:var(--card-bg);border:1px solid var(--card-border);backdrop-filter:blur(12px);transition:all var(--transition);border-radius:8px;padding:1.5rem}.card:hover{border-color:rgba(var(--accent-rgb),.3);box-shadow:0 4px 24px #00000026}.reveal{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.reveal-delay-6{transition-delay:.48s}.reveal-delay-7{transition-delay:.56s}.reveal-delay-8{transition-delay:.64s}.reveal-delay-9{transition-delay:.72s}.reveal-delay-10{transition-delay:.8s}.reveal-delay-11{transition-delay:.88s}.reveal-delay-12{transition-delay:.96s}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.project-card{background:var(--card-bg);border:1px solid var(--card-border);border-top:2px solid var(--accent);backdrop-filter:blur(12px);transition:all var(--transition);display:flex;text-decoration:none;color:inherit;cursor:pointer;border-radius:8px;flex-direction:column;padding:1.5rem}.project-card:hover{border-color:rgba(var(--accent-rgb),.3);border-top-color:var(--accent);color:inherit;transform:translateY(-3px);box-shadow:0 4px 24px #00000026}.project-card__header{display:flex;align-items: center;gap:.6rem;margin-bottom:.75rem}.project-card__header svg{color:var(--accent);flex-shrink:0;width:20px;height:20px}.project-card__header svg:last-child{color:var(--text-muted);opacity:0;transition:opacity var(--transition);width:14px;height:14px;margin-left:auto}.project-card:hover .project-card__header svg:last-child{opacity:1}.project-card__name{font-family:var(--font-heading);color:var(--text);font-size:1.1rem;font-weight:600}.project-card__desc{color:var(--text-muted);flex:1;margin-bottom:1rem;font-size:.88rem;font-weight:300;line-height:1.65}.project-card__meta{display:flex;align-items: center;gap:1rem;margin-bottom:.75rem}.project-card__lang{display:flex;font-family:var(--font-mono);color:var(--text-muted);align-items: center;gap:.35rem;font-size:.75rem}.project-card__lang-dot{background:#3572a5;border-radius:50%;width:8px;height:8px}.project-card__license{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--card-border);border-radius:3px;padding:.1rem .4rem;font-size:.72rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:.4rem}.project-card__tag{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--card-border);color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:3px;padding:.15rem .5rem;font-size:.65rem;font-weight:400}.publications-list{display:flex;flex-direction:column;gap:1rem}.pub-year-group{background:var(--card-bg);border:1px solid var(--card-border);backdrop-filter:blur(12px);transition:border-color var(--transition),box-shadow var(--transition);border-radius:8px}.pub-year-group:hover,.pub-year-group[open]{border-color:rgba(var(--accent-rgb),.24);box-shadow:0 4px 24px #0000001f}.pub-year-group__summary{list-style:none;display:flex;cursor:pointer;justify-content:space-between;align-items: center;gap:1rem;padding:1rem 1.25rem}.pub-year-group__summary::-webkit-details-marker{display:none}.pub-year-group__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.85rem}.pub-year-group__year{font-family:var(--font-heading);color:var(--text);font-size:1.3rem;font-weight:500}.pub-year-group__count{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}.pub-year-group__indicator{color:var(--accent);transition:transform var(--transition),opacity var(--transition);opacity:.75;font-size:1.05rem}.pub-year-group[open] .pub-year-group__indicator{opacity:1;transform:rotate(90deg)}.pub-year-group__items{display:flex;flex-direction:column;padding:0 1.25rem .35rem}.pub-card{display:flex;transition:all var(--transition);text-decoration:none;color:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;align-items: flex-start;gap:.85rem;padding:calc(1rem - 1px) 0}.pub-card+.pub-card{border-top:1px solid rgba(var(--accent-rgb),.1)}.pub-card:hover{border-color:rgba(var(--accent-rgb),.38);transform:translateY(-3px);box-shadow:0 4px 24px #00000026}.pub-card__year{font-family:var(--font-mono);color:var(--accent);flex-shrink:0;min-width:56px;padding-top:2px;font-size:1.4rem;font-weight:500}.pub-card__body{flex:1;min-width:0}.pub-card__title{font-family:var(--font-heading);color:var(--text);margin-bottom:.35rem;font-size:1rem;font-weight:500;line-height:1.4}.pub-card__authors{color:var(--text-muted);margin-bottom:.3rem;font-size:.84rem}.pub-card__journal{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:.65rem;font-size:.78rem}.pub-card__journal em{color:var(--text);font-style:italic}.pub-card__footer{display:flex;flex-wrap:wrap;align-items: center;gap:.75rem}.pub-card__doi{font-family:var(--font-mono);color:var(--accent);text-decoration:none;transition:color var(--transition);font-size:.72rem}.pub-card__doi:hover{color:var(--text)}.pub-card__tag{font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--card-border);color:var(--text-muted);white-space:nowrap;background:0 0;border-radius:3px;padding:.15rem .5rem;font-size:.65rem;font-weight:400}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.team-subsection{margin-top:3rem}.team-subsection__heading{font-family:var(--font-heading);color:var(--text);margin:.35rem 0 1.25rem;font-size:1.45rem;font-weight:600}.team-card{background:var(--card-bg);border:1px solid var(--card-border);backdrop-filter:blur(12px);text-align:center;transition:all var(--transition);position:relative;display:flex;border-radius:8px;flex-direction:column;height:100%;padding:1.5rem}.team-card:hover{border-color:rgba(var(--accent-rgb),.3);transform:translateY(-3px);box-shadow:0 4px 24px #00000026}.team-card__avatar{display:flex;font-family:var(--font-mono);color:var(--bg);overflow:hidden;border:1px solid var(--card-border);transition:border-color var(--transition);border-radius:8px;justify-content:center;align-items: center;width:76px;height:76px;margin:0 auto 1rem;font-size:1.2rem;font-weight:500}.team-card:hover .team-card__avatar{border-color:var(--accent)}.team-card__avatar img{object-fit:cover;width:100%;height:100%}.team-card__name{font-family:var(--font-heading);color:var(--text);margin-bottom:.2rem;font-size:1rem;font-weight:600}.team-card__role{font-family:var(--font-mono);color:var(--accent);letter-spacing:.04em;margin-bottom:.75rem;font-size:.72rem;font-weight:400}.team-card__desc{color:var(--text-muted);flex:1;margin-bottom:.75rem;font-size:.85rem;font-weight:300;line-height:1.6}.team-card__badge{display:inline-block;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--text-muted);color:var(--text-muted);border-radius:3px;margin-bottom:.75rem;padding:.15rem .5rem;font-size:.62rem}.team-card__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;min-height:30px;margin-top:auto}.team-card__links a{display:flex;border:1px solid var(--card-border);color:var(--text-muted);transition:color var(--transition),border-color var(--transition);border-radius:6px;justify-content:center;align-items: center;width:30px;height:30px}.team-card__links a:hover{color:var(--accent);border-color:var(--accent)}.team-card__links a svg{width:14px;height:14px}.funding__intro{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem;font-weight:300;line-height:1.6}.funding-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.funding-card{background:var(--card-bg);border:1px solid var(--card-border);backdrop-filter:blur(12px);transition:all var(--transition);display:flex;text-align:center;text-decoration:none;color:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items: center;padding:1.5rem}.funding-card--static{cursor:default}.funding-card:hover{border-color:rgba(var(--accent-rgb),.3);color:inherit;transform:translateY(-3px);box-shadow:0 4px 24px #00000026}.funding-card--static:hover{transform:none}.funding-card__logo{display:flex;justify-content:center;align-items: center;width:100%;max-width:180px;height:100px;margin-bottom:1rem}.funding-card__logo img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.funding-card__body{flex:1}.funding-card__name{font-family:var(--font-heading);color:var(--text);display:flex;justify-content:center;align-items: center;gap:.4rem;margin-bottom:.4rem;font-size:.95rem;font-weight:600}.funding-card__link-icon{display:inline-flex;color:var(--text-muted);opacity:0;transition:opacity var(--transition)}.funding-card:hover .funding-card__link-icon{opacity:1}.funding-card__link-icon svg{width:14px;height:14px}.funding-card__desc{color:var(--text-muted);font-size:.82rem;font-weight:300;line-height:1.6}.contact__card{max-width:560px}.contact__address{color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem;font-style:normal;line-height:1.8}.contact__link{display:inline-flex;font-family:var(--font-mono);color:var(--accent);border:1px solid var(--card-border);transition:border-color var(--transition),background var(--transition);border-radius:6px;align-items: center;gap:.5rem;padding:.6rem 1.25rem;font-size:.85rem}.contact__link:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.06);color:var(--accent)}.contact__link svg{width:16px;height:16px}.contact__uni-link{display:inline-flex;font-family:var(--font-mono);color:var(--text-muted);transition:color var(--transition);align-items: center;gap:.4rem;margin-left:.75rem;font-size:.82rem}.contact__uni-link:hover{color:var(--accent)}.contact__uni-link svg{width:14px;height:14px}.footer{text-align:center;border-top:1px solid var(--card-border);padding:2.5rem 2rem}.footer__text{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.03em;font-size:.75rem}.footer__text span{display:block;opacity:.7;margin-top:.2rem;font-size:.7rem}.footer__legal{display:flex;flex-wrap:wrap;justify-content:center;align-items: center;gap:.6rem;margin-top:.75rem}.footer__legal a{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.03em;transition:color var(--transition);text-decoration:none;font-size:.7rem}.footer__legal a:hover{color:var(--accent)}.footer__legal-sep{color:var(--text-muted);opacity:.4;font-size:.7rem}.cookie-banner{position:fixed;z-index:200;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);display:flex;animation:bannerSlideUp .4s cubic-bezier(.16,1,.3,1);border-radius:10px;flex-direction:column;gap:1rem;max-width:360px;padding:1.25rem 1.4rem;bottom:1.25rem;right:1.25rem;box-shadow:0 8px 32px #00000040}.cookie-banner p{font-family:var(--font-mono);color:var(--text-muted);font-size:.78rem;line-height:1.6}.cookie-banner a{color:var(--accent)}.cookie-banner__actions{display:flex;gap:.5rem}.cookie-banner__actions button{font-family:var(--font-mono);cursor:pointer;transition:all var(--transition);border:1px solid var(--card-border);color:var(--text);background:0 0;border-radius:6px;flex:1;padding:.5rem 1rem;font-size:.75rem;font-weight:500}.cookie-banner__actions button:hover{border-color:var(--text-muted);background:#ffffff0d}.cookie-banner__actions .cookie-banner__accept{border-color:var(--accent);background:var(--accent);color:var(--bg)}.cookie-banner__actions .cookie-banner__accept:hover{background:#06b6d4;border-color:#06b6d4}@keyframes bannerSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.alt-theme .card:hover,.alt-theme .project-card:hover{border-color:#c8102e40}.alt-theme .pub-card:hover{border-color:#c8102e59}.alt-theme .pub-year-group[open],.alt-theme .team-card:hover,.alt-theme .funding-card:hover{border-color:#c8102e40}.alt-theme .contact__link:hover{background:#c8102e0f}.alt-theme .theme-switch__track{background:#d0b8be14}.alt-theme .theme-switch:hover .theme-switch__track{border-color:var(--accent);background:#c8102e1a}.alt-theme .cookie-banner__actions .cookie-banner__accept:hover{background:#a01528;border-color:#a01528}.dev-switch{display:flex;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--card-border);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:4px;align-items: center;gap:.4rem;margin-right:.5rem;padding:.25rem .5rem;font-size:.65rem;font-weight:500}.dev-switch:hover{border-color:var(--accent);color:var(--accent)}.dev-switch.active{border-color:var(--accent);color:var(--accent);background:#ffffff0d}.dev-switch__badge{letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--bg);border-radius:2px;padding:.1rem .3rem;font-size:.55rem;font-weight:700;line-height:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav-mobile-toggle{display:none;cursor:pointer;position:relative;z-index:110;background:0 0;border:none;width:22px;height:16px}.nav-mobile-toggle span{display:block;background:var(--text);position:absolute;width:100%;height:1.5px;transition:all .3s;left:0}.nav-mobile-toggle span:first-child{top:0}.nav-mobile-toggle span:nth-child(2){top:7px}.nav-mobile-toggle span:nth-child(3){top:14px}.nav-mobile-toggle.open span:first-child{top:7px;transform:rotate(45deg)}.nav-mobile-toggle.open span:nth-child(2){opacity:0}.nav-mobile-toggle.open span:nth-child(3){top:7px;transform:rotate(-45deg)}@media (max-width:1024px){.project-grid,.team-grid,.funding-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.nav{padding:0 1.25rem}.nav-mobile-toggle{display:block}.nav__center{position:fixed;height:100vh;background:var(--bg);opacity:0;pointer-events:none;z-index:105;flex-direction:column;justify-content:center;align-items: center;gap:2rem;height:100dvh;transition:opacity .3s;top:0;left:0;right:0}.nav__center.mobile-open{opacity:1;pointer-events:all}.nav__center a{font-size:1rem}.section{padding:2.5rem 1.25rem}.hero{padding:5rem 1.25rem 3rem}.hero__title{font-size:2.2rem}.hero__buttons{flex-direction:column;align-items: center}.project-grid,.team-grid,.funding-grid{grid-template-columns:1fr}.pub-card{flex-direction:column;gap:.5rem}.pub-year-group__summary{padding:.9rem 1rem}.pub-year-group__heading{flex-direction:column;align-items: flex-start;gap:.45rem}.pub-year-group__items{padding:0 1rem .65rem}.pub-card__year{font-size:1rem}.section__heading{font-size:1.6rem}.cookie-banner{max-width:none;bottom:.75rem;left:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.project-card:hover,.team-card:hover,.funding-card:hover{transform:none}}
