.lC8ZKq_page{--motion-fast:.18s;--motion-card:.3s;--motion-ease:cubic-bezier(.22, 1, .36, 1);color:var(--text-primary);background:var(--background);padding-bottom:4rem}.lC8ZKq_page *{box-sizing:border-box}.lC8ZKq_page :where(a):focus-visible{outline:2px solid var(--focus);outline-offset:5px}.lC8ZKq_hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem 4rem;padding:clamp(3rem,7vw,6rem) 0 4.5rem;display:grid;position:relative}.lC8ZKq_heroIdentity{z-index:1;align-self:center;position:relative}.lC8ZKq_kicker{font-family:var(--font-code);letter-spacing:.11em;text-transform:uppercase;color:var(--text-secondary);font-size:.68rem;font-weight:400;line-height:1.7}.lC8ZKq_greeting{margin-top:2.75rem;font-size:1.1rem}.lC8ZKq_name{font-family:var(--font-display);letter-spacing:-.045em;margin:.65rem 0 1.2rem;font-size:clamp(3rem,6.8vw,5.5rem);font-weight:400;line-height:1.04}.lC8ZKq_identity{font-size:.88rem;line-height:1.7}.lC8ZKq_disciplines{max-width:38ch;color:var(--text-secondary);margin-top:.65rem;font-size:.82rem;line-height:1.8}.lC8ZKq_heroIntro{grid-column:1/-1;width:52%;margin-top:1rem;margin-left:auto}.lC8ZKq_location{color:var(--text-secondary);font-size:.75rem}.lC8ZKq_location span{color:var(--accent);vertical-align:middle;margin-right:.5rem;font-size:.5rem}.lC8ZKq_introduction{max-width:55ch;margin-top:1rem;font-size:1rem;line-height:1.85}.lC8ZKq_actions{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem;display:flex}.lC8ZKq_textLink{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:5px;align-items:center;gap:.7rem;font-size:.85rem;display:inline-flex}.lC8ZKq_arrow{color:var(--accent);transition:transform var(--motion-fast) var(--motion-ease);display:inline-block}.lC8ZKq_textLink:hover .lC8ZKq_arrow,.lC8ZKq_textLink:focus-visible .lC8ZKq_arrow{transform:translate(2px,-2px)}.lC8ZKq_section{border-top:1px solid var(--border-subtle);padding:2rem 0 4.5rem;scroll-margin-top:2rem}.lC8ZKq_section h2{font-family:var(--font-display);letter-spacing:-.025em;margin-top:.9rem;font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:400;line-height:1.15}.lC8ZKq_sectionHeader{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:1.5rem 4rem;margin-bottom:2.5rem;display:grid}.lC8ZKq_sectionHeader>p{color:var(--text-secondary);max-width:48ch;font-size:.85rem;line-height:1.8}.lC8ZKq_projectGrid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.lC8ZKq_project{border:1px solid var(--border-subtle);background:var(--surface-raised);min-width:0;transition:transform var(--motion-card) var(--motion-ease), box-shadow var(--motion-card) var(--motion-ease), border-color var(--motion-card) var(--motion-ease);scroll-margin-top:2rem}.lC8ZKq_featured{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}.lC8ZKq_supportingOffset{margin-top:4rem}.lC8ZKq_projectVisual{background:var(--surface);align-items:center;min-width:0;padding:3.5rem clamp(1rem,3vw,3rem) 1.5rem;display:flex;position:relative}.lC8ZKq_boot .lC8ZKq_projectVisual{background:var(--surface-inverse);color:var(--text-inverse)}.lC8ZKq_projectNumber{font-family:var(--font-code);opacity:.7;font-size:.7rem;position:absolute;top:1rem;left:1.25rem}.lC8ZKq_projectCopy{padding:clamp(1.25rem,3vw,2.5rem)}.lC8ZKq_category{color:var(--text-secondary);font-family:var(--font-code);letter-spacing:.035em;font-size:.65rem;line-height:1.7}.lC8ZKq_project h3{font-family:var(--font-display);letter-spacing:-.025em;margin:.8rem 0 1.2rem;font-size:clamp(1.65rem,2.8vw,2.3rem);font-weight:400;line-height:1.15}.lC8ZKq_project h3 a{text-decoration:none}.lC8ZKq_project h3 a:hover{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.lC8ZKq_description{font-size:.9rem;line-height:1.85}.lC8ZKq_status{color:var(--text-secondary);margin:1rem 0 .75rem;font-size:.73rem;line-height:1.7}.lC8ZKq_diagram{width:100%;transition:transform var(--motion-card) var(--motion-ease);margin:0}.lC8ZKq_diagram figcaption{font-family:var(--font-code);opacity:.8;margin-top:1.75rem;font-size:.58rem;line-height:1.7}.lC8ZKq_bootFlow{text-align:center;max-width:24rem;margin:auto;font-size:.8rem}.lC8ZKq_bootPair{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.lC8ZKq_bootPair>span{border:1px solid var(--border-strong);padding:1rem .25rem}.lC8ZKq_bootPair small,.lC8ZKq_buildroot small{font-family:var(--font-code);margin-top:.5rem;font-size:.65rem;display:block}.lC8ZKq_flowConnector{text-align:center;opacity:.7;padding:.35rem 0}.lC8ZKq_flowNote{font-size:.7rem}.lC8ZKq_bootResolution{border:1px solid var(--border-strong);background:var(--background);color:var(--text-primary);padding:1rem .5rem}.lC8ZKq_flowResult{margin-top:1rem;font-size:.65rem}.lC8ZKq_systemFlow{text-align:center;max-width:25rem;margin:auto;font-size:.8rem}.lC8ZKq_buildroot{border:1px solid var(--border-strong);background:var(--surface-raised);padding:.8rem}.lC8ZKq_systemLayers{gap:.4rem;display:grid}.lC8ZKq_systemLayers span{border:1px solid var(--border-subtle);background:var(--background);padding:.55rem}.lC8ZKq_hardware{border-top:1px solid var(--border-strong);font-family:var(--font-code);margin-top:.9rem;padding-top:.7rem;font-size:.65rem}.lC8ZKq_interfaceDiagram{border:1px solid var(--border-strong);background:var(--background);max-width:25rem;box-shadow:8px 8px 0 var(--border-subtle);margin:1rem auto}.lC8ZKq_interfaceHeader{border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);padding:1rem}.lC8ZKq_interfaceHeader span{font-family:var(--font-code);color:var(--text-secondary);margin-top:.25rem;font-size:.55rem;display:block}.lC8ZKq_interfaceColumns{grid-template-columns:1fr 1fr;font-size:.75rem;display:grid}.lC8ZKq_interfaceColumns span{place-items:center;min-height:6rem;padding:.5rem;display:grid}.lC8ZKq_interfaceColumns span+span{background:var(--surface-inverse);color:var(--text-inverse)}.lC8ZKq_interfaceFooter{border-top:1px solid var(--border-subtle);font-family:var(--font-code);padding:.8rem;font-size:.6rem}.lC8ZKq_applicationPair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.5rem;display:grid}.lC8ZKq_applicationPair>span{border:1px solid var(--border-strong);background:var(--background);padding:.85rem .5rem;font-size:.72rem;line-height:1.5}.lC8ZKq_applicationPair small,.lC8ZKq_foundationGrid small,.lC8ZKq_portraitBridge small,.lC8ZKq_interfaceColumns small,.lC8ZKq_interfaceFooter small{font-size:.6rem;font-family:var(--font-code);margin-top:.4rem;font-weight:400;line-height:1.7;display:block}.lC8ZKq_foundationGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.75rem;display:grid}.lC8ZKq_foundationGrid>span{border-top:1px solid var(--border-strong);padding:.65rem .35rem;font-size:.7rem;line-height:1.5}.lC8ZKq_portraitBridge{border-bottom:1px solid var(--border-subtle);padding:1rem;font-size:.8rem;line-height:1.5}.lC8ZKq_interfaceColumns>span{text-align:center;align-content:center}.lC8ZKq_diagram :where(span,p,div){overflow-wrap:anywhere;min-width:0}@media (max-width:374px){.lC8ZKq_foundationGrid{grid-template-columns:minmax(0,1fr)}}.lC8ZKq_skillsGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;display:grid}.lC8ZKq_skillGroup{border-top:1px solid var(--border-subtle);flex-direction:column;min-width:0;padding-top:1rem;display:flex}.lC8ZKq_skillNumber{font-family:var(--font-code);color:var(--accent);font-size:.65rem}.lC8ZKq_skillGroup h3{margin:.8rem 0;font-size:.95rem;font-weight:500;line-height:1.6}.lC8ZKq_skillGroup>p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.85rem;line-height:1.9}.lC8ZKq_evidence{border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:1rem}.lC8ZKq_evidence>p:not(.lC8ZKq_kicker){margin:.5rem 0;font-size:.78rem;line-height:1.8}.lC8ZKq_evidence .lC8ZKq_textLink{font-size:.78rem}.lC8ZKq_additional{border-top:1px solid var(--border-subtle);margin-top:2rem;padding-top:1.25rem}.lC8ZKq_additional h3{font-size:.95rem;font-weight:500;line-height:1.6}.lC8ZKq_additional ul{color:var(--text-secondary);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem;padding:0;font-size:.85rem;line-height:1.9;list-style:none;display:flex}.lC8ZKq_about,.lC8ZKq_contact{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem 4rem;display:grid}.lC8ZKq_about{align-items:start;row-gap:0}.lC8ZKq_about>div{min-width:0}.lC8ZKq_aboutCopy{grid-area:1/2/span 2;max-width:62ch}.lC8ZKq_education{border-top:1px solid var(--border-subtle);grid-column:1;max-width:40ch;margin-top:2rem;padding-top:1.25rem;font-size:.8rem;line-height:1.8}.lC8ZKq_education h3{font-size:.85rem;font-weight:500;line-height:1.6}.lC8ZKq_educationDetails{margin:1.25rem 0}.lC8ZKq_educationDetails>div{margin-top:.75rem}.lC8ZKq_educationDetails dt,.lC8ZKq_education h4{color:var(--text-secondary);font-size:.75rem;font-weight:500}.lC8ZKq_educationDetails dd{margin:.2rem 0 0}.lC8ZKq_programList{gap:.3rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.lC8ZKq_studyInterests{border-top:1px solid var(--border-subtle);min-height:2.8em;color:var(--text-secondary);margin-top:1.25rem;padding-top:1rem}.lC8ZKq_aboutCopy .lC8ZKq_textLink{flex-wrap:wrap}.lC8ZKq_aboutCopy>p{margin-bottom:1.2rem;font-size:.9rem;line-height:1.9}.lC8ZKq_aboutCopy .lC8ZKq_aboutLead{font-family:var(--font-display);font-size:1.6rem;line-height:1.4}.lC8ZKq_contact>div>p:not(.lC8ZKq_email,.lC8ZKq_kicker){max-width:54ch;font-size:.9rem;line-height:1.85}.lC8ZKq_email{overflow-wrap:anywhere;color:var(--text-secondary);margin-top:.75rem;font-size:.75rem}@media (hover:hover) and (prefers-reduced-motion:no-preference){.lC8ZKq_project:hover{border-color:var(--border-strong);box-shadow:0 12px 24px -18px var(--border-strong);transform:translateY(-3px)}.lC8ZKq_project:hover .lC8ZKq_diagram{transform:translate(var(--move-x,0px), calc(var(--move-y,0px) - 2px))}}.lC8ZKq_project:focus-within{outline:1px solid var(--focus);outline-offset:4px}@media (max-width:767px){.lC8ZKq_hero{grid-template-columns:minmax(0,1fr);gap:2rem;padding:3rem 0}.lC8ZKq_greeting{margin-top:2rem}.lC8ZKq_aboutCopy{grid-area:auto}.lC8ZKq_education{max-width:none;margin-top:.5rem}.lC8ZKq_heroIntro{width:100%;margin:0}.lC8ZKq_sectionHeader,.lC8ZKq_about,.lC8ZKq_contact{grid-template-columns:minmax(0,1fr);gap:1.5rem}.lC8ZKq_projectGrid,.lC8ZKq_featured,.lC8ZKq_skillsGrid{grid-template-columns:minmax(0,1fr)}.lC8ZKq_projectGrid{gap:1.5rem}.lC8ZKq_supportingOffset{margin-top:0}.lC8ZKq_projectVisual{padding:3rem 1.25rem 1.25rem}.lC8ZKq_skillsGrid{gap:2rem}.lC8ZKq_section{padding-bottom:3rem}}@media (prefers-reduced-motion:reduce){.lC8ZKq_page .lC8ZKq_project,.lC8ZKq_page .lC8ZKq_diagram,.lC8ZKq_page .lC8ZKq_arrow{transition:none;transform:none}}.lC8ZKq_accessibleName{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lC8ZKq_reelName{white-space:pre}.lC8ZKq_letterSlot{display:inline-block;position:relative}.lC8ZKq_reelWindow{height:1.04em;display:none;position:absolute;inset:0;overflow:hidden}.lC8ZKq_letterTrack{flex-direction:column;display:flex}.lC8ZKq_letterTrack>span{flex:0 0 1.04em;height:1.04em;display:block}@media (prefers-reduced-motion:no-preference){.lC8ZKq_reelName[data-played=true]:not([data-settled]) .lC8ZKq_letterBase{visibility:hidden}.lC8ZKq_reelName[data-played=true]:not([data-settled]) .lC8ZKq_reelWindow{display:block}.lC8ZKq_reelName[data-played=true]:not([data-settled]) .lC8ZKq_letterTrack{animation:lC8ZKq_letterReel .9s var(--motion-ease) var(--letter-delay) both}}@keyframes lC8ZKq_letterReel{0%{opacity:.55;transform:translateY(-25%)}48%{opacity:.8;transform:translateY(-50%)}to{opacity:1;transform:translateY(-75%)}}.lC8ZKq_hero{isolation:isolate}.lC8ZKq_hero:before{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at var(--pointer-x,50%) var(--pointer-y,50%), var(--surface-raised), transparent 65%);transition:opacity var(--motion-card) var(--motion-ease);border-radius:1rem;position:absolute;inset:0}.lC8ZKq_magneticContent{pointer-events:none;transition:transform var(--motion-fast) var(--motion-ease);align-items:center;gap:.7rem;display:inline-flex}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.lC8ZKq_hero[data-pointer-active]:before{opacity:.65}[data-magnetic][data-pointer-active]:not(:focus) .lC8ZKq_magneticContent{transform:translate(var(--move-x,0px), var(--move-y,0px))}}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.lC8ZKq_hero:before{display:none}.lC8ZKq_page .lC8ZKq_magneticContent{transition:none;transform:none}}
