﻿:root{--color-primary: #0057b8;--color-primary-hover: #6a9ad1;--color-secondary: #2c3e50;--color-background: #e9e9e9;--color-background-transparent: rgba(233,233,233,.85);--color-surface: #fff;--surface-1: #fff;--surface-3: #e2e8f0;--color-header: #86a0bb;--color-footer: #edf2f7;--color-accent-bg: #e6f0fd;--color-accent-bg-hover: #d1e4fc;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-primary: #1a202c;--color-text-secondary: #4a5568;--color-text-muted: #c7c7c7;--color-text-on-primary: #fff;--color-primary-rgb: 0,87,184;--color-header-rgb: 134,160,187;--color-callout-tip: #2e7d32;--color-callout-note: #1565c0;--color-callout-warn: #ef6c00;--color-callout-success: #00897b;--color-hero-text: #fff;--color-hero-text-fixed: #fff;--gradient-start: rgba(245,247,250,.9);--gradient-middle: rgba(152,187,196,.507);--gradient-end: rgba(75,123,134,.6);--shadow-sm: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);--shadow-md: 0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);--shadow-card: 0 4px 12px rgba(0,0,0,.15);--shadow-header: 0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-dropdown: 0 10px 40px rgba(0,0,0,.1)}[data-theme=dark]{--color-primary: #4dabff;--color-primary-hover: #316ca0;--color-secondary: #90cdf4;--color-background: #0f172a;--color-background-transparent: rgba(15,23,42,.85);--color-surface: #1e293b;--surface-1: #1e293b;--surface-3: #2d3748;--color-header: #0a1122;--color-footer: #0a1122;--color-accent-bg: #1e3a60;--color-accent-bg-hover: #2a4a7a;--color-border: #2d3748;--color-border-strong: #4a5568;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #555b63;--color-text-on-primary: #0f1629;--color-primary-rgb: 77,171,255;--color-callout-tip: #4caf50;--color-callout-note: #42a5f5;--color-callout-warn: #ff9800;--color-callout-success: #26a69a;--color-hero-text: #fff;--color-hero-text-fixed: #fff;--gradient-start: rgba(26,37,48,.9);--gradient-middle: rgba(44,62,80,.7);--gradient-end: rgba(55,111,119,.6);--shadow-sm: 0 1px 3px rgba(0,0,0,.25);--shadow-md: 0 4px 6px rgba(0,0,0,.2);--shadow-lg: 0 10px 15px rgba(0,0,0,.3);--shadow-card: 0 4px 12px rgba(0,0,0,.3);--shadow-header: 0 6px 16px rgba(0,0,0,.12),0 3px 6px rgba(0,0,0,.06);--shadow-dropdown: 0 10px 40px rgba(0,0,0,.2)}[data-theme=light]{--color-primary: #0057b8;--color-primary-hover: #6a9ad1;--color-secondary: #2c3e50;--color-background: #e9e9e9;--color-background-transparent: rgba(233,233,233,.85);--color-surface: #fff;--surface-1: #fff;--surface-3: #e2e8f0;--color-header: #86a0bb;--color-footer: #edf2f7;--color-accent-bg: #e6f0fd;--color-accent-bg-hover: #d1e4fc;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-primary: #1a202c;--color-text-secondary: #4a5568;--color-text-muted: #c7c7c7;--color-text-on-primary: #fff;--color-primary-rgb: 0,87,184;--color-header-rgb: 134,160,187;--color-primary-rgb: 0,87,184;--color-header-rgb: 134,160,187;--color-border-strong: #cbd5e1;--color-text-primary: #1a202c;--color-text-secondary: #4a5568;--color-text-muted: #c7c7c7;--color-text-on-primary: #fff;--color-callout-tip: #2e7d32;--color-callout-note: #1565c0;--color-callout-warn: #ef6c00;--color-callout-success: #00897b;--color-hero-text: #fff;--color-hero-text-fixed: #fff;--gradient-start: rgba(245,247,250,.9);--gradient-middle: rgba(152,187,196,.507);--gradient-end: rgba(75,123,134,.6);--shadow-sm: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);--shadow-md: 0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);--shadow-card: 0 4px 12px rgba(0,0,0,.15);--shadow-header: 0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-dropdown: 0 10px 40px rgba(0,0,0,.1)}@font-face{font-family:"Atkinson Hyperlegible";src:url("/font/AtkinsonHyperlegibleNextVF-Variable.woff2") format("woff2-variations");font-weight:100 900;font-style:oblique 0deg 15deg;font-display:swap}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{height:100%;font-size:clamp(.875rem, 2.5vw, 1.125rem);scroll-behavior:smooth;overflow-x:hidden;overflow-y:auto;scroll-padding-top:100px;font-display:swap}@media (max-width: 1200px){html{scroll-padding-top:100px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}html *,html body{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}body{min-height:100%;font-family:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);transition:color .3s ease-in-out,background-color .3s ease-in-out;overflow-x:hidden;overflow-y:auto;font-feature-settings:"kern" 1,"liga" 1,"ss01" 1;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.background-gradient{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;background:var(--color-background)}main{position:relative;margin:0;padding:0;width:100%;overflow:visible;z-index:1}@media (min-width: 1201px){main{padding-top:100px;min-height:calc(100vh - 100px)}}@media (max-width: 1200px){main{padding-top:100px;min-height:calc(100vh - 100px)}}@media (max-width: 375px){main{padding-top:100px;min-height:calc(100vh - 100px)}}@media (min-width: 1201px){.c-hero+main,.hero-section+main{padding-top:0}}@media (max-width: 1200px){.c-hero+main,.hero-section+main{padding-top:0}}@media (max-width: 375px){.c-hero+main,.hero-section+main{padding-top:0}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary);color:var(--color-text-on-primary);padding:8px;text-decoration:none;border-radius:.25rem;z-index:1070;transition:top .15s ease-in-out;opacity:0;pointer-events:none}.skip-link:focus{top:6px;opacity:1;pointer-events:auto}.container{max-width:1920px;margin:0 auto;padding:0 1.5rem;width:100%}@media (min-width: 480px){.container{padding:0 1.5rem}}@media (min-width: 1024px){.container{padding:0 3rem}}h1,h2,h3,h4,h5,h6{font-family:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;color:var(--color-text-primary);line-height:1.2;margin-bottom:1rem;font-weight:700;font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}h1{font-size:2.5rem;font-weight:800}article h1,aside h1,nav h1,section h1{font-size:2.5rem;font-weight:800}h1:not([style*=font-size]){font-size:2.5rem !important}h2{font-size:2rem;font-weight:700}h3{font-size:1.75rem;font-weight:600}h4{font-size:1.5rem;font-weight:600}h5{font-size:1.25rem;font-weight:500}h6{font-size:1rem;font-weight:500}p{margin-bottom:1rem;line-height:1.6;color:var(--color-text-primary);font-weight:400}img{max-width:100%;height:auto;border-radius:.25rem}a{color:var(--color-primary);text-decoration:none;transition:transform .2s ease-out,opacity .2s ease-out;border-radius:2px}a:hover{color:var(--color-primary-hover);text-decoration:underline;text-decoration-color:var(--color-primary-hover);text-underline-offset:3px}a:focus{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background:var(--color-accent-bg);text-decoration:none}a:active{color:var(--color-primary-hover);transform:translateY(1px)}ul,ol{margin-bottom:1rem;padding-left:1.5rem}ul li,ol li{margin-bottom:.25rem;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:.5rem;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;min-height:44px;gap:.25rem}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background-color:var(--color-primary);color:var(--color-text-on-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn--secondary{background-color:rgba(0,0,0,0);color:var(--color-primary);border:2px solid var(--color-primary)}.btn--secondary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-text-on-primary);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn--secondary:active{transform:translateY(0);background-color:var(--color-primary-hover)}@keyframes fadeInPage{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInHeader{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;z-index:1030;width:3rem;height:3rem;background:var(--color-primary);border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-card);transition:all .3s ease-in-out;opacity:0;visibility:hidden;transform:translateY(1rem)}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-primary-hover);box-shadow:0 6px 20px rgba(0,0,0,.25);transform:translateY(-2px)}.scroll-to-top:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,.2)}.scroll-to-top::after{content:"⮝";display:block;font-size:1.5rem;font-weight:bold;color:#fff;line-height:1;text-align:center;margin-top:.1rem}.scroll-to-top.arrow-style::after{content:"";width:0;height:0;border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-bottom:10px solid #fff;margin:auto}@media (max-width: 1200px){.scroll-to-top{width:2.5rem;height:2.5rem;bottom:1.5rem;right:1.5rem}.scroll-to-top::after{font-size:1.25rem}}@media (prefers-reduced-motion: reduce){.scroll-to-top{transition:opacity .2s ease-out}.scroll-to-top:hover{transform:none}.scroll-to-top:active{transform:none}}table{border-collapse:collapse;width:100%;max-width:1200px;margin:2rem auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}thead{background:var(--color-primary);color:var(--color-text-on-primary)}th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;letter-spacing:.025em;border-bottom:2px solid var(--color-border)}td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}tbody tr{transition:background-color .15s ease-in-out}tbody tr:hover{background:var(--color-accent-bg)}tbody tr:last-child td{border-bottom:none}@media (max-width: 1200px){table{font-size:.9rem}th,td{padding:.75rem .5rem}}.legal-notice{border:2px solid var(--color-primary);border-radius:8px;padding:1.25rem 1.5rem;margin:1.5rem 0;background:var(--color-accent-bg);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);color:var(--color-text-primary)}.legal-notice h3{margin-top:0;margin-bottom:.5rem;color:var(--color-text-primary) !important;font-size:1.75rem;font-weight:600}.legal-notice p,.legal-notice br,.legal-notice strong{color:inherit}.legal-notice strong{font-weight:600}.legal-notice p{margin-bottom:.5rem}.legal-notice p:last-child{margin-bottom:0}.d-none{display:none !important}.d-block{display:block !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-grid{display:grid !important}@media (max-width: 480px){.d-sm-none{display:none !important}.d-sm-block{display:block !important}.d-sm-flex{display:flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-block{display:block !important}.d-md-flex{display:flex !important}}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.m-0{margin:0 !important}.m-auto{margin:auto !important}.mt-0{margin-top:0 !important}.mt-auto{margin-top:auto !important}.mb-0{margin-bottom:0 !important}.mb-auto{margin-bottom:auto !important}.ml-0{margin-left:0 !important}.ml-auto{margin-left:auto !important}.mr-0{margin-right:0 !important}.mr-auto{margin-right:auto !important}.m-xs{margin:.25rem !important}.mt-xs{margin-top:.25rem !important}.mb-xs{margin-bottom:.25rem !important}.ml-xs{margin-left:.25rem !important}.mr-xs{margin-right:.25rem !important}.p-xs{padding:.25rem !important}.pt-xs{padding-top:.25rem !important}.pb-xs{padding-bottom:.25rem !important}.pl-xs{padding-left:.25rem !important}.pr-xs{padding-right:.25rem !important}.m-sm{margin:.5rem !important}.mt-sm{margin-top:.5rem !important}.mb-sm{margin-bottom:.5rem !important}.ml-sm{margin-left:.5rem !important}.mr-sm{margin-right:.5rem !important}.p-sm{padding:.5rem !important}.pt-sm{padding-top:.5rem !important}.pb-sm{padding-bottom:.5rem !important}.pl-sm{padding-left:.5rem !important}.pr-sm{padding-right:.5rem !important}.m-md{margin:1rem !important}.mt-md{margin-top:1rem !important}.mb-md{margin-bottom:1rem !important}.ml-md{margin-left:1rem !important}.mr-md{margin-right:1rem !important}.p-md{padding:1rem !important}.pt-md{padding-top:1rem !important}.pb-md{padding-bottom:1rem !important}.pl-md{padding-left:1rem !important}.pr-md{padding-right:1rem !important}.m-lg{margin:1.5rem !important}.mt-lg{margin-top:1.5rem !important}.mb-lg{margin-bottom:1.5rem !important}.ml-lg{margin-left:1.5rem !important}.mr-lg{margin-right:1.5rem !important}.p-lg{padding:1.5rem !important}.pt-lg{padding-top:1.5rem !important}.pb-lg{padding-bottom:1.5rem !important}.pl-lg{padding-left:1.5rem !important}.pr-lg{padding-right:1.5rem !important}.m-xl{margin:3rem !important}.mt-xl{margin-top:3rem !important}.mb-xl{margin-bottom:3rem !important}.ml-xl{margin-left:3rem !important}.mr-xl{margin-right:3rem !important}.p-xl{padding:3rem !important}.pt-xl{padding-top:3rem !important}.pb-xl{padding-bottom:3rem !important}.pl-xl{padding-left:3rem !important}.pr-xl{padding-right:3rem !important}.m-xxl{margin:4.5rem !important}.mt-xxl{margin-top:4.5rem !important}.mb-xxl{margin-bottom:4.5rem !important}.ml-xxl{margin-left:4.5rem !important}.mr-xxl{margin-right:4.5rem !important}.p-xxl{padding:4.5rem !important}.pt-xxl{padding-top:4.5rem !important}.pb-xxl{padding-bottom:4.5rem !important}.pl-xxl{padding-left:4.5rem !important}.pr-xxl{padding-right:4.5rem !important}.text-left{text-align:left !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-justify{text-align:justify !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-normal{font-weight:400 !important}.font-weight-medium{font-weight:500 !important}.font-weight-bold{font-weight:600 !important}.text-muted{color:var(--color-text-muted) !important}.text-primary{color:var(--color-primary) !important}.text-secondary{color:var(--color-secondary) !important}.sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important}.focus-trap:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.card{border:1px solid var(--color-text-primary)}}@media (prefers-reduced-motion: reduce){.animation-optional{animation:none !important;transition:none !important}}.bg-primary{background-color:var(--color-primary) !important}.bg-secondary{background-color:var(--color-secondary) !important}.bg-light{background-color:var(--color-background) !important}.bg-accent{background-color:var(--color-accent-bg) !important}.border-0{border:0 !important}.border{border:1px solid var(--color-accent-bg) !important}.border-top{border-top:1px solid var(--color-accent-bg) !important}.border-bottom{border-bottom:1px solid var(--color-accent-bg) !important}.border-left{border-left:1px solid var(--color-accent-bg) !important}.border-right{border-right:1px solid var(--color-accent-bg) !important}.rounded{border-radius:.5rem !important}.rounded-sm{border-radius:.25rem !important}.rounded-lg{border-radius:1rem !important}.rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24) !important}.shadow{box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06) !important}.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05) !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.header-navigation-unit{transition:background-color .3s ease-in-out,border-color .3s ease-in-out,color .3s ease-in-out;background-color:var(--color-background)}details{border:1px solid var(--color-border);border-radius:8px;padding:.75rem 1rem;margin:.75rem 0;background:var(--color-surface);color:var(--color-text-primary);transition:background .3s ease,border-color .3s ease}details[open]{background:var(--color-background);border-color:var(--color-primary)}summary{cursor:pointer;font-weight:bold;list-style:none;color:var(--color-text-primary);position:relative;padding-right:2rem;}summary::after{content:"›";position:absolute;right:0;top:50%;transform:translateY(-50%) rotate(90deg);font-size:1.5rem;font-weight:bold;color:var(--color-primary);transition:transform .25s cubic-bezier(.25, .1, .25, 1)}summary::-webkit-details-marker{display:none}details[open] summary::after{transform:translateY(-50%) rotate(270deg)}.partner__summary::after{right:1rem}.tech-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.tech-card{border:1px solid var(--surface-3, #e2e2e2);border-radius:10px;padding:1rem;background:var(--surface-1, #fff)}.tech-card h3{margin:0 0 .25rem 0;font-size:1.05rem}@keyframes pcb-glow{0%, 100%{filter:drop-shadow(0 0 3px var(--color-primary))}50%{filter:drop-shadow(0 0 5px var(--color-primary))}}@media (prefers-reduced-motion: reduce){*:hover{animation:none !important;filter:none !important}}.site-header .logo img,.desktop-top-header .logo img{height:clamp(45px,2.5vw + 37px,65px) !important;width:auto !important;object-fit:contain !important;min-height:45px !important;min-width:120px !important;transition:height .4s cubic-bezier(.4, 0, .2, 1),min-height .4s cubic-bezier(.4, 0, .2, 1) !important}.logo{display:flex;align-items:center;transition:transform .2s ease-out,opacity .2s ease-out;border-radius:.25rem}.logo:hover{transform:scale(1.05);opacity:.9}.logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:4px}.logo img{transition:filter .2s ease-out}.container{position:relative;z-index:1;width:100%;margin:0 auto;max-width:1920px}.nav-list,.nav-list-desktop{list-style:none;margin:0;padding:0}.nav-arrow{font-size:1.2rem;font-weight:bold;color:var(--color-text-secondary);transition:transform .2s ease-out}.dropdown-divider{height:1px;background:var(--color-surface);margin:.75rem 1rem;opacity:1}.control-button-base,.language-switcher a,.language-switcher .lang-link,.theme-toggle,.theme-toggle-base,.theme-switcher button{display:flex;align-items:center;justify-content:center;padding:0;border:2px solid var(--color-primary);border-radius:8px;background-color:var(--color-header);color:var(--color-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;width:44px;height:44px;position:relative;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;background-color:var(--color-header);color:var(--color-text-primary)}.control-button-base:focus-visible,.language-switcher a:focus-visible,.language-switcher .lang-link:focus-visible,.theme-toggle:focus-visible,.theme-toggle-base:focus-visible,.theme-switcher button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.control-button-base:hover,.language-switcher a:hover,.language-switcher .lang-link:hover,.theme-toggle:hover,.theme-toggle-base:hover,.theme-switcher button:hover{background-color:var(--color-accent-bg);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.control-button-base:active,.language-switcher a:active,.language-switcher .lang-link:active,.theme-toggle:active,.theme-toggle-base:active,.theme-switcher button:active{background-color:var(--color-primary);color:var(--color-text-on-primary);transform:scale(.95);box-shadow:var(--shadow-sm)}.control-button-base:focus-visible,.language-switcher a:focus-visible,.language-switcher .lang-link:focus-visible,.theme-toggle:focus-visible,.theme-toggle-base:focus-visible,.theme-switcher button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle,.theme-toggle-base,.theme-switcher button{overflow:hidden}.theme-toggle .theme-toggle-icons,.theme-toggle-base .theme-toggle-icons,.theme-switcher button .theme-toggle-icons{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.theme-toggle .light-icon,.theme-toggle .dark-icon,.theme-toggle-base .light-icon,.theme-toggle-base .dark-icon,.theme-switcher button .light-icon,.theme-switcher button .dark-icon{font-size:1.1rem;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}.language-switcher a,.language-switcher .lang-link{font-weight:600;font-size:.875rem;text-decoration:none;display:flex;align-items:center;justify-content:center}[data-theme=light] .theme-toggle .light-icon,[data-theme=light] .theme-toggle-base .light-icon,[data-theme=light] .theme-switcher button .light-icon{display:block}[data-theme=light] .theme-toggle .dark-icon,[data-theme=light] .theme-toggle-base .dark-icon,[data-theme=light] .theme-switcher button .dark-icon{display:none}[data-theme=dark] .theme-toggle .light-icon,[data-theme=dark] .theme-toggle-base .light-icon,[data-theme=dark] .theme-switcher button .light-icon{display:none}[data-theme=dark] .theme-toggle .dark-icon,[data-theme=dark] .theme-toggle-base .dark-icon,[data-theme=dark] .theme-switcher button .dark-icon{display:block}.focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.site-header{position:fixed;top:0;left:0;right:0;z-index:1020;width:100%;background-color:var(--color-header);box-shadow:var(--shadow-header);display:none;transition:height .4s cubic-bezier(.4, 0, .2, 1),box-shadow .4s cubic-bezier(.4, 0, .2, 1)}@media (max-width: 1200px){.site-header{display:block;height:100px}}.site-header::after{content:"   01101111 01110011 01111000\a 01110011 01100100 01110110 00100000\a      01110110 01100101 01101000�111 01100101 01100010 01100001\a    01100001 01110010 01100011 01101000\a  01100001 01110101 01110100 01101111";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-family:"Courier New",monospace;font-size:8px;font-weight:400;color:rgba(var(--color-primary-rgb), .15);letter-spacing:.5px;white-space:pre;line-height:1.5;pointer-events:none;z-index:0}.site-header .container{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.5rem}.site-header .logo{justify-self:start;display:flex;align-items:center;justify-content:flex-start;height:100%;flex-shrink:0;max-width:160px;min-height:0;padding:0}.header-actions{display:flex;align-items:center;justify-content:flex-end;justify-self:end;height:100%;gap:1rem;min-height:0;padding:0}.header-actions .theme-switcher button,.header-actions .theme-toggle-base,.header-actions .language-switcher a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-header);border:2px solid var(--color-primary);color:var(--color-primary);transition:width .4s cubic-bezier(.4, 0, .2, 1),height .4s cubic-bezier(.4, 0, .2, 1)}.header-actions .language-switcher a{font-size:.9rem}.main-navigation{justify-self:center;height:100%;display:flex;align-items:center}.main-navigation .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;width:40px;height:40px;transition:width .4s cubic-bezier(.4, 0, .2, 1),height .4s cubic-bezier(.4, 0, .2, 1)}@media (max-width: 1200px){.main-navigation .nav-toggle{display:flex;align-items:center;justify-content:center}}.main-navigation .nav-toggle .hamburger{width:24px;height:18px;position:relative;transform:rotate(0deg);transition:.25s cubic-bezier(.25, .1, .25, 1);cursor:pointer}.main-navigation .nav-toggle .hamburger__line{display:block;position:absolute;height:2px;width:100%;background:var(--color-text-primary);border-radius:2px;opacity:1;left:0;transform:rotate(0deg);transition:.25s cubic-bezier(.25, .1, .25, 1)}.main-navigation .nav-toggle .hamburger__line:nth-child(1){top:0}.main-navigation .nav-toggle .hamburger__line:nth-child(2){top:8px}.main-navigation .nav-toggle .hamburger__line:nth-child(3){top:16px}.main-navigation .nav-toggle[aria-expanded=true] .hamburger__line:nth-child(1){top:8px;transform:rotate(135deg)}.main-navigation .nav-toggle[aria-expanded=true] .hamburger__line:nth-child(2){opacity:0;left:-30px}.main-navigation .nav-toggle[aria-expanded=true] .hamburger__line:nth-child(3){top:8px;transform:rotate(-135deg)}.mobile-nav-menu{display:none}@media (max-width: 1200px){.mobile-nav-menu{display:block;position:fixed;top:100px;left:0;width:100vw;height:calc(100vh - 100px);background-color:var(--color-header);z-index:1000;overflow:hidden;transform:translateX(-100%);transition:none;scrollbar-width:thin;scrollbar-color:var(--color-primary) rgba(0,0,0,.1)}.mobile-nav-menu.mobile-nav-menu--open{transform:translateX(0)}.mobile-nav-menu.transitions-enabled{transition:transform .25s cubic-bezier(.25, .1, .25, 1)}.mobile-nav-menu::-webkit-scrollbar{width:6px}.mobile-nav-menu::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:3px}.mobile-nav-menu::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.mobile-nav-menu::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}}.nav-level{position:absolute;top:0;left:0;width:100%;height:100%;padding:1.5rem 1rem;overflow-y:auto;transition:transform .25s cubic-bezier(.25, .1, .25, 1);transform:translateX(100%)}.nav-level.active{transform:translateX(0)}.nav-level[data-level=main]{transform:translateX(0)}.nav-level[data-level=main]:not(.active){transform:translateX(-100%)}@media (max-width: 360px){.nav-level{padding:1.25rem .75rem}}.nav-header{display:flex;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.nav-header .nav-back{background:none;border:none;color:var(--color-primary);font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease-out}.nav-header .nav-back:hover{background-color:var(--color-accent-bg)}.nav-header .nav-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-header .nav-back .nav-back-arrow{font-size:1.2rem;font-weight:bold}.nav-header .nav-title{margin:0 0 0 1rem;font-size:1.25rem;color:var(--color-text-primary);font-weight:600}.nav-list{display:flex;flex-direction:column;gap:.5rem}.nav-item{width:100%}.nav-item a.nav-link,.nav-item button.nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.5rem;color:var(--color-text-primary);font-weight:500;font-size:1.25rem;border-radius:0;transition:all .2s ease-out;background:rgba(0,0,0,0);border:none;border-bottom:1px solid rgba(0,0,0,.1);text-decoration:none;cursor:pointer;min-height:44px;box-sizing:border-box}[data-theme=dark] .nav-item a.nav-link,[data-theme=dark] .nav-item button.nav-link{border-bottom-color:rgba(255,255,255,.1)}@media (max-width: 360px){.nav-item a.nav-link,.nav-item button.nav-link{padding:.875rem 1rem;font-size:1rem}}.nav-item a.nav-link:focus-visible,.nav-item button.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-item a.nav-link:active,.nav-item button.nav-link:active{background-color:var(--color-primary);color:var(--color-text-on-primary);border-bottom-color:rgba(0,0,0,0)}.nav-item a.nav-link:not(.nav-trigger)::after{content:"";width:1rem;display:inline-block}.nav-divider{height:1px;background:var(--color-border);margin:.75rem 0;opacity:.6}@media (max-width: 1200px){.site-header.scrolled:not(.menu-open){height:70px;box-shadow:var(--shadow-header)}.site-header.scrolled:not(.menu-open) .logo img{height:clamp(38px,2vw + 30px,50px) !important;min-height:38px !important}.site-header.scrolled:not(.menu-open) .nav-toggle{width:36px;height:36px}.site-header.scrolled:not(.menu-open) .header-actions .theme-toggle-base,.site-header.scrolled:not(.menu-open) .header-actions .language-switcher a{width:36px;height:36px}.site-header.scrolled:not(.menu-open)::after{content:"   01101111 01110011\a 01110011 01100100 01110110\a      01110110 01100101�111 01100101 01100010";font-size:7px;line-height:1.4}}[data-theme=dark] .mobile-top-header::after{color:rgba(var(--color-header-rgb), .15)}@media (max-width: 1200px){html.no-js .mobile-nav-menu,html.js-init-failed .mobile-nav-menu{display:block !important;position:relative !important;transform:none !important;height:auto !important;overflow-y:visible !important;background-color:var(--color-header);padding:1rem 0;z-index:1000}html.no-js .nav-toggle,html.js-init-failed .nav-toggle{display:none !important}html.no-js .nav-level,html.js-init-failed .nav-level{display:block !important;position:static !important;transform:none !important;opacity:1 !important}}.desktop-top-header{position:fixed;top:0;left:0;right:0;z-index:1020;width:100%;background-color:var(--color-header);box-shadow:var(--shadow-header);height:100px;display:none;transition:height .4s cubic-bezier(.4, 0, .2, 1),box-shadow .4s cubic-bezier(.4, 0, .2, 1)}@media (min-width: 1201px){.desktop-top-header{display:block}}.desktop-top-header::after{content:"      01101111 01110011 01111000 01100011 01100001 01110010 00100000 01110011 01100100 01110110\a  01110011 01101111 01100110 01110100 01110111 01100001 01110010 01100101 01100100 01100101 01100110\a            01110110 01100101 01101000 01101001 01100011 01101100 01100101 00100000 01110111 01101001\a 01110111 01100101 01100010 01100001 01110011 01110011 01100101 01101101 01100010 01101100 01111001\a               01100001 01110010 01100011 01101000 01101001 01110100 01100101 01100011 01110100\a    01100001 01110101 01110100 01101111 01101101 01101111 01110100 01101001 01110110 01100101 00100000";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-family:"Courier New",monospace;font-size:10px;font-weight:400;color:rgba(var(--color-primary-rgb), .15);letter-spacing:1px;white-space:pre;line-height:1.5;pointer-events:none;z-index:0}.desktop-top-header .container{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:0 1.5rem}.desktop-top-header .logo{justify-self:start;display:flex;align-items:center;justify-content:flex-start;height:100%;flex-shrink:0;min-height:0;padding:0}.desktop-top-header .logo img{height:clamp(45px,6vw + 15px,65px) !important;width:auto;object-fit:contain;min-height:45px !important;max-width:200px}.desktop-top-header .desktop-navigation{justify-self:center;display:flex;align-items:center;transform:translateZ(0);backface-visibility:hidden}.desktop-top-header .header-controls{justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;height:100%;flex-shrink:0;min-height:0;padding:0;transform:translateZ(0);backface-visibility:hidden}.desktop-top-header .header-controls .theme-toggle,.desktop-top-header .header-controls .theme-toggle-base,.desktop-top-header .header-controls .language-switcher .lang-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:var(--color-header);border:2px solid var(--color-primary);color:var(--color-primary);transform:translateZ(0);backface-visibility:hidden;transition:background-color .2s ease,color .2s ease,transform .2s ease,width .4s cubic-bezier(.4, 0, .2, 1),height .4s cubic-bezier(.4, 0, .2, 1)}.desktop-top-header .header-controls .theme-toggle:hover,.desktop-top-header .header-controls .theme-toggle-base:hover,.desktop-top-header .header-controls .language-switcher .lang-link:hover{background-color:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-sm)}.desktop-top-header .header-controls .theme-toggle:active,.desktop-top-header .header-controls .theme-toggle-base:active,.desktop-top-header .header-controls .language-switcher .lang-link:active{background-color:var(--color-primary);color:var(--color-text-on-primary);transform:scale(.95) translateZ(0);box-shadow:var(--shadow-sm)}.desktop-top-header .header-controls .theme-toggle:focus-visible,.desktop-top-header .header-controls .theme-toggle-base:focus-visible,.desktop-top-header .header-controls .language-switcher .lang-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-list-desktop{display:flex;gap:1.5rem;align-items:center;justify-content:center;transform:translateZ(0);backface-visibility:hidden;transition:gap .4s cubic-bezier(.4, 0, .2, 1)}.nav-list-desktop .nav-item-desktop{position:relative;display:flex;align-items:center;margin:0;transform:translateZ(0);backface-visibility:hidden}.nav-list-desktop .nav-item-desktop .nav-link{display:flex;align-items:center;justify-content:center;padding:0em 1rem;background:rgba(0,0,0,0);border:none;font-family:inherit;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:600;height:48px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-primary);cursor:pointer;text-decoration:none;transition:color .2s ease-out,padding .4s cubic-bezier(.4, 0, .2, 1),font-size .4s cubic-bezier(.4, 0, .2, 1);line-height:1;box-sizing:border-box;transform:translateZ(0);backface-visibility:hidden}.nav-list-desktop .nav-item-desktop .nav-link[type=button]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none;background:rgba(0,0,0,0)}.nav-list-desktop .nav-item-desktop .nav-link:hover{color:var(--color-primary)}.nav-list-desktop .nav-item-desktop .nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-list-desktop .nav-item-desktop.nav-ready:hover .desktop-nav-dropdown,.nav-list-desktop .nav-item-desktop:hover .desktop-nav-dropdown,.nav-list-desktop .nav-item-desktop:focus-within .desktop-nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}@media (hover: none) and (pointer: coarse){.nav-item-desktop{touch-action:manipulation}.nav-item-desktop .nav-trigger:not(:focus){pointer-events:none}.nav-item-desktop:focus-within .desktop-nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav-item-desktop .desktop-nav-dropdown a{pointer-events:auto}}.desktop-nav-dropdown{animation:enableDropdownHover .01s .5s forwards;pointer-events:none}@keyframes enableDropdownHover{to{pointer-events:auto}}.desktop-nav-dropdown{position:absolute;top:100%;left:0;background:var(--color-header);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-dropdown);padding:.75rem 0;min-width:240px;z-index:1010;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease-out}.desktop-nav-dropdown::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px;background:rgba(0,0,0,0);pointer-events:auto}.desktop-nav-dropdown .dropdown-link{padding:.875rem 1.5rem;color:var(--color-text-primary);text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease-out;border-radius:8px;margin:0 .75rem;min-height:44px;display:flex;align-items:center}.desktop-nav-dropdown .dropdown-link:hover{background:var(--color-primary);color:var(--color-text-on-primary);transform:translateX(0)}.desktop-nav-dropdown .dropdown-divider{height:1px;background:var(--color-surface);margin:.75rem 1rem;opacity:1}@media (min-width: 1201px){.mobile-nav-menu,.site-header{display:none !important}}.desktop-top-header.scrolled{height:70px;box-shadow:var(--shadow-header)}.desktop-top-header.scrolled .logo img{height:clamp(38px,5vw + 12px,50px) !important;min-height:38px !important}.desktop-top-header.scrolled .nav-list-desktop{gap:1rem}.desktop-top-header.scrolled .nav-link{padding:.4rem .8rem;font-size:.95rem}.desktop-top-header.scrolled .header-controls .theme-toggle,.desktop-top-header.scrolled .header-controls .theme-toggle-base,.desktop-top-header.scrolled .header-controls .language-switcher .lang-link{width:36px;height:36px}.desktop-top-header.scrolled::after{content:"      01101111 01110011 01111000 01100011 01100001 01110010\a  01110011 01101111 01100110 01110100 01110111 01100001 01110010\a            01110110 01100101 01101000 01101001 01100011\a 01110111 01100101 01100010 01100001 01110011 01110011 01100101";font-size:9px;line-height:1.4}[data-theme=dark] .desktop-top-header::after{color:rgba(var(--color-header-rgb), .15)}@media (min-width: 992px){.desktop-top-header .pcb-routing-layer{position:fixed;top:0;left:0;width:100%;height:100px;pointer-events:none;z-index:1019;overflow:visible;transition:height .4s cubic-bezier(.4, 0, .2, 1)}.desktop-top-header.scrolled .pcb-routing-layer{height:70px}.desktop-top-header>.container{position:relative;z-index:10}.pcb-routing-layer path{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;filter:drop-shadow(0 0 3px var(--color-primary))}.pcb-routing-layer path.active{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-route-draw .6s cubic-bezier(.4, 0, .2, 1) forwards,pcb-route-pulse 1.2s ease-in-out infinite .6s}.pcb-routing-layer path.active.fading{animation:none !important;transition:opacity .8s ease-out,filter .8s ease-out !important;stroke-width:3px !important}.pcb-routing-layer path.active.fading.fade-out{opacity:0 !important;filter:drop-shadow(0 0 0px rgba(0,0,0,0)) !important}.pcb-routing-layer path.active.fading-fast{animation:none !important;transition:opacity .4s ease-out,filter .4s ease-out !important;stroke-width:3px !important}.pcb-routing-layer path.active.fading-fast.fade-out-fast{opacity:0 !important;filter:drop-shadow(0 0 0px rgba(0,0,0,0)) !important}@keyframes pcb-route-draw{to{stroke-dashoffset:0}}@keyframes pcb-route-pulse{0%, 100%{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary))}50%{opacity:1;filter:drop-shadow(0 0 7px var(--color-primary))}}@keyframes pcb-fade-out{from{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary))}to{opacity:0;filter:drop-shadow(0 0 0px rgba(0,0,0,0))}}@keyframes pcb-fade-out-fast{from{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary))}to{opacity:0;filter:drop-shadow(0 0 0px rgba(0,0,0,0))}}@keyframes pcb-route-fade-out-fast{from{opacity:.85}to{opacity:0}}}@media (min-width: 992px) and (prefers-reduced-motion: reduce){.pcb-routing-layer{display:none !important}.logo.port-active::after{animation:none !important}}@media (min-width: 992px){.theme-toggle,.theme-toggle-base,.language-switcher .lang-link{position:relative;transition:filter .3s ease-out,box-shadow .3s ease-out}.theme-toggle:hover,.theme-toggle-base:hover,.language-switcher .lang-link:hover{filter:drop-shadow(0 0 3px var(--color-primary));animation:control-border-pulse 1.2s ease-in-out infinite}@keyframes control-border-pulse{0%, 100%{filter:drop-shadow(0 0 3px var(--color-primary))}50%{filter:drop-shadow(0 0 7px var(--color-primary))}}}@media (min-width: 992px) and (prefers-reduced-motion: reduce){.theme-toggle:hover,.theme-toggle-base:hover,.language-switcher .lang-link:hover{animation:none !important}}.site-footer{background-color:var(--color-footer);color:var(--color-text-primary);padding:3rem 0 .5rem;margin-top:auto;border-top:1px solid var(--color-border);position:relative;z-index:10;text-align:left;font-style:normal;}.site-footer *{text-align:inherit}.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6{text-align:left !important;font-style:normal !important}.site-footer .footer-content{display:grid;grid-template-columns:minmax(250px, 400px) 1fr auto auto;grid-template-areas:"info . legal copyright";gap:3rem;margin-bottom:1.5rem;align-items:stretch}@media (max-width: 768px){.site-footer .footer-content{grid-template-columns:1fr;grid-template-areas:"info" "legal" "copyright";gap:1.5rem}}.site-footer .footer-section:nth-child(1){grid-area:info}.site-footer .footer-section:nth-child(2){grid-area:copyright}.site-footer .footer-section:nth-child(3){grid-area:legal}.site-footer .footer-section.footer-copyright{align-self:center;text-align:center;display:flex;align-items:center;justify-content:center}.site-footer .footer-section.footer-copyright p{color:var(--color-text-secondary);margin:0;font-size:.9rem}.site-footer .footer-section h3{margin-bottom:1.5rem;color:var(--color-text-primary);font-size:1.2rem;font-weight:700;font-family:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;text-align:left !important;font-style:normal !important}.site-footer .footer-section p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1rem}.site-footer .footer-section ul{list-style:none;padding:0}.site-footer .footer-section ul li{margin-bottom:.5rem}.site-footer .footer-section ul li a{color:var(--color-text-secondary);text-decoration:none;transition:transform .2s ease-out,opacity .2s ease-out;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem 0;border-radius:4px}.site-footer .footer-section ul li a:hover,.site-footer .footer-section ul li a:focus{color:var(--color-primary);text-decoration:underline;text-decoration-color:var(--color-primary);text-underline-offset:3px;background-color:var(--color-accent-bg)}.site-footer .footer-section ul li a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background-color:var(--color-accent-bg)}.site-footer .footer-section ul li a[href^="mailto:"]::before{content:"✉";color:var(--color-primary);font-weight:bold}.site-footer .footer-section ul li a[href^="tel:"]::before{content:"📞";color:var(--color-primary)}.site-footer .footer-section ul li a[href^=http]::after{content:"↗";font-size:.8rem;color:var(--color-primary);opacity:.7}.site-footer .footer-bottom{padding:0;background-color:var(--color-footer)}.site-footer .footer-bottom .efre-funding{max-width:1600px;margin:0 auto;padding:0;text-align:center;background-color:inherit}.site-footer .footer-bottom .efre-funding .efre-logo{max-width:100%;width:100%;height:auto;object-fit:contain;display:block;margin:0 auto}.site-footer .footer-bottom .efre-funding .efre-logo.efre-logo--wide{display:block}@media (max-width: 768px){.site-footer .footer-bottom .efre-funding .efre-logo.efre-logo--wide{display:none}}.site-footer .footer-bottom .efre-funding .efre-logo.efre-logo--square{display:none;max-width:300px}@media (max-width: 768px){.site-footer .footer-bottom .efre-funding .efre-logo.efre-logo--square{display:block}}.site-footer .eu-funding{margin-top:1.5rem;padding:1.5rem;background-color:var(--color-accent-bg);border:1px solid var(--color-border);border-radius:.5rem;text-align:center}.site-footer .eu-funding p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.site-footer .eu-funding .eu-logo{display:inline-block;margin-right:.5rem;vertical-align:middle}@supports not (scroll-padding-top: 1px){:target,section[id]{scroll-margin-top:100px}@media (max-width: 1200px){:target,section[id]{scroll-margin-top:100px}}}.page-content{margin-top:0}.page-content>.hero-section+*{margin-top:2rem}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content p,.page-content ul,.page-content ol,.page-content blockquote,.page-content .theme-image,.page-content .simple-theme-image{max-width:1920px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (max-width: 768px){.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content p,.page-content ul,.page-content ol,.page-content blockquote,.page-content .theme-image,.page-content .simple-theme-image{padding-left:1rem;padding-right:1rem}}.page-content h1{margin-top:3rem;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,2.5rem) !important;color:var(--color-text-primary);font-weight:800}.page-content h2,.page-content h3{margin-top:2.5rem;margin-bottom:1rem;color:var(--color-text-primary)}.page-content ul,.page-content ol{margin-bottom:1.5rem}.page-content ul li,.page-content ol li{margin-bottom:.5rem;color:var(--color-text-secondary)}.page-content ul li strong,.page-content ol li strong{color:var(--color-text-primary)}.page{padding:8rem 0}@media (max-width: 1200px){.page{padding:6rem 0}}.page:has(.c-hero){padding:2.25rem 0}.page article header{margin-bottom:3rem;text-align:center}.page article header h1{font-size:clamp(2rem,4vw,2.5rem) !important;margin-bottom:1rem;color:var(--color-text-primary);font-weight:800}.page article header .description{font-size:1.1rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.page article .content{max-width:1200px;margin:0 auto;padding:0 1.5rem}.page article .content h2,.page article .content h3,.page article .content h4,.page article .content h5,.page article .content h6{margin-top:3rem;margin-bottom:1rem}.page article .content p{margin-bottom:1.5rem}.page article .content ul,.page article .content ol{margin-bottom:1.5rem}.page article .content ul li,.page article .content ol li{margin-bottom:.5rem}@media (max-width: 768px){.page article .content{padding:0 1rem}}.c-hero+main .page{padding:2.25rem 0}.c-hero--blend+main{position:relative;z-index:2;padding-top:10vh}.c-hero--blend+main .page{padding-top:0}.content-pane{background:var(--color-surface);border-radius:12px;padding:2rem;box-shadow:var(--shadow-sm);margin:2rem auto;max-width:1920px}@media (max-width: 1200px){.content-pane{margin:1.5rem auto;padding:1.5rem;border-radius:8px}}@media (max-width: 375px){.content-pane{padding:1rem;margin:1rem auto}}.content-pane.compact{padding:1.5rem;margin:1rem auto}@media (max-width: 1200px){.content-pane.compact{padding:1rem;margin:.75rem auto}}.content-pane.bg-gradient{background:linear-gradient(135deg, var(--gradient-start), var(--gradient-middle), var(--gradient-end));color:var(--color-text-primary)}.content-pane.no-shadow{box-shadow:none;border:1px solid var(--color-border)}.fade-in-block{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-block.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.fade-in-block{transition:none;transform:none}}.content-block{background:var(--color-surface);border-radius:12px;padding:2rem;margin:2rem auto;box-shadow:var(--shadow-sm);max-width:1920px}.content-block h2{font-size:1.75rem;margin-bottom:1rem;color:var(--color-text-primary)}.content-block p{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:1rem}.highlight-list{list-style:none;padding-left:0}.highlight-list li{position:relative;padding-left:2rem;margin-bottom:1rem;font-size:1.1rem;color:var(--color-text-secondary)}.highlight-list li strong{color:var(--color-text-primary)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:2rem;margin:2rem auto;max-width:1920px}.tech-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .3s ease}.tech-card:hover{box-shadow:var(--shadow-md)}.tech-card h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-text-primary)}.tech-card p{font-size:1rem;color:var(--color-text-secondary)}.theme-image.medium-image,.medium-image.simple-theme-image{display:block;margin:2rem auto;max-width:600px;border-radius:12px;box-shadow:var(--shadow-sm)}.line-decorated-block{position:relative}.line-decorated-block::after{content:"";position:absolute;top:1.5rem;right:1.5rem;width:80px;height:80px;border-top:2px solid var(--color-primary);border-right:2px solid var(--color-primary);opacity:.3;pointer-events:none}.line-decorated-block::before{content:"";position:absolute;bottom:1.5rem;left:1.5rem;width:80px;height:80px;border-bottom:2px solid var(--color-primary);border-left:2px solid var(--color-primary);opacity:.3;pointer-events:none}.demo-tag{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2em .65em;border-radius:8px;margin-left:.6rem;vertical-align:middle;line-height:1;background:rgba(var(--color-primary-rgb), .13);color:var(--color-primary);border:1px solid rgba(var(--color-primary-rgb), .26)}li .demo-tag{margin-left:.5rem}.demo-tag--planned{background:rgba(128,128,128,.1);color:var(--color-text-secondary);border-color:rgba(128,128,128,.22)}.demo-tag--progress{background:rgba(234,179,8,.12);color:#a07800;border-color:rgba(234,179,8,.3)}[data-theme=dark] .demo-tag--progress{color:#f0c040;background:rgba(234,179,8,.1)}.demo-tag--live{text-decoration:none}.demo-tag--live:hover{opacity:.8}.content-block.line-decorated-block{padding:3rem}@media (max-width: 768px){.content-block.line-decorated-block{padding:2rem}}@media (max-width: 480px){.content-block.line-decorated-block{padding:1.5rem}.content-block.line-decorated-block::after{top:.25rem;right:.25rem;width:60px;height:60px}.content-block.line-decorated-block::before{bottom:.25rem;left:.25rem;width:60px;height:60px}}.tech-section{padding-bottom:3rem}.tech-section h2{text-align:center;margin-bottom:2.5rem}.tech-pillars{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem}@media (max-width: 768px){.tech-pillars{flex-direction:column;align-items:center}}.tech-pillar{flex:1;min-width:200px;max-width:250px;text-align:center;padding:1.5rem 1rem;position:relative}.tech-pillar .tech-pillar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:inherit;border-radius:8px;padding:.5rem;transition:all .3s ease;position:relative;height:100%;min-height:180px;background:var(--color-surface)}.tech-pillar .tech-pillar-link::before,.tech-pillar .tech-pillar-link::after{content:"";position:absolute;width:24px;height:24px;border:2px solid var(--color-primary);opacity:0;transition:all .4s cubic-bezier(.4, 0, .2, 1);filter:drop-shadow(0 0 3px var(--color-primary))}.tech-pillar .tech-pillar-link::before{top:0;left:0;border-right:none;border-bottom:none;border-radius:8px 0 0 0}.tech-pillar .tech-pillar-link::after{bottom:0;right:0;border-left:none;border-top:none;border-radius:0 0 8px 0}.tech-pillar .tech-pillar-link:hover,.tech-pillar .tech-pillar-link:focus{background:var(--color-surface-variant);box-shadow:var(--shadow-card);transform:translateY(-2px)}.tech-pillar .tech-pillar-link:hover .tech-arrow,.tech-pillar .tech-pillar-link:focus .tech-arrow{opacity:1;transform:translateX(0)}.tech-pillar .tech-pillar-link:hover::before,.tech-pillar .tech-pillar-link:hover::after,.tech-pillar .tech-pillar-link:focus::before,.tech-pillar .tech-pillar-link:focus::after{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary)) drop-shadow(0 0 10px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}.tech-pillar .tech-pillar-link:hover::before,.tech-pillar .tech-pillar-link:focus::before{transform:translate(-4px, -4px)}.tech-pillar .tech-pillar-link:hover::after,.tech-pillar .tech-pillar-link:focus::after{transform:translate(4px, 4px)}.tech-pillar .tech-pillar-link:focus{outline:2px solid var(--color-primary);outline-offset:2px}.tech-pillar .tech-arrow{position:absolute;top:1rem;right:1rem;opacity:0;transform:translateX(-10px);transition:all .2s ease-out;font-size:1.2rem;color:var(--color-primary);font-weight:bold}.tech-pillar .tech-icon{width:60px;height:60px;border-radius:30px;background:var(--color-surface-variant);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem auto;transition:background .2s ease;flex-shrink:0}.tech-pillar .tech-icon svg{width:30px;height:30px;fill:var(--color-primary);transition:fill .2s ease}.tech-pillar h3{font-size:1.1rem;margin-bottom:.75rem;transition:color .2s ease;text-align:center !important;line-height:1.3;flex-shrink:0;width:100%;display:block}.tech-pillar p{font-size:.9rem;margin:0;transition:color .2s ease;text-align:center !important;line-height:1.4;flex:1;display:flex;align-items:center;justify-content:center;width:100%}@media (max-width: 768px){.tech-pillar{min-width:180px;max-width:200px}.tech-pillar .tech-pillar-link{min-height:160px;padding:.75rem .5rem}.tech-pillar h3{font-size:1rem;text-align:center}.tech-pillar p{font-size:.85rem;text-align:center}}@media (max-width: 480px){.tech-pillar{min-width:160px;max-width:280px;margin:0 auto}.tech-pillar .tech-pillar-link{min-height:150px;text-align:center}.tech-pillar h3,.tech-pillar p{text-align:center}}.connector{width:40px;height:2px;background:var(--color-border);align-self:center}@media (max-width: 768px){.connector{width:2px;height:40px}}.bg-gradient{background-image:linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%, var(--gradient-color, rgba(var(--color-primary-rgb), .05)) 50%);--gradient-color: rgba(var(--color-primary-rgb), 0.05);}[data-theme=dark] .bg-gradient{--gradient-color: rgba(var(--color-primary-rgb), 0.05);}@media (prefers-reduced-motion: reduce){.tech-pillar-link::before,.tech-pillar-link::after{animation:none !important;filter:none !important}}@keyframes tech-corner-glow{0%, 100%{opacity:.85;filter:drop-shadow(0 0 3px var(--color-primary)) drop-shadow(0 0 7px var(--color-primary))}50%{opacity:1;filter:drop-shadow(0 0 5px var(--color-primary)) drop-shadow(0 0 12px var(--color-primary))}}@media (prefers-reduced-motion: reduce){.tech-pillar-link::before,.tech-pillar-link::after{animation:none !important;transition:opacity .3s ease !important}}.hero-fullscreen-parallax{position:fixed;top:0;left:0;width:100%;height:100vh;max-height:100vh;z-index:-1;overflow:hidden;clip-path:inset(0)}.hero-bg-image{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.7)}.hero-overlay-gradient{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.2) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.7) 100%);z-index:2}.hero-content-minimal{position:absolute;top:max(50%,350px);left:50%;transform:translate(-50%, -50%);z-index:3;text-align:center;animation:fadeInLogo 1.2s ease-out backwards;max-width:90%;transition:opacity .6s ease-out}.hero-content-minimal .theme-image,.hero-content-minimal .simple-theme-image{margin:0 0 2rem 0}.hero-content-minimal .theme-image .image-container,.hero-content-minimal .simple-theme-image .image-container{width:clamp(250px,35vw,850px);max-width:100%}.hero-content-minimal .theme-image img,.hero-content-minimal .simple-theme-image img{filter:drop-shadow(0 8px 32px rgba(0,0,0,.4));max-width:100%}@media (max-width: 768px){.hero-content-minimal .theme-image,.hero-content-minimal .simple-theme-image{margin-bottom:1.5rem}}.hero-content-minimal.fade-out{opacity:0;pointer-events:none}h1.hero-tagline{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;line-height:1.3;color:var(--color-hero-text-fixed) !important;text-shadow:0 4px 20px rgba(0,0,0,.6);margin:0;padding:0 2rem}@media (max-width: 768px){h1.hero-tagline{padding:0 1rem}}@keyframes fadeInText{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-scroll-chevron{position:absolute;bottom:5vh;left:50%;transform:translateX(-50%);cursor:pointer;animation:fadeInChevron 1.2s ease-out backwards,bounceChevron 2s ease-in-out 2s infinite;z-index:10;transition:transform .25s cubic-bezier(.25, .1, .25, 1)}.hero-scroll-chevron svg{width:50px;height:50px;display:block;fill:var(--color-hero-text-fixed);filter:drop-shadow(0 4px 20px rgba(0,0,0,.6));transition:filter .3s ease}@media (max-width: 768px){.hero-scroll-chevron svg{width:45px;height:45px}}.hero-scroll-chevron:hover{transform:translateX(-50%) translateY(5px)}.hero-scroll-chevron:hover svg{filter:drop-shadow(0 6px 24px rgba(0,0,0,.8))}.hero-scroll-chevron:active{transform:translateX(-50%) translateY(8px)}@keyframes fadeInChevron{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes bounceChevron{0%, 100%{bottom:5vh}50%{bottom:7vh}}@keyframes fadeInLogo{from{opacity:0;transform:translate(-50%, -50%) scale(.9)}to{opacity:1;transform:translate(-50%, -50%) scale(1)}}.scroll-hint{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);z-index:3;color:#fff;opacity:.9;animation:bounce 2.5s ease-in-out infinite;cursor:pointer}.scroll-hint svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}@keyframes bounce{0%, 100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-12px)}}.content-scrollable{position:relative;z-index:1;margin-top:100vh;background:var(--color-background);min-height:100vh}.content-scrollable::before{content:"";position:absolute;top:-2px;left:0;right:0;height:2px;background:var(--color-background)}.content-scrollable>h2:first-of-type,.content-scrollable>*:first-child{padding-top:clamp(3rem,6vw,5rem)}.hero-section{width:100%;position:relative;margin:0;padding:0;overflow:hidden}@media (max-width: 375px){.hero-section{min-height:30vh}}.hero-container{position:relative;width:100%;min-height:inherit}@media (max-width: 768px){.hero-container{flex-direction:column;display:flex}}.hero-content{position:absolute;top:0;left:0;width:25%;height:100%;background-color:var(--color-surface);display:flex;align-items:center;justify-content:center;padding:2rem;z-index:2}.hero-content::before{content:"";position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(to right, var(--color-surface), rgba(0,0,0,0));z-index:1}@media (max-width: 768px){.hero-content{position:relative;width:100%;min-height:200px;padding:1.5rem;order:2}.hero-content::before{display:none}}@media (max-width: 480px){.hero-content{padding:1rem;min-height:150px}}.hero-text{text-align:left;z-index:2;position:relative;max-width:100%}@media (max-width: 768px){.hero-text{text-align:center}}.hero-headline{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.1;color:var(--color-text-primary);margin:0 0 1rem 0;letter-spacing:-.02em}@media (max-width: 768px){.hero-headline{font-size:clamp(1.75rem,5vw,2.5rem)}}.hero-subline{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;line-height:1.4;color:var(--color-text-secondary);margin:0;opacity:.9}@media (max-width: 768px){.hero-subline{font-size:clamp(.9rem,2vw,1.1rem)}}.hero-image{position:relative;width:100%;z-index:1;overflow:hidden;background-color:var(--color-background)}@media (max-width: 768px){.hero-image{order:1}}.hero-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;display:block;transition:transform .25s cubic-bezier(.25, .1, .25, 1)}@media (min-width: 1201px){.hero-image img:hover{transform:scale(1.02)}}@media (prefers-reduced-motion: reduce){.hero-image img{transition:none}}[data-theme=dark] .hero-content{background-color:var(--color-surface)}[data-theme=dark] .hero-content::before{background:linear-gradient(to right, var(--color-surface), rgba(26,31,46,0))}[data-theme=light] .hero-content{background-color:var(--color-surface)}[data-theme=light] .hero-content::before{background:linear-gradient(to right, var(--color-surface), rgba(248,250,252,0))}@media print{.hero-section{margin-top:0;min-height:auto;break-inside:avoid}.hero-container{flex-direction:column}.hero-content{flex:none;padding:1rem}.hero-image{flex:none;max-height:200px}}.page-content h2{text-align:center;font-size:2.5rem;font-weight:700;color:var(--color-text-primary);margin:3rem auto 2rem auto;letter-spacing:-.02em;max-width:1920px;padding:0 2rem}@media (max-width: 1200px){.page-content h2{font-size:2rem;margin:2rem auto 1.5rem auto;padding:0 1.5rem}}@media (max-width: 360px){.page-content h2{font-size:1.75rem}}.features-grid{display:grid;gap:2rem;margin:2rem auto 4rem auto;max-width:1920px;margin-left:auto;margin-right:auto;padding:0 2rem}@media (min-width: 2560px){.features-grid{grid-template-columns:repeat(6, 1fr);gap:1.5em;max-width:2000px;padding:0 1.5rem}}@media (max-width: 2559px) and (min-width: 1201px){.features-grid{grid-template-columns:repeat(3, 1fr);gap:2.5rem;max-width:1400px;padding:0 1.5rem}}@media (max-width: 1200px) and (min-width: 768px){.features-grid{grid-template-columns:repeat(2, 1fr);gap:2rem;max-width:900px;padding:0 1.5rem}}@media (max-width: 767px){.features-grid{grid-template-columns:1fr;gap:1.5rem;margin:1.5rem 0 3rem 0;padding:0 1rem}}@media (max-width: 2559px) and (min-width: 1201px){.features-grid.features-grid--four-columns{grid-template-columns:repeat(4, 1fr);gap:2rem;max-width:1400px;padding:0 1.5rem}}@media (min-width: 2560px){.features-grid.features-grid--four-columns{grid-template-columns:repeat(4, 1fr);gap:2rem;max-width:1400px;padding:0 1.5rem}}@media (min-width: 1201px){.features-grid.features-grid--two-columns{grid-template-columns:repeat(2, 1fr);gap:3rem;max-width:1000px;padding:0 2rem}}@media (max-width: 1200px) and (min-width: 768px){.features-grid.features-grid--two-columns{grid-template-columns:repeat(2, 1fr);gap:2rem;max-width:900px;padding:0 1.5rem}}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem 1.5rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.feature-card.visible{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .3s ease,border-color .3s ease,filter .25s cubic-bezier(.25, .1, .25, 1)}.feature-card.visible:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary);filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}.feature-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));opacity:0;z-index:3;transition:opacity .6s ease-out .1s}.feature-card.visible::before{opacity:.8}.feature-card::after{content:"";position:absolute;right:-30px;bottom:-30px;width:200px;height:200px;background-image:var(--card-bg-image);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;filter:blur(3px);transform:rotate(-12deg);z-index:0;transition:opacity .6s ease-out .2s,filter .3s ease,transform .5s ease;pointer-events:none}.feature-card.visible::after{opacity:.08}.feature-card.visible:hover::after{opacity:.15;filter:blur(.5px);transform:rotate(-8deg) scale(1.1)}@media (prefers-reduced-motion: reduce){.feature-card{transition:none !important;transform:none !important}.feature-card.visible{opacity:1;transition:none !important;transform:none !important}.feature-card.visible:hover{transform:none !important}.feature-card::before,.feature-card::after{transition:none !important}.feature-card::after{transform:rotate(-12deg) !important}.feature-card.visible:hover::after{transform:rotate(-12deg) !important;filter:blur(.5px)}}.feature-card:nth-child(1){--card-bg-image: url("/images/tech/hetero_comp_arch.webp")}.feature-card:nth-child(2){--card-bg-image: url("/images/tech/multivehicle_demo_small.webp")}.feature-card:nth-child(3){--card-bg-image: url("/images/tech/cloud_testing.webp")}.feature-card:nth-child(4){--card-bg-image: url("/images/tech/ai_net_optimize_small.webp")}.feature-card:nth-child(5){--card-bg-image: url("/images/tech/sdva_small.webp")}.feature-card:nth-child(6){--card-bg-image: url("/images/tech/code_snippet.webp")}.feature-card h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem 0;line-height:1.3;min-height:3.2em;display:flex;align-items:flex-start;position:relative;z-index:1}@media (max-width: 1200px){.feature-card h3{font-size:1.125rem;min-height:2.8em}}.feature-card p{color:var(--color-text-secondary);font-size:1rem;line-height:1.5;margin:0;flex:1;position:relative;z-index:1}@media (max-width: 1200px){.feature-card p{font-size:.9rem}}@media (max-width: 768px){.feature-card{padding:1.5rem 1.25rem}}@media (max-width: 360px){.feature-card{padding:1.25rem 1rem}}@media (min-width: 1201px){.features-grid{padding:0 2rem}}.light-icon,.dark-icon{font-size:1.2rem;line-height:1}[data-theme=light] .light-icon{display:inline-block}[data-theme=light] .dark-icon{display:none}[data-theme=dark] .light-icon{display:none}[data-theme=dark] .dark-icon{display:inline-block}.no-js .light-icon{display:inline-block}.no-js .dark-icon{display:none}.theme-image,.simple-theme-image{margin:1.5rem 0;position:relative;width:100%;}.theme-image .image-container,.simple-theme-image .image-container{position:relative;line-height:0;margin:0 auto;width:100%;max-width:var(--max-width, 100%);background:none;display:flex;align-items:center;justify-content:center;flex-direction:column}.theme-image img,.simple-theme-image img{max-width:100%;height:auto;display:block;background:rgba(0,0,0,0)}.theme-image img.scaled,.simple-theme-image img.scaled{transform:scale(var(--scale-factor));transform-origin:center center;transition:transform .2s ease-in-out}.theme-image .light-mode-image,.simple-theme-image .light-mode-image{display:block}.theme-image .dark-mode-image,.simple-theme-image .dark-mode-image{display:none}.theme-image figcaption,.simple-theme-image figcaption{margin-top:.75rem;text-align:center;font-style:italic;font-size:1rem;color:var(--text-color);line-height:1.5}.theme-image figcaption .attribution,.simple-theme-image figcaption .attribution{display:block;font-size:.85rem;margin-top:.25rem;opacity:.8}.theme-image .align-left figcaption,.simple-theme-image .align-left figcaption{text-align:left}.theme-image .align-center figcaption,.simple-theme-image .align-center figcaption{text-align:center}.theme-image .align-right figcaption,.simple-theme-image .align-right figcaption{text-align:right}.theme-image .shadow-light img,.simple-theme-image .shadow-light img{box-shadow:var(--shadow-subtle)}.theme-image .shadow-medium img,.simple-theme-image .shadow-medium img{box-shadow:var(--shadow-medium)}.theme-image .shadow-strong img,.simple-theme-image .shadow-strong img{box-shadow:var(--shadow-strong)}.theme-image .align-left,.simple-theme-image .align-left{justify-content:flex-start;margin-right:auto;margin-left:0}.theme-image .align-center,.simple-theme-image .align-center{justify-content:center;margin-left:auto;margin-right:auto}.theme-image .align-right,.simple-theme-image .align-right{justify-content:flex-end;margin-left:auto;margin-right:0}.theme-image .bg-light,.simple-theme-image .bg-light{background-color:var(--bg-light, #f5f5f5);padding:1rem}.theme-image .bg-dark,.simple-theme-image .bg-dark{background-color:var(--bg-dark, #333);padding:1rem}.theme-image .bg-contrast,.simple-theme-image .bg-contrast{padding:1rem;background-color:var(--bg-contrast, #f0f0f0)}.theme-image.full-width,.full-width.simple-theme-image{width:100%}.theme-image.small-image,.small-image.simple-theme-image{max-width:250px}.theme-image.medium-image,.medium-image.simple-theme-image{max-width:400px}.theme-image.large-image,.large-image.simple-theme-image{max-width:600px}.theme-image .zoomable,.simple-theme-image .zoomable{cursor:zoom-in}[data-theme=dark] .theme-image,[data-theme=dark] .simple-theme-image{}[data-theme=dark] .theme-image .light-mode-image,[data-theme=dark] .simple-theme-image .light-mode-image{display:none}[data-theme=dark] .theme-image .dark-mode-image,[data-theme=dark] .simple-theme-image .dark-mode-image{display:block}[data-theme=dark] .theme-image .bg-contrast,[data-theme=dark] .simple-theme-image .bg-contrast{background-color:var(--bg-contrast-dark, #2a2a2a)}.image-zoom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:2rem;padding-top:calc(var(--header-height, 60px) + 4rem);background-color:var(--bg-overlay);color:var(--text-color);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.image-zoom-overlay.active{opacity:1;visibility:visible}.image-zoom-overlay .zoomed-image-container{position:relative;max-width:80%;max-height:75%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-card);border-radius:var(--border-radius, 4px);padding:1rem;box-shadow:var(--shadow-medium, 0 4px 20px rgba(0,0,0,.5));transform:scale(.9);transition:transform .25s cubic-bezier(.25, .1, .25, 1)}.image-zoom-overlay.active .image-zoom-overlay .zoomed-image-container{transform:scale(1)}.image-zoom-overlay .zoomed-image{max-width:100%;max-height:calc(100vh - var(--header-height, 60px) - 10rem);object-fit:contain}.image-zoom-overlay .zoom-caption{position:absolute;bottom:-2rem;left:0;right:0;text-align:center;font-style:italic;font-size:.9rem;padding:.5rem;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.image-zoom-overlay.active .image-zoom-overlay .zoom-caption{opacity:1;transform:translateY(0)}:root{--bg-overlay: rgba(240, 240, 240, 0.9);--bg-card: rgba(255, 255, 255, 0.9)}[data-theme=dark]{--bg-overlay: rgba(0, 0, 0, 0.85);--bg-card: rgba(30, 30, 30, 0.8)}@media (min-width: 1200px){.image-zoom-overlay{padding-top:calc(var(--header-height, 60px) + 6rem)}}.card-scroll-shell{margin:0 auto;max-width:1920px;padding:1rem}@media (max-width: 1200px){.card-scroll-shell{padding:1rem}}@media (min-width: 1201px){.card-scroll-shell{padding:1.5rem}}.card-scroll-shell .lead{margin:0;color:var(--color-text-secondary, var(--color-text-primary));max-width:75ch}.card-scroll-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));margin:1rem 0 1.5rem}@media (min-width: 1201px){.card-scroll-grid{gap:1.5rem}}.card-scroll,.tech-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:calc(1rem + 0.1rem) calc(1rem + 0.1rem);box-shadow:var(--shadow-md);transform:translateZ(0);transition:transform .15s ease-in-out,background .15s ease-in-out,border-color .15s ease-in-out;will-change:transform}.card-scroll .eyebrow,.tech-card .eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.25rem}.card-scroll h2,.card-scroll h3,.tech-card h2,.tech-card h3{margin:.1rem 0 .45rem;font-size:1.08rem;line-height:1.35;color:var(--color-text-primary)}.card-scroll .body,.tech-card .body{color:var(--color-text-muted);transition:color .3s ease-in-out}.card-scroll.active,.tech-card.active{transform:translateY(-2px)}.card-scroll.active .body,.tech-card.active .body{color:var(--color-text-primary)}.card-scroll:focus-within,.tech-card:focus-within{outline:2px solid var(--color-primary);outline-offset:3px;border-color:var(--color-primary)}.card-scroll:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.card-scroll:hover .body{color:var(--color-text-primary);}.card-scroll .body p,.card-scroll .body li,.card-scroll .body a,.card-scroll .body span{color:inherit}@media (prefers-reduced-motion: reduce){.card-scroll,.card-scroll .body,.tech-card,.tech-card .body{transition:none !important}}.acc-shell{margin:0 auto;max-width:1920px;padding:1rem}@media (max-width: 1200px){.acc-shell{padding:1rem}}@media (min-width: 1201px){.acc-shell{padding:1.5rem}}.acc-shell .lead{margin:0;color:var(--color-text-secondary, var(--color-text-primary));max-width:75ch}.acc-list{display:block;margin:1rem 0 1.5rem}.acc-item{background:var(--color-surface) !important;border:1px solid var(--color-border) !important;border-radius:1rem !important;box-shadow:var(--shadow-md);padding:.2rem .2rem;margin:.75rem 0;transition:background .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;overflow:hidden}.acc-item>summary{list-style:none;display:flex;align-items:baseline;gap:.6rem;cursor:pointer;padding:calc(1rem - .2rem) calc(1rem - .2rem);padding-right:3rem;border-radius:calc(1rem - .2rem);color:var(--color-text-primary);position:relative;outline:none;transition:background .15s ease-in-out,color .15s ease-in-out}.acc-item>summary::after{content:"›";position:absolute;right:1rem;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--color-primary);transition:transform .15s ease-in-out,color .15s ease-in-out;font-size:1.5rem;font-weight:bold}.acc-item>summary .eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);margin-right:.25rem}.acc-item[open]{box-shadow:var(--shadow-md)}.acc-item[open]>summary{color:var(--color-primary);background:var(--color-accent-bg, rgba(0,0,0,0))}.acc-item[open]>summary::after{transform:translateY(-50%) rotate(270deg);color:var(--color-primary)}.acc-item:focus-within{outline:2px solid var(--color-primary);outline-offset:3px;border-color:var(--color-primary)}.acc-item .acc-content{padding:0 1rem 1rem 1rem;color:var(--color-text-muted);transition:color .3s ease-in-out}.acc-item .acc-content,.acc-item .acc-content p,.acc-item .acc-content li,.acc-item .acc-content a,.acc-item .acc-content span{color:inherit}.acc-item[open] .acc-content{color:var(--color-text-primary)}.acc-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}@media (prefers-reduced-motion: reduce){.acc-item,.acc-item .acc-content,.acc-item>summary::after{transition:none !important}}.pr-shell{box-sizing:border-box;margin:0 auto;max-width:1600px;width:min(90vw,1600px);padding:1rem;padding-inline:0;margin-inline:auto}@media (min-width: 1201px){.pr-shell{padding:1.5rem}}.pr-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));margin:1rem 0 1.5rem;padding-inline:clamp(1rem,4vw,2rem)}@media (min-width: 1201px){.pr-grid{gap:1.5rem}}.pr-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:calc(1rem + 0.1rem);box-shadow:var(--shadow-md);overflow:hidden;min-width:0;opacity:0;transform:translateY(20px) scale(.98);transition:opacity .3s ease-in-out,transform .3s ease-in-out,box-shadow .15s ease-in-out,border-color .15s ease-in-out;}.pr-card.is-visible{opacity:1;transform:translateY(0) scale(1)}.pr-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.pr-card .pr-eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.25rem}.pr-card .pr-title{margin:.1rem 0 .45rem;font-size:1.12rem;line-height:1.35;color:var(--color-text-primary)}.pr-card .pr-body{color:var(--color-text-muted);transition:color .3s ease-in-out}.pr-card .pr-body,.pr-card .pr-body p,.pr-card .pr-body li,.pr-card .pr-body a,.pr-card .pr-body span{color:inherit}.pr-card .pr-body p{margin:0 0 .5rem 0}.pr-card .pr-meta{display:flex;gap:.4rem;flex-wrap:wrap;margin:.35rem 0 .25rem 0;opacity:0;transform:translateY(4px);transition:opacity .15s ease-in-out,transform .15s ease-in-out}.pr-card .pr-meta .pr-badge{font-size:.75rem;line-height:1;padding:.35rem .5rem;border-radius:.5rem;background:var(--color-accent-bg);color:var(--color-text-primary);border:1px solid var(--color-border);white-space:nowrap}.pr-card:hover .pr-meta,.pr-card.is-visible .pr-meta{opacity:1;transform:translateY(0)}.pr-card .pr-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.pr-card .pr-actions .pr-toggle{background:var(--color-primary);color:var(--color-text-on-primary);border:0;border-radius:.5rem;padding:.45rem .7rem;cursor:pointer;min-height:36px;transition:filter .15s ease-in-out}.pr-card .pr-actions .pr-toggle:hover{filter:brightness(.95)}.pr-card .pr-details{--pr-maxh: 0px;max-height:var(--pr-maxh);overflow:hidden;transition:max-height .3s ease-in-out;margin-top:.5rem;border-top:none;padding-top:0;}.pr-card .pr-details .pr-tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin:.5rem 0}.pr-card .pr-details .pr-tabs button{background:rgba(0,0,0,0);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:.5rem;padding:.35rem .6rem;cursor:pointer}.pr-card .pr-details .pr-tabs button[aria-selected=true]{background:var(--color-accent-bg);border-color:var(--color-primary)}.pr-card .pr-details .pr-panels .pr-panel{display:none}.pr-card .pr-details .pr-panels .pr-panel[data-pr-panel-active=true]{display:block}.pr-card .pr-details .pr-panels p{color:var(--color-text-secondary)}.pr-card .pr-details .pr-panels pre,.pr-card .pr-details .pr-panels code{font-size:.9rem}.pr-card .pr-details .pr-panels pre{background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem;overflow:auto}.pr-card.is-expanded .pr-body{color:var(--color-text-primary)}.pr-card.is-expanded .pr-details{border-top:1px dashed var(--color-border);padding-top:.5rem;}@media (prefers-reduced-motion: reduce){.pr-card{transition:none !important;transform:none !important;opacity:1 !important}.pr-card .pr-meta{transition:none !important;transform:none !important;opacity:1 !important}.pr-card .pr-details{transition:none !important}}.pr-title,.pr-body{overflow-wrap:anywhere}@media (min-width: 1025px){.pr-grid .pr-card.is-expanded{grid-column:1/-1}}@keyframes tl-pulse{0%{opacity:.35;transform:scale(.85)}60%{opacity:0;transform:scale(1.35)}100%{opacity:0;transform:scale(1.45)}}.tl-shell{--tl-max-w: 1600px;--tl-inline-pad: 0;--tl-gap-y: 1.5rem;--tl-col-gap: 1.5rem;--tl-spine-w: 2px;--tl-node-size: 12px;--tl-node-ring: 3px;--tl-card-radius: 10px;--tl-card-pad: 1rem;--tl-detail-w: clamp(300px, 35vw, 480px);--tl-detail-pad: 1rem;--tl-detail-radius: 10px;--tl-z-detail: 10;--tl-bg: var(--color-surface);--tl-fg: var(--color-text-primary);--tl-fg-muted: var(--color-text-muted);--tl-border: var(--color-border-strong);--tl-accent-bg: var(--color-accent-bg);--tl-shadow-sm: var(--shadow-sm);--tl-shadow-md: var(--shadow-md);padding-inline:var(--tl-inline-pad);color:var(--tl-fg);}.tl-shell .tl{max-width:min(var(--tl-max-w),96vw);margin-inline:auto;position:relative;}.tl-shell .tl-spine{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:var(--tl-spine-w);background:var(--tl-border);pointer-events:none;z-index:0}.tl-shell .tl.tl--decor .tl-spine{background-image:linear-gradient(to bottom, var(--tl-border) 0 12px, rgba(0,0,0,0) 12px 24px);background-size:1px 24px;background-repeat:repeat-y;opacity:.9}.tl-shell .tl-list{list-style:none;margin:0;padding:0;display:grid;row-gap:var(--tl-gap-y)}.tl-shell .tl-item{display:grid;grid-template-columns:minmax(0, 1fr) var(--tl-spine-w) minmax(0, 1fr);column-gap:var(--tl-col-gap);align-items:start;position:relative;z-index:1}.tl-shell .tl-node{grid-column:2;justify-self:center;align-self:start;width:var(--tl-node-size);height:var(--tl-node-size);background:var(--tl-bg);border:var(--tl-node-ring) solid var(--tl-border);border-radius:999px;box-shadow:var(--tl-shadow-sm);position:relative;z-index:1;transition:all .18s cubic-bezier(.25, .1, .25, 1)}.tl-shell .tl-item:has(.tl-wrap.is-expanded) .tl-node,.tl-shell .tl-item:has(.tl-wrap[data-open=true]) .tl-node{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .3)}.tl-shell[data-pulse=true] .tl-node::after{content:"";position:absolute;inset:-8px;border-radius:999px;background:var(--tl-accent-bg);opacity:.3;animation:tl-pulse 2.8s ease-out infinite;z-index:-1}.tl-shell .tl-wrap{position:static;min-width:0;z-index:1}.tl-shell .tl-wrap[data-side=left]{grid-column:1}.tl-shell .tl-wrap[data-side=right]{grid-column:3}.tl-shell .tl-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);position:relative;margin-bottom:2rem;transition:all .25s cubic-bezier(.25, .1, .25, 1),transform .25s cubic-bezier(.25, .1, .25, 1),filter .25s cubic-bezier(.25, .1, .25, 1)}.tl-shell .tl-card:hover{box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);transform:translateY(-1px);border-color:var(--color-primary);filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}.tl-shell .tl-meta{margin:.75rem 0 .5rem}.tl-shell .tl-actions{margin-top:auto;display:flex;justify-content:flex-end;padding-top:.5rem}.tl-shell[data-io=true] .tl-card{opacity:0;transform:translateY(6px)}.tl-shell[data-io=true] .tl-card.is-visible{opacity:1;transform:translateY(0)}.tl-shell .tl-wrap.is-expanded .tl-card,.tl-shell .tl-wrap[data-open=true] .tl-card{box-shadow:0 0 0 2px var(--color-primary),0 0 12px rgba(var(--color-primary-rgb), .2),var(--tl-shadow-md);transform:translateY(-1px);}.tl-shell .tl-detail{position:absolute;top:0;width:var(--tl-detail-w);max-width:min(100vw,var(--tl-detail-w));background:var(--tl-bg);color:var(--tl-fg);border:1px solid var(--tl-border);border-radius:var(--tl-detail-radius);box-shadow:var(--tl-shadow-md);padding:var(--tl-detail-pad);overflow:auto;will-change:transform,opacity;z-index:var(--tl-z-detail);opacity:0;pointer-events:none;transform:translateX(var(--_tl-detail-off, 0));transition:transform 220ms ease,opacity 180ms ease,background-color 180ms ease,border-color 180ms ease}.tl-shell .tl-detail p,.tl-shell .tl-detail h4,.tl-shell .tl-detail .tl-detail__title,.tl-shell .tl-detail .tl-pane{color:var(--color-text-primary);}.tl-shell .tl-detail p strong{color:var(--color-text-primary);font-weight:600;}.tl-shell .tl-wrap[data-side=left]>.tl-detail{left:calc(50% + var(--tl-spine-w)/2 + var(--tl-col-gap));right:auto;--_tl-detail-off: -16px;}.tl-shell .tl-wrap[data-side=right]>.tl-detail{right:calc(50% + var(--tl-spine-w)/2 + var(--tl-col-gap));left:auto;--_tl-detail-off: 16px}.tl-shell .tl-wrap.is-expanded>.tl-detail,.tl-shell .tl-wrap[data-open=true]>.tl-detail{opacity:1;transform:translateX(0);pointer-events:auto;box-shadow:0 0 0 2px var(--color-primary),0 0 12px rgba(var(--color-primary-rgb), .15),var(--tl-shadow-md)}.tl-shell .tl-segments{display:inline-flex;gap:.5rem;margin:0 0 .75rem 0}.tl-shell .tl-segments>button{background:rgba(0,0,0,0);color:var(--color-text-secondary);border:1px solid var(--tl-border);border-radius:8px;padding:.35rem .6rem;line-height:1.2;cursor:pointer;opacity:.8;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease,opacity 160ms ease}.tl-shell .tl-segments>button[aria-pressed=true]{background:var(--tl-accent-bg);color:var(--tl-fg);border-color:var(--color-primary);opacity:1;}.tl-shell .tl-segments>button:hover{opacity:1;border-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .05);}.tl-shell .tl-segments>button:focus-visible{outline:2px solid var(--tl-fg);outline-offset:2px}.tl-shell .tl-panes{position:relative;min-height:2.5rem}.tl-shell .tl-pane{display:none}.tl-shell .tl-pane[data-active=true]{display:block}.tl-shell .tl-card .tag-list,.tl-shell .tl-detail .tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none}.tl-shell .tl-card .tag-list>li,.tl-shell .tl-detail .tag-list>li,.tl-shell .tl-card .pr-badge,.tl-shell .tl-detail .pr-badge,.tl-shell .tl-card .tl-badge,.tl-shell .tl-detail .tl-badge{display:inline-flex;align-items:center;border:1px solid var(--color-border);background:var(--color-accent-bg);color:var(--color-text-primary);border-radius:8px;padding:.2rem .6rem;font-size:.9rem;line-height:1.2;white-space:nowrap}.tl-shell .tl-toggle{--_bg: var(--color-primary);--_bg-hover: var(--color-primary-hover);--_bd: var(--color-primary);--_fg: var(--color-text-on-primary);display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.4rem .8rem;border:1px solid var(--_bd);background:var(--_bg);color:var(--_fg);border-radius:6px;font-size:.85rem;line-height:1.2;text-decoration:none;cursor:pointer;font-weight:500;min-width:2.5rem;transition:all .18s cubic-bezier(.25, .1, .25, 1);text-indent:-9999px;overflow:hidden;white-space:nowrap}.tl-shell .tl-toggle:hover{background:var(--_bg-hover);border-color:var(--_bg-hover);transform:translateY(-1px)}.tl-shell .tl-toggle:focus-visible{outline:2px solid var(--_fg);outline-offset:2px}.tl-shell .tl-toggle::before{content:"+";text-indent:0;font-size:1.2em;font-weight:bold;display:flex;align-items:center;justify-content:center;transition:all .18s cubic-bezier(.25, .1, .25, 1);line-height:1}.tl-shell .tl-wrap[data-open=true] .tl-toggle::before,.tl-shell .tl-wrap.is-expanded .tl-toggle::before{content:"−";transform:none;}.tl-shell .tl-toggle .icon{inline-size:1em;block-size:1em;display:inline-block}.tl-shell .tl-badge{font-weight:400;border-radius:12px !important;}.tl-shell .tl-detail__block+.tl-shell .tl-detail__block{margin-top:.875rem;padding-top:.875rem;border-top:1px solid var(--tl-border)}.tl-shell .tl-detail__label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.3rem}.tl-shell .tl-divider{grid-column:1/-1;display:flex;align-items:center;gap:1rem;padding-block:1rem;color:var(--color-text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tl-shell .tl-divider::before,.tl-shell .tl-divider::after{content:"";flex:1;height:1px;background:var(--tl-border)}.tl-shell .tl-shell__intro{max-width:min(var(--tl-max-w),96vw);margin-inline:auto;margin-bottom:2.5rem}.tl-shell .tl-shell__intro p{margin-bottom:.75rem;color:var(--color-text-secondary)}.tl-shell .tl-shell__intro p.lead{color:var(--color-text-primary);font-size:1.05rem}.tl-shell .tl-index{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin-top:1.25rem}.tl-shell .tl-index a{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:999px;font-size:.8rem;text-decoration:none;background:var(--tl-accent-bg);color:var(--color-text-primary);border:1px solid var(--tl-border);transition:border-color 150ms ease,background 150ms ease}.tl-shell .tl-index a:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .05)}@media (max-width: 1024px){.tl-shell{}.tl-shell .tl-item{grid-template-columns:1fr;column-gap:0}.tl-shell .tl-spine,.tl-shell .tl-node{display:none;}.tl-shell .tl-wrap{grid-column:1 !important}.tl-shell .tl-detail{position:static;width:auto;max-width:none;opacity:1;transform:none !important;pointer-events:auto;overflow:hidden;max-height:0;transition:max-height 220ms ease;margin-top:.5rem;border-width:1px;padding:var(--tl-detail-pad)}.tl-shell .tl-detail[aria-hidden=true]{border-width:0;padding-block:0;margin-top:0}.tl-shell .tl-wrap.is-expanded>.tl-detail,.tl-shell .tl-wrap[data-open=true]>.tl-detail{max-height:500px;}}.expandable-section{margin:1.5rem 0;border-left:3px solid var(--color-primary);padding-left:1.5rem;background:rgba(0,0,0,0);border-radius:0;border-top:none;border-right:none;border-bottom:none}.expandable-section summary{cursor:pointer;padding:.75rem 0;font-size:1.05rem;font-weight:600;color:var(--color-text-primary);list-style:none;transition:color .15s ease-in-out;position:relative}.expandable-section summary:hover{color:var(--color-primary)}.expandable-section summary::-webkit-details-marker{display:none}.expandable-section summary::marker{content:""}.expandable-section summary::before{content:"▸";color:var(--color-primary);margin-right:.5rem;display:inline-block;transition:transform .15s ease-in-out}.expandable-section[open] summary{margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.expandable-section[open] summary::before{transform:rotate(90deg)}.expandable-section>*:not(summary){margin-left:1.5rem}.expandable-section p:last-child,.expandable-section ul:last-child{margin-bottom:0}.comparison-table{width:100%;margin:1.5rem 0;border-collapse:collapse;background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md)}.comparison-table thead{background:var(--color-primary);color:#fff}.comparison-table thead th{padding:1rem;text-align:left;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.comparison-table tbody tr{border-bottom:1px solid var(--color-border)}.comparison-table tbody tr:last-child{border-bottom:none}.comparison-table tbody tr:hover{background:var(--color-hover)}.comparison-table tbody td{padding:.75rem 1rem;vertical-align:top}.comparison-table tbody td:first-child{font-weight:500;color:var(--color-text-primary)}@media (max-width: 768px){.comparison-table{display:block}.comparison-table thead{display:none}.comparison-table tbody,.comparison-table tr{display:block}.comparison-table tr{margin-bottom:1rem;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.comparison-table td{display:block;text-align:left;padding:.75rem 1rem}.comparison-table td::before{content:attr(data-label);font-weight:600;display:block;margin-bottom:.25rem;color:var(--color-primary)}}.tech-term{border-bottom:1px dotted var(--color-primary);cursor:help;position:relative;text-decoration:none;color:inherit}.tech-term::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--color-surface);border:1px solid var(--color-border);padding:.75rem 1rem;border-radius:.5rem;width:280px;max-width:90vw;font-size:.85rem;line-height:1.4;font-weight:400;color:var(--color-text-primary);opacity:0;pointer-events:none;transition:opacity .15s ease-in-out;box-shadow:var(--shadow-lg);z-index:1000}.tech-term::after::before{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid rgba(0,0,0,0);border-top-color:var(--color-surface)}.tech-term:hover::after,.tech-term:focus::after{opacity:1}@media (max-width: 1200px){.tech-term:active::after{opacity:1}}.chapter-summary{font-size:1.05rem;line-height:1.6;color:var(--color-text-primary);margin-bottom:1.5rem;padding:1rem 1.5rem;background:var(--color-accent-bg, rgba(0,102,204,.05));border-left:4px solid var(--color-primary);border-radius:0 .5rem .5rem 0}.chapter-summary strong{color:var(--color-primary)}.chapter-footer{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}@media (max-width: 1200px){.chapter-footer{flex-direction:column;align-items:stretch}}.chapter-footer a{display:inline-flex;align-items:center;padding:.75rem 1.25rem;border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;color:var(--color-text-primary);font-weight:500;transition:all .15s ease-in-out}.chapter-footer a:hover{border-color:var(--color-primary);background:var(--color-accent-bg);color:var(--color-primary);transform:translateX(4px)}.chapter-footer a.next-chapter{margin-left:auto}@media (max-width: 1200px){.chapter-footer a.next-chapter{margin-left:0}}.chapter-footer a.next-chapter::after{content:" →";margin-left:.5rem}.chapter-footer a.related-topic{color:var(--color-text-muted);font-size:.9rem}.chapter-footer a.related-topic:hover{color:var(--color-primary);transform:none}.chapter-footer a.related-topic::before{content:"🔗 ";margin-right:.5rem}.chapter-summary{background:var(--color-surface);border-left:4px solid var(--color-primary);padding:1.5rem;margin:2rem 0;border-radius:.5rem;box-shadow:var(--shadow-sm)}.chapter-summary h3{margin-top:0;color:var(--color-primary);font-size:1.1rem}.chapter-summary p{margin-bottom:0;line-height:1.6}@media (min-width: 1201px){.responsive-cards{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.5rem}.responsive-cards .card-item .card-title{margin-bottom:1rem;cursor:default}.responsive-cards .card-item .card-content{display:block !important}}@media (max-width: 1200px){.responsive-cards .card-item{border-left:3px solid var(--color-primary);padding-left:1rem;margin-bottom:1rem;background:var(--color-surface);border-radius:.5rem;padding:1rem}.responsive-cards .card-item:not(:last-child){margin-bottom:1.5rem}.responsive-cards .card-item .card-title{cursor:pointer;padding:.75rem 0;position:relative;user-select:none}.responsive-cards .card-item .card-title::after{content:"▸";position:absolute;right:0;color:var(--color-primary);transition:transform .15s ease-in-out}.responsive-cards .card-item.expanded .card-title::after{transform:rotate(90deg)}.responsive-cards .card-item .card-content{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out ease-out}.responsive-cards .card-item.expanded .card-content{max-height:1000px}}.doc-shell{--doc-max-w: 1200px;--doc-gap: 2rem;--toc-top: 64px;max-width:min(var(--doc-max-w),95vw);margin-inline:auto;padding:2rem 1rem;color:var(--color-text-primary)}.doc-intro{margin-bottom:1.5rem}.doc-intro h1{font-size:clamp(1.8rem,2.5vw,2.4rem);line-height:1.2;margin:0 0 .5rem 0}.doc-intro p{margin:0;color:var(--color-text-secondary)}.doc-nav{position:sticky;top:var(--toc-top);z-index:5;background:var(--color-surface);border-bottom:1px solid var(--color-border);margin:1rem 0 2rem 0}.doc-nav ul{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin:0;padding:.75rem 0;list-style:none}.doc-nav a{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;text-decoration:none;color:var(--color-text-primary);background:var(--color-accent-bg);border:1px solid var(--color-border);transition:filter .2s ease-out,border-color .2s ease-out}.doc-nav a:hover{filter:brightness(1.04)}.doc-nav a[aria-current=true]{outline:2px solid var(--color-text-primary);outline-offset:2px}.doc-nav .k-badge{display:inline-grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:999px;font-size:.85rem;background:var(--color-surface);border:1px solid var(--color-border)}.doc-section{position:relative;padding-block:3rem;border-bottom:1px dashed var(--color-border);overflow:hidden;}@media (max-width: 768px){.doc-section{padding-block:2rem}}.doc-section .doc-grid{position:relative;z-index:1}.doc-section--ghost-image::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:38%;background-image:var(--ghost-img);background-size:cover;background-position:center;opacity:.07;pointer-events:none;z-index:0;mask-image:linear-gradient(to right, #000 0%, #000 55%, rgba(0,0,0,0) 100%);-webkit-mask-image:linear-gradient(to right, #000 0%, #000 55%, rgba(0,0,0,0) 100%)}.doc-grid{display:grid;grid-template-columns:minmax(180px, 24%) minmax(0, 1fr);gap:var(--doc-gap);align-items:start}.doc-headline{align-self:start;}.doc-headline h2{margin:0;font-size:clamp(1.2rem,1.5vw,1.4rem);line-height:1.25;color:var(--color-text-primary)}.doc-headline::before{content:attr(data-sec);content:""}.doc-content{}.doc-content>*:first-child{margin-top:0}.doc-content p{margin:0 0 1rem 0;color:var(--color-text-primary)}.doc-content ul,.doc-content ol{margin:0 0 1rem 1.2rem}.doc-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1rem 0}.doc-figure{margin:1rem 0}.doc-figure img{display:block;max-width:100%;height:auto;border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm)}.doc-figure figcaption{color:var(--color-text-muted);font-size:.9rem;margin-top:.5rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem 0;padding:0;list-style:none}.pr-badge{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid var(--color-border);background:var(--color-accent-bg);color:var(--color-text-primary);border-radius:8px;padding:.2rem .6rem;font-size:.9rem;line-height:1.2}.callout{border:1px solid var(--color-border);border-left-width:4px;border-radius:8px;padding:.75rem .9rem;margin:1rem 0;background:var(--color-surface)}.callout--tip{border-left-color:var(--color-callout-tip)}.callout--note{border-left-color:var(--color-callout-note)}.callout--warn{border-left-color:var(--color-callout-warn)}.callout--success{border-left-color:var(--color-callout-success)}.k-steps{counter-reset:step;margin:0 0 1rem 0;padding:0 0 0 1.1rem}.k-steps>li{margin:.3rem 0}pre{margin:1rem 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm);padding:1rem;overflow:auto}@media (max-width: 1024px){.doc-grid{grid-template-columns:minmax(140px, 30%) 1fr}}@media (max-width: 768px){.doc-nav{top:0}.doc-grid{grid-template-columns:1fr}.doc-columns{grid-template-columns:1fr}}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}.u-full-bleed,.c-hero--edge-to-edge{width:100vw;max-width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}@supports (width: 100dvw){.u-full-bleed,.c-hero--edge-to-edge{width:100dvw;max-width:100dvw;margin-left:calc(50% - 50dvw);margin-right:calc(50% - 50dvw);left:auto;right:auto}}.c-hero{position:relative;color:var(--color-text-on-primary, #fff);background:rgba(0,0,0,0);overflow:clip;--hero-gap: .5rem;--hero-min-h: 42vh;--hero-max-h: 72vh;--hero-overlay: .15;--hero-caption-maxw: 48rem;}@supports not (overflow: clip){.c-hero{overflow:hidden}}.c-hero--below-header{margin-top:0;padding-top:0}.c-hero--under-header{margin-top:calc((var(--header-height, 100px) + var(--safe-top))*-1);padding-top:calc(var(--header-height, 100px) + var(--safe-top));z-index:calc(var(--header-z, 1020) - 1)}.c-hero__media{position:relative;display:grid;gap:var(--hero-gap);min-height:clamp(var(--hero-min-h),60vh,var(--hero-max-h));grid-template-columns:1fr;border-radius:0;transition:transform .3s cubic-bezier(.25, .46, .45, .94);will-change:transform}.c-hero__media.is-scrolled{transform:translateY(-5px) scale(1.16)}.c-hero--single{}@media (min-width: 1201px){.c-hero--split-2 .c-hero__media{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1201px){.c-hero--split-3 .c-hero__media{grid-template-columns:repeat(3, 1fr)}}.c-hero__pane{position:relative;isolation:isolate;min-height:38vh;}.c-hero__pane>img,.c-hero__pane>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focal, 50% 50%);display:block;z-index:0}.c-hero__pane::after{content:"";position:absolute;inset:0;background:rgba(255, 255, 255, var(--hero-overlay, .2));pointer-events:none;z-index:1}.c-hero--blend{margin-bottom:-6vh;position:relative;z-index:1}.c-hero__content{position:absolute;inset:0;display:grid;padding:clamp(.75rem,2vw,1.25rem);max-width:100%;z-index:20}.c-hero__content .c-hero__kicker{font-size:clamp(.8rem,1.6vw,.95rem);opacity:.9;margin-bottom:.25rem;letter-spacing:.03em;text-transform:uppercase}.c-hero__content .c-hero__title{font-size:clamp(1.5rem,4.2vw,2.5rem);line-height:1.1;margin:.25rem 0 .5rem 0;font-weight:700}.c-hero__content .c-hero__subtitle{font-size:clamp(.95rem,1.8vw,1.125rem);opacity:.95;margin:0}.c-hero__content--pos-left{justify-items:start;text-align:left;padding-inline-start:max(1rem,env(safe-area-inset-left, 0px))}.c-hero__content--pos-center{justify-items:center;text-align:center}.c-hero__content--pos-right{justify-items:end;text-align:right;padding-inline-end:max(1rem,env(safe-area-inset-right, 0px))}.c-hero__content--v-top{align-items:start}.c-hero__content--v-middle{align-items:center}.c-hero__content--v-bottom{align-items:end;padding-block-end:calc(1.25rem + var(--safe-bottom))}@media print{.c-hero{min-height:auto;background:var(--color-surface);color:var(--color-text-primary)}.c-hero__pane{min-height:auto}.c-hero__content{position:static;display:block;padding:.5rem 0}}@media (prefers-reduced-motion: reduce){.c-hero__pane::after{transition:none}}[data-theme=dark] .c-hero__pane::after{background:rgba(0, 0, 0, var(--hero-overlay, .2)) !important}[data-theme=light] .c-hero__pane::after{background:rgba(255, 255, 255, var(--hero-overlay, .2)) !important}:root{--partner-border-radius: 12px;--partner-accent-width: 4px}.partners-container{display:grid;grid-template-columns:repeat(auto-fit, minmax(clamp(300px,40vw,500px), 1fr));gap:clamp(1rem,3vw,2rem);margin:2rem 0}@media (max-width: 768px){.partners-container{grid-template-columns:1fr;gap:1rem}}.funder{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--partner-border-radius);padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06)}.funder__logo{display:flex;justify-content:center;align-items:center;width:100%;min-height:200px;margin-bottom:1.5rem;text-align:center;position:relative}.funder__logo img{max-width:90%;height:auto;max-height:250px;object-fit:contain;border-radius:8px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.funder__logo .logo-light{opacity:1;z-index:2}.funder__logo .logo-dark{opacity:0;z-index:1}.funder__content{text-align:center}.funder__name{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem;line-height:1.3}.funder__desc{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.funder__desc p:last-child{margin-bottom:0}.funder__links{list-style:none;padding:0;margin:2rem 0 0 0;display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:1rem}.funder__links li{margin:0}.funder__links a{display:flex;flex-direction:column;align-items:center;padding:0rem .75rem;background:var(--color-surface);color:var(--color-text-primary);text-decoration:none;border-radius:12px;font-weight:600;font-size:.85rem;transition:all .25s cubic-bezier(.25, .1, .25, 1),border-color .25s cubic-bezier(.25, .1, .25, 1),filter .25s cubic-bezier(.25, .1, .25, 1);border:1px solid var(--color-border);position:relative;overflow:hidden;text-align:center;line-height:1.3;min-height:80px;justify-content:center}.funder__links a::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);opacity:.8;z-index:1}.funder__links a span{position:relative;z-index:2}.funder__links a:hover{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary);transform:translateY(-4px);filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}.funder__links a:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}details.partner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--partner-border-radius);margin:0 0 1rem 0;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all .25s cubic-bezier(.25, .1, .25, 1),border-color .25s cubic-bezier(.25, .1, .25, 1),filter .25s cubic-bezier(.25, .1, .25, 1);overflow:hidden;position:relative}details.partner::before{content:"";position:absolute;top:0;left:0;bottom:0;width:var(--partner-accent-width);background:var(--color-primary);opacity:.8}details.partner:hover{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary);transform:translateY(-2px);filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}details.partner[open]{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary)}details.partner .partner__summary{display:grid;grid-template-columns:clamp(120px,20vw,200px) 1fr;grid-template-areas:"logo company" "logo role";gap:.75rem 1rem;padding:.25rem 1rem;padding-right:2rem;cursor:pointer;list-style:none;user-select:none;transition:background-color var(--partner-transition-fast);min-height:70px;position:relative}@media (max-width: 768px){details.partner .partner__summary{grid-template-columns:1fr;grid-template-areas:"logo" "company" "role";text-align:center;gap:.5rem;padding:0 1rem;padding-right:2rem;}}details.partner .partner__summary::-webkit-details-marker{display:none}details.partner[open] .partner__summary{border-bottom:1px solid var(--color-border)}details.partner .partner__summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}details.partner .partner__logo{grid-area:logo;width:clamp(140px,22vw,220px);height:clamp(100px,18vw,140px);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden;border-radius:8px;background:var(--color-white);border:1px solid var(--color-border-light)}@media (max-width: 768px){details.partner .partner__logo{width:clamp(140px,40vw,180px);height:clamp(80px,20vw,100px);justify-self:center;margin:0 auto}}details.partner .partner__logo img{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);max-width:85%;max-height:85%;width:auto;height:auto;object-fit:contain;transition:opacity .2s ease}details.partner .partner__logo img[src*=".svg"],details.partner .partner__logo img[src*=unibi]{max-width:95%;max-height:95%;width:95%;height:95%;object-fit:contain;transform:translate(-50%, -50%) scale(.9)}details.partner .partner__logo .logo-light{opacity:1;z-index:2}details.partner .partner__logo .logo-dark{opacity:0;z-index:1}details.partner .partner__text{grid-area:company;overflow:hidden;min-width:0;align-self:end}details.partner .partner__name{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){details.partner .partner__name{font-size:clamp(1.1rem,4vw,1.4rem);white-space:normal;text-align:center}}details.partner .partner__role{grid-area:role;font-size:clamp(.85rem,2vw,1rem);color:var(--color-text-secondary);margin:0;line-height:1.2;align-self:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 768px){details.partner .partner__role{font-size:clamp(.95rem,3.5vw,1.1rem);white-space:normal;text-align:center}}details.partner .partner__body{padding:0 1rem .25rem;animation:slideDown var(--partner-transition-normal) ease-out}details.partner .partner__desc{color:var(--color-text-secondary);line-height:1.6;margin-bottom:1rem}details.partner .partner__desc p:last-child{margin-bottom:0}details.partner .partner__link{margin:0}details.partner .partner__link a{color:var(--color-primary);text-decoration:none;font-weight:500;transition:all var(--partner-transition-fast)}details.partner .partner__link a:hover{color:var(--color-primary-hover);text-decoration:underline}details.partner .partner__link a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}details.partner .partner__content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}details.partner .partner__content p:first-child{margin-top:0}details.partner .partner__content p:last-child{margin-bottom:0}[data-theme=dark] details.partner .partner__logo .logo-light{opacity:0 !important}[data-theme=dark] details.partner .partner__logo .logo-dark{opacity:1 !important}[data-theme=dark] .funder .funder__logo .logo-light{opacity:0 !important}[data-theme=dark] .funder .funder__logo .logo-dark{opacity:1 !important}[data-theme=light] details.partner .partner__logo .logo-light{opacity:1 !important}[data-theme=light] details.partner .partner__logo .logo-dark{opacity:0 !important}[data-theme=light] .funder .funder__logo .logo-light{opacity:1 !important}[data-theme=light] .funder .funder__logo .logo-dark{opacity:0 !important}.divider{border:none;height:1px;background:linear-gradient(to right, rgba(0,0,0,0), var(--color-border), rgba(0,0,0,0));margin:3rem 0}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){details.partner:hover,.partner__grid a:hover{animation:none !important;filter:none !important}}.toc-media{--tile-height: clamp(160px, 32vh, 260px);--border-radius: 12px;--gap: 0.5rem;--expanded-width: clamp(320px, 38vw, 640px);--transition-duration: 420ms;--transition-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);--scrim-opacity: 0.65;margin:2rem auto;max-width:1920px;padding-inline:1rem}@media (min-width: 768px){.toc-media{padding-inline:1.5rem}}.toc-media__list{display:grid;grid-template-columns:1fr;gap:var(--gap);margin:0;padding:0;list-style:none}@media (min-width: 768px) and (pointer: fine){.toc-media__list{display:flex;gap:.25rem;block-size:var(--tile-height)}}.toc-media__item{border-radius:var(--border-radius);overflow:clip;background:var(--color-surface, #fff);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.12))}@media (min-width: 768px) and (pointer: fine){.toc-media__item{position:relative;flex:1 1 0;min-inline-size:56px;block-size:var(--tile-height);transition:flex-basis var(--transition-duration) var(--transition-ease),transform var(--transition-duration) var(--transition-ease),box-shadow 320ms ease-out}.toc-media__item:hover{transform:translateZ(0)}.toc-media__item:is(:hover,:focus-within){flex-basis:var(--expanded-width);z-index:1;box-shadow:var(--shadow-md, 0 4px 6px rgba(0,0,0,.15));transform:translateY(-1px) translateZ(0)}.toc-media__item:is(:hover,:focus-within) .toc-media__teaser{display:block;animation:fadeInUp 240ms ease-out 120ms both}}.toc-media__btn{display:grid;grid-template-columns:1fr;inline-size:100%;block-size:100%;position:relative;text-decoration:none;color:inherit;outline:none}.toc-media__btn:focus-visible{outline:2px solid var(--color-primary, #0057b8);outline-offset:3px}.toc-media__picture{position:relative;aspect-ratio:4/3;inline-size:100%;block-size:100%;display:block}@media (min-width: 768px) and (pointer: fine){.toc-media__picture{aspect-ratio:auto;block-size:100%}}.toc-media__img{inline-size:100%;block-size:100%;display:block;object-fit:cover;object-position:var(--focal, 50% 50%);border-radius:var(--border-radius)}.toc-media__overlay{position:absolute;inset-inline:0;inset-block-end:0;display:grid;gap:.25rem;padding:.75rem .9rem;color:var(--color-hero-text);background:linear-gradient(to top, rgba(0, 0, 0, var(--scrim-opacity)), rgba(0,0,0,0) 65%)}.toc-media__title{font:inherit;font-weight:700;letter-spacing:.01em;line-height:1.2;margin:0}.toc-media__teaser{font-size:.95rem;line-height:1.35;opacity:.95;margin:0;display:none}.toc-media__cta{font-weight:600;opacity:.95;display:inline-block}@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:.95;transform:translateY(0)}}[data-theme=dark] .toc-media{--scrim-opacity: 0.7}[data-theme=light] .toc-media{--scrim-opacity: 0.65}@media (prefers-reduced-motion: reduce){.toc-media{--transition-duration: 120ms;--transition-ease: ease}.toc-media__item{transition:flex-basis 120ms ease !important}.toc-media__item:is(:hover,:focus-within){transform:none !important}.toc-media__item:is(:hover,:focus-within) .toc-media__teaser{animation:none !important;display:block !important}}.toc-sticky{position:sticky;top:calc(var(--header-height, 70px) + 1rem);z-index:100;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;padding:1rem 1.5rem;margin:2rem auto;max-width:1920px;box-shadow:var(--shadow-md);transition:box-shadow .15s ease-in-out}@media (max-width: 1200px){.toc-sticky{position:relative;top:0;padding:.75rem 1rem;margin:1.5rem auto}}.toc-sticky:hover{box-shadow:var(--shadow-lg)}.toc-sticky::before{content:"📋";display:block;font-weight:600;font-size:1.5rem;color:var(--color-text-secondary);margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);text-align:center}@media (max-width: 1200px){.toc-sticky::before{font-size:1.25rem;margin-bottom:.5rem;padding-bottom:.5rem}}.toc-sticky ul{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;list-style:none;margin:0;padding:0;justify-content:center}@media (max-width: 1200px){.toc-sticky ul{flex-direction:column;gap:.5rem}}.toc-sticky li{margin:0}.toc-sticky a{display:inline-flex;align-items:center;padding:.5rem 1rem;color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:.9rem;border-radius:.5rem;transition:all .15s ease-in-out;position:relative}.toc-sticky a::before{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--color-primary);transition:width .15s ease-in-out}.toc-sticky a:hover{color:var(--color-primary);background:var(--color-hover)}.toc-sticky a:hover::before{width:80%}.toc-sticky a:focus{outline:2px solid var(--color-primary);outline-offset:2px}.toc-sticky a.active{color:var(--color-primary);background:var(--color-accent-bg);font-weight:600}.toc-sticky a.active::before{width:80%}@media (max-width: 480px){.toc-sticky{padding:.5rem .75rem}.toc-sticky a{padding:.4rem .75rem;font-size:.85rem}}.media-split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;max-width:1920px;margin:3rem auto;padding:0 2rem}@media (max-width: 768px){.media-split{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem;margin:2rem auto}}.media-split--flip .media-split__visual{order:-1}@media (max-width: 768px){.media-split--flip .media-split__visual{order:0}}.media-split__text h3{font-size:1.3rem;margin-bottom:.75rem;color:var(--color-text-primary)}.media-split__text p,.media-split__text li{font-size:1rem;line-height:1.65;color:var(--color-text-secondary)}.media-split__text .pull-quote{border-left:3px solid var(--color-primary);padding:.6rem 0 .6rem 1.2rem;margin:1.25rem 0;font-style:italic;font-size:1.1rem;color:var(--color-text-primary);line-height:1.55}.media-split__visual img{width:100%;height:auto;border-radius:10px;box-shadow:var(--shadow-sm);display:block}.media-split__visual figcaption{margin-top:.5rem;font-size:.85rem;color:var(--color-text-secondary);text-align:center;font-style:italic}.year-list{display:grid;grid-template-columns:5.5rem 1fr;column-gap:2.5rem;margin:1.5rem 0 0;position:relative}.year-list::before{content:"";position:absolute;left:6.75rem;top:0;bottom:0;width:1px;background:var(--color-border-strong);pointer-events:none;z-index:0}.year-list dt{font-size:.75rem;font-weight:700;letter-spacing:.06em;color:var(--color-primary);display:flex;align-items:flex-start;justify-content:flex-end;padding-top:.35rem;line-height:1.4;position:relative;align-self:stretch;z-index:1}.year-list dt::after{content:"";position:absolute;right:calc(-1.25rem - 4px);top:.5rem;width:8px;height:8px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-primary);z-index:2}.year-list dd{margin:0;padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px solid var(--color-border-strong);position:relative;z-index:1}.year-list dd:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.year-list__title{display:block;font-weight:600;font-size:.95rem;color:var(--color-text-primary);margin-bottom:.3rem;line-height:1.35}.year-list__desc{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;margin:0}@media (max-width: 480px){.year-list{grid-template-columns:1fr}.year-list::before{display:none}.year-list dt{align-self:auto;justify-content:flex-start;padding-top:0;padding-bottom:.15rem}.year-list dt::after{display:none}.year-list dd{padding-top:0}}.osx-news{margin-block:1.5rem}.osx-news .news-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.osx-news.teaser .news-list{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));align-items:stretch;margin-left:2rem !important;margin-right:2rem !important}.osx-news.full .news-list{grid-template-columns:1fr}.news-card{position:relative;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm);overflow:clip;display:grid;grid-template-rows:auto 1fr;height:100%;transition:all .25s cubic-bezier(.25, .1, .25, 1),border-color .25s cubic-bezier(.25, .1, .25, 1),filter .25s cubic-bezier(.25, .1, .25, 1)}.news-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--color-primary);opacity:.8;z-index:1}.news-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);filter:drop-shadow(0 0 3px var(--color-primary));animation:pcb-glow 2s ease-in-out infinite}.osx-news.full .news-card{cursor:pointer}.osx-news.teaser .news-card{grid-template-rows:auto 1fr auto;}.news-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.news-media{display:block;line-height:0;overflow:hidden;border-radius:12px 12px 0 0}.news-media img,.news-media .placeholder{width:100%;height:200px;object-fit:cover;object-position:center center;display:block;transition:transform .25s cubic-bezier(.4, 0, .2, 1)}.osx-news.teaser .news-media img,.osx-news.teaser .news-media .placeholder{height:160px;aspect-ratio:16/9}.osx-news.full .news-media img,.osx-news.full .news-media .placeholder{height:240px;aspect-ratio:21/9}.osx-news.full .news-media a{display:block;line-height:0}.osx-news.full .news-media a img{width:100%;height:240px;aspect-ratio:21/9;object-fit:cover;object-position:center center;display:block;transition:transform .25s cubic-bezier(.4, 0, .2, 1)}.news-media .placeholder{background:linear-gradient(135deg, #cbd5e1, #e2e8f0);opacity:.5}.news-media .pattern-placeholder{width:100%;height:200px;background-color:var(--color-surface);border:none;opacity:.8;transition:opacity .3s ease-in-out;position:relative;display:block}.osx-news.teaser .news-media .pattern-placeholder{height:160px;aspect-ratio:16/9}.osx-news.full .news-media .pattern-placeholder{height:240px;aspect-ratio:21/9}.news-media .pattern-dots{background-color:var(--color-surface);position:relative}.news-media .pattern-grid{background-color:var(--color-surface);position:relative}.news-media .pattern-diagonal{background-color:var(--color-surface);position:relative}.news-media .pattern-crosshatch{background-color:var(--color-surface);position:relative}.news-media .pattern-waves{background-color:var(--color-surface);position:relative}.news-media .pattern-placeholder::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg, var(--color-primary) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 70%, var(--color-secondary) 100%);opacity:.05;pointer-events:none;z-index:2;}.news-media .pattern-placeholder::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-primary) 1.5px, rgba(0,0,0,0) 1.5px),linear-gradient(to bottom, var(--color-primary) 1.5px, rgba(0,0,0,0) 1.5px);background-size:32px 32px;opacity:.3;-webkit-mask-image:radial-gradient(ellipse 75% 75% at 100% 0%, #000 50%, rgba(0,0,0,0) 82%);mask-image:radial-gradient(ellipse 75% 75% at 100% 0%, #000 50%, rgba(0,0,0,0) 82%)}.news-media .pattern-dots::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-primary) 1px, rgba(0,0,0,0) 1px),linear-gradient(to bottom, var(--color-primary) 1px, rgba(0,0,0,0) 1px);background-size:22px 22px;opacity:.25;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 100% 0%, #000 35%, rgba(0,0,0,0) 75%);mask-image:radial-gradient(ellipse 80% 70% at 100% 0%, #000 35%, rgba(0,0,0,0) 75%)}.news-media .pattern-grid::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-secondary) 2px, rgba(0,0,0,0) 2px),linear-gradient(to bottom, var(--color-secondary) 2px, rgba(0,0,0,0) 2px);background-size:34px 34px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 65% 85% at 100% 0%, #000 55%, rgba(0,0,0,0) 85%);mask-image:radial-gradient(ellipse 65% 85% at 100% 0%, #000 55%, rgba(0,0,0,0) 85%)}.news-media .pattern-diagonal::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-accent) 1.5px, rgba(0,0,0,0) 1.5px),linear-gradient(to bottom, var(--color-accent) 1.5px, rgba(0,0,0,0) 1.5px);background-size:20px 20px;opacity:.28;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 100% 0%, #000 40%, rgba(0,0,0,0) 78%);mask-image:radial-gradient(ellipse 80% 60% at 100% 0%, #000 40%, rgba(0,0,0,0) 78%)}.news-media .pattern-crosshatch::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-primary) 1.5px, rgba(0,0,0,0) 1.5px),linear-gradient(to bottom, var(--color-primary) 1.5px, rgba(0,0,0,0) 1.5px);background-size:26px 26px;opacity:.32;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 100% 0%, #000 60%, rgba(0,0,0,0) 88%);mask-image:radial-gradient(ellipse 70% 90% at 100% 0%, #000 60%, rgba(0,0,0,0) 88%);background-color:var(--color-surface)}.news-media .pattern-waves::after{content:"";position:absolute;inset:0;z-index:1;background-image:linear-gradient(to right, var(--color-secondary) 1px, rgba(0,0,0,0) 1px),linear-gradient(to bottom, var(--color-secondary) 1px, rgba(0,0,0,0) 1px);background-size:40px 40px;opacity:.22;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 100% 0%, #000 30%, rgba(0,0,0,0) 72%);mask-image:radial-gradient(ellipse 85% 75% at 100% 0%, #000 30%, rgba(0,0,0,0) 72%)}.osx-news.teaser .news-body{display:grid;grid-template-rows:auto auto 1fr;padding:1rem 1rem 1.125rem;min-height:0;}.osx-news.teaser .news-desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;-webkit-mask-image:linear-gradient(#000 80%, rgba(0,0,0,0));mask-image:linear-gradient(#000 80%, rgba(0,0,0,0))}.osx-news.teaser .stretched-link{position:absolute;inset:0;z-index:1;text-indent:-9999px;overflow:hidden;white-space:nowrap}.news-card:hover .news-media img,.osx-news.full .news-card:hover .news-media a img{transform:scale(1.02)}@media (prefers-reduced-motion: reduce){.news-media img,.osx-news.full .news-media a img{transition:none !important;transform:none !important}}.news-body{padding:.75rem .75rem 1rem}.osx-news.full .news-body{padding:.5rem .75rem .5rem !important;}.news-header{display:grid;gap:.125rem;margin-bottom:.5rem}.osx-news.full .news-header{gap:0 !important;margin-bottom:.125rem !important;}.news-date{font-size:.875rem;color:var(--color-text-secondary)}.osx-news.full .news-date{text-align:left !important;align-self:start}.news-title{font-size:clamp(1.05rem,1.2vw + 1rem,1.35rem);line-height:1.25;margin:0}.osx-news.teaser .news-title{text-align:left !important;align-self:start}.osx-news.full .news-title{font-size:clamp(1.25rem,1.6vw + 1rem,1.75rem);line-height:1.3;margin:0 !important;text-align:left !important;align-self:start}.osx-news.full h4.news-title{margin-top:0 !important;margin-bottom:0 !important}.news-title a{color:inherit;text-decoration:none}.news-title a:hover,.news-title a:focus{text-decoration:underline}.osx-news.full .news-expandable{margin-top:.375rem !important;position:relative}.osx-news.full .expand-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.osx-news.full .news-text{color:var(--color-text-primary);margin:0;padding:0;position:relative;transition:all .45s cubic-bezier(.23, 1, .32, 1)}.osx-news.full .expand-toggle:not(:checked)+.news-text{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 60%, rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom, #000 0%, #000 60%, rgba(0,0,0,0) 100%)}.osx-news.full .expand-toggle:checked+.news-text{display:block;-webkit-mask-image:none;mask-image:none}.osx-news.full .expand-button{position:absolute;bottom:0;right:0;background:linear-gradient(to left, var(--color-surface) 70%, rgba(0,0,0,0));padding:.25rem .5rem .25rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-text-secondary);border:none;transition:all .2s ease-out;z-index:1}.osx-news.full .expand-button:hover{color:var(--color-primary)}.osx-news.full .expand-toggle:not(:checked)~.expand-button .expanded{display:none}.osx-news.full .expand-toggle:checked~.expand-button .collapsed{display:none}.osx-news.full .expand-toggle:checked~.expand-button{position:static;background:rgba(0,0,0,0);padding:.5rem 0 0 0;justify-content:flex-end}.osx-news.full .chevron{display:inline-block;font-size:1.2rem;font-weight:bold;line-height:1;color:var(--color-primary);transform:rotate(90deg);transition:transform .45s cubic-bezier(.23, 1, .32, 1),color .45s cubic-bezier(.23, 1, .32, 1)}.osx-news.full .chevron::before{content:"›"}.osx-news.full .expand-toggle:checked~.expand-button .chevron{transform:rotate(270deg)}.osx-news.full .expand-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.news-desc p,.news-preview p,.news-desc-full p{margin:.25rem 0 0 0}.news-tags{margin-top:.5rem}.osx-news.full .news-tags{margin-top:1rem !important;}.osx-news.full .news-tags ul{margin:0 !important;margin-block-start:0 !important;margin-block-end:0 !important}.news-tags ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.news-tags .tag{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:var(--color-accent-bg);color:var(--color-text-primary);border:1px solid var(--color-border);font-size:.75rem;line-height:1}.news-card:hover{box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary);transform:translateY(-4px);transition:all .25s cubic-bezier(.25, .1, .25, 1)}.osx-news.full .news-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary)}.osx-news.full .news-card:has(.expand-toggle:checked){box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);border-color:var(--color-primary)}@media (prefers-reduced-motion: reduce){.news-card,.news-summary .chevron{transition:none !important;transform:none !important}}.news-gallery-item img.zoomable{cursor:zoom-in;transition:transform .25s cubic-bezier(.25, .1, .25, 1),box-shadow .25s cubic-bezier(.25, .1, .25, 1),opacity .25s cubic-bezier(.25, .1, .25, 1);border-radius:8px}.news-gallery-item img.zoomable:hover{transform:scale(1.02);box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);opacity:.95}.news-gallery-item img.zoomable:active{transform:scale(.98)}.news-view-all{display:flex;justify-content:center;margin-top:2.5rem;margin-bottom:1rem}.btn-view-all{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:var(--color-surface);color:var(--color-primary);font-weight:600;font-size:1.125rem;text-decoration:none;border-radius:12px;border:2px solid var(--color-primary);box-shadow:0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06);transition:all .25s cubic-bezier(.25, .1, .25, 1);position:relative;overflow:hidden}.btn-view-all::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, var(--color-accent-bg) 0%, rgba(0,0,0,0) 100%);opacity:.3;transition:opacity .25s cubic-bezier(.25, .1, .25, 1);z-index:0}.btn-view-all .btn-text,.btn-view-all .btn-icon{position:relative;z-index:1}.btn-view-all .btn-icon{transition:transform .25s cubic-bezier(.25, .1, .25, 1)}.btn-view-all:hover{background:var(--color-accent-bg-hover);border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 10px 15px rgba(0,0,0,.1),0 4px 6px rgba(0,0,0,.05);transform:translateY(-2px)}.btn-view-all:hover::before{opacity:.7}.btn-view-all:hover .btn-icon{transform:translateX(4px)}.btn-view-all:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.btn-view-all:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}@media (max-width: 768px){.btn-view-all{padding:.875rem 1.75rem;font-size:1rem}}.news-gallery{display:grid;gap:1rem;margin-top:1.5rem;grid-template-columns:1fr}@media (min-width: 640px){.news-gallery{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1024px){.news-gallery{grid-template-columns:repeat(3, 1fr)}}.news-gallery-item{margin:0;padding:0;border-radius:8px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);transition:all .25s cubic-bezier(.25, .1, .25, 1)}.news-gallery-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.news-gallery-item img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}.news-gallery-item figcaption{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.4}.news-gallery:has(.news-gallery-item:only-child){grid-template-columns:1fr}.news-gallery:has(.news-gallery-item:only-child) .news-gallery-item img{aspect-ratio:21/9}.pubs{margin-block:1.5rem}.pubs__section-title{margin-bottom:1rem;color:var(--color-text-primary)}.pubs__year-section{margin-top:2rem}.pubs__year-section:first-child{margin-top:0}.pubs__year{margin-top:1.25rem;margin-bottom:.75rem;font-weight:600;font-size:1.125rem;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:.25rem}.pub-list,.talk-list{margin:0;padding-left:1.2rem;list-style:none;counter-reset:pub-counter}.pub-list .pub-item{counter-increment:pub-counter}.pub-list .pub-item::before{content:"[" counter(pub-counter) "]";font-weight:600;color:var(--color-text-secondary);margin-right:.5rem}.talk-list .talk-item{counter-increment:pub-counter}.talk-list .talk-item::before{content:"[" counter(pub-counter) "]";font-weight:600;color:var(--color-text-secondary);margin-right:.5rem}.pub-item,.talk-item{margin-bottom:1rem;line-height:1.6}.pub-item:last-child,.talk-item:last-child{margin-bottom:0}.pub-entry,.talk-entry{display:block}.pub-citation,.talk-citation{margin-bottom:.25rem}.pub-authors,.talk-authors{color:var(--color-text-primary);font-weight:500}.pub-year{color:var(--color-text-primary);font-weight:600}.pub-title{color:var(--color-text-primary);font-style:italic;font-weight:600}.talk-title{color:var(--color-text-primary);font-weight:600}.talk-date{color:var(--color-text-secondary);font-weight:500}.pub-venue,.talk-venue{color:var(--color-text-secondary)}.talk-venue-info{color:var(--color-text-secondary);font-size:.925rem;margin-bottom:.25rem}.talk-location{font-style:italic}.pub-pages{color:var(--color-text-secondary);font-size:.925rem}.pub-meta,.talk-meta{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.pub-links,.talk-links{display:flex;flex-wrap:wrap;gap:.5rem}.pub-links a,.talk-links a{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .875rem;border-radius:8px;text-decoration:none;background:var(--color-accent-bg);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:.8125rem;font-weight:500;transition:all .2s ease-out;min-width:fit-content}.pub-links a:hover,.pub-links a:focus,.talk-links a:hover,.talk-links a:focus{background:var(--color-accent-bg-hover);border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pub-links a:focus-visible,.talk-links a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pub-tags,.talk-tags{display:flex;flex-wrap:wrap;gap:.25rem}.pub-tag,.talk-tag{padding:.1rem .4rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary)}details.pub-abs{margin-top:.5rem}details.pub-abs>summary{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;transition:all .2s ease-out}details.pub-abs>summary:hover{background:var(--color-accent-bg);border-color:var(--color-primary)}details.pub-abs>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}details.pub-abs[open]>summary .chev{transform:rotate(45deg)}.chev{width:.8rem;height:.8rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s ease}.pub-abs__body{margin-top:.5rem;padding:.75rem;background:var(--color-accent-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:.925rem;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width: 768px){.pubs{margin-block:1rem}.pub-list,.talk-list{padding-left:.8rem}.pub-meta,.talk-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.pub-links,.talk-links{width:100%}}@media (prefers-reduced-motion: reduce){.chev,.pub-links a,.talk-links a,details.pub-abs>summary{transition:none}.pub-links a:hover,.talk-links a:hover{transform:none}}.demo-anti-pinch{width:100%;margin:2rem auto}.demo-anti-pinch .demo-top-row{display:flex;gap:.75rem;align-items:stretch;width:100%;background:var(--color-surface);padding:1.25rem;border-radius:16px;box-shadow:var(--shadow-card, 0 4px 12px rgba(0,0,0,.15));border:1px solid var(--color-border);margin-bottom:1rem}.demo-anti-pinch .demo-top-row h3{color:var(--color-text-secondary);margin:0;font-size:clamp(.8rem,2vw,1rem);white-space:nowrap;writing-mode:vertical-lr;transform:rotate(180deg);letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;display:flex;align-items:center;justify-content:center}.demo-anti-pinch .demo-svg-wrap{flex:1;min-width:0}.demo-anti-pinch .window-svg{width:100%;height:auto;max-width:800px;max-height:40vh;border:1px solid var(--color-border);border-radius:10px;background:var(--color-accent-bg);display:block;transition:background-color .3s ease}.demo-anti-pinch .rubber-gasket{fill:#1e1e1e;opacity:.72;stroke:#111;stroke-width:.5;pointer-events:none}.demo-anti-pinch .demo-sidebar{display:flex;gap:.75rem;align-items:stretch;flex-shrink:0}.demo-anti-pinch .demo-controls{display:flex;flex-direction:column;gap:.75rem}.demo-anti-pinch .demo-btn{color:#fff;border:none;flex:1;padding:.75rem 1.25rem;border-radius:8px;font-size:clamp(.8rem,1.8vw,.95rem);font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.25, .1, .25, 1);min-width:72px;font-family:inherit;white-space:nowrap}.demo-anti-pinch .demo-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md, 0 4px 6px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.06))}.demo-anti-pinch .demo-btn:active{transform:translateY(0)}.demo-anti-pinch .demo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.demo-anti-pinch .demo-btn--up{background:#c0392b}.demo-anti-pinch .demo-btn--up:hover:not(:disabled){background:#a93226}.demo-anti-pinch .demo-btn--down{background:#27ae60}.demo-anti-pinch .demo-btn--down:hover:not(:disabled){background:#229954}.demo-anti-pinch .demo-auto-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;justify-content:center;transition:opacity .2s ease}.demo-anti-pinch .demo-auto-toggle:has(input:disabled){opacity:.35;pointer-events:none;cursor:not-allowed}.demo-anti-pinch .demo-auto-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.demo-anti-pinch .demo-auto-toggle__track{position:relative;width:36px;height:20px;background:var(--color-border);border-radius:10px;transition:background-color .25s ease;flex-shrink:0}.demo-anti-pinch .demo-auto-toggle__track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .25s ease;box-shadow:0 1px 3px rgba(0,0,0,.2)}.demo-anti-pinch .demo-auto-toggle input:checked+.demo-auto-toggle__track{background:var(--color-primary)}.demo-anti-pinch .demo-auto-toggle input:checked+.demo-auto-toggle__track::after{transform:translateX(16px)}.demo-anti-pinch .demo-auto-toggle__label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.demo-anti-pinch .demo-slider-container{display:flex;flex-direction:column;align-items:center;justify-content:stretch;padding:.6rem .5rem;background:var(--color-accent-bg);border-radius:8px;border:1px solid var(--color-border);transition:background-color .3s ease;min-width:52px}.demo-anti-pinch .demo-slider-label{font-size:.7rem;color:var(--color-text-primary);font-weight:600;writing-mode:vertical-lr;text-orientation:mixed;white-space:nowrap;margin-bottom:.4rem}.demo-anti-pinch .demo-value-display{font-weight:700;color:var(--color-primary)}.demo-anti-pinch input[type=range]{writing-mode:vertical-lr;direction:rtl;width:6px;flex:1;min-height:80px;border-radius:5px;background:var(--color-border);outline:none;-webkit-appearance:slider-vertical;transition:opacity .2s ease}.demo-anti-pinch input[type=range]:disabled{opacity:.35;cursor:not-allowed}.demo-anti-pinch input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer}.demo-anti-pinch input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.demo-anti-pinch .demo-slider-container.demo-state--pinch,.demo-anti-pinch .demo-svg-wrap.demo-state--pinch .window-svg{background:#ffb3b3}.demo-anti-pinch .demo-slider-container.demo-state--stall{background:#f5e6b3}.demo-anti-pinch .demo-slider-container.demo-state--up{background:#b3d9ff}.demo-anti-pinch .demo-slider-container.demo-state--down{background:#b3f0b3}.demo-anti-pinch .demo-graph-panel{display:flex;gap:.75rem;align-items:stretch;background:var(--color-surface);padding:1.25rem;border-radius:16px;box-shadow:var(--shadow-card, 0 4px 12px rgba(0,0,0,.15));border:1px solid var(--color-border);width:100%}.demo-anti-pinch .demo-graph-panel h3{color:var(--color-text-secondary);margin:0;font-size:clamp(.8rem,2vw,1rem);white-space:nowrap;writing-mode:vertical-lr;transform:rotate(180deg);letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;display:flex;align-items:center;justify-content:center}.demo-anti-pinch .demo-graph-content{flex:1;min-width:0;text-align:center}.demo-anti-pinch .demo-graph-canvas{width:100%;aspect-ratio:3/1;border:1px solid var(--color-border);border-radius:10px;background:var(--color-accent-bg);display:block}.demo-anti-pinch .demo-readout{margin-top:.65rem;font-size:clamp(.8rem,2vw,.95rem);color:var(--color-text-primary);font-weight:600;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;justify-content:center}.demo-anti-pinch .demo-readout span{font-size:clamp(.85rem,2.5vw,1.1rem);font-variant-numeric:tabular-nums;display:inline-block;min-width:3.5ch;text-align:right}.demo-anti-pinch .clr-current{color:#e74c3c}.demo-anti-pinch .clr-position{color:#3498db}.demo-anti-pinch .clr-rpwm{color:#f39c12}.demo-anti-pinch .clr-lpwm{color:#27ae60}@media (max-width: 768px){.demo-anti-pinch .demo-top-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:.75rem;align-items:stretch}.demo-anti-pinch .demo-top-row h3{grid-column:1/-1;writing-mode:horizontal-tb;transform:none;text-align:center}.demo-anti-pinch .demo-svg-wrap{grid-column:1;grid-row:2}.demo-anti-pinch .demo-sidebar{display:contents}.demo-anti-pinch .demo-controls{grid-column:2;grid-row:2;flex-direction:column;justify-content:center}.demo-anti-pinch .demo-slider-container{grid-column:1/-1;grid-row:3;flex-direction:row;min-width:unset;width:100%;padding:.5rem 1rem}.demo-anti-pinch .demo-slider-label{writing-mode:horizontal-tb;text-orientation:initial;margin-bottom:0;margin-right:.5rem}.demo-anti-pinch input[type=range]{writing-mode:horizontal-tb;direction:ltr;-webkit-appearance:none;width:100%;height:6px;min-height:unset;flex:unset}.demo-anti-pinch .demo-graph-panel{flex-direction:column;align-items:center}.demo-anti-pinch .demo-graph-panel h3{writing-mode:horizontal-tb;transform:none;text-align:center}.demo-anti-pinch .demo-graph-canvas{aspect-ratio:2/1}}[data-theme=dark] .demo-anti-pinch .demo-top-row,[data-theme=dark] .demo-anti-pinch .demo-graph-panel{box-shadow:var(--shadow-card, 0 4px 12px rgba(0,0,0,.3))}[data-theme=dark] .demo-anti-pinch .demo-btn--up{background:#e74c3c}[data-theme=dark] .demo-anti-pinch .demo-btn--up:hover:not(:disabled){background:#c0392b}[data-theme=dark] .demo-anti-pinch .demo-btn--down{background:#2ecc71}[data-theme=dark] .demo-anti-pinch .demo-btn--down:hover:not(:disabled){background:#27ae60}[data-theme=dark] .demo-anti-pinch .demo-slider-container.demo-state--pinch,[data-theme=dark] .demo-anti-pinch .demo-svg-wrap.demo-state--pinch .window-svg{background:#6b2020}[data-theme=dark] .demo-anti-pinch .demo-slider-container.demo-state--stall{background:#5c4a1a}[data-theme=dark] .demo-anti-pinch .demo-slider-container.demo-state--up{background:#1a3d6b}[data-theme=dark] .demo-anti-pinch .demo-slider-container.demo-state--down{background:#1a5c33}