@import url(https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap);
/*
! tailwindcss v3.4.11 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Roboto,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.grid{display:grid}.\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{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-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@font-face{font-display:swap;font-family:HelveticaNeueRoman;src:url(/static/media/HelveticaNeueRoman.ddb209473d7df560da50.otf) format("opentype")}:root{--bg:#0a121f;--surface:#101d30;--surface-muted:#182a43;--text:#e8effa;--text-muted:#c5d2e3;--heading:#f0f6ff;--border:#263b56;--border-strong:#3c5c84;--accent:#78b5ff;--accent-strong:#c4e1ff;--accent-soft:#5ba1ff14;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{-webkit-font-smoothing:antialiased;background:#0a121f;background:var(--bg);color:#e8effa;color:var(--text);font-family:Manrope,HelveticaNeueRoman,sans-serif;margin:0}::selection{background:#78b5ff;color:#0a121f}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:#f0f6ff;color:var(--heading)}ul{margin:0}a:focus-visible,button:focus-visible{border-radius:3px;outline:2px solid #78b5ff;outline:2px solid var(--accent);outline-offset:6px}#main-content:focus{outline:none}.app-shell{min-height:100vh}.app-shell,.content-card{isolation:isolate;position:relative}.content-card{overflow:hidden}.app-main,.header-inner,.home-container,.site-footer{margin-inline:auto;width:min(1160px,calc(100% - 112px))}.app-main{padding-block:86px 100px}.page-container,.page-shell{min-height:65vh}.eyebrow,.mono{font-family:DM Mono,monospace;font-weight:400}.eyebrow{align-items:center;color:#78b5ff;color:var(--accent);display:flex;font-size:11px;gap:14px;letter-spacing:.12em;text-transform:uppercase}.page-heading{align-items:flex-end;border-bottom:1px solid #263b56;border-bottom:1px solid var(--border);display:flex;gap:24px;justify-content:space-between;margin-bottom:48px;padding-bottom:52px}.page-title{font-size:clamp(42px,5.8vw,76px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin-top:22px}.page-title>span,.section-heading h2>span,.section-intro h2>span{color:#78b5ff;color:var(--accent)}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.pill-label{background:hsla(0,0%,100%,.025);border:1px solid #263b56;border:1px solid var(--border);border-radius:4px;color:#b5cae5;display:inline-block;font-family:DM Mono,monospace;font-size:10px;line-height:1.5;padding:5px 10px}.button,.download-button{align-items:center;border:1px solid #3c5c84;border:1px solid var(--border-strong);border-radius:5px;display:inline-flex;font-size:12px;font-weight:600;gap:18px;justify-content:center;min-height:48px;padding:13px 21px;transition:background .18s ease,border-color .18s ease,color .18s ease}.button-primary{background:#78b5ff;background:var(--accent);border-color:#78b5ff;border-color:var(--accent);color:#081c38}.button-primary:hover{background:#c4e1ff;background:var(--accent-strong);border-color:#c4e1ff;border-color:var(--accent-strong)}.button-secondary:hover,.download-button:hover{background:#182a43;background:var(--surface-muted);border-color:#78b5ff;border-color:var(--accent)}.download-button{color:#c4e1ff;color:var(--accent-strong);white-space:nowrap}.nav-link,.text-link{color:#78b5ff;color:var(--accent)}.text-link{align-items:center;display:inline-flex;font-size:12px;font-weight:600;gap:12px}.nav-link:hover,.text-link:hover{color:#c4e1ff;color:var(--accent-strong)}.nav-link{text-decoration:underline;text-decoration-color:#5889c3;text-underline-offset:4px}.magnet{display:inline-block}.reveal{opacity:1;transform:none;transition:opacity .65s ease 0ms,transform .65s cubic-bezier(.2,.7,.2,1) 0ms;transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal-pending{opacity:0;transform:translateY(18px)}.route-content{animation:route-enter .4s ease both}@keyframes route-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.skip-link{background:#78b5ff;background:var(--accent);color:#0a121f;color:var(--bg);left:20px;padding:14px 20px;position:fixed;top:12px;transform:translateY(-180%);z-index:100}.skip-link:focus{transform:none}.site-footer{border-top:1px solid #263b56;border-top:1px solid var(--border)}.footer-connect{align-items:center;display:flex;gap:28px;justify-content:space-between;padding-block:65px}.footer-connect h2{font-size:clamp(32px,4.5vw,52px);font-weight:500;letter-spacing:-.05em;margin-top:16px}.footer-connect h2 span{color:#78b5ff;color:var(--accent)}.contact-link{align-items:center;border-bottom:1px solid #3c5c84;border-bottom:1px solid var(--border-strong);display:inline-flex;font-size:15px;gap:18px;padding-block:12px}.contact-link:hover{border-color:#78b5ff;border-color:var(--accent);color:#78b5ff;color:var(--accent)}.footer-bottom{align-items:center;border-top:1px solid #263b56;border-top:1px solid var(--border);color:#c5d2e3;color:var(--text-muted);display:flex;font-size:11px;gap:20px;justify-content:space-between;padding-block:26px 34px}.social-links{display:flex;gap:25px}.social-links a{align-items:center;display:flex;gap:8px;min-height:32px}.social-links a:hover{color:#78b5ff;color:var(--accent)}@media (min-width:1600px){.app-main,.header-inner,.home-container,.site-footer{width:min(1280px,calc(100% - 160px))}}@media (max-width:1000px){.app-main,.header-inner,.home-container,.site-footer{width:calc(100% - 64px)}}@media (max-width:700px){.app-main,.header-inner,.home-container,.site-footer{width:calc(100% - 40px)}.app-main{padding-block:48px 64px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:28px;padding-bottom:32px}.page-title{font-size:clamp(38px,10vw,62px);margin-top:16px}.footer-connect{flex-direction:column;padding-block:42px}.footer-bottom,.footer-connect{align-items:flex-start;gap:18px}.footer-bottom{flex-direction:column-reverse}.social-links{flex-wrap:wrap;gap:22px}.contact-link{font-size:13px;gap:12px}}@media (prefers-reduced-motion:reduce){html:not([data-motion=enabled]){scroll-behavior:auto}html:not([data-motion=enabled]) *,html:not([data-motion=enabled]) :after,html:not([data-motion=enabled]) :before{animation:none!important;transition:none!important}html:not([data-motion=enabled]) .reveal-pending{opacity:1;transform:none}html:not([data-motion=enabled]) .magnet-inner{transform:none!important}}@media print{:root{--bg:#fff;--surface:#fff;--text:#111;--heading:#111;--text-muted:#333;--accent:#333;--border:#ccc;color-scheme:light}body{background:#fff;color:#111}.download-button,.site-footer,.site-header,.skip-link{display:none!important}.app-main{padding:0;width:100%}.reveal,.reveal-pending,.route-content{animation:none;opacity:1;transform:none}.research-section,.resume-entry{break-inside:avoid;page-break-inside:avoid}}#about:focus,#contact:focus{outline:none}.contact-options{max-width:100%}.contact-actions{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-top:15px}.contact-copy,.motion-toggle{align-items:center;background:#0000;border:0;color:#c5d2e3;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:11px;gap:8px;padding:6px 0}.contact-copy:hover,.motion-toggle:hover{color:#c4e1ff;color:var(--accent-strong)}.contact-copy{min-height:34px}.contact-status{color:#c5d2e3;color:var(--text-muted);font-size:10px;margin-top:8px;min-height:17px}.contact-status:empty{display:none}.contact-link{-webkit-user-select:text;user-select:text}[data-motion=paused] *,[data-motion=paused] :after,[data-motion=paused] :before{animation-play-state:paused!important}[data-motion=paused] .reveal,[data-motion=paused] .route-content{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}[data-motion=paused] .magnet-inner{transform:none!important;transition:none!important}[data-motion=paused] .chart-trace,[data-motion=paused] .signal-line{stroke-dashoffset:0;animation:none}[data-motion=paused] .preview-tile,[data-motion=paused] .roast-bubble{animation:none;opacity:1;transform:none}@media (max-width:600px){html{scroll-padding-top:128px}.footer-bottom{align-items:flex-start;flex-direction:column}}@media print{.motion-toggle{display:none}}.research-list{grid-gap:30px;display:grid;gap:30px}.research-box{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:38px}.research-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:28px}.research-label{color:var(--accent);font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;margin-bottom:17px;text-transform:uppercase}.paper-title{font-size:clamp(24px,3vw,35px);font-weight:500;letter-spacing:-.035em;line-height:1.35;max-width:900px}.paper-byline{color:var(--text-muted);font-size:11px;line-height:1.8;margin-top:16px}.research-content{grid-gap:38px;align-items:center;display:grid;gap:38px;grid-template-columns:1.35fr 1fr}.research-lead{color:var(--text);font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.55;margin-bottom:19px}.research-text{color:var(--text);font-size:14px;line-height:1.9;margin-bottom:17px}.research-summary .tag-list{margin-top:23px}.research-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:18px;justify-content:space-between;margin-top:30px;padding-top:25px}@media (max-width:900px){.research-content{gap:25px;grid-template-columns:1fr 1fr}.research-box{padding:28px}}@media (max-width:700px){.research-content{gap:28px;grid-template-columns:1fr}.research-box{padding:25px}.research-lead{font-size:19px}.research-actions{flex-wrap:wrap}}@media (max-width:450px){.research-box{padding:22px}.paper-title{font-size:23px}.research-actions .download-button{font-size:11px;gap:12px;padding-inline:13px}}.hero{grid-gap:65px;align-items:center;display:grid;gap:65px;grid-template-columns:1.3fr .85fr;isolation:isolate;min-height:680px;padding:76px 0 110px;position:relative}.hero-grid{inset:0 -55px;-webkit-mask-image:radial-gradient(ellipse at 75% 40%,#000,#0000 68%);mask-image:radial-gradient(ellipse at 75% 40%,#000,#0000 68%);overflow:hidden;pointer-events:none;position:absolute;z-index:-1}.hero-grid:before{background-image:linear-gradient(rgba(104,170,255,.065) 1px,#0000 0),linear-gradient(90deg,rgba(104,170,255,.065) 1px,#0000 0);background-size:76px 76px;content:"";inset:-40%;position:absolute;transform:perspective(1000px) rotateX(52deg) rotateY(18deg) rotate(-14deg);transform-origin:50% 50%}.hero-eyebrow{font-size:10px;letter-spacing:.13em}.status-dot{background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #68aaff1a;display:inline-block;flex:0 0 6px;height:6px;width:6px}[data-motion=enabled] .status-dot{animation:hero-status-blink 2s ease-in-out infinite}@keyframes hero-status-blink{0%,to{opacity:1}50%{opacity:.2}}.hero h1{font-size:clamp(78px,8.7vw,128px);font-weight:500;letter-spacing:-.065em;line-height:.9;margin:26px 0 27px -6px}.hero h1>span{color:var(--accent);letter-spacing:0}.hero-description{color:var(--text-muted);font-size:17px;letter-spacing:-.02em;line-height:1.75;max-width:380px}.hero-actions{flex-wrap:wrap}.current-role,.hero-actions{align-items:center;display:flex;gap:12px;margin-top:30px}.current-role{color:var(--text-muted)}.current-role strong{color:var(--text);font-weight:600}.current-role-line{background:var(--border-strong);height:1px;width:24px}.hero-portrait{padding:24px 36px 0 8px;position:relative}.portrait-frame{aspect-ratio:1;background:#192a3e;border:1px solid #56769e;border-radius:50%;box-shadow:0 0 0 10px #0e1d31,0 0 0 11px #263f5d,0 28px 70px #030b1866;overflow:hidden;position:relative;width:100%}.headshot{filter:saturate(.8);height:100%;object-fit:cover;object-position:50% 0;width:100%}.portrait-caption{color:#9eb5d2;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.035em;margin-top:30px;text-align:center}.hero-scroll{align-items:center;bottom:31px;color:var(--text-muted);display:flex;font-family:DM Mono,monospace;font-size:9px;gap:13px;position:absolute}.hero-scroll:hover{color:var(--accent)}.impact-strip{border-block:1px solid var(--border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:31px}.impact-strip>div{border-left:1px solid var(--border);padding-left:43px}.impact-strip>div:first-child{border-left:0;padding-left:0}.impact-strip strong{font-size:34px;font-weight:500;letter-spacing:-.035em}.impact-strip strong>span>span:not(.count-up){color:var(--text-muted);font-size:21px}.impact-strip p{color:var(--text-muted);font-size:10px;margin-top:7px}.section-layout{grid-gap:90px;border-bottom:1px solid var(--border);display:grid;gap:90px;grid-template-columns:.85fr 1.5fr;padding-block:90px}.section-heading h2,.section-intro h2{font-size:clamp(30px,3.1vw,42px);font-weight:500;letter-spacing:-.045em;line-height:1.25;margin-top:23px}.section-intro>.text-link{margin-top:24px}.about-copy{padding-top:1px}.bio-text{color:var(--text);font-size:15px;line-height:1.95;margin-bottom:20px}.bio-text:last-child{margin-bottom:0}.bio-text strong{color:var(--accent);font-weight:500}.experience-section{align-items:start}.experience-section>.section-intro{position:sticky;top:130px}.experience-list{grid-gap:14px;display:grid;gap:14px}.experience-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:30px;transition:border-color .25s}.experience-card:hover{border-color:var(--border-strong)}.experience-meta{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.experience-meta .mono{color:var(--text-muted);font-size:10px}.current-badge,.internship-badge{border:1px solid #365c8c;border-radius:3px;color:var(--accent);font-family:DM Mono,monospace;font-size:9px;padding:3px 8px}.experience-company{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px}.internship-badge{background:#182a43;flex-shrink:0;font-family:inherit;font-size:10px;font-weight:500}.experience-card h3{font-size:21px;font-weight:500;letter-spacing:-.03em;line-height:1.4}.experience-role{color:var(--accent);font-size:11px;margin-top:6px}.experience-card ul{list-style:disc;margin:23px 0;padding-left:16px}.experience-card li{color:var(--text);font-size:13px;line-height:1.85;margin-block:8px;padding-left:3px}.experience-card li::marker{color:#5e8bbe}.explore-section{padding-block:80px 95px}.explore-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px}.explore-card{background:var(--surface);border:1px solid var(--border);border-radius:6px}.explore-card>a{align-items:flex-start;display:flex;flex-direction:column;height:100%;padding:34px}.explore-card .text-link{margin-top:auto}.explore-card>a:focus-visible{outline-offset:-4px}.explore-card svg{color:var(--accent)}.explore-number{color:var(--text-muted);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;position:absolute;right:32px;top:40px}.explore-card h3{font-size:25px;font-weight:500;letter-spacing:-.035em;margin-top:34px}.explore-card p{color:var(--text-muted);font-size:12px;line-height:1.8;margin:12px 0 24px}.explore-card:hover{border-color:var(--border-strong)}@media (max-width:1000px){.hero{gap:38px;min-height:600px}.hero-grid{inset-inline:-32px}.section-layout{gap:45px}.portrait-caption{font-size:8px;left:16px;right:16px}}@media (max-width:800px){.hero h1{font-size:83px}.hero{gap:28px;grid-template-columns:1.1fr .9fr}.hero-description{font-size:15px}.hero-eyebrow{font-size:8px}.hero-actions .button{font-size:10px;gap:10px;padding-inline:13px}.section-layout{gap:30px;grid-template-columns:1fr 1.5fr}.experience-card{padding:24px}}@media (max-width:700px){.hero{gap:38px;grid-template-columns:1fr;padding-block:48px 64px}.hero-grid{inset-inline:-20px}.hero h1{font-size:clamp(80px,20vw,115px);margin-block:23px}.hero-eyebrow{font-size:9px}.hero-description{font-size:16px;max-width:350px}.hero-actions .button{font-size:11px;gap:13px;padding-inline:17px}.hero-portrait{justify-self:center;padding:12px 28px 0 14px;width:min(100%,350px)}.portrait-frame{aspect-ratio:1}.headshot{object-position:50% 0}.portrait-caption{font-size:9px}.hero-scroll{bottom:20px;font-size:8px}.impact-strip{padding-block:23px}.impact-strip>div{padding-inline:15px 7px}.impact-strip strong{font-size:25px}.impact-strip strong>span>span:not(.count-up){font-size:13px}.impact-strip p{font-size:8px;line-height:1.8;max-width:105px}.section-layout{gap:30px;grid-template-columns:1fr;padding-block:54px}.section-heading h2,.section-intro h2{font-size:33px;margin-top:16px}.bio-text{font-size:14px}.experience-section>.section-intro{position:static}.explore-section{padding-block:52px 62px}.explore-grid{gap:14px;grid-template-columns:1fr;margin-top:28px}.explore-card>a{padding:28px}}.hero-ambient{inset:0 -50px;overflow:hidden;pointer-events:none;position:absolute;z-index:-2}.hero-ambient>span{animation:ambient-drift 14s ease-in-out infinite alternate;background:radial-gradient(circle,#1673df19,#0000 65%);border-radius:50%;height:500px;position:absolute;right:-70px;top:-120px;width:500px}.hero-ambient>span:last-child{animation-delay:-7s;background:radial-gradient(circle,#3973ba10,#0000 70%);height:400px;left:-150px;top:160px;width:400px}@keyframes ambient-drift{0%{transform:translate3d(-35px,0,0)}to{transform:translate3d(30px,65px,0)}}.impact-strip strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.current-role{font-size:11px;line-height:1.8}.current-role-line{flex-shrink:0}@media (max-width:700px){.hero-ambient{inset-inline:-20px}.portrait-caption{margin-top:28px}.hero{padding-bottom:78px}}@media (max-width:380px){.impact-strip strong{font-size:23px}.impact-strip>div{padding-left:10px}.impact-strip>div:first-child{padding-left:0}.current-role{font-size:10px;gap:8px}}.impact-strip>.impact-company{align-items:center;display:flex;gap:28px;justify-content:flex-start;padding-right:24px}.impact-company>div{flex-shrink:0}.impact-logo{display:block;flex-shrink:1;height:auto;max-width:100%;min-width:0;object-fit:contain;width:clamp(98px,10vw,136px)}.impact-logo-meta{width:clamp(94px,9.5vw,128px)}@media (min-width:851px) and (max-width:1000px){.impact-strip>div{padding-left:24px}.impact-strip>.impact-company{gap:12px;padding-right:16px}}@media (max-width:850px){.impact-strip>.impact-company{align-items:flex-start;flex-direction:column;gap:15px;justify-content:space-between;padding-right:7px}.impact-logo,.impact-logo-meta{width:86px}}@media (min-width:851px) and (max-width:1100px){.explore-card>a{padding:28px}.explore-card h3{font-size:22px}.explore-number{right:26px;top:34px}}@media (max-width:850px){.explore-grid{grid-template-columns:1fr}}.resume-document{border-top:0}.resume-section{border-bottom:1px solid var(--border);padding-block:32px}.resume-section--summary{padding-top:0}.resume-section--employment{padding-bottom:0}.profesional-summary-title,.section-title{font-size:26px;font-weight:500;letter-spacing:-.035em;margin-bottom:23px}.resume-bullet{color:var(--text);font-size:14px;line-height:1.95}.resume-entry{display:block;padding:27px 0}.resume-entry+.resume-entry{border-top:1px solid var(--border)}.resume-entry-header{grid-column-gap:12px;align-items:start;column-gap:12px;cursor:pointer;display:grid;grid-template-columns:20px minmax(0,1fr) auto;isolation:isolate;list-style:none;min-height:28px;position:relative}.resume-entry-header:before{border-radius:7px;box-shadow:0 0 24px #5ba1ff2e;content:"";inset:-8px -12px;opacity:0;pointer-events:none;position:absolute;z-index:-1}[data-motion=enabled] .resume-entry-header:before{transition:opacity .2s ease}.resume-entry-header:is(:hover,:focus-visible):before{opacity:1}@media print{.resume-entry-header:before{display:none}}.resume-entry-header::-webkit-details-marker{display:none}.resume-entry-header:focus-visible{border-radius:3px;outline:2px solid var(--accent);outline-offset:6px}.resume-entry-chevron{color:var(--accent);margin-top:5px}[data-motion=enabled] .resume-entry-chevron{transition:transform .18s ease}.resume-entry[open]>.resume-entry-header .resume-entry-chevron{transform:rotate(90deg)}.resume-entry-header:hover .resume-entry-chevron{color:var(--accent-strong)}.resume-entry>.job-ul{margin-left:32px}.resume-entry-heading{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px}.resume-entry-title{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.6;max-width:660px}.resume-company{align-items:center;display:inline-flex;gap:12px;vertical-align:middle;white-space:nowrap}.resume-company-logo{display:block;flex-shrink:0;height:22px;object-fit:contain;width:auto}.resume-entry-date{color:var(--accent);font-family:DM Mono,monospace;font-size:10px;line-height:1.8;padding-top:5px;white-space:nowrap}.job-ul{color:var(--text);font-size:14px;line-height:1.9;list-style:disc;margin-top:15px;max-width:860px;padding-left:17px}.job-ul li{margin-block:8px;padding-left:5px}.job-ul li::marker{color:#6a91be}.resume-grid{grid-gap:50px;display:grid;gap:50px;grid-template-columns:1fr 1fr}.resume-grid .resume-section{border-bottom:0}@media (min-width:701px){.resume-grid>.resume-section{display:flex;flex-direction:column;min-width:0}.resume-grid .resume-gymnastics,.resume-grid .resume-tools{flex:1 1}}.resume-grid .resume-bullet{font-size:14px}.resume-education-heading{align-items:flex-start;color:var(--heading);display:flex;font-size:14px;gap:20px;line-height:1.95}.resume-education-copy{min-width:0}.resume-university-logo{flex:0 0 48px;height:auto;margin-top:.6em;width:48px}.resume-gymnastics-copy h3,.resume-university{color:#ff626b}.resume-gymnastics{grid-gap:12px;align-items:center;background:linear-gradient(135deg,#182a43cc,#101d30cc);border:1px solid var(--border);border-radius:8px;break-inside:avoid;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 38%;margin:24px 0 0;padding:12px;page-break-inside:avoid}.resume-gymnastics-copy{min-width:0;padding:6px 8px}.resume-gymnastics-copy h3{font-size:15px;font-weight:600;letter-spacing:-.02em;line-height:1.5}.resume-gymnastics-honors{grid-gap:16px;display:grid;gap:16px;list-style:none;margin:18px 0 0;padding:0}.resume-gymnastics-honors li{align-items:flex-start;display:flex;gap:10px}.resume-gymnastics-honors svg{color:var(--accent);flex-shrink:0;margin-top:2px}.resume-gymnastics-honors strong{color:var(--heading);display:block;font-size:13px;font-weight:600;line-height:1.6}.resume-gymnastics-honors span{color:var(--text);display:block;font-size:12px;line-height:1.7}.resume-gymnastics-watch{gap:7px;margin-top:14px;min-height:28px;text-decoration:underline;text-decoration-color:var(--border-strong);text-underline-offset:4px}.resume-gymnastics-watch:hover{text-decoration-color:initial}.resume-gymnastics-photo{border:1px solid var(--border);border-radius:5px;display:block;height:auto;width:100%}@media (max-width:420px){.resume-gymnastics{grid-template-columns:minmax(0,1fr)}}@media print{.resume-gymnastics{background:none}}.resume-tools{background:linear-gradient(135deg,#182a43cc,#101d30cc);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.resume-tool-group{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:110px minmax(0,1fr)}.resume-tool-group+.resume-tool-group{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.resume-tool-label{align-items:center;display:flex;font-size:11px;font-weight:600;gap:8px;line-height:1.6;padding-top:6px}.resume-tool-label svg{color:var(--accent);flex-shrink:0}.resume-tool-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.resume-tool-tags li{background:#182a43;border:1px solid #365274;border-radius:5px;color:var(--text);font-size:12px;line-height:1.5;padding:5px 9px;white-space:nowrap}@media (max-width:420px),(min-width:701px) and (max-width:1050px){.resume-tool-group{gap:10px;grid-template-columns:minmax(0,1fr)}.resume-tool-label{padding-top:0}}@media print{.resume-tools{background:none}.resume-tool-tags li{background:none;border-color:var(--border)}}.resume-download{display:flex;justify-content:flex-start;padding-top:24px}@media (max-width:700px){.resume-entry-header{gap:6px 12px;grid-template-columns:20px minmax(0,1fr)}.resume-entry-date{grid-column:2;padding-top:0}.resume-entry-title{font-size:16px}.resume-grid{gap:0;grid-template-columns:1fr}.resume-bullet{font-size:13px}}.resume-page .app-main{padding-block:36px 40px}.resume-page .page-heading{margin-bottom:28px;padding-bottom:28px}.resume-page .page-title{margin-top:12px}.resume-page .resume-grid>.resume-section:last-child{padding-bottom:0}@media (min-width:701px){.resume-page .resume-grid>.resume-section{padding-bottom:0}}@media (max-width:700px){.resume-page .app-main{padding-block:28px 32px}}@media print{.resume-page .app-main{padding:0}}.project-list{grid-gap:30px;display:grid;gap:30px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;display:grid;grid-template-columns:.95fr 1.4fr}.project-details{padding:36px 40px}.project-details>.eyebrow{color:var(--accent);font-size:9px}.project-title{font-size:27px;font-weight:500;letter-spacing:-.04em;line-height:1.3;margin-top:18px}.project-description{color:var(--text-muted);font-size:14px;line-height:1.95;margin-block:18px 23px}.project-link{align-items:center;color:var(--accent);display:inline-flex;font-size:11px;gap:10px;margin-top:29px;padding-block:5px}.project-link svg:last-child{margin-left:12px;transition:transform .2s ease}.project-link:hover{color:var(--accent-strong)}.project-link:hover svg:last-child{transform:translate(2px,-2px)}@media (max-width:850px){.project-details{padding:28px}.project-title{font-size:24px}}@media (max-width:700px){.project-card{grid-template-columns:1fr}.project-details{padding:25px}}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a121ff0;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.header-inner{align-items:center;display:flex;gap:24px;justify-content:space-between;min-height:84px}.wordmark{color:#77b8ff;font-family:DM Mono,monospace;font-size:23px;font-weight:400;letter-spacing:-.07em;line-height:1}.wordmark span{color:#d8eaff}.primary-nav{align-items:center;display:flex;gap:30px}.primary-nav a{color:var(--text-muted);font-size:13px;padding:13px 0;position:relative;transition:color .18s}.primary-nav a.active,.primary-nav a:hover{color:var(--heading)}.primary-nav a:after{background:var(--accent);border-radius:50%;bottom:3px;content:"";height:4px;left:50%;position:absolute;transform:scale(0);transition:transform .2s;width:4px}.primary-nav a.active:after{transform:scale(1)}.header-contact{align-items:center;color:var(--accent-strong);display:flex;font-size:11px;gap:15px;white-space:nowrap}.header-contact svg{transition:transform .22s ease}.header-contact:hover svg{transform:translate(2px,-2px)}.header-contact:hover{color:#fff}@media (max-width:800px){.header-inner{gap:18px}.primary-nav{gap:22px}.wordmark{font-size:20px}.header-contact{gap:8px}}@media (max-width:600px){.header-inner{flex-wrap:wrap;gap:6px 20px;min-height:104px;padding-top:19px}.primary-nav{gap:14px;justify-content:space-between;order:3;padding-bottom:6px;width:100%}.primary-nav a{font-size:12px}.header-contact{margin-left:auto}.wordmark{font-size:22px}}.ambient-particles{background:radial-gradient(ellipse at 85% 15%,#126ac40b,#0000 60%),radial-gradient(ellipse at 10% 85%,#3575c409,#0000 55%);inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:-1}.ambient-particle{animation:ambient-particle-travel var(--particle-duration) linear var(--particle-delay) infinite;animation-play-state:paused;background:#8bc4ff;border-radius:50%;box-shadow:0 0 7px #78b5ff35;display:block;height:var(--particle-size);opacity:var(--particle-alpha);position:absolute;width:var(--particle-size)}.ambient-particle:nth-child(3n){background:#b6dbff}.ambient-particle:nth-child(3n+1){background:#5b9aeb}.ambient-particles[data-animate=true] .ambient-particle{animation-play-state:running}@keyframes ambient-particle-travel{0%{opacity:0;transform:translate3d(calc(var(--drift-x)*-.5),calc(var(--drift-y)*.5),0)}12%,88%{opacity:var(--particle-alpha)}to{opacity:0;transform:translate3d(calc(var(--drift-x)*.5),calc(var(--drift-y)*-.5),0)}}@media (max-width:700px){.ambient-particle:nth-child(n+41){display:none}}@media print{.ambient-particles{display:none}}.shiny-text{-webkit-text-fill-color:#0000;animation:text-shine 5s linear infinite;background:linear-gradient(120deg,#73b5ff,#73b5ff 36%,#e3f1ff 50%,#73b5ff 64%,#73b5ff);-webkit-background-clip:text;background-clip:text;background-position:150%;background-repeat:repeat-x;background-size:200% 100%;color:var(--accent)}@keyframes text-shine{0%{background-position:150%}96%,to{background-position:-50%}}.star-border-container{background:#314e73;border-radius:6px;display:inline-flex;overflow:hidden;padding:1px;position:relative;vertical-align:middle}.border-gradient-bottom,.border-gradient-top{background:radial-gradient(circle,#d0ebff,#55a6ff 8%,#0000 28%);border-radius:50%;height:70%;opacity:.9;pointer-events:none;position:absolute;width:300%}.border-gradient-bottom{animation:star-movement-bottom 5s linear infinite alternate;bottom:-10px;right:-250%}.border-gradient-top{animation:star-movement-top 5s linear infinite alternate;left:-250%;top:-10px}.star-border-content{background:var(--bg);border-radius:5px;display:inline-flex;position:relative;z-index:1}.star-border-content>.button{background:#152c48;border:0;color:#d6eaff}.star-border-content>.button:hover{background:#1d3e65}.star-border-content>a:focus-visible{outline-offset:-4px}.star-border-container:focus-within{outline:2px solid var(--accent);outline-offset:3px}@keyframes star-movement-bottom{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}@keyframes star-movement-top{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.impact-strip strong .count-up{color:inherit;font:inherit}.animated-visual[data-animate=false] *,.animated-visual[data-animate=false] :after,.animated-visual[data-animate=false] :before{animation-play-state:paused!important}.project-artwork{background:radial-gradient(ellipse at 50% 40%,#1b3b61,#0c1a2e 75%);border-right:1px solid var(--border);display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:380px;min-width:0;overflow:hidden;position:relative}.artwork-grid{background-image:linear-gradient(#557ba329 1px,#0000 0),linear-gradient(90deg,#557ba329 1px,#0000 0);background-size:24px 24px;inset:0;-webkit-mask-image:radial-gradient(ellipse,#000,#0000 75%);mask-image:radial-gradient(ellipse,#000,#0000 75%);opacity:.32;position:absolute;z-index:-1}.artwork-scene{align-items:center;display:flex;justify-content:center;min-height:330px;padding:36px 24px 60px}.art-window{background:#0d1727;border:1px solid #44668b;border-radius:10px;box-shadow:0 18px 60px #030a1780,0 0 28px #368aff16;max-width:310px;overflow:hidden;width:100%}.art-window-bar{align-items:center;background:#142237;border-bottom:1px solid #2a3d57;display:flex;gap:4px;height:28px;padding:0 12px}.art-window-bar>span{background:#617b98;border-radius:50%;height:4px;width:4px}.art-window-bar>span:first-child{background:#80b8ec}.art-window-bar em{color:#9bb0ca;font-family:DM Mono,monospace;font-size:7px;font-style:normal;margin-left:auto}.dashboard-art-content{display:flex;gap:13px;padding:15px 12px}.art-sidebar{border-right:1px solid #28384e;display:flex;flex-direction:column;flex-shrink:0;gap:13px;padding-right:10px;width:38px}.art-logo{color:#79baff;font-family:monospace;font-size:8px;margin-bottom:7px}.art-sidebar i{background:#304866;border-radius:2px;height:3px;width:20px}.art-sidebar i:first-of-type{background:#67b0fb}.art-dashboard-main{flex:1 1;min-width:0}.art-heading-line{background:#9abce0;border-radius:3px;height:4px;margin-bottom:12px;width:38%}.art-metrics{display:flex;gap:6px}.art-metrics span{animation:metric-shimmer 6s ease-in-out infinite;background:linear-gradient(110deg,#1a3552,#183550,#244f79,#183550);background-size:300% 100%;border:1px solid #2f4d6e;border-radius:3px;height:28px;width:33%}.art-metrics span:nth-child(2){animation-delay:.4s}.art-metrics span:nth-child(3){animation-delay:.8s}.art-chart{display:block;margin-block:13px;overflow:visible;width:100%}.chart-grid{stroke:#263b54;stroke-width:.6;fill:none}.chart-fill{fill:#2879be1f}.chart-trace{fill:none;stroke:#7bbfff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:trace-chart 6s ease-in-out infinite}.art-task{align-items:center;border-top:1px solid #20314a;color:#87bff6;display:flex;gap:6px;height:19px}.art-task>span{background:#364d68;height:2px;width:60%}.art-task>i{background:#306197;border-radius:3px;height:5px;margin-left:auto;width:14px}.artwork-caption{bottom:24px;color:#a1b8d4;display:flex;flex-wrap:wrap;font-family:DM Mono,monospace;font-size:8px;gap:7px 15px;justify-content:space-between;left:24px;position:absolute;right:24px}.artwork-caption>span:last-child{color:#809bb9;font-size:7px}.code-art-body{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr .72fr;padding:25px 14px}.art-code{color:#b5c9e3;font-family:DM Mono,monospace;font-size:10px;line-height:2.1;white-space:nowrap}.code-purple{color:#b6adfa}.code-indent{padding-left:10px}.art-code b{color:#79bbfd;font-weight:400}.code-cursor{animation:cursor-blink 1.5s steps(1) infinite;background:#83baff;display:inline-block;height:11px;margin-left:3px;width:5px}.code-preview{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.preview-tile{animation:tile-build 6s ease-in-out infinite;aspect-ratio:1;background:#223e67;border:1px solid #3e6296;border-radius:5px}.tile-two{animation-delay:.3s;background:#294b80}.tile-three{animation-delay:.6s;background:#363f77}.tile-four{animation-delay:.9s;background:#305987}.code-tabs{align-items:center;border-top:1px solid #25384f;color:#758ea9;display:flex;font-family:DM Mono,monospace;font-size:8px;gap:16px;padding:12px}.code-tabs .selected{color:#8ac5ff}.code-tabs>svg{color:#8ac5ff;margin-left:auto}.roast-art{display:flex;justify-content:center;max-width:290px;position:relative;width:100%}.art-phone{background:linear-gradient(#101b31,#172643);border:3px solid #506789;border-radius:24px;box-shadow:0 18px 30px #0005,inset 0 0 0 2px #090e1c;height:268px;padding:25px 12px 12px;position:relative;width:151px}.phone-island{background:#050c1a;border-radius:9px;height:9px;left:50%;position:absolute;top:7px;transform:translateX(-50%);width:47px}.phone-title{align-items:center;color:#c8dbfa;display:flex;font-size:10px;gap:5px}.phone-title svg{color:#a7b9ff}.phone-photo{background:#283d64;border-radius:9px;height:117px;margin-block:14px;overflow:hidden;position:relative}.phone-photo svg{fill:#6389b1;height:100%;width:100%}.photo-scan{animation:scan-photo 6s ease-in-out infinite;background:#99d5ff;box-shadow:0 0 20px 4px #68baff66;height:2px;inset:0 0 auto;position:absolute}.photo-corner{border-color:#bddeff;height:17px;position:absolute;width:17px}.corner-top{border-left:1px solid;border-top:1px solid;left:8px;top:8px}.corner-bottom{border-bottom:1px solid;border-right:1px solid;bottom:8px;right:8px}.roast-bubble{align-items:flex-start;animation:bubble-in 6s ease-in-out infinite;background:#36538a;border:1px solid #668ac3;border-radius:7px 7px 7px 1px;color:#dceaff;display:flex;font-size:7px;gap:5px;line-height:1.8;padding:10px 7px}.roast-bubble>svg{flex-shrink:0}.roast-bubble strong{font-weight:500}.phone-home{background:#657995;border-radius:4px;bottom:7px;height:3px;left:50%;position:absolute;transform:translateX(-50%);width:42px}.floating-chip{align-items:center;background:#142541;border:1px solid #4a6997;border-radius:6px;box-shadow:0 8px 20px #03091866;color:#abcdf5;display:flex;font-family:DM Mono,monospace;font-size:8px;gap:8px;padding:9px 11px;position:absolute;z-index:2}.chip-photo{animation:chip-drift 7s ease-in-out infinite;left:1px;top:41px}.chip-roast{animation:chip-drift 7s ease-in-out -3s infinite;bottom:22px;right:-2px}@keyframes metric-shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes trace-chart{0%,12%{stroke-dashoffset:1}65%,to{stroke-dashoffset:0}}@keyframes cursor-blink{0%,70%{opacity:1}71%,to{opacity:0}}@keyframes tile-build{0%,15%{opacity:.35;transform:translateY(5px)}35%,85%{opacity:1;transform:none}to{opacity:.35;transform:translateY(5px)}}@keyframes scan-photo{0%,5%{opacity:0;transform:translateY(0)}15%{opacity:1}50%{opacity:1;transform:translateY(115px)}60%,to{opacity:0;transform:translateY(115px)}}@keyframes bubble-in{0%,30%{opacity:.2;transform:translateY(5px)}52%,90%{opacity:1;transform:none}to{opacity:.2}}@keyframes chip-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.research-visual{align-self:start;background:radial-gradient(ellipse at 50% 65%,#152f50,#101f33 80%);border:1px solid #2d4765;border-radius:8px;min-width:0;overflow:hidden}.research-visual figure{margin:0;padding:22px 16px 17px}.visual-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-inline:8px}.visual-heading .eyebrow{font-size:8px;letter-spacing:.07em}.visual-status{align-items:center;color:#819fbd;display:flex;font-family:DM Mono,monospace;font-size:7px;gap:6px}.visual-status i{background:#77b9fc;border-radius:50%;height:4px;width:4px}.research-visual svg{display:block;overflow:visible;width:100%}.research-visual svg text{fill:#8eaccd;font-family:DM Mono,monospace;font-size:7px;letter-spacing:.09em}.wavelet-visual svg{margin-top:24px}.signal-axis{fill:none;stroke:#385575;stroke-width:.65;stroke-dasharray:3 4}.signal-ghost{stroke:#2c4d72;stroke-width:1;fill:none}.signal-line{fill:none;stroke:#78baff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:decompose-signal 8s ease-in-out infinite}.approximation-line{stroke:#a3c2ff;animation-delay:.7s}.detail-line{stroke:#63d0df;animation-delay:1.4s}@keyframes decompose-signal{0%,8%{stroke-dashoffset:1}38%,84%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}.research-visual figcaption{color:#97aec7;font-size:9px;line-height:1.75;margin-top:14px;text-align:center}.lattice-point{fill:#557da9}.lattice-origin{fill:#aecce8}.basis-vector{stroke:#587fae;stroke-width:1;fill:none}.lattice-solution{stroke:#84c9ff;stroke-width:2;stroke-dasharray:4 3;animation:vector-flow 2s linear infinite;color:#84c9ff}.lattice-answer{fill:#98d0ff}.lattice-target,.lattice-visual .target-label{fill:#e9ba84}.lattice-pulse{fill:none;stroke:#7bbfff;stroke-width:1;animation:lattice-pulse 3s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes vector-flow{to{stroke-dashoffset:-14}}@keyframes lattice-pulse{0%{opacity:.9;transform:scale(.5)}85%,to{opacity:0;transform:scale(1.8)}}.visual-switch{display:flex;gap:6px;justify-content:center}.visual-switch button{background:#12243b;border:1px solid #355375;border-radius:4px;color:#9fbad8;cursor:pointer;font-size:9px;min-height:32px;padding:7px 10px}.visual-switch button[aria-pressed=true]{background:#244b77;border-color:#638fbf;color:#e3f0ff}@media (max-width:900px){.artwork-scene{padding-inline:16px}.art-code{font-size:8px}.code-tabs{gap:12px}}@media (max-width:700px){.project-artwork{border-bottom:1px solid var(--border);border-right:0;min-height:325px}.artwork-scene{min-height:280px;padding:30px 30px 65px}.art-window{max-width:300px}.art-code{font-size:10px}.research-visual{justify-self:center;max-width:430px;width:100%}}@media (prefers-reduced-motion:reduce){html:not([data-motion=enabled]) .chart-trace,html:not([data-motion=enabled]) .signal-line{stroke-dashoffset:0}html:not([data-motion=enabled]) .preview-tile,html:not([data-motion=enabled]) .roast-bubble{opacity:1;transform:none}html:not([data-motion=enabled]) .photo-scan{display:none}}.research-visual .visual-instruction{color:var(--text);font-size:10px;line-height:1.7;margin:14px 8px 0;min-height:34px}.wavelet-visual .wavelet-explorer{cursor:crosshair;margin-top:7px}.wavelet-visual .signal-line{animation:signal-intro 1.2s ease-out both}.wavelet-visual .approximation-line{animation-delay:.18s}.wavelet-visual .detail-line{animation-delay:.36s}@keyframes signal-intro{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.signal-selection{fill:#78baff18;stroke:#78baff30;stroke-width:.6}.coarse-selection{fill:#a3c2ff17}.detail-selection{fill:#63d0df17;stroke:#63d0df40}.signal-guide{stroke:#77acd04d;stroke-width:.8;stroke-dasharray:2 4;fill:none}.signal-sample{fill:#bfe0ff;stroke:#173e65;stroke-width:1.5}.coarse-sample{fill:#c3d6ff}.detail-sample{fill:#86e6ef}.explorer-control{margin:12px 8px 0}.explorer-control label{color:#afc6e0;display:flex;font-size:10px;gap:10px;justify-content:space-between}.explorer-control label>span{font-feature-settings:"tnum";color:#7bbfff;font-family:DM Mono,monospace;font-variant-numeric:tabular-nums}.explorer-control input{accent-color:#80bbff;cursor:pointer;display:block;height:28px;margin:5px 0 0;width:100%}.explorer-control input:focus-visible,.lattice-explorer:focus-visible{border-radius:5px;outline:2px solid var(--accent);outline-offset:3px}.wavelet-readout{grid-gap:8px;border-top:1px solid #355274;display:grid;gap:8px;grid-template-columns:1.25fr 1fr 1fr;margin:10px 8px 0;padding-top:14px}.lattice-readout>div,.wavelet-readout>div{display:flex;flex-direction:column;gap:7px;min-width:0}.lattice-readout span,.wavelet-readout span{color:#95b3d5;font-size:9px}.lattice-readout strong,.wavelet-readout strong{font-feature-settings:"tnum";color:#d3e7ff;font:11px DM Mono,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.wavelet-readout em{color:#6383a8;font-style:normal}.wavelet-readout small{color:#86a7cc;font:8px DM Mono,monospace;white-space:nowrap}.wavelet-readout>div:last-child strong{color:#8edce7}.research-visual figcaption{color:var(--text);padding-inline:8px}.lattice-modes{margin:20px 8px 0}.lattice-modes button{flex:1 1;font-size:10px;min-height:38px}.lattice-explorer{border-radius:10px;cursor:crosshair;touch-action:none}.lattice-closest .lattice-explorer{cursor:grab}.lattice-closest .lattice-explorer:active{cursor:grabbing}.lattice-plot-background{fill:#0a1a2b80;stroke:#2e4d6e;stroke-width:.7}.lattice-grid-line{stroke:#325172;stroke-width:.55;opacity:.65}.lattice-search-radius{fill:#6baeff0c;stroke:#7fbbff77;stroke-width:1;stroke-dasharray:3 5}.lattice-shortest-line{stroke:#84c9ff;stroke-width:2.5}.lattice-candidate-line{stroke:#edbf88;stroke-width:2;opacity:.9}.lattice-candidate-line.is-shortest{stroke:#92d8e8}.lattice-candidate-ring{fill:#edbf8818;stroke:#edbf88;stroke-width:1.5}.lattice-target-halo{fill:#e9ba8418;stroke:#edbf8855;stroke-width:1}.lattice-crosshair{fill:none;stroke:#edbf88;stroke-width:1}.lattice-readout{grid-gap:12px;background:#0c1c3099;border:1px solid #355274;border-radius:6px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-inline:8px;padding:14px 12px}.lattice-readout>div:last-of-type{text-align:right}.lattice-readout p{color:var(--text);font-size:10px;grid-column:1/-1;line-height:1.65;min-height:33px}.lattice-tools{display:flex;gap:10px;margin:8px 8px 0}.lattice-tools button{background:#132941;border:1px solid #355375;border-radius:4px;color:#b1cce9;cursor:pointer;flex:1 1;font-size:9px;min-height:34px}.lattice-tools button:hover,.visual-switch button:hover{background:#234568;border-color:#75a8df}.visual-keyboard-hint{color:var(--text);font-size:9px;line-height:1.7;margin:13px 8px 0}@media (max-width:450px){.research-visual figure{padding-inline:10px}.wavelet-readout{gap:5px;grid-template-columns:1.2fr 1fr 1fr;margin-inline:4px}.wavelet-readout strong{font-size:9px}.wavelet-readout small{font-size:7px}.lattice-readout{margin-inline:4px;padding-inline:9px}.lattice-readout strong{font-size:10px}.lattice-modes{margin-inline:4px}.lattice-modes button{font-size:9px;padding-inline:7px}}@media print{.explorer-control,.lattice-tools,.visual-instruction,.visual-keyboard-hint{display:none}.signal-line{stroke-dashoffset:0;animation:none}}.artwork-chromesthesia{background:radial-gradient(ellipse at 45% 45%,#283655,#111a2e 74%)}.artwork-frontend{background:radial-gradient(ellipse at 50% 40%,#253360,#10192e 75%)}.artwork-roast{background:radial-gradient(ellipse at 50% 40%,#28305c,#10182d 75%)}.chromesthesia-art{background:#080b16}.sound-world{display:block;overflow:hidden;width:100%}.sound-world text{fill:#7895b5;font:7px DM Mono,monospace;letter-spacing:.08em}.sound-ground{fill:#295ba21c}.sound-orb-halo{fill:#2c81ff10}.sound-filaments,.sound-orb,.sound-ribbon{transform-box:fill-box;transform-origin:center}.sound-orb{animation:sound-orb-breathe 4s ease-in-out infinite}.sound-ribbon{animation:sound-ribbon-drift 6s ease-in-out -1s infinite}.sound-filaments{animation:sound-filament-glow 3.5s ease-in-out -.5s infinite}.sound-wave-axis{stroke:#23364f;stroke-width:.6}.sound-bar{fill:#83bfff;animation:sound-equalizer 1.7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.sound-bar:nth-of-type(3n){fill:#c6aaff}.sound-tags{border-top:1px solid #26384f;color:#92abc8;display:flex;font:7px DM Mono,monospace;gap:10px;justify-content:space-between;padding:11px 15px}@keyframes sound-orb-breathe{0%,to{transform:translateY(5px) scale(.96)}50%{transform:translateY(-7px) scale(1.04)}}@keyframes sound-ribbon-drift{0%,to{transform:translateY(4px) rotate(-5deg)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes sound-filament-glow{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes sound-equalizer{0%,to{opacity:.5;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}@media (max-width:700px){.artwork-roast{min-height:360px}}.music-page .app-main{padding-block:36px 64px}.music-hero{grid-gap:54px;align-items:center;display:grid;gap:54px;grid-template-columns:1.1fr 1fr;padding-block:16px 52px}.music-hero-copy{padding-block:20px}.music-hero h1{font-size:clamp(48px,5.8vw,78px);font-weight:500;letter-spacing:-.055em;line-height:1.03;margin-block:25px}.music-introduction{color:var(--text);font-size:15px;line-height:1.9;max-width:445px}.music-jump{margin-top:25px;min-height:36px}.music-spectrum{align-items:center;display:flex;gap:4px;height:38px;margin-top:28px;opacity:.65}.music-spectrum span{background:linear-gradient(#a9e8ff,#408bf0);border-radius:4px;height:var(--bar-height);transform-origin:center;width:3px}[data-motion=enabled] .music-spectrum span{animation:music-spectrum var(--bar-duration) ease-in-out var(--bar-delay) infinite alternate}.music-artwork{aspect-ratio:1;background:radial-gradient(ellipse at 80% 5%,#356a9240,#0000 58%),radial-gradient(ellipse at 15% 100%,#123c864f,#0000 60%),#0b1829;border:1px solid #315376;border-radius:14px;display:grid;isolation:isolate;min-width:0;overflow:hidden;place-items:center;position:relative}.music-artwork:after{background:#3182ce;border-radius:50%;content:"";filter:blur(55px);inset:16%;opacity:.2;position:absolute;z-index:-1}.music-artwork-grid{background-image:linear-gradient(#5ba1dd0a 1px,#0000 0),linear-gradient(90deg,#5ba1dd0a 1px,#0000 0);background-size:30px 30px;inset:0;-webkit-mask-image:radial-gradient(ellipse,#000 25%,#0000 75%);mask-image:radial-gradient(ellipse,#000 25%,#0000 75%);position:absolute;z-index:-1}.music-record{aspect-ratio:1;background:#071322;border:1px solid #6ca8dc70;border-radius:50%;box-shadow:0 24px 55px #0009,0 0 45px #549ff025;position:relative;width:72%}.music-record-grooves{background:repeating-radial-gradient(circle,#0000 0 3px,#527ca432 4px,#0000 5px 7px);border-radius:50%;inset:5px;position:absolute}.music-record-sheen{background:conic-gradient(from 25deg,#0000,#77bfff38 35deg,#0000 72deg 175deg,#b9f5ff40 213deg,#0000 245deg);border-radius:50%;inset:0;position:absolute}[data-motion=enabled] .music-record-sheen{animation:music-record-turn 18s linear infinite}.music-record-label{background:radial-gradient(circle at 25% 20%,#88d6ed,#3574ad 48%,#183a64);border:1px solid #abe7ff70;border-radius:50%;box-shadow:0 0 30px #58b2d728;display:grid;inset:32%;place-items:center;position:absolute}.music-record-label svg{stroke:#e6f7ff;stroke-width:1.7;opacity:.8;width:67%}.music-record-label>span{background:#081522;border:1px solid #9fd8ef;border-radius:50%;height:8px;left:calc(50% - 4px);position:absolute;top:calc(50% - 4px);width:8px}.music-orbit{border:1px solid #7abdff30;border-radius:50%;height:86%;position:absolute;transform:rotate(-28deg) scaleY(.79);width:86%}.music-orbit--inner{border-color:#86c8f718;height:96%;transform:rotate(38deg) scaleY(.74);width:96%}.music-orbit--outer:after{background:#b7e5ff;border-radius:50%;box-shadow:0 0 14px #a5dcff;content:"";height:5px;left:12%;position:absolute;top:12%;width:5px}[data-motion=enabled] .music-orbit--outer{animation:music-orbit-drift 12s ease-in-out infinite alternate}.music-artwork-caption{color:var(--accent-strong);display:flex;font:9px DM Mono,monospace;gap:12px;inset:auto 24px 22px;justify-content:space-between;letter-spacing:.08em;position:absolute;text-transform:uppercase}.music-projects{grid-gap:28px;border-top:1px solid var(--border);display:grid;gap:28px;grid-template-columns:1fr 1fr;padding-top:36px;scroll-margin-top:24px}.music-projects:focus{outline:none}.music-project,.music-projects>.reveal{display:flex;min-width:0}.music-project{background:linear-gradient(135deg,#14233b,#0e192a 70%);border:1px solid var(--border);border-radius:12px;flex-direction:column;overflow:hidden;width:100%}.music-project--current{background:linear-gradient(135deg,#182f4d,#0e192a 70%);border-color:#43678f}.music-project-copy{flex:1 1;padding:30px 30px 24px}.music-project-status{align-items:center;color:var(--text-muted);display:flex;font:10px DM Mono,monospace;gap:9px;letter-spacing:.08em;text-transform:uppercase}.music-project-status>span{border:1px solid var(--text-muted);border-radius:50%;height:6px;width:6px}.music-project--current .music-project-status{color:var(--accent-strong)}.music-project--current .music-project-status>span{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #78b5ff60}.music-project h2{font-size:clamp(27px,2.9vw,36px);font-weight:500;letter-spacing:-.04em;line-height:1.2;margin-top:18px}.music-platforms{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-top:23px}.music-platforms .button{gap:10px;min-height:42px;padding:9px 13px}.music-platforms .text-link{gap:8px;min-height:42px}.music-player{background:#121212;border-radius:12px;margin:0 16px 16px;min-height:352px;overflow:hidden}.music-player iframe{border:0;border-radius:12px;display:block;height:352px;width:100%}@keyframes music-spectrum{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes music-record-turn{to{transform:rotate(1turn)}}@keyframes music-orbit-drift{0%{transform:rotate(-28deg) scaleY(.79)}to{transform:rotate(12deg) scaleY(.7)}}@media (max-width:1000px){.music-hero{gap:28px}.music-project-copy{padding:25px 22px 20px}.music-projects{gap:20px}.music-artwork-caption{font-size:8px;inset-inline:18px}}@media (max-width:800px){.music-hero{gap:12px;grid-template-columns:1fr;padding-bottom:32px}.music-artwork{justify-self:center;max-width:470px;width:100%}.music-introduction{max-width:540px}.music-projects{grid-template-columns:1fr}.music-project-copy{padding:28px}}@media (max-width:600px){.music-page .app-main{padding-block:24px 40px}.music-hero{padding-top:0}.music-hero h1{font-size:clamp(45px,12vw,64px)}.music-introduction{font-size:14px}.music-projects{padding-top:28px}.music-project-copy{padding:24px 20px 20px}.music-player{margin:0 10px 10px}.music-artwork-caption{bottom:18px;font-size:8px}}@media print{.music-artwork,.music-jump,.music-player,.music-spectrum{display:none}.music-hero,.music-projects{display:block}.music-project{background:none;margin-bottom:24px}.music-page .app-main{padding:0}}
/*# sourceMappingURL=main.ed75d002.css.map*/