@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.BvS7Xa_className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.BvS7Xa_variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2njitm-prmz2_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.38hmww4cj4vme.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.12_ml6bnugnre.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2yee423r7ahpo.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}._33nStq_className{font-family:DM Mono,DM Mono Fallback;font-style:normal}._33nStq_variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--cv-ring-angle:0deg}}}@layer theme{:root,:host{--font-mono:var(--font-dm-mono);--color-black:#000;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-dm-sans);--default-mono-font-family:var(--font-dm-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.hub{--hub-size:min(78dvh, 90vmin, 40rem, calc(100dvh - 8rem));--hub-ring:calc(var(--hub-size) * .42);--hub-logo:calc(var(--hub-size) * .33);--hub-node:max(3.6rem, calc(var(--hub-size) * .175));justify-content:center;align-items:center;display:flex}.hub__ring{width:var(--hub-size);height:var(--hub-size);position:relative}.hub__flare{width:calc(var(--hub-logo) * .5);height:calc(var(--hub-logo) * .5);background:radial-gradient(circle,#e2f0fff2 0%,#96beff73 45%,#5078dc00 100%);border-radius:9999px;animation:1.25s cubic-bezier(.2,.7,.2,1) both hub-flare;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub__ripple{width:calc(var(--hub-ring) * 2);height:calc(var(--hub-ring) * 2);border:1px solid #b4d2ff80;border-radius:9999px;animation:1.9s cubic-bezier(.2,.7,.2,1) .62s both hub-ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 40px #8cb4ff40}.hub__logo-halo{width:calc(var(--hub-logo) * 2.4);height:calc(var(--hub-logo) * 2.4);background:radial-gradient(circle,#78a5ff29 0%,#5a82e60f 40%,#14285a00 72%);border-radius:9999px;animation:.9s ease-out .3s both hub-fade-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub__logo{width:var(--hub-logo);height:var(--hub-logo);color:#fff;animation:1.1s cubic-bezier(.16,.9,.24,1) both hub-logo-in,5s ease-in-out 1.1s infinite hub-logo-heartbeat;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub__logo .logo-mark__shape{transition:filter .32s}.hub__logo-button:hover .logo-mark__shape,.hub__logo-button:focus-visible .logo-mark__shape,.hub__logo-button[data-state=awake] .logo-mark__shape{filter:drop-shadow(0 0 20px #649bff7a)drop-shadow(0 0 42px #9b5cff52)}.hub__logo-button{width:var(--hub-logo);height:var(--hub-logo);cursor:pointer;background:0 0;border:0;border-radius:9999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub__logo-button:focus-visible{outline-offset:6px;outline:2px solid #bed7ffbf}.hub__logo-button[aria-disabled=true]{cursor:default}.hub__logo-button[data-state=awake] .hub__logo{animation-play-state:running,paused}.logo-mark__edge-run{opacity:0;stroke-dashoffset:0;filter:drop-shadow(0 0 8px #cedcffe6)}.logo-mark__edge[data-lit=on] .logo-mark__edge-run{animation:3.2s linear both logo-edge-run}.hub__thought{--hub-thought-size:clamp(.6rem, 2.4vmin, .85rem);top:calc(50% + var(--hub-logo) * .56);width:max-content;max-width:min(94%,32rem);font-family:var(--font-mono);font-size:calc(var(--hub-thought-size) * var(--hub-thought-fit,1));letter-spacing:.06em;text-align:center;white-space:nowrap;color:#d8e7ffe0;text-shadow:0 0 16px #78a5ff8c;pointer-events:none;margin:0;line-height:1.45;position:absolute;left:50%;transform:translate(-50%)}.hub__thought[data-fit=wrapped]{white-space:normal}.hub__thought[data-phase=approach]{opacity:0}.hub__thought[data-phase=approach] .hub__thought-cell{opacity:0;filter:blur(5px);transform:translateY(4px)}.hub__thought[data-phase=resolving] .hub__thought-cell{opacity:0;filter:blur(5px);transition:opacity .2s ease-out,filter .2s ease-out,transform .2s ease-out;transform:translateY(4px)}.hub__thought[data-phase=resolving] .hub__thought-cell[data-shown=true]{opacity:1;filter:blur();transform:translateY(0)}.hub__thought[data-phase=scrambling] .hub__thought-cell{opacity:1;filter:blur();transition:opacity .29s ease-in,filter .29s ease-in,transform .29s ease-in;transform:translate(0)}.hub__thought[data-phase=scrambling] .hub__thought-cell[data-shown=false]{opacity:0;filter:blur(7px);transform:translate(var(--cell-dx,0px), var(--cell-dy,0px))}.hub__thought[data-effect=chromatic-echo][data-phase=chromatic-in]{animation:hub-chroma-in var(--hub-chroma-in,.82s) steps(8, end) both}.hub__thought[data-effect=chromatic-echo][data-phase=chromatic-out]{animation:hub-chroma-out var(--hub-chroma-out,.65s) steps(7, end) both}.hub__thought-cell{text-align:center;width:1ch;display:inline-block}.hub__orbit{width:calc(var(--hub-ring) * 2);height:calc(var(--hub-ring) * 2);pointer-events:none;border:1px solid #aac8ff1a;border-radius:9999px;animation:1.2s ease-out 1.5s both hub-fade-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hub__orbit--outer{width:calc(var(--hub-ring) * 2 + var(--hub-node) * 1.35);height:calc(var(--hub-ring) * 2 + var(--hub-node) * 1.35);border:1px dashed #aac8ff17;animation:1.4s ease-out 1.8s both hub-fade-in,120s linear infinite hub-orbit-spin}.hub__orbit--outer[data-pointer-active=true]{animation:1.4s ease-out 1.8s both hub-fade-in}.hub__orbit-light{background:#d6e8ff;border-radius:9999px;width:5px;height:5px;margin-left:-2.5px;position:absolute;top:-3px;left:50%;box-shadow:0 0 8px 2px #96beffd9,0 0 22px 6px #5fd6c259}.hub__orbit--outer[data-pointer-active=true] .hub__orbit-light{transform:translate(calc(-50% + var(--hub-light-x,0px)), calc(-50% + var(--hub-light-y,0px)));margin:0;top:50%;left:50%}.hub-node{width:var(--hub-node);height:var(--hub-node);transform:translate(-50%, -50%) rotate(var(--hub-angle)) translateY(calc(-1 * var(--hub-ring))) rotate(calc(-1 * var(--hub-angle)));animation:.78s cubic-bezier(.18,.9,.2,1) both hub-node-in;animation-delay:var(--hub-delay);position:absolute;top:50%;left:50%}.hub-node__drift{width:100%;height:100%;animation:6.5s ease-in-out infinite alternate hub-drift;animation-delay:var(--hub-drift-delay)}.hub-node:hover .hub-node__drift,.hub-node:focus-within .hub-node__drift{animation-play-state:paused}.hub-node:hover,.hub-node:focus-within{z-index:2}.hub-node__button{align-items:center;gap:calc(var(--hub-node) * .07);width:100%;height:100%;padding:calc(var(--hub-node) * .16);color:#e2ecff;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(circle at 50% 30%,#4060aa66 0%,#0a10229e 65%),#060a168c;border:1px solid #bed7ff38;border-radius:9999px;flex-direction:column;transition:border-color .32s,box-shadow .32s,color .32s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #78a0f014,0 12px 30px #0206148c}.hub-node__button:hover,.hub-node__button:focus-visible{color:#fff;border-color:#d6dcffb8;box-shadow:0 0 20px #649bff7a,0 0 42px #9b5cff52,0 12px 30px #0206148c}.hub-node__button:focus-visible{outline-offset:3px;outline:2px solid #e2f0ffd9}.hub-node__button:focus:not(:focus-visible){outline:none}.hub-node__description{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hub-node__disc{transition:transform .32s cubic-bezier(.2,.9,.25,1)}.hub-node__button:hover .hub-node__disc,.hub-node__button:focus-visible .hub-node__disc{transform:translateY(-2px)scale(1.08)}.hub-node__button[data-state=activating]{animation:.46s cubic-bezier(.2,.9,.25,1) both hub-lunge}.hub-node__button[data-state=activating],.hub-node__button[data-state=active]{color:#fff;border-color:#e2f0ffbf;box-shadow:0 0 26px #96beff73,inset 0 0 0 1px #bed7ff40,0 12px 30px #0206148c}.hub-node__pulse{opacity:0;border:1px solid #c6deffb3;border-radius:9999px;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6)}.hub-node__button[data-state=activating] .hub-node__pulse{animation:.52s ease-out both hub-pulse}.hub-node__disc{aspect-ratio:1;justify-content:center;align-items:center;width:52%;display:flex}.hub-node__icon{width:100%;height:100%}.hub-node__label{font-size:clamp(.56rem, calc(var(--hub-size) * .0215), .82rem);text-align:center;text-shadow:0 1px 8px #040a1acc;font-weight:500;line-height:1.1}.hub-panel__backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0306108c;animation:.26s ease-out both hub-fade-in;position:fixed;inset:0}.hub-panel{z-index:30;width:min(94vw,50rem);animation:.46s cubic-bezier(.16,.9,.24,1) both hub-panel-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.hub-panel__surface{color:#dee8fa;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 20% 0,#344e9673 0%,#090e1edb 55%),#050914db;border:1px solid #bed7ff33;border-radius:1.25rem;flex-direction:column;max-height:min(82vh,40rem);padding:clamp(1.1rem,2.4vmin,1.75rem);display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #78a0f00f,0 30px 80px #01040eb3}.hub-panel__surface:focus-visible{outline:1px solid #bed7ff80}.hub-panel__header{border-bottom:1px solid #bed7ff24;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.9rem;display:flex}.hub-panel__heading{align-items:center;gap:.85rem;min-width:0;display:flex}.hub-panel__badge{color:#d6e6ff;background:radial-gradient(circle at 30% 20%,#78a5ff59,#0000 70%),#101c3acc;border:1px solid #96beff59;border-radius:.8rem;flex:none;place-items:center;width:2.6rem;height:2.6rem;display:grid;box-shadow:0 0 22px #5a8cff38}.hub-panel__badge svg{width:1.35rem;height:1.35rem}.hub-panel__title{color:#fff;margin:0;font-size:clamp(1.15rem,2.8vmin,1.5rem);font-weight:500;line-height:1.25}.hub-panel__subtitle{color:#c6d6f0c7;margin:.3rem 0 0;font-size:clamp(.85rem,1.9vmin,.95rem);line-height:1.5}.hub-panel__close{color:#d6e6ff;cursor:pointer;background:#0c142a99;border:1px solid #bed7ff38;border-radius:9999px;flex:none;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:border-color .2s,color .2s,box-shadow .2s;display:flex}.hub-panel__close svg{width:1.1rem;height:1.1rem}.hub-panel__close:hover,.hub-panel__close:focus-visible{color:#fff;border-color:#d6e8ff99;outline:none;box-shadow:0 0 18px #78a5ff59}.hub-panel__categories{background:#0a122699;border:1px solid #bed7ff29;border-radius:1.3rem;flex-wrap:wrap;flex-shrink:0;gap:.25rem;margin-top:.9rem;padding:.25rem;display:flex}.hub-panel__category{white-space:nowrap;color:#c6d6f0c7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9999px;flex:1 0 auto;padding:.45rem .9rem;font-size:clamp(.78rem,1.8vmin,.86rem);font-weight:500;line-height:1.3;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}.hub-panel__category:hover,.hub-panel__category:focus-visible{color:#fff;outline:none}.hub-panel__category:focus-visible{border-color:#d6e8ff8c;box-shadow:0 0 18px #78a5ff59}.hub-panel__category[data-active=true]{color:#fff;background:linear-gradient(#466ec88c,#26428499);border-color:#96beff73;box-shadow:0 6px 18px #2850b459}.hub-panel__category-body:focus-visible{outline-offset:.4rem;outline:1px solid #bed7ff66}.hub-panel__body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#96b4f052 transparent;flex-direction:column;flex:auto;gap:.9rem;min-height:0;margin:0 -.4rem;padding:1.1rem .4rem 1.2rem;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 .9rem calc(100% - 1.1rem),#0000 100%);mask-image:linear-gradient(#0000 0,#000 .9rem calc(100% - 1.1rem),#0000 100%)}.hub-panel__section{background:linear-gradient(160deg,#28428238,#0a122659 60%);border:1px solid #bed7ff1f;border-radius:.95rem;padding:1rem 1.1rem 1.05rem;transition:border-color .22s}.hub-panel__section:hover{border-color:#bed7ff3d}.hub-panel__section-heading{letter-spacing:-.01em;color:#f0f6ff;align-items:center;gap:.55rem;margin:0 0 .45rem;font-size:1rem;font-weight:600;line-height:1.35;display:flex}.hub-panel__section>.hub-panel__section-heading:before{content:"";background:#8fb4ff;border-radius:9999px;flex:none;width:.45rem;height:.45rem;box-shadow:0 0 10px #8fb4ffcc}.hub-panel__section-body{color:#cedcf4d1;margin:0;font-size:.92rem;line-height:1.6}.hub-panel__section-body+.hub-panel__section-body{margin-top:.7rem}.hub-panel__list{color:#cedcf4d1;flex-direction:column;gap:.3rem;margin:.7rem 0;padding-left:1.15rem;font-size:.92rem;line-height:1.6;list-style:outside;display:flex}.hub-panel__list li::marker{color:#96b4ebb3}.hub-panel__link{color:#bed6ff;text-underline-offset:.2em;-webkit-text-decoration:underline #96b4eb80;text-decoration:underline #96b4eb80;transition:color .2s,text-decoration-color .2s}.hub-panel__link:hover,.hub-panel__link:focus-visible{color:#fff;outline:none;text-decoration-color:#d6e8ffcc}.hub-panel__subsection{border-left:2px solid #8fb4ff59;margin-top:.9rem;padding:.15rem 0 .15rem .95rem}.hub-panel__subsection-heading{color:#e8f0ff;margin:0 0 .3rem;font-size:.9rem;font-weight:600}.hub-panel__category-body>.hub-panel__subsection>.hub-panel__section-heading{margin-bottom:.3rem;font-size:.92rem}.hub-panel__category-body>.hub-panel__section-body:first-child{color:#e2ecfceb;font-size:.98rem}.hub-panel__footer{border-top:1px solid #bed7ff1f;flex-shrink:0;justify-content:center;padding-top:1rem;display:flex}.hub-panel__action{color:#0b1a2f;cursor:pointer;background:linear-gradient(135deg,#a4c2f2,#7cd6c8);border:1px solid #bed7ff99;border-radius:9999px;align-items:center;gap:.6rem;padding:.7rem 1.4rem;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex}.hub-panel__action:after{content:"→";transition:transform .2s}.hub-panel__action:hover,.hub-panel__action:focus-visible{filter:brightness(1.06);outline:none;transform:translateY(-1px);box-shadow:0 8px 28px #78b4ff66}.hub-panel__action:hover:after,.hub-panel__action:focus-visible:after{transform:translate(3px)}.hub-panel__action:focus-visible{outline-offset:3px;outline:2px solid #fff}.hub-panel:is([data-node=about],[data-node=services]) .hub-panel__section:first-child{background:0 0;border-color:#0000;padding:.1rem .15rem .35rem}.hub-panel:is([data-node=about],[data-node=services]) .hub-panel__section:first-child>.hub-panel__section-body:first-of-type{color:#ecf3ff;font-size:1.08rem;line-height:1.6}@media (max-width:639px){.hub-panel:is([data-node=about],[data-node=services]) .hub-panel__section:first-child>.hub-panel__section-body:first-of-type{font-size:.98rem}}.hub-panel[data-node=services] .hub-panel__body{counter-reset:service}.hub-panel[data-node=services] .hub-panel__section:not(:first-child,:last-child){counter-increment:service}.hub-panel[data-node=services] .hub-panel__section:not(:first-child,:last-child)>.hub-panel__section-heading:before{content:counter(service, decimal-leading-zero);width:auto;height:auto;box-shadow:none;font-family:var(--font-mono);color:#aac8ff;background:#8fb4ff1a;border:1px solid #8fb4ff66;border-radius:9999px;padding:.05rem .45rem;font-size:.66rem;font-weight:500}.hub-panel[data-node=services] .hub-panel__section:last-child{background:linear-gradient(135deg,#4678dc40,#3caa962e);border-color:#7cd6c859}@media (min-width:640px){.hub-panel[data-node=services] .hub-panel__body{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.hub-panel[data-node=services] .hub-panel__section:first-child,.hub-panel[data-node=services] .hub-panel__section:last-child,.hub-panel[data-node=services] .hub-panel__section:nth-last-child(2):nth-child(2n){grid-column:1/-1}}.hub-companies{border-top:1px solid #bed7ff1f;border-radius:.5rem;margin-top:.3rem;padding:1.15rem 0 1.2rem}.hub-companies:has(:focus-visible){outline-offset:.4rem;outline:1px solid #bed7ff66}.hub-companies__window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.hub-companies__track{width:max-content;animation:32s linear infinite hub-companies-scroll;display:flex}.hub-companies__window:focus-visible{scrollbar-width:thin;scrollbar-color:#96b4f052 transparent;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.hub-companies__window:has(:focus-visible){scrollbar-width:thin;scrollbar-color:#96b4f052 transparent;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.hub-companies__window:focus-visible .hub-companies__track{animation:none}.hub-companies__window:has(:focus-visible) .hub-companies__track{animation:none}.hub-companies__window:focus-visible .hub-companies__row[aria-hidden]{display:none}.hub-companies__window:has(:focus-visible) .hub-companies__row[aria-hidden]{display:none}.hub-companies__row{margin:0;padding:0;list-style:none;display:flex}.hub-companies__name{font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;color:#cedcf4c7;padding-right:2.6rem;font-size:.82rem;line-height:1.9}.hub-companies__link{color:inherit;text-decoration:none;transition:color .2s,text-shadow .2s}.hub-companies__link:hover,.hub-companies__link:focus-visible{color:#fff;text-underline-offset:.25em;text-shadow:0 0 12px #8cb4ff99;outline:none;-webkit-text-decoration:underline #bed7ff8c;text-decoration:underline #bed7ff8c}.contact-form{grid-template-columns:minmax(0,1fr);gap:.95rem;display:grid}@media (min-width:640px){.contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form>:not([data-field=name],[data-field=email]){grid-column:1/-1}}.contact-form__field{flex-direction:column;gap:.4rem;display:flex}.contact-form__label{letter-spacing:.02em;color:#d6e4fce6;font-size:.78rem;font-weight:600}.contact-form__input{color:#e2ecfc;background:#060b18a6;border:1px solid #bed7ff33;border-radius:.8rem;width:100%;padding:.7rem .85rem;font-family:inherit;font-size:.92rem;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}.contact-form__input::placeholder{color:#aabee073}.contact-form__input:hover{border-color:#bed7ff59}.contact-form__input:focus-visible{background:#0a1226cc;border-color:#a0c8ffbf;outline:none;box-shadow:0 0 0 3px #5078dc47,0 0 22px #5a8cff2e}.contact-form__input[aria-invalid=true]{border-color:#ff96968c}.contact-form__input--message{resize:vertical;min-height:6.5rem}.contact-form__counter{font-family:var(--font-mono);color:#a0b8e0b3;align-self:flex-end;margin:0;font-size:.7rem}.contact-form__error{color:#ffb0b0;margin:0;font-size:.78rem;line-height:1.5}.contact-form__error--form{font-size:.82rem}.contact-form__trap{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.contact-form__actions{justify-content:flex-end;display:flex}.contact-form__submit{color:#0b1a2f;cursor:pointer;background:linear-gradient(135deg,#a4c2f2,#7cd6c8);border:1px solid #bed7ff99;border-radius:9999px;align-items:center;gap:.6rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s,opacity .2s;display:inline-flex}.contact-form__submit:after{content:"→";transition:transform .2s}.contact-form__submit:hover:not(:disabled),.contact-form__submit:focus-visible{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 28px #78b4ff66}.contact-form__submit:hover:not(:disabled):after{transform:translate(3px)}.contact-form__submit:focus-visible{outline-offset:3px;outline:2px solid #fff}.contact-form__submit:disabled{cursor:default;opacity:.6;box-shadow:none}.contact-form__status{color:#b0e2c4e6;margin:0;font-size:.82rem;line-height:1.5}.project-explorer__content{flex-direction:column;gap:1.15rem;display:flex}.project-explorer__search{flex-direction:column;gap:.35rem;display:flex}.project-explorer__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#c6dcffd9;font-size:.76rem}.project-explorer__field{align-items:center;display:flex;position:relative}.project-explorer__input{color:#e2ecfc;background:#060b18a6;border:1px solid #bed7ff33;border-radius:9999px;width:100%;padding:.7rem 2.4rem .7rem 2.5rem;font-family:inherit;font-size:.92rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.project-explorer__icon{color:#aac4f0bf;pointer-events:none;width:1.05rem;height:1.05rem;position:absolute;left:.95rem}.project-explorer__input::placeholder{color:#aabee073}.project-explorer__input:hover{border-color:#bed7ff59}.project-explorer__input:focus-visible{border-color:#a0c8ffa6;outline:none;box-shadow:0 0 0 3px #5078dc38}.project-explorer__input::-webkit-search-cancel-button{appearance:none}.project-explorer__clear{color:#bed2f5b3;cursor:pointer;background:0 0;border:0;border-radius:9999px;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:color .2s,background .2s;display:flex;position:absolute;right:.6rem}.project-explorer__clear:hover{color:#fff;background:#3c60b073}.project-explorer__clear:focus-visible{color:#fff;outline-offset:.1rem;background:#3c60b073;outline:1px solid #bed7ff80}.project-explorer__clear svg{width:.9rem;height:.9rem}.project-explorer__filters{flex-wrap:wrap;gap:.4rem;display:flex}.project-explorer__filter{color:#c6dcffcc;font:inherit;cursor:pointer;background:#060b1873;border:1px solid #96beff40;border-radius:9999px;padding:.38rem .75rem;font-size:.75rem;transition:border-color .2s,background .2s,color .2s}.project-explorer__filter:hover,.project-explorer__filter[aria-pressed=true]{color:#f0f6ff;background:#466ab24d;border-color:#96beff8c}.project-explorer__filter:focus-visible{outline-offset:2px;outline:2px solid #d6e8ffcc}.project-explorer__status{font-family:var(--font-mono);color:#a0b8e0b3;margin:0;font-size:.72rem}.project-explorer__status[data-state=empty]{text-align:center;color:#cedcf4cc;border:1px dashed #bed7ff29;border-radius:.9rem;padding:1.8rem 1rem;font-family:inherit;font-size:.9rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}@media (max-width:639px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-card{min-width:0;display:flex}.project-card__content{width:100%;min-width:0;color:inherit;font:inherit;background:linear-gradient(145deg,#22345c6b,#080e1dd1 68%);border:1px solid #bed7ff29;border-radius:1rem;flex-direction:column;gap:.75rem;padding:.75rem;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden;container-type:inline-size}button.project-card__content{text-align:left;cursor:pointer}.project-card__artwork{aspect-ratio:16/10;background:radial-gradient(at 50% 28%,#748fff29,#0000 70%),#060b1894;border:1px solid #bed7ff1f;border-radius:.8rem;place-items:center;display:grid;overflow:hidden}.project-card__image{aspect-ratio:1;object-fit:contain;background:#060b1880;border:1px solid #bed7ff2e;border-radius:.75rem;width:100%;max-width:6.5rem;height:auto;padding:.5rem;display:block}@media (max-width:639px){.project-card__image{max-width:4.5rem}}.project-card__details{flex-direction:column;flex:1;gap:.65rem;min-width:0;padding:.1rem .2rem .15rem;display:flex}.project-card__content:hover,.project-card__content:focus-visible{border-color:#c8e0ff66;transform:translateY(-2px);box-shadow:0 12px 28px #0000004d}.project-card__content:focus-visible{outline-offset:2px;outline:2px solid #d6e8ffcc}.project-card__name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;color:#f0f6ff;margin:0;font-size:clamp(.65rem,8cqi,1rem);font-weight:600;line-height:1.3;overflow:hidden}.project-card__meta{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:clamp(.15rem,1.5cqi,.4rem);min-width:0;margin-top:auto;display:flex}.project-card__tag{letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;color:#c6dcffd9;background:#8fb4ff12;border:1px solid #96beff40;border-radius:9999px;flex:0 auto;min-width:0;padding:.12rem clamp(.12rem,1.7cqi,.5rem);font-size:clamp(.4rem,4.3cqi,.7rem);overflow:hidden}.project-card__tags{flex-wrap:nowrap;flex:0 auto;gap:clamp(.1rem,1.2cqi,.35rem);min-width:0;display:flex;overflow:hidden}.project-card__year{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:#bad0f8;background:#8fb4ff1f;border-radius:9999px;flex:none;margin-left:auto;padding:.1rem clamp(.12rem,1.7cqi,.45rem);font-size:clamp(.42rem,4cqi,.66rem)}.lang{font-family:var(--font-mono);letter-spacing:.14em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05091480;border:1px solid #bed7ff29;border-radius:9999px;gap:.15rem;padding:.15rem;font-size:.7rem;font-weight:500;display:flex}.lang__option{font:inherit;letter-spacing:inherit;color:#bed2f499;cursor:pointer;background:0 0;border:0;border-radius:9999px;padding:.3rem .6rem;transition:color .22s,background-color .22s}.lang__option:hover,.lang__option:focus-visible{color:#fff;background:#78a0f029;outline:none}.lang__option[aria-pressed=true]{color:#fff;background:#78a0f038}.site-header{z-index:40;inset-inline:0;background:linear-gradient(#03060eb8 0%,#03060e00 100%);justify-content:space-between;align-items:center;gap:1rem;padding:clamp(.7rem,2vmin,1.1rem) clamp(1rem,3vmin,1.75rem);animation:.9s ease-out .3s both hub-fade-in;display:flex;position:fixed;top:0}.site-header__brand{color:#fff;align-items:center;text-decoration:none;transition:filter .22s;display:inline-flex}.site-header__controls{align-items:center;gap:.75rem;display:flex}.site-header__brand:hover,.site-header__brand:focus-visible{filter:drop-shadow(0 0 10px #a0c4ff99);outline:none}.site-header__logo{width:clamp(1.6rem,4.4vmin,2.1rem);height:clamp(1.6rem,4.4vmin,2.1rem)}.site-footer{z-index:40;font-family:var(--font-mono);-webkit-user-select:none;user-select:none;inset-inline:0;background:linear-gradient(#03060e00 0%,#03060eb8 100%);justify-content:center;padding:clamp(.6rem,1.8vmin,1rem) clamp(1rem,3vmin,1.75rem);animation:.9s ease-out .4s both hub-fade-in;display:flex;position:fixed;bottom:0}.site-footer:before{content:"";inset-inline:0;background:linear-gradient(90deg,#96beff00 0%,#96beff42 50%,#96beff00 100%);height:1px;position:absolute;top:0}.site-footer__note{letter-spacing:.06em;color:#bed0ecc2;text-shadow:0 0 14px #78a5ff59;align-items:center;gap:.45rem;margin:0;font-size:.74rem;display:flex}.site-footer__logo{color:#fff;filter:drop-shadow(0 0 6px #96beff8c);width:1.3em;height:1.3em;transform:translateY(-.015em)}@media (prefers-reduced-motion:reduce){.hub__flare,.hub__logo,.logo-mark__edge-run,.hub__ripple,.hub__logo-halo,.hub-node,.hub-node__drift,.hub-node__button,.hub-node__pulse,.hub__thought,.hub-panel,.hub-panel__backdrop,.hub__orbit,.site-header,.site-footer,.project-card__content{transition:none;animation:none}.project-card__content:hover,.project-card__content:focus-visible{transform:none}.hub__orbit-light,.hub__flare{display:none}.hub-companies__track{animation:none}.hub-companies__window{scrollbar-width:thin;scrollbar-color:#96b4f052 transparent;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.hub-companies__row[aria-hidden]{display:none}}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.shrink{flex-shrink:1}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.bg-black{background-color:var(--color-black)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.career-panel{--career-ink:#e8eef9;--career-muted:#a3b3cc;--career-faint:#7487a6;--career-accent:#a4c2f2;--career-accent-strong:#c9dcff;--career-line:#a4c2f229;--career-line-strong:#a4c2f252;--career-paper:#0c1525;--career-surface:#16233a9e;--career-surface-strong:#15233a;--career-on-accent:#0b1a2f;--k-work:#8fb4ff;--k-project:#5fd6c2;--k-education:#c6a6ff;--k-certification:#ffc874;color:var(--career-ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-dm-sans), sans-serif;text-align:left;overflow-wrap:break-word;line-height:1.6;container-type:inline-size}.career-panel :is(.cv-strengths,.cv-card,.cv-skill-group,.cv-project,.ctl__pill,.cv-role__org){-webkit-hyphens:auto;hyphens:auto}.career-panel .career-tags{-webkit-hyphens:manual;hyphens:manual}.career-panel .cv-strengths .career-tags{-webkit-hyphens:auto;hyphens:auto}.career-panel *{box-sizing:border-box}.career-panel a{overflow-wrap:anywhere}.career-panel :is(a,button,summary):focus-visible{outline:2px solid var(--career-accent);outline-offset:3px;border-radius:6px}.career-panel [data-kind=work]{--kind:var(--k-work)}.career-panel [data-kind=project]{--kind:var(--k-project)}.career-panel [data-kind=education]{--kind:var(--k-education)}.career-panel [data-kind=certification]{--kind:var(--k-certification)}.career-eyebrow{font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--career-muted);font-size:.66rem;line-height:1.6}.career-text-link{color:var(--career-accent);text-underline-offset:4px;align-items:center;gap:.35rem;text-decoration:none;text-decoration-thickness:1px;display:inline-flex}.career-text-link:hover{color:var(--career-accent-strong);text-decoration-line:underline}.career-link-icon{flex:none;width:.95em;height:.95em}.career-button{border:1px solid var(--career-accent);background:var(--career-accent);min-height:46px;color:var(--career-on-accent);border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.2rem;font-size:.86rem;font-weight:600;line-height:1.3;text-decoration:none;transition:background .16s,box-shadow .2s,transform .2s;display:inline-flex}.career-button:hover{background:var(--career-accent-strong);transform:translateY(-1px);box-shadow:0 8px 26px #78a5ff47}.career-button--ghost{color:var(--career-ink);border-color:var(--career-line-strong);background:0 0}.career-button--ghost:hover{background:#a4c2f21a}.career-button--small{gap:.45rem;min-height:38px;padding:.45rem .9rem;font-size:.76rem}.career-tags{flex-wrap:wrap;gap:.35rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.career-tags li{border:1px solid var(--career-line);color:var(--career-ink);font-family:var(--font-dm-mono), monospace;white-space:nowrap;background:#a4c2f20f;border-radius:999px;padding:.18rem .55rem;font-size:.66rem;line-height:1.6}.career-tags .career-tags__more{color:var(--career-faint);background:0 0;border-style:dashed}.career-disclosure{margin-top:.9rem}.career-disclosure>summary{min-height:36px;color:var(--career-accent);cursor:pointer;align-items:center;gap:.5rem;font-size:.78rem;font-weight:500;list-style:none;display:inline-flex}.career-disclosure>summary::-webkit-details-marker{display:none}.career-disclosure>summary:before{content:"+";border:1px solid var(--career-line-strong);width:1.25rem;height:1.25rem;font-family:var(--font-dm-mono), monospace;border-radius:50%;place-items:center;font-size:.8rem;line-height:1;transition:transform .22s;display:inline-grid}.career-disclosure[open]>summary:before{transform:rotate(45deg)}.career-disclosure[open]>summary>.career-disclosure__closed,.career-disclosure:not([open])>summary>.career-disclosure__open{display:none}.career-disclosure>summary:hover{color:var(--career-accent-strong)}.cv-bullets{gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.cv-bullets li{color:var(--career-muted);padding-left:1.1rem;font-size:.86rem;line-height:1.6;position:relative}.cv-bullets li:before{content:"";background:var(--career-accent);border-radius:50%;width:.36rem;height:.36rem;position:absolute;top:.62em;left:.1rem}.cv-badge{border:1px solid var(--career-line);color:var(--career-muted);border-radius:999px;align-items:center;padding:.05rem .5rem;font-size:.68rem;line-height:1.6;display:inline-flex}.cv-badge--live{color:#9ff0c4;background:#50c88c1a;border-color:#78e6aa66}.cv-pulse{background:#6fe3a5;border-radius:50%;flex:none;width:.5rem;height:.5rem;display:inline-block;position:relative}.cv-pulse:after{content:"";border:1px solid #6fe3a5;border-radius:50%;animation:2.4s ease-out infinite cv-pulse;position:absolute;inset:-4px}@keyframes cv-pulse{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.cv-hero{grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:1.6rem 2rem;padding:1.6rem 0 1.8rem;display:grid}.cv-hero>*{animation:.64s cubic-bezier(.16,.9,.24,1) both cv-rise}.cv-hero>:nth-child(2){animation-delay:90ms}.cv-hero>:nth-child(3){animation-delay:.18s}@keyframes cv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cv-hero__portrait{aspect-ratio:3/4;isolation:isolate;border-radius:1.1rem;position:relative}.cv-hero__portrait:before{content:"";z-index:-1;border-radius:inherit;background:conic-gradient(from var(--cv-ring-angle,0deg), #8fb4ffe6, #5fd6c2a6, #c6a6ffbf, #8fb4ffe6);animation:9s linear infinite cv-ring;position:absolute;inset:-2px}.cv-hero__portrait:after{content:"";z-index:-2;filter:blur(6px);background:radial-gradient(circle at 50% 40%,#6e96ff59,#0000 70%);border-radius:2rem;position:absolute;inset:-18px}@property --cv-ring-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes cv-ring{to{--cv-ring-angle:360deg}}.cv-hero__portrait img{object-fit:cover;object-position:50% 18%;background:var(--career-surface-strong);border-radius:calc(1.1rem - 2px);width:100%;height:100%;display:block}.cv-hero__identity{min-width:0}.cv-hero__identity>.career-eyebrow{flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .6rem;display:flex}.cv-hero__location{align-items:center;gap:.3rem;display:inline-flex}.cv-hero h3{letter-spacing:-.045em;color:#0000;background:linear-gradient(100deg,#fff 30%,#b9d0ff 70%,#8fe1d2);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.1rem,6.4cqi,3.2rem);font-weight:600;line-height:1.05}.cv-hero__headline{color:var(--career-ink);letter-spacing:-.01em;margin:.55rem 0 0;font-size:1.02rem;font-weight:500}.cv-hero__now{color:#c6f3db;background:#3caa781a;border:1px solid #6fe3a54d;border-radius:999px;align-items:center;gap:.55rem;margin:.8rem 0 0;padding:.3rem .75rem .3rem .65rem;font-size:.76rem;line-height:1.4;display:inline-flex}.cv-hero__contacts{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.cv-hero__contacts a{border:1px solid var(--career-line);min-height:34px;color:var(--career-ink);background:#a4c2f20d;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.76rem;text-decoration:none;transition:border-color .18s,background .18s;display:inline-flex}.cv-hero__contacts a:hover{border-color:var(--career-line-strong);background:#a4c2f21f}.cv-stats{border:1px solid var(--career-line);background:linear-gradient(120deg,#8fb4ff14,#5fd6c20d);border-radius:1rem;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.cv-stats>div{flex-direction:column-reverse;gap:.15rem;padding:.85rem 1.1rem;display:flex}.cv-stats>div+div{border-left:1px solid var(--career-line)}.cv-stats dt{font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--career-muted);font-size:.64rem}.cv-stats dd{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#fff;margin:0;font-size:1.85rem;font-weight:600;line-height:1.1}.cv-nav{z-index:8;background:#0b1221;margin:0 0 .5rem;padding:.55rem 0;position:sticky;top:0;box-shadow:0 14px 18px -14px #000000bf}.cv-nav ol{border:1px solid var(--career-line);scrollbar-width:none;background:#142036bf;border-radius:999px;gap:.3rem;margin:0;padding:.25rem;list-style:none;display:flex;overflow-x:auto}.cv-nav ol::-webkit-scrollbar{display:none}.cv-nav li{flex:1 0 auto}.cv-nav a{min-height:34px;color:var(--career-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.76rem;font-weight:500;text-decoration:none;transition:color .18s,background .18s;display:flex}.cv-nav a span{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);font-size:.6rem}.cv-nav a:hover{color:var(--career-ink)}.cv-nav a[aria-current=location]{color:#fff;background:#8fb4ff2e;box-shadow:inset 0 0 0 1px #8fb4ff59}.cv-nav a[aria-current=location] span{color:var(--career-accent)}.cv-content{min-width:0}.cv-section{border-top:1px solid var(--career-line);padding:2.4rem 0;scroll-margin-top:4.2rem}.cv-section:first-child{border-top:0;padding-top:1.4rem}.cv-section__heading{flex-wrap:wrap;align-items:baseline;gap:.2rem .85rem;margin-bottom:1.4rem;display:flex}.cv-section__number{font-family:var(--font-dm-mono), monospace;color:var(--career-accent);font-size:.72rem}.cv-section__heading h3{letter-spacing:-.03em;margin:0;font-size:1.5rem;font-weight:600;line-height:1.25}.cv-section__heading p{color:var(--career-muted);flex-basis:100%;margin:.2rem 0 0;font-size:.86rem}.cv-subsection{scroll-margin-top:4.2rem}.cv-subsection+.cv-subsection{margin-top:2.2rem}.cv-subsection__title{font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--career-muted);align-items:center;gap:.75rem;margin:0 0 1rem;font-size:.72rem;font-weight:500;display:flex}.cv-subsection__title:after{content:"";background:var(--career-line);flex:1;height:1px}.cv-profile{max-width:44rem}.cv-profile p{color:var(--career-muted);margin:0 0 .8rem;font-size:.95rem;line-height:1.75}.cv-profile .cv-profile__lead{color:var(--career-ink);letter-spacing:-.02em;font-size:1.25rem;font-weight:500;line-height:1.45}.cv-strengths{margin-top:1.6rem}.cv-strengths__title{color:var(--career-muted);flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0 0 .9rem;font-size:.82rem;display:flex}.cv-strengths__title .career-eyebrow{color:var(--career-accent)}.cv-strengths ol{gap:.6rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.cv-strengths ol>li{border:1px solid var(--career-line);background:var(--career-surface);animation:.6s cubic-bezier(.16,.9,.24,1) both cv-rise;animation-delay:calc(var(--i,0) * 70ms + .2s);border-radius:.9rem;padding:1rem 1rem 1.05rem;transition:border-color .2s,transform .2s;position:relative}.cv-strengths ol>li:hover{border-color:var(--career-line-strong);transform:translateY(-2px)}.cv-strengths__step{width:1.7rem;height:1.7rem;color:var(--career-on-accent);font-family:var(--font-dm-mono), monospace;background:linear-gradient(135deg,#8fb4ff,#5fd6c2);border-radius:50%;place-items:center;margin-bottom:.6rem;font-size:.64rem;font-weight:600;display:inline-grid}.cv-strengths h4{letter-spacing:-.01em;margin:0;font-size:.92rem;font-weight:600;line-height:1.35}.cv-strengths p{color:var(--career-muted);margin:.35rem 0 0;font-size:.78rem;line-height:1.55}.cv-strengths .career-tags{gap:.25rem;margin-top:.65rem}.cv-strengths .career-tags li{white-space:normal;overflow-wrap:anywhere;padding:.08rem .45rem;font-size:.6rem}@container (min-width:700px){.cv-strengths ol{grid-template-columns:repeat(5,minmax(0,1fr))}.cv-strengths ol:before{content:"";z-index:0;background:linear-gradient(90deg,#8fb4ff99,#5fd6c299);height:1px;position:absolute;top:1.85rem;left:1.85rem;right:calc(20% - 2.33rem)}.cv-strengths ol>li{background:0 0;border-color:#0000;padding:.85rem .55rem .5rem}.cv-strengths ol>li:hover{border-color:var(--career-line);background:var(--career-surface)}.cv-strengths__step{z-index:1;box-shadow:0 0 0 5px var(--career-paper);position:relative}}.ctl{position:relative}.ctl__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.ctl__legend{flex-wrap:wrap;gap:.35rem;display:flex}.ctl__chip{border:1px solid var(--career-line);min-height:34px;color:var(--career-faint);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .6rem;font-size:.74rem;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.ctl__chip-dot{border:1.5px solid var(--kind);border-radius:50%;width:.6rem;height:.6rem;transition:background .16s}.ctl__chip-count{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);font-size:.62rem}.ctl__chip[aria-pressed=true]{color:var(--career-ink);border-color:var(--kind)}@supports (color:color-mix(in lab, red, red)){.ctl__chip[aria-pressed=true]{border-color:color-mix(in srgb, var(--kind) 45%, transparent)}}.ctl__chip[aria-pressed=true]{background:var(--kind)}@supports (color:color-mix(in lab, red, red)){.ctl__chip[aria-pressed=true]{background:color-mix(in srgb, var(--kind) 10%, transparent)}}.ctl__chip[aria-pressed=true] .ctl__chip-dot{background:var(--kind)}.ctl__chip:hover{border-color:var(--kind)}@supports (color:color-mix(in lab, red, red)){.ctl__chip:hover{border-color:color-mix(in srgb, var(--kind) 70%, transparent)}}.ctl__zoom{border:1px solid var(--career-line);border-radius:999px;align-items:center;padding:.15rem;display:inline-flex}.ctl__zoom button{min-width:32px;height:30px;color:var(--career-ink);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .45rem;font-size:1rem;line-height:1}.ctl__zoom .ctl__zoom-level{font-family:var(--font-dm-mono), monospace;color:var(--career-muted);font-size:.66rem}.ctl__zoom button:hover:not(:disabled){background:#a4c2f21f}.ctl__zoom button:disabled{color:var(--career-faint);opacity:.55;cursor:default}.ctl__hint{color:var(--career-faint);margin:.7rem 0 .8rem;font-size:.76rem}.ctl__viewport{border:1px solid var(--career-line);scrollbar-width:thin;scrollbar-color:var(--career-line-strong) transparent;overscroll-behavior-x:contain;background:radial-gradient(at 85%,#5f8cff1f,#0000 60%),#090f1c99;border-radius:1rem;position:relative;overflow:auto hidden}.ctl__viewport[data-scrollable]{cursor:grab}.ctl__viewport[data-dragging]{cursor:grabbing;-webkit-user-select:none;user-select:none}.ctl__track{position:relative}.ctl__axis{background:linear-gradient(90deg,#a4c2f21f,#8fb4ff8c 55%,#b9d0ff);border-radius:999px;height:3px;position:absolute;transform:translateY(-50%)}.ctl__axis:before,.ctl__axis:after{content:"";width:26px;height:3px;position:absolute;top:0}.ctl__axis:before{background:linear-gradient(270deg,#a4c2f21f,#0000);right:100%}.ctl__axis:after{background:linear-gradient(90deg,#b9d0ff,#0000);left:100%}.ctl__band{background:var(--kind);height:5px;box-shadow:0 0 14px var(--kind);pointer-events:none;border-radius:999px;transition:left .26s,width .26s,background .2s;position:absolute;transform:translateY(-50%)}.ctl__brackets{pointer-events:none;position:absolute;inset:0;overflow:visible}.ctl__brackets path{fill:none;stroke:var(--kind);stroke-width:1.5px;stroke-opacity:.3;transition:stroke-opacity .2s,stroke-width .2s}.ctl__brackets path[data-kind=project]{stroke-width:1.2px}.ctl__brackets path[data-active]{stroke-opacity:1;stroke-width:2px;filter:drop-shadow(0 0 4px var(--kind))}.ctl__tick{pointer-events:none;width:0;height:0;position:absolute}.ctl__tick:before{content:"";background:var(--career-paper);border:2px solid #d6e4ff99;border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px}.ctl__tick[data-compressed]:before,.ctl__tick[data-future]:before{border-color:#d6e4ff4d;width:8px;height:8px;top:-4px;left:-4px}.ctl__tick-label{color:var(--career-muted);font-family:var(--font-dm-mono), monospace;white-space:nowrap;background:#090f1cd9;border-radius:4px;padding:0 .25rem;font-size:.64rem;position:absolute;top:10px;left:0;transform:translate(-50%)}.ctl__tick[data-compressed] .ctl__tick-label,.ctl__tick[data-future] .ctl__tick-label{color:var(--career-faint);font-style:italic}.ctl__tick[data-start] .ctl__tick-label{transform:translate(-16px)}.ctl__tick[data-future] .ctl__tick-label{opacity:.6}.ctl__today{pointer-events:none;border-left:1px dashed #6fe3a58c;width:0;position:absolute}.ctl__today span{color:#b7f0d1;font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#3caa7833;border-radius:999px;padding:.02rem .4rem;font-size:.58rem;position:absolute;top:-2px;left:0;transform:translate(-50%)}.ctl__markers{pointer-events:none;margin:0;padding:0;list-style:none;position:absolute;inset:0}.ctl__item{z-index:1;width:0;height:0;transition:left .32s cubic-bezier(.2,.8,.2,1),top .32s cubic-bezier(.2,.8,.2,1);position:absolute}.ctl__item[data-hovered],.ctl__item:focus-within{z-index:10}.ctl__marker{left:calc(var(--ctl-size) / -2);top:calc(var(--ctl-size) / -2);width:var(--ctl-size);height:var(--ctl-size);border:1.5px solid var(--kind);color:var(--kind);cursor:pointer;pointer-events:auto;background:#0b1424;border-radius:50%;place-items:center;padding:0;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:grid;position:absolute}.ctl__icon{width:58%;height:58%}.ctl__item[data-kind=project] .ctl__icon{width:100%;height:100%}.ctl__marker:hover,.ctl__marker:focus-visible{box-shadow:0 0 0 4px var(--kind), 0 0 20px var(--kind);transform:scale(1.14)}@supports (color:color-mix(in lab, red, red)){.ctl__marker:hover,.ctl__marker:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--kind) 20%, transparent), 0 0 20px color-mix(in srgb, var(--kind) 55%, transparent)}}.ctl.ctl .ctl__marker:focus-visible{outline-offset:3px;border-radius:50%;outline:2px solid #fff}.ctl__marker[aria-pressed=true]{background:var(--kind);color:#0b1424;box-shadow:0 0 0 4px var(--kind), 0 0 24px var(--kind)}@supports (color:color-mix(in lab, red, red)){.ctl__marker[aria-pressed=true]{box-shadow:0 0 0 4px color-mix(in srgb, var(--kind) 25%, transparent), 0 0 24px color-mix(in srgb, var(--kind) 60%, transparent)}}.ctl__pill{border:1px solid var(--kind);flex-direction:column;gap:.05rem;width:max-content;min-width:9rem;max-width:16rem;padding:.45rem .7rem .5rem;display:flex;position:absolute;top:50%;left:calc(100% + 10px)}@supports (color:color-mix(in lab, red, red)){.ctl__pill{border:1px solid color-mix(in srgb, var(--kind) 55%, transparent)}}.ctl__pill{color:var(--career-muted);text-align:left;white-space:normal;opacity:0;transform-origin:0;pointer-events:none;background:#0a111ff7;border-radius:.7rem;font-size:.7rem;line-height:1.35;transition:opacity .16s,transform .2s;transform:translate(-6px,-50%)scale(.97);box-shadow:0 14px 36px #00000073}.ctl__item[data-flip] .ctl__pill{transform-origin:100%;left:auto;right:calc(100% + 10px);transform:translate(6px,-50%)scale(.97)}.ctl__pill strong{color:#fff;font-size:.8rem;font-weight:600}.ctl__pill-kind{color:var(--kind);font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.ctl__pill-period{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);font-size:.62rem}.ctl__marker:hover .ctl__pill,.ctl__marker:focus-visible .ctl__pill{opacity:1;transform:translateY(-50%)scale(1)}.ctl__detail:empty{display:none}.ctl__card{border:1px solid var(--kind);margin-top:1rem;padding:1.15rem 1.3rem 1.2rem 1.45rem;position:relative}@supports (color:color-mix(in lab, red, red)){.ctl__card{border:1px solid color-mix(in srgb, var(--kind) 35%, transparent)}}.ctl__card{background:radial-gradient(circle at 0% 0%, var(--kind), transparent 55%), var(--career-surface-strong);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.ctl__card{background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--kind) 14%, transparent), transparent 55%), var(--career-surface-strong)}}.ctl__card{animation:.32s cubic-bezier(.16,.9,.24,1) both cv-rise;overflow:hidden}.ctl__card:before{content:"";background:var(--kind);width:3px;position:absolute;top:0;bottom:0;left:0}.ctl__card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ctl__card-badge{color:var(--kind);font-family:var(--font-dm-mono), monospace;text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:.45rem;font-size:.66rem;display:inline-flex}.ctl__card-icon{width:1rem;height:1rem}.ctl__live{color:#9ff0c4;background:#50c88c26;border-radius:999px;padding:0 .45rem}.ctl__card-controls{align-items:center;gap:.25rem;display:inline-flex}.ctl__counter{color:var(--career-faint);font-family:var(--font-dm-mono), monospace;margin-right:.35rem;font-size:.66rem}.ctl__card-controls button{border:1px solid var(--career-line);width:34px;height:34px;color:var(--career-ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1.1rem;line-height:1;display:grid}.ctl__card-controls button svg{width:1rem;height:1rem}.ctl__card-controls button:hover{border-color:var(--career-line-strong);background:#a4c2f21a}.ctl__card-head{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;margin-top:.75rem;display:flex}.ctl__card h4{color:#fff;letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.ctl__card-org{color:var(--career-faint);margin:.2rem 0 0;font-size:.86rem}.ctl__card-org a{color:var(--career-accent);text-decoration:none}.ctl__card-org a:hover{text-decoration:underline}.ctl__card-dates{font-family:var(--font-dm-mono), monospace;color:var(--career-ink);flex-direction:column;align-items:flex-end;margin:0;font-size:.72rem;display:flex}.ctl__card-dates span+span{color:var(--career-faint)}.ctl__card-summary{color:var(--career-ink);margin:.85rem 0 0;font-size:.9rem;line-height:1.65}.ctl__card-details ul{background:#a4c2f20d;border-radius:.7rem;gap:.45rem;margin:.7rem 0 0;padding:.75rem .9rem;list-style:none;display:grid}.ctl__card-details li{color:var(--career-muted);padding-left:1rem;font-size:.84rem;line-height:1.6;position:relative}.ctl__card-details li:before{content:"";background:var(--kind);border-radius:50%;width:5px;height:5px;position:absolute;top:.65em;left:0}.ctl__card-tech{flex-wrap:wrap;align-items:flex-end;gap:.35rem;display:flex}.ctl__card-tech .career-tags{margin:0}.ctl__card-tech{margin-top:.9rem}.ctl__more{border:1px dashed var(--career-line-strong);min-height:28px;color:var(--career-accent);font-family:var(--font-dm-mono), monospace;cursor:pointer;background:0 0;border-radius:999px;margin-top:.5rem;padding:.12rem .6rem;font-size:.66rem}.ctl__card-tech .ctl__more{min-height:24px;margin-top:0}.ctl__more:hover{border-style:solid}.ctl__card-related{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1rem;display:flex}.ctl__card-related .career-eyebrow{margin-right:.25rem}.ctl__jump{border:1px solid var(--kind);align-items:center;gap:.4rem;min-height:30px;padding:.2rem .7rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.ctl__jump{border:1px solid color-mix(in srgb, var(--kind) 40%, transparent)}}.ctl__jump{background:var(--kind);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.ctl__jump{background:color-mix(in srgb, var(--kind) 8%, transparent)}}.ctl__jump{color:var(--career-ink);cursor:pointer;font-size:.74rem}.ctl__jump:before{content:"";background:var(--kind);border-radius:50%;width:6px;height:6px}.ctl__jump:hover{background:var(--kind)}@supports (color:color-mix(in lab, red, red)){.ctl__jump:hover{background:color-mix(in srgb, var(--kind) 18%, transparent)}}.ctl__card-links{border-top:1px solid var(--career-line);flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1rem;padding-top:.85rem;font-size:.8rem;display:flex}.ctl__print{display:none}.cv-rail{margin:0;padding:0 0 0 2.6rem;list-style:none;position:relative}.cv-rail:before{content:"";background:linear-gradient(#8fb4ffb3,#8fb4ff1a);width:1px;position:absolute;top:1rem;bottom:1rem;left:.94rem}.cv-rail>li+li{margin-top:.9rem}.cv-role{--kind:var(--k-work);border:1px solid var(--career-line);background:var(--career-surface);border-radius:1rem;padding:1.1rem 1.25rem 1.2rem;scroll-margin-top:4.2rem;transition:border-color .2s,box-shadow .2s;position:relative}.cv-role:hover,.cv-role:target{border-color:var(--career-line-strong);box-shadow:0 12px 30px #00000040}.cv-rail__node{border:1.5px solid var(--kind);background:var(--career-paper);width:1.9rem;height:1.9rem;color:var(--kind);border-radius:50%;place-items:center;display:grid;position:absolute;top:1.05rem;left:-2.6rem}.cv-rail__node svg{width:.95rem;height:.95rem}.cv-role[data-current] .cv-rail__node{background:var(--kind);color:var(--career-on-accent);box-shadow:0 0 0 5px #8fb4ff26}.cv-role__head{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.2rem;display:flex}.cv-role h5{color:#fff;letter-spacing:-.015em;margin:0;font-size:1.04rem;font-weight:600;line-height:1.35}.cv-role__org{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:.3rem 0 0;font-size:.84rem;display:flex}.cv-role__dates{font-family:var(--font-dm-mono), monospace;color:var(--career-ink);white-space:nowrap;flex-direction:column;align-items:flex-end;margin:0;font-size:.7rem;line-height:1.6;display:flex}.cv-role__dates span+span{color:var(--career-faint)}.cv-role__summary{color:var(--career-ink);margin:.75rem 0 0;font-size:.9rem;line-height:1.65}.cv-related{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.9rem 0 0;display:flex}.cv-related .career-eyebrow{margin-right:.2rem}.cv-related__link{color:#bff3ea;border:1px solid #5fd6c259;border-radius:999px;align-items:center;min-height:28px;padding:.12rem .65rem;font-size:.74rem;text-decoration:none;transition:background .16s;display:inline-flex}.cv-related__link:hover{background:#5fd6c21f}.cv-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.8rem;display:grid}.cv-card{border:1px solid var(--career-line);border-top:2px solid var(--kind);background:var(--career-surface);border-radius:.9rem;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1.05rem 1.1rem 1.15rem;scroll-margin-top:4.2rem;display:flex;position:relative}.cv-card__icon{background:var(--kind);border-radius:.6rem;place-items:center;width:2rem;height:2rem;margin-bottom:.35rem;display:grid}@supports (color:color-mix(in lab, red, red)){.cv-card__icon{background:color-mix(in srgb, var(--kind) 14%, transparent)}}.cv-card__icon{color:var(--kind)}.cv-card__icon svg{width:1.05rem;height:1.05rem}.cv-card__meta{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);margin:0;font-size:.66rem}.cv-card h5{color:#fff;margin:0;font-size:.96rem;font-weight:600;line-height:1.35}.cv-card .career-text-link{font-size:.8rem}.cv-card p{color:var(--career-muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.55}.cv-card .cv-card__note{margin-top:auto;padding-top:.45rem;font-size:.76rem}.cv-card__note span{color:var(--career-faint)}.cv-projects{gap:.85rem;display:grid}@container (min-width:600px){.cv-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}.cv-project{border:1px solid var(--career-line);background:linear-gradient(160deg, #5fd6c212, transparent 40%), var(--career-surface);border-radius:1rem;flex-direction:column;padding:1.1rem 1.15rem 1rem;scroll-margin-top:4.2rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative}.cv-project:before{content:"";background:linear-gradient(90deg,#5fd6c2,#0000);border-radius:999px;height:2px;position:absolute;top:-1px;left:1.15rem;right:1.15rem}.cv-project[data-category=internal]:before{background:linear-gradient(90deg,#8fb4ff,#0000)}.cv-project[data-category=independent]:before{background:linear-gradient(90deg,#c6a6ff,#5fd6c2,#0000)}.cv-project:hover,.cv-project:target{border-color:var(--career-line-strong);transform:translateY(-2px);box-shadow:0 14px 34px #00000047}.cv-project__context{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);flex-wrap:wrap;justify-content:space-between;gap:.2rem .8rem;margin:0;font-size:.64rem;display:flex}.cv-project h4{color:#fff;margin:.5rem 0 0;font-size:1.04rem;font-weight:600;line-height:1.35}.cv-project__title-link{color:#fff;align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.cv-project__title-link:hover{color:var(--career-accent-strong)}.cv-project__title-link .career-link-icon{width:.8em;height:.8em;color:var(--career-accent)}.cv-project__summary{color:var(--career-muted);margin:.45rem 0 0;font-size:.84rem;line-height:1.6}.cv-project .career-tags{margin-top:.75rem}.cv-project:has(>.career-disclosure[open])>.cv-project__preview{display:none}.cv-project .cv-bullets li:before{background:var(--k-project)}.cv-project>.career-disclosure{margin-top:auto;padding-top:.5rem}.cv-additional{margin-top:1.2rem}.cv-additional>summary{border:1px solid var(--career-line);border-radius:999px;min-height:44px;padding:.4rem 1rem .4rem .6rem}.cv-projects--additional{margin-top:.9rem}.cv-skills__hint{color:var(--career-faint);margin:-.4rem 0 1rem;font-size:.78rem}.cv-skills__grid{gap:.8rem;display:grid}@container (min-width:600px){.cv-skills__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cv-skill-group{border:1px solid var(--career-line);background:var(--career-surface);border-radius:1rem;padding:1rem 1.1rem 1.1rem;scroll-margin-top:4.2rem}.cv-skill-group header{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.cv-skill-group h4{color:#fff;margin:0;font-size:.95rem;font-weight:600;line-height:1.35}.cv-skill-group__count{font-family:var(--font-dm-mono), monospace;color:var(--career-faint);font-size:.66rem}.cv-skill-group>p{color:var(--career-muted);margin:.25rem 0 0;font-size:.78rem;line-height:1.5}.cv-skill-chips{flex-wrap:wrap;gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.cv-skill-chips button{border:1px solid var(--career-line);min-height:30px;color:var(--career-ink);font-family:var(--font-dm-mono), monospace;cursor:pointer;background:#a4c2f20f;border-radius:999px;padding:.18rem .65rem;font-size:.68rem;transition:border-color .16s,background .16s,color .16s}.cv-skill-chips button:hover{border-color:var(--career-line-strong);background:#a4c2f21f}.cv-skill-chips button[aria-pressed=true]{border-color:var(--career-accent);background:var(--career-accent);color:var(--career-on-accent)}.cv-skill-evidence:empty{display:none}.cv-skill-evidence{background:#8fb4ff14;border-radius:.7rem;margin-top:.75rem;padding:.65rem .8rem;animation:.24s ease-out both cv-rise}.cv-skill-evidence ul{flex-wrap:wrap;gap:.2rem .9rem;margin:.25rem 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.cv-skill-group__familiar{color:var(--career-faint);margin:.75rem 0 0;font-size:.72rem;line-height:1.55}.cv-skill-group__familiar span{color:var(--career-muted)}.cv-languages dl{gap:.55rem;margin:.8rem 0 0;display:grid}.cv-languages dl>div{border-bottom:1px solid var(--career-line);justify-content:space-between;gap:1rem;padding-bottom:.5rem;display:flex}.cv-languages dl>div:last-child{border-bottom:0;padding-bottom:0}.cv-languages dt{color:var(--career-ink);font-size:.86rem}.cv-languages dd{color:var(--career-muted);font-family:var(--font-dm-mono), monospace;margin:0;font-size:.72rem}.cv-closing{border:1px solid var(--career-line);background:radial-gradient(circle at 100% 0%, #5fd6c224, transparent 50%), radial-gradient(circle at 0% 100%, #8fb4ff29, transparent 55%), var(--career-surface);border-radius:1.1rem;padding:1.6rem 1.5rem}.cv-closing__title{color:#fff;letter-spacing:-.03em;margin:0;font-size:clamp(1.3rem,4cqi,1.75rem);font-weight:600;line-height:1.25}.cv-closing p{color:var(--career-muted);margin:.55rem 0 0;font-size:.9rem}.cv-closing__actions{flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;display:flex}.cv-closing .cv-closing__meta{color:var(--career-faint);font-family:var(--font-dm-mono), monospace;margin-top:1.1rem;font-size:.64rem}.hub-panel__surface:has(.career-panel){max-height:min(88vh,60rem);padding:clamp(1.1rem,3vw,1.8rem) clamp(1.1rem,3vw,1.8rem) 0;overflow:hidden}.hub-panel__surface:has(.career-panel) .hub-panel__header{border-color:var(--career-line,#a4c2f229);flex-shrink:0}.hub-panel__surface:has(.career-panel) .hub-panel__subtitle{color:#a3b3cc}.hub-panel__surface:has(.career-panel) .hub-panel__close{color:#a3b3cc;border-color:#a4c2f240}.hub-panel__surface:has(.career-panel) .hub-panel__close:hover{color:#e8eef9;background:#1d2e4a}.hub-panel__surface:has(.career-panel) .hub-panel__body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a4c2f24d transparent;flex:auto;min-height:0;padding-top:0;padding-bottom:1.4rem;scroll-padding-top:4rem;display:block;overflow-y:auto;-webkit-mask-image:none;mask-image:none}@media (prefers-reduced-motion:no-preference){.hub-panel__surface:has(.career-panel) .hub-panel__body{scroll-behavior:smooth}}.hub-panel__header-actions{align-items:center;gap:.85rem;display:flex}.hub-panel__surface:has(.career-panel) .hub-panel__header>:first-child{min-width:0}.hub-panel__surface:has(.career-panel) .hub-panel__header-actions{flex-shrink:0}.career-panel__tools{flex-shrink:0;align-items:center;gap:.7rem;display:flex;container-type:normal}.career-panel__tools .lang{background:#142037;border:1px solid #a4c2f238;border-radius:999px;gap:.1rem;padding:.15rem;display:flex;position:static}.career-panel__tools .lang__option{min-width:34px;min-height:32px;color:var(--career-muted);border-radius:999px;font-size:.7rem}.career-panel__tools .lang__option[aria-pressed=true]{color:#fff;background:#2a4166}.career-panel__tools .lang__option:hover{color:var(--career-accent)}@container (max-width:560px){.cv-hero{grid-template-columns:6.2rem minmax(0,1fr);align-items:start;gap:1.1rem}.cv-hero__contacts{grid-column:1/-1}.cv-hero h3{font-size:1.9rem}.cv-hero__headline{font-size:.9rem}.cv-hero__now{font-size:.7rem}.cv-stats>div{padding:.7rem .75rem}.cv-stats dd{font-size:1.4rem}.cv-stats dt{font-size:.56rem}.cv-section__heading h3{font-size:1.3rem}.cv-profile .cv-profile__lead{font-size:1.08rem}.cv-rail{padding-left:0}.cv-rail:before,.cv-rail__node{display:none}.cv-role{padding:1rem}.cv-role__dates{flex-direction:row;align-items:flex-start;gap:.7rem}.ctl__toolbar{align-items:flex-start}.ctl__card{padding:1rem 1rem 1.1rem 1.2rem}.ctl__card-dates{align-items:flex-start}.cv-closing{padding:1.3rem 1.1rem}}@media (max-width:620px){.hub-panel__surface:has(.career-panel) .hub-panel__header{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.hub-panel__surface:has(.career-panel) .hub-panel__header-actions{display:contents}.hub-panel__surface:has(.career-panel) .hub-panel__close{grid-area:1/2;align-self:start}.career-panel__tools{grid-area:2/1/auto/-1;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.career-panel *,.career-panel :before,.career-panel :after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:16mm}body:has(.career-panel){background:#fff}body:has(.career-panel) :is(.site-header,.site-footer,canvas,.hub__ring,.hub-panel__backdrop,.hub-panel__header,.cv-nav,.cv-closing__actions,.ctl__toolbar,.ctl__hint,.ctl__viewport,.ctl__detail,.cv-skills__hint){display:none!important}main:has(.career-panel){min-height:0;display:block;overflow:visible}.hub:has(.career-panel){aspect-ratio:auto;width:auto;height:auto;position:static}.hub-panel:has(.career-panel){width:auto;animation:none;position:static;transform:none}.hub-panel__surface:has(.career-panel){max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;padding:0;overflow:visible}.hub-panel__surface:has(.career-panel) .hub-panel__body{padding:0;overflow:visible}.career-panel{--career-ink:#1d2733;--career-muted:#4c5a6b;--career-faint:#6b7787;--career-accent:#1f5fae;--career-line:#d8dee8;--career-line-strong:#c3ccd9;--career-surface:#fff;--career-surface-strong:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.career-panel :is(h3,h4,h5,.cv-stats dd,.cv-closing__title){-webkit-text-fill-color:currentColor;color:#111!important;background:0 0!important}.cv-hero__portrait:before,.cv-hero__portrait:after{display:none}.ctl__print{margin:0;padding-left:1.1rem;font-size:9pt;display:block}.ctl__print li{break-inside:avoid;margin-bottom:.4rem}.ctl__print span{color:var(--career-muted);font-size:8pt;display:block}.career-disclosure>summary{display:none}.cv-project__preview{display:none!important}.career-disclosure::details-content{content-visibility:visible;display:block}.cv-role,.cv-project,.cv-card,.cv-skill-group,.cv-strengths ol>li{break-inside:avoid;box-shadow:none;transform:none}.career-panel a{text-decoration:none}}@keyframes hub-flare{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)}22%{opacity:.85}to{opacity:0;transform:translate(-50%,-50%)scale(3.4)}}@keyframes hub-logo-in{0%{opacity:0;filter:blur(16px)brightness(2.4);transform:translate(-50%,-50%)scale(.7)}55%{opacity:1;filter:blur()brightness(1.45);transform:translate(-50%,-50%)scale(1.035)}78%{filter:blur()brightness(1.05);transform:translate(-50%,-50%)scale(.99)}to{opacity:1;filter:blur()brightness();transform:translate(-50%,-50%)scale(1)}}@keyframes hub-logo-heartbeat{0%,to{filter:blur()drop-shadow(0 0 #8b7eff00);transform:translate(-50%,-50%)scale(1)}6%{filter:blur()drop-shadow(0 0 14px #8b7eff61);transform:translate(-50%,-50%)scale(1.025)}12%{filter:blur()drop-shadow(0 0 5px #8b7eff29);transform:translate(-50%,-50%)scale(1.002)}18%{filter:blur()drop-shadow(0 0 10px #8b7eff47);transform:translate(-50%,-50%)scale(1.014)}26%{filter:blur()drop-shadow(0 0 #8b7eff00);transform:translate(-50%,-50%)scale(1)}}@keyframes hub-ripple{0%{opacity:0;transform:translate(-50%,-50%)scale(.08)}30%{opacity:.45}to{opacity:0;transform:translate(-50%,-50%)scale(1.15)}}@keyframes logo-edge-run{0%{opacity:0;stroke-dashoffset:0}12%{opacity:1}82%{opacity:1}to{opacity:0;stroke-dashoffset:-100px}}@keyframes hub-orbit-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes hub-node-in{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--hub-angle)) translateY(0) rotate(calc(-1 * var(--hub-angle))) scale(.3);filter:blur(7px)}to{opacity:1;transform:translate(-50%, -50%) rotate(var(--hub-angle)) translateY(calc(-1 * var(--hub-ring))) rotate(calc(-1 * var(--hub-angle))) scale(1);filter:blur()}}@keyframes hub-drift{0%{transform:translateY(0)}to{transform:translateY(calc(var(--hub-node) * .02))}}@keyframes hub-lunge{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1.04)}}@keyframes hub-pulse{0%{opacity:.75;transform:translate(-50%,-50%)scale(.6)}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes hub-panel-in{0%{opacity:0;filter:blur(12px);transform:translate(-50%,-50%)scale(.94)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}@keyframes hub-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hub-chroma-in{0%{opacity:0;filter:blur(6px);text-shadow:-9px 0 #ff496f,9px 0 #45e6ed;transform:translate(calc(-50% - 7px))}27%{opacity:.85;filter:blur(1px);text-shadow:-5px 0 #ff496f,5px 0 #45e6ed;transform:translate(calc(4px - 50%))}42%{opacity:.65;text-shadow:2px 0 #ff496f,-2px 0 #45e6ed;transform:translate(calc(-50% - 2px))}to{opacity:1;filter:blur();text-shadow:0 0 16px #78a5ff8c;transform:translate(-50%)}}@keyframes hub-chroma-out{0%{opacity:1;filter:blur();text-shadow:0 0 16px #78a5ff8c;clip-path:inset(0);transform:translate(-50%)}32%{opacity:.9;text-shadow:-7px 0 #ff496f,7px 0 #45e6ed;clip-path:inset(16% 0 24%);transform:translate(calc(7px - 50%))}64%{opacity:.55;text-shadow:5px 0 #ff496f,-5px 0 #45e6ed;clip-path:inset(34% 0 10%);transform:translate(calc(-50% - 5px))}to{opacity:0;filter:blur(9px);clip-path:inset(50% 0);transform:translate(calc(10px - 50%))}}@keyframes hub-companies-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
