:root{--header-height:84px;--bg:#f7f9fc;--surface:#fff;--text:#192537;--muted:#5f6d80;--line:#dce3ee;--accent:#385db5;--accent-soft:#e5ecfa;--band:#edf2fa;--shadow:0 20px 70px #18284612;--card-blue:#e0e9f7;--card-lilac:#e9e6f5;--card-slate:#e6eaf2;--card-ice:#dfedf4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#101722;--surface:#192333;--text:#eaf0f8;--muted:#a5b2c5;--line:#303e53;--accent:#a4bfff;--accent-soft:#263754;--band:#172336;--shadow:0 20px 70px #0003;--card-blue:#243753;--card-lilac:#33324a;--card-slate:#2b3548;--card-ice:#243b4a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme]){--bg:#101722;--surface:#192333;--text:#eaf0f8;--muted:#a5b2c5;--line:#303e53;--accent:#a4bfff;--accent-soft:#263754;--band:#172336;--shadow:0 20px 70px #0003;--card-blue:#243753;--card-lilac:#33324a;--card-slate:#2b3548;--card-ice:#243b4a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:calc(var(--header-height) + 17px)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em;font-weight:600;line-height:1.08}p{color:var(--muted)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:4px}.container{width:min(1180px,100% - 96px);margin-inline:auto}.accent{color:var(--accent)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6}.status-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex-shrink:0;display:inline-block}.skip-link{z-index:150;background:var(--surface);padding:12px 20px;position:fixed;top:10px;left:15px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-wrap{height:var(--header-height);justify-content:space-between;align-items:center;gap:30px;width:min(1280px,100% - 80px);margin:auto;display:flex}.brand-logo{flex-shrink:0;display:inline-flex}.logo-mark{width:36px;height:36px;color:var(--text);background:currentColor;display:block;-webkit-mask:url(/logo.svg) 50%/contain no-repeat;mask:url(/logo.svg) 50%/contain no-repeat}.main-nav{align-items:center;gap:36px;margin-left:auto;display:flex}.main-nav a{color:var(--muted);font-size:13px;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--text)}.nav-actions{align-items:center;gap:20px;display:flex}.icon-button{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;display:grid}.icon-button:hover{background:var(--accent-soft)}.menu-button{padding:0;line-height:1;display:none}.menu-button svg{display:block}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:64px;padding-block:98px 88px;display:grid}.hero-copy>.eyebrow{align-items:center;gap:12px;margin-bottom:28px;display:flex}.hero h1{letter-spacing:-.075em;margin-bottom:24px;font-size:clamp(64px,7.8vw,108px)}.hero h2{letter-spacing:-.055em;font-size:clamp(30px,3.4vw,46px);font-weight:500;line-height:1.15}.hero-emphasis{color:var(--accent)}.hero-description{margin-block:25px 30px;font-size:15px;line-height:1.85}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.button{border-radius:7px;justify-content:center;align-items:center;gap:25px;min-height:46px;padding:13px 22px;font-size:12px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--text);color:var(--bg)}.button.secondary{border:1px solid var(--line);background:0 0}.button.secondary:hover{background:var(--accent-soft)}.hero-footnote{color:var(--muted);align-items:center;gap:10px;margin-top:24px;font-size:11px;display:flex}.hero-visual{isolation:isolate;background:radial-gradient(ellipse, var(--accent-soft), transparent 68%);place-items:center;min-height:460px;display:grid;position:relative}.about-profile-card{border:1px solid var(--line);background:var(--band);border-radius:16px;padding:32px}.about-profile-card .logo-mark{width:64px;height:64px;margin-bottom:30px}.about-profile-card h2{margin-top:18px;font-size:34px}.about-profile-card .text-link{margin-top:10px}.section{padding-block:100px}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px;display:flex}.section-heading h2{margin-top:15px}.section h2,.about-band h2,.contact-section h2,.experience-section h2,.personal-section h2,.writing-section h2{font-size:clamp(34px,4.2vw,54px)}.text-link{border-bottom:1px solid var(--line);white-space:nowrap;align-items:center;gap:25px;padding-bottom:5px;font-size:12px;font-weight:600;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px;display:grid}.project-card{min-width:0}.project-art{height:330px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;transition:transform .3s;display:flex;position:relative;overflow:hidden}.project-art:hover{transform:translateY(-5px)}.mint{background:var(--card-blue)}.lavender{background:var(--card-lilac)}.peach{background:var(--card-slate)}.blue{background:var(--card-ice)}.project-number{opacity:.65;font:11px ui-monospace,monospace;position:absolute;top:22px;left:25px}.project-launch{border:1px solid color-mix(in srgb, currentColor 20%, transparent);border-radius:50%;place-items:center;width:34px;height:34px;font-size:19px;display:grid;position:absolute;top:15px;right:20px}.impact-badge{background:var(--surface);color:var(--text);border-radius:5px;padding:6px 12px;font-size:10px;position:absolute;bottom:20px;left:24px}.schedule-preview{color:#192537;background:#fafcff;border-radius:10px;width:76%;height:240px;padding:16px 17px 0;overflow:hidden;transform:rotate(-4deg)translateY(21px);box-shadow:0 15px 40px #0002}.preview-top{justify-content:space-between;align-items:center;font-size:8px;display:flex}.preview-top>span:first-child{font-size:11px;font-weight:700}.preview-heading{letter-spacing:-.07em;margin:15px 0;font-size:25px;font-weight:600}.schedule-preview img{border-radius:5px;width:100%}.notes-preview{align-items:center;gap:28px;display:flex}.notes-preview img{border-radius:24px;width:100px;height:100px;transform:rotate(-8deg);box-shadow:0 15px 30px #0001}.notes-preview>span{letter-spacing:-.06em;font-size:32px;font-weight:500;line-height:1.1}.fourier-art{place-items:center;width:230px;height:230px;display:grid;position:relative}.fourier-art div{opacity:.4;border:1px solid;border-radius:50%;width:90%;height:90%;position:absolute}.fourier-art div:nth-child(2){width:65%;height:65%;transform:translate(32px,20px)}.fourier-art div:nth-child(3){width:32%;height:32%;transform:translate(62px,-15px)}.fourier-art>span{background:inherit;padding:8px;font:22px Georgia,serif;position:relative}.type-art{letter-spacing:-.07em;text-align:center;overflow-wrap:anywhere;max-width:100%;padding:24px;font-size:clamp(36px,4.5vw,64px);font-weight:600;line-height:1.1}.project-copy{padding:24px 2px 0}.project-copy h3{margin-top:10px;font-size:25px}.project-copy h3 a{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-copy h3 span{font-size:22px;font-weight:400}.project-copy>p:not(.eyebrow){max-width:440px;margin-top:14px;font-size:13px;line-height:1.8}.tags{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.tags span{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 9px;font-size:10px}.about-band{background:var(--band);border-block:1px solid var(--line);padding-block:85px}.about-band-inner{grid-template-columns:1fr 1fr;gap:100px;display:grid}.about-band h2{margin-top:22px}.about-band-inner>div:last-child p{margin-bottom:20px;font-size:15px}.about-band-inner .text-link{margin-top:7px}.skills-section{grid-template-columns:1fr 1fr;align-items:center;column-gap:80px;display:grid}.skills-section>.eyebrow{grid-column:1/-1;margin-bottom:22px}.skill-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.skill-list>li{background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:10px;padding:11px 18px;font-size:12px;transition:background .2s,transform .2s;display:inline-flex}.skill-list>li:hover{background:var(--accent-soft);transform:translateY(-3px)}.skill-list img{object-fit:contain;background:#fff;border-radius:5px;flex-shrink:0;width:32px;height:32px;padding:3px}.home-overview{padding-top:35px}.home-overview .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.home-overview .overview-grid{grid-template-columns:1fr}}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.overview-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;padding:28px}.overview-card h3{margin-block:10px;font-size:24px;line-height:1.25}.overview-card p{font-size:13px}.overview-card .overview-role{color:var(--text);margin-bottom:14px}.resume-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.resume-document{margin-top:48px}.technical-skills{margin:0}.technical-skills>div{border-bottom:1px solid var(--line);padding-block:16px}.technical-skills dt{margin-bottom:8px;font-weight:600}.technical-skills dd{color:var(--muted);margin:0;font-size:14px}.research-paper-link{margin-top:16px;font-size:13px;display:inline-block}.resume-document img{border:1px solid var(--line);background:#fff;width:100%;height:auto;display:block}@media (max-width:600px){.overview-grid{grid-template-columns:1fr}.overview-card{padding:22px}}.contact-section{border-top:1px solid var(--line);padding-block:80px 95px}.contact-section h2{margin-block:20px;font-size:clamp(48px,6.5vw,84px)}.contact-section>p:not(.eyebrow){font-size:14px}.contact-links{color:var(--muted);flex-wrap:wrap;gap:30px;margin-top:24px;font-size:12px;display:flex}.contact-links a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;align-items:center;gap:25px;padding-block:28px;display:flex}.footer-inner p{font-size:10px}.footer-inner>a:last-child{font-size:11px}.page-container{padding-bottom:100px}.page-heading{padding-block:85px 60px}.page-heading h1{margin-block:20px;font-size:clamp(48px,6.5vw,80px)}.page-heading>p:last-of-type{max-width:600px;font-size:15px}.page-heading>.button{margin-top:25px}.about-intro{grid-template-columns:350px 1fr;align-items:center;gap:90px;margin-top:15px;display:grid}.about-intro h2{margin-bottom:25px;font-size:46px}.about-intro p{margin-bottom:20px;font-size:14px}.inline-link{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.experience-section{margin-top:100px}.experience-row{border-top:1px solid var(--line);grid-template-columns:280px 1fr;gap:50px;padding-block:32px;display:grid}.experience-row>.eyebrow{padding-top:6px}.experience-row h3{letter-spacing:-.035em;margin-bottom:8px;font-size:24px}.experience-row a{font-size:12px}.experience-row p{max-width:650px;margin-top:15px;font-size:13px}.about-skills h2{margin-block:20px 30px}.personal-section h2{margin-block:20px}.section-description{margin-bottom:35px;font-size:14px}.interests-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.interest-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;padding:28px}.interest-heading{align-items:center;gap:14px;display:flex}.interest-heading>img{border-radius:10px}.interest-heading h3{margin-top:5px;font-size:22px}.interest-heading .eyebrow{font-size:9px}.live-label{text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:4px;margin-left:auto;padding:4px 7px;font:9px ui-monospace,monospace}.music-mark{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:50%;place-items:center;font-size:25px;display:grid}.interest-note{margin-top:20px;font-size:12px}.player-name{color:var(--text);margin-block:30px 20px;font-size:20px}.player-stats{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:12px;padding-top:20px;display:grid}.player-stats>div{flex-direction:column;display:flex}.player-stats strong{font-size:28px;font-weight:500;line-height:1.3}.player-stats .league-label{overflow-wrap:anywhere;font-size:16px}.player-stats span{color:var(--muted);margin-top:6px;font-size:10px}.connection-loading,.connection-error{padding-block:26px 8px;font-size:12px}.skeleton-line{background:var(--line);border-radius:4px;width:80%;height:12px;margin-bottom:12px;animation:1.4s infinite pulse;display:block}.skeleton-line.short{width:45%}.connection-error p{margin-bottom:12px}.text-button{color:var(--accent);text-underline-offset:5px;background:0 0;padding:8px 0;font-size:12px;text-decoration:underline}.track-list{margin-top:18px;padding:0;list-style:none}.track-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding-block:12px;display:flex}.track-index{color:var(--muted);font:10px ui-monospace,monospace}.track-list img{border-radius:4px;flex-shrink:0;width:42px;height:42px}.track-list a{flex-direction:column;flex:1;min-width:0;display:flex}.track-list strong{overflow-wrap:anywhere;font-size:12px}.track-list a>span{color:var(--muted);font-size:10px}.track-list li>span:last-child{color:var(--muted)}.track-placeholder{background:var(--accent-soft);border-radius:4px;place-items:center;width:42px;height:42px;display:grid}.equalizer{align-items:center;gap:3px;height:20px;margin-left:auto;display:flex}.equalizer i{background:var(--accent);border-radius:2px;width:3px;height:15px;animation:1.1s ease-in-out infinite alternate equalize}.equalizer i:nth-child(2){animation-delay:-.7s}.equalizer i:nth-child(3){animation-delay:-.3s}.equalizer i:nth-child(4){animation-delay:-.9s}.other-interests{gap:25px;margin-top:25px;font-size:11px;display:flex}.other-interests strong{color:var(--text);margin-bottom:4px;font-size:12px;display:block}.writing-section{margin-top:90px}.writing-section h2{margin-block:18px 30px}.writing-card{border-block:1px solid var(--line);align-items:center;gap:28px;padding:25px 0;display:flex}.writing-card>span{color:var(--muted);font:12px ui-monospace,monospace}.writing-card>span:last-child{margin-left:auto;font-size:25px}.writing-card h3{font-size:24px}.writing-card p{margin-top:10px;font-size:12px}.prose{max-width:780px;margin:60px auto 0;font-size:15px}.prose h1{margin-bottom:25px;font-size:clamp(36px,4.5vw,55px);line-height:1.12}.prose h2{margin-block:36px 20px;font-size:30px}.prose p{margin-block:16px;line-height:1.95}.prose img{width:auto;max-height:500px;margin:auto}.prose figure,.prose figcaption{text-align:center}.prose figcaption{color:var(--muted);margin-top:10px;font-size:11px}.prose ul{padding-left:25px;list-style:outside}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:5px;font:11px ui-monospace,monospace;display:flex}.breadcrumb a:hover{color:var(--accent)}.name-intro{z-index:100;background:var(--bg);pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.name-intro.intro-active,html[data-intro-pending] .name-intro{animation:3s step-end forwards intro-failsafe;display:flex}.intro-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.25;background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.intro-type{text-align:center;width:min(90%,900px);position:relative}.intro-caption{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font:10px ui-monospace,monospace;display:block}.intro-name{letter-spacing:-.08em;white-space:nowrap;margin:25px 0;font-size:clamp(58px,12vw,160px);font-weight:600;line-height:1.2}.intro-name>span{animation:.85s cubic-bezier(.2,.7,.2,1) both letter-reveal;animation-delay:calc(var(--letter,9) * 55ms);display:inline-block}.intro-dot{color:var(--accent)}.intro-line{background:var(--accent);transform-origin:0;width:100%;max-width:300px;height:2px;margin:0 auto 24px;animation:1.5s both draw-line}.name-intro[data-visit=return] .intro-name>span{animation-duration:.12s;animation-delay:calc(var(--letter,9) * 8ms)}.name-intro[data-visit=return] .intro-line{animation-duration:.2s}@keyframes letter-reveal{0%{opacity:0;filter:blur(12px);transform:translateY(35px)rotate(5deg)}to{opacity:1;filter:none;transform:none}}@keyframes draw-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-failsafe{to{visibility:hidden}}@keyframes pulse{50%{opacity:.4}}@keyframes equalize{to{height:5px}}@media (min-width:1500px){.hero{padding-block:115px 100px}}@media (max-width:1100px){.hero{gap:30px}.hero-visual{min-height:390px}.about-intro{grid-template-columns:300px 1fr;gap:50px}.notes-preview{gap:15px}.notes-preview>span{font-size:26px}.notes-preview img{width:80px;height:80px}.skills-section{column-gap:35px}}@media (max-width:800px){:root{--header-height:72px}.container,.nav-wrap{width:calc(100% - 48px)}.main-nav{gap:24px}.nav-actions{gap:12px}.hero{grid-template-columns:1fr;gap:50px;padding-block:65px}.hero h1{font-size:90px}.hero h2{font-size:43px}.hero-visual{width:min(450px,100%);min-height:420px;margin:auto}.section{padding-block:70px}.project-art{height:290px}.project-grid{gap:35px 22px}.notes-preview{flex-direction:column;gap:12px}.notes-preview>span{text-align:center;font-size:25px}.schedule-preview{width:85%}.preview-top>span:last-child{display:none}.preview-heading{font-size:22px}.about-band-inner{gap:40px}.about-band{padding-block:65px}.skills-section{grid-template-columns:1fr;gap:22px}.skills-section>.eyebrow{margin:0}.skill-list{margin-top:12px}.contact-section{padding-block:65px}.page-heading{padding-block:65px 40px}.about-intro{grid-template-columns:230px 1fr;gap:30px}.about-intro h2{font-size:35px}.experience-row{grid-template-columns:180px 1fr;gap:30px}.interests-grid{gap:20px}.interest-card{padding:20px}.interest-heading h3{font-size:18px}.interest-heading{gap:10px}.interest-heading .eyebrow{font-size:8px}.other-interests{flex-direction:column;gap:15px}}@media (max-width:600px){:root{--header-height:68px}.container,.nav-wrap{width:calc(100% - 40px)}.nav-wrap{gap:16px}.main-nav{inset:var(--header-height) 0 auto;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:20px;display:none;position:absolute}.main-nav.is-open{flex-direction:column;align-items:stretch;gap:0;display:flex}.main-nav a{padding:13px 8px;font-size:15px}.menu-button{display:grid}.nav-actions{gap:12px;margin-left:auto}.icon-button{width:36px;height:36px;font-size:22px}.hero{gap:40px;padding-top:52px}.hero-copy>.eyebrow{gap:10px;margin-bottom:25px;font-size:8px}.hero h1{margin-bottom:23px;font-size:clamp(64px,17vw,90px)}.hero h2{font-size:clamp(29px,8vw,39px)}.hero-description{margin-block:22px;font-size:13px}.hero-actions{gap:10px}.button{gap:14px;padding:12px 16px;font-size:11px}.hero-visual{min-height:375px}.section{padding-block:60px}.section-heading{align-items:start;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading .text-link{gap:9px;margin-top:32px;font-size:10px}.eyebrow{font-size:9px}.project-grid{grid-template-columns:1fr;gap:38px}.project-art{height:310px}.notes-preview{flex-direction:row;gap:25px}.notes-preview>span{text-align:left;font-size:29px}.notes-preview img{width:95px;height:95px}.schedule-preview{width:80%}.preview-top>span:last-child{font-size:7px;display:block}.project-copy{padding-top:21px}.project-copy h3{font-size:24px}.project-copy>p:not(.eyebrow){font-size:12px}.about-band-inner{grid-template-columns:1fr;gap:30px}.about-band h2,.section h2{font-size:36px}.about-band-inner>div:last-child p{font-size:13px}.skill-list>li{padding:10px 13px;font-size:11px}.contact-section h2{font-size:52px}.contact-links{gap:24px;font-size:11px}.footer-inner{flex-wrap:wrap;gap:15px;padding-block:25px}.footer-inner p{flex-basis:100%;order:3;font-size:9px}.footer-inner>a:last-child{margin-left:auto}.page-container{padding-bottom:60px}.page-heading h1{font-size:47px}.page-heading>p:last-of-type{font-size:13px}.about-intro{grid-template-columns:1fr;gap:38px;margin-top:10px}.about-intro h2{font-size:38px}.experience-section{margin-top:65px}.experience-row{grid-template-columns:1fr;gap:15px;padding-block:25px}.experience-row h3{font-size:22px}.interests-grid{grid-template-columns:1fr}.interest-heading h3{font-size:22px}.interest-heading .eyebrow{font-size:9px}.interest-card{padding:23px}.personal-section h2,.experience-section h2,.writing-section h2{font-size:34px}.section-description{font-size:12px}.writing-section{margin-top:65px}.writing-card{gap:20px}.writing-card h3{font-size:21px}.prose{margin-top:40px;font-size:13px}.prose h1{font-size:35px}.intro-caption{letter-spacing:.055em;font-size:8px}.intro-name{font-size:clamp(50px,15vw,85px)}.desktop-break{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.name-intro,.name-intro.intro-active,html[data-intro-pending] .name-intro{display:none!important}}.prose figure{margin:24px 0}.prose figure img{border-radius:10px}.project-live-link{color:var(--accent);text-underline-offset:4px;margin-top:16px;font-size:11px;text-decoration:underline;display:inline-block}.home-page .hero{gap:40px;padding-block:48px 40px}.home-page .hero-copy>.eyebrow{margin-bottom:18px}.home-page .hero h1{margin-bottom:16px;font-size:clamp(56px,6.6vw,88px)}.home-page .hero-description{max-width:540px;margin-block:18px 24px;line-height:1.75}.home-page .hero-visual{min-height:300px}.home-page .hero-footnote{margin-top:18px}.hero-context-link{align-self:center;margin-left:6px}.home-page .section{border-top:1px solid var(--line);padding-block:44px}.home-page .section-heading{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:24px}.home-page .section h2,.home-page .contact-section h2{margin-block:6px 0;font-size:clamp(28px,3vw,38px)}.home-page .section-heading .text-link{gap:12px;margin:0;font-size:12px}:is(.home-page,.projects-page) .project-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:128px minmax(0,1fr);align-items:start;gap:18px;padding:20px;display:grid}:is(.home-page,.projects-page) .project-art{border-radius:8px;height:144px}:is(.home-page,.projects-page) .project-number,:is(.home-page,.projects-page) .impact-badge{display:none}:is(.home-page,.projects-page) .project-launch{width:26px;height:26px;font-size:15px;top:8px;right:8px}:is(.home-page,.projects-page) .type-art{padding:12px;font-size:22px}:is(.home-page,.projects-page) .project-copy{padding:0}:is(.home-page,.projects-page) .project-copy h3{margin-top:4px;font-size:22px}:is(.home-page,.projects-page) .project-copy>p:not(.eyebrow){max-width:none;margin-top:8px}:is(.home-page,.projects-page) .tags{margin-top:12px}.project-links{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px;font-size:12px;display:flex}.project-story-link{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.project-links .project-live-link{font-size:inherit;margin-top:0}.home-page .home-overview .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-page .overview-card{padding:20px}.home-page .overview-card h3{margin-block:8px;font-size:19px;line-height:1.35}.home-page .overview-card h3 a:hover{color:var(--accent)}.home-page .overview-role{margin-bottom:10px}.home-page .research-paper-link{margin-top:12px;font-size:12px}.home-page .skills-section{display:block}.home-page .skill-list{gap:8px;margin-top:0}.home-page .skill-list>li{gap:8px;padding:8px 12px}.home-page .skill-list img{width:26px;height:26px}.home-page .section-description{margin-bottom:22px}.home-page .interest-card{padding:22px}.home-page .contact-section{padding-block:44px}.home-page .contact-section h2{margin-bottom:12px}.home-page .contact-links{margin-top:18px}@media (max-width:1000px){:is(.home-page,.projects-page) .project-grid{grid-template-columns:1fr;gap:18px}}@media (max-width:800px){.home-page .hero{grid-template-columns:minmax(0,1fr) 200px;gap:24px}.home-page .hero-visual{width:100%;min-height:200px}.home-page .hero h1{font-size:64px}}@media (max-width:600px){.home-page .hero{grid-template-columns:1fr;gap:20px;padding-block:32px}.home-page .hero h1{font-size:clamp(52px,14vw,72px)}.home-page .hero-visual{min-height:170px}.home-page .section,.home-page .contact-section{padding-block:32px}.home-page .section-heading{margin-bottom:20px}:is(.home-page,.projects-page) .project-card{grid-template-columns:1fr;padding:18px}:is(.home-page,.projects-page) .project-art{display:none}.home-page .home-overview .overview-grid{grid-template-columns:1fr;gap:12px}.home-page .overview-card{padding:16px 18px}.home-page .skill-list>li{padding:8px 10px}.home-page .interest-card{padding:18px}}.home-page .hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.home-page .hero-playground{background:0 0;width:100%;max-width:440px;min-height:0}.fourier-sketchpad{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;padding:12px}.fourier-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.fourier-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.fourier-drawing{position:relative}.fourier-sketchpad h2{letter-spacing:-.02em;margin:0;font-size:16px;line-height:1.3}.fourier-board{background:var(--bg);touch-action:pan-y;border-radius:8px;width:100%;height:240px;display:block;overflow:hidden}.fourier-board.is-drawing{touch-action:none;cursor:crosshair}.fourier-grid{color:var(--muted);opacity:.22}.fourier-source,.fourier-circle,.fourier-arms,.fourier-trace{fill:none;stroke-linecap:round;stroke-linejoin:round}.fourier-source{stroke:var(--muted);stroke-width:1.5px;opacity:.35}.is-drawing .fourier-source{stroke:var(--accent);stroke-width:2px;opacity:1}.fourier-circle,.fourier-arms{stroke:var(--muted);stroke-width:.7px;opacity:.35}.fourier-trace{stroke:var(--accent);stroke-width:2px}.fourier-tip{fill:var(--accent)}.fourier-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.fourier-button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:4px 9px;font-size:12px;display:inline-flex}.fourier-button:hover{background:var(--accent-soft)}.fourier-button:disabled{opacity:.45;cursor:default}.fourier-detail{flex:150px;align-items:center;gap:8px;min-height:32px;display:flex}.fourier-detail label{white-space:nowrap;color:var(--muted);gap:5px;font-size:12px;display:flex}.fourier-detail output{font-variant-numeric:tabular-nums;min-width:2ch;color:var(--text)}.fourier-detail input{width:100%;min-width:0;height:32px;accent-color:var(--accent);flex:1}.fourier-status{background:var(--surface);color:var(--muted);pointer-events:none;border-radius:4px;margin:0;padding:4px 6px;font-size:11px;line-height:1.5;position:absolute;bottom:8px;left:8px;right:8px}.fourier-status.is-idle{clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}.fourier-project-link{min-height:32px;color:var(--accent);align-items:center;gap:5px;font-size:12px;display:inline-flex}@media (max-width:760px){.home-page .hero{grid-template-columns:1fr;gap:24px}.home-page .hero-playground{width:100%;min-height:0}}.dense-page .page-heading{padding-block:44px 32px}.dense-page .page-heading h1{margin-block:12px;font-size:clamp(48px,5.5vw,68px)}.dense-page .page-heading>p:last-of-type{font-size:14px}.dense-page .section-heading{align-items:center;gap:16px;margin-bottom:20px}.dense-page .section h2,.dense-page .experience-section h2,.dense-page .personal-section h2,.dense-page .writing-section h2{margin-block:8px 20px;font-size:clamp(28px,3vw,38px)}.projects-page .project-grid{gap:18px}.projects-page .earlier-projects{padding-block:40px 0}.projects-page .writing-section{margin-top:40px}.projects-page .writing-card{gap:18px;padding-block:18px}.projects-page .writing-card h3{font-size:20px}.projects-page .writing-card p{margin-top:6px}.projects-page .schedule-preview{padding:12px}.projects-page .preview-top{font-size:10px}.projects-page .preview-top>span:last-child,.projects-page .preview-heading,.projects-page .notes-preview>span,.projects-page .fourier-art>span{display:none}.projects-page .schedule-preview img{margin-top:8px}.projects-page .notes-preview img{width:72px;height:72px}.projects-page .fourier-art div{width:62px;height:62px}.about-page .about-intro{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:start;gap:28px;margin-top:0}.about-page .about-profile-card{padding:20px}.about-page .about-profile-card .logo-mark{width:32px;height:32px;margin-bottom:12px}.about-page .about-intro h2{margin-block:0 12px;font-size:24px}.about-page .about-intro p{margin-bottom:12px;font-size:14px;line-height:1.65}.about-page .education-university{color:var(--text);font-weight:600}.about-page .education-coursework{border-top:1px solid var(--line);padding-top:12px}.about-profile-links{gap:20px;font-size:13px;display:flex}.about-page .experience-section{margin-top:40px}.about-page .experience-row{grid-template-columns:180px minmax(0,1fr);gap:28px;padding-block:20px}.about-page .experience-row h3{margin-bottom:6px;font-size:20px}.about-page .experience-row p{max-width:none;margin-top:10px;line-height:1.65}.about-page .about-skills{border-top:1px solid var(--line);padding-block:40px}.about-page .technical-skills>div{grid-template-columns:120px minmax(0,1fr);gap:20px;padding-block:12px;display:grid}.about-page .technical-skills dt{margin:0;font-size:14px}.about-page .technical-skills dd{line-height:1.65}.about-awards{margin-top:24px;font-size:14px}.about-awards h3{margin-bottom:8px;font-size:20px}.about-page .personal-section{border-top:1px solid var(--line);min-height:calc(100svh - var(--header-height) - 32px);padding-top:40px}.about-page .section-description{margin-bottom:20px}.about-page .interests-grid{gap:18px}.about-page .interest-card{padding:20px}.about-page .interest-heading h3{font-size:22px}.about-page .player-name{margin-block:20px 16px}.about-page .track-list li{padding-block:8px}.about-page .other-interests{gap:18px;margin-top:18px}.resume-page{padding-block:32px 44px}.resume-page .page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:0;display:flex}.resume-page .page-heading h1{margin:0;font-size:32px}.resume-page .resume-actions{gap:8px;margin:0}.resume-page .button{padding:10px 14px}.resume-page .resume-document{margin-top:20px;display:block}.resume-page .page-heading,.resume-page .resume-document{max-width:900px;margin-inline:auto}@media (max-width:800px){.about-page .about-intro{grid-template-columns:1fr;gap:24px}}@media (max-width:600px){.dense-page .page-heading{padding-block:32px 24px}.projects-page .earlier-projects,.about-page .about-skills{padding-block:32px 0}.about-page .experience-section,.projects-page .writing-section{margin-top:32px}.about-page .personal-section{margin-top:32px;padding-top:32px}.about-page .experience-row{grid-template-columns:1fr;gap:8px;padding-block:18px}.about-page .experience-row>.eyebrow{padding-top:0}.about-page .technical-skills>div{grid-template-columns:1fr;gap:6px}}.project-image{object-fit:contain;width:100%;height:100%}.project-image-otherwise{background:#101722}.project-image-ridelist{background:#f7f9fc;padding:12px}.project-title-icon{display:none}.prose .button{min-height:44px;margin-top:12px;padding:8px 14px;line-height:1.5}.prose .button>p{line-height:inherit;margin:0}@media (max-width:600px){.project-title-icon{vertical-align:middle;object-fit:contain;background:#f7f9fc;border-radius:4px;width:36px;height:28px;display:inline-block}.project-copy h3 a:has(.project-title-icon){justify-content:flex-start;gap:8px}}
