@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/93b6da25d7dcc0a6-s.0ds8vreemgw27.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fd5073be3e923c20-s.p.0bu2vpnzs5p12.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel Fallback;src:local(Times New Roman);ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:136.86%}.vM1zOW_className{font-family:Cinzel,Cinzel Fallback;font-style:normal;font-weight:700}.vM1zOW_variable{--font-cinzel:"Cinzel", "Cinzel Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0a0a0c;--paper:#eaeaea;--blue:#a1c4fd;--surface:#121318;--surface-raised:#191b22;--muted:#a5a7b0;--line:#eaeaea24;--line-strong:#eaeaea42;--display:"Arial", "Helvetica Neue", sans-serif;--body:"Segoe UI", "Helvetica Neue", sans-serif;--mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;--page-width:1320px;--gutter:clamp(1.25rem, 5.1vw, 5.25rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6.5rem}body{background:radial-gradient(ellipse at 87% 7%, #a1c4fd0d, transparent 27rem), var(--ink);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}::selection{background:var(--blue);color:var(--ink)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:4px}img,svg{display:block}.skip-link{z-index:100;background:var(--blue);color:var(--ink);padding:.75rem 1rem;font-weight:700;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0ce0;border-bottom:1px solid #eaeaea14;position:sticky;top:0}.header-inner,.footer-inner,.page-shell{width:min(100% - var(--gutter) * 2, var(--page-width));margin-inline:auto}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5.25rem;display:flex;position:relative}.brand{min-height:44px;font-family:var(--display);letter-spacing:-.035em;align-items:center;gap:.8rem;font-size:.92rem;font-weight:500;display:inline-flex}.brand-mark{aspect-ratio:1;border:1px solid var(--line-strong);width:2rem;color:var(--blue);font-family:var(--mono);letter-spacing:-.1em;place-items:center;font-size:.72rem;display:grid}.brand-name{white-space:nowrap}.desktop-nav{align-items:center;gap:clamp(1.2rem,3vw,2.75rem);display:flex}.nav-link,.palette-trigger{min-height:44px;color:var(--muted);align-items:center;font-size:.86rem;transition:color .18s;display:inline-flex}.nav-link:hover,.nav-link[aria-current=page],.nav-link[aria-current=location],.palette-trigger:hover{color:var(--paper)}.nav-link[aria-current=page],.nav-link[aria-current=location]{text-decoration:underline;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:.45rem}.nav-actions{align-items:center;gap:.65rem;display:flex}.palette-trigger{cursor:pointer;background:0 0;border:0;gap:.5rem;padding:0}.key-hint{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);padding:.1rem .4rem;font-size:.7rem}.resume-nav{border:1px solid var(--line-strong);justify-content:center;align-items:center;min-height:42px;padding:.55rem .9rem;font-size:.82rem;transition:border-color .18s,background-color .18s,color .18s;display:inline-flex}.resume-nav:hover{border-color:var(--blue);background:var(--blue);color:var(--ink)}.resume-open{border:1px solid var(--line-strong);min-height:42px;color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;padding-inline:.75rem;font-size:.82rem;transition:border-color .18s,color .18s;display:inline-flex}.resume-open:hover{border-color:var(--blue);color:var(--blue)}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.mobile-menu{display:none}.palette-backdrop{z-index:100;background:#000000ad;place-items:start center;padding:min(18vh,9rem) 1rem 1rem;display:grid;position:fixed;inset:0}.command-palette{border:1px solid var(--line-strong);background:#111216;width:min(100%,36rem);overflow:hidden;box-shadow:0 2rem 8rem #00000075}.palette-search{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:.9rem;padding:1.1rem 1.25rem;display:flex}.palette-search input{width:100%;color:var(--paper);font:inherit;background:0 0;border:0;outline:0}.palette-search input::placeholder{color:#747681}.palette-list{gap:.25rem;padding:.6rem;display:grid}.palette-item{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;padding:.7rem .8rem;display:flex}.palette-item:hover,.palette-item:focus-visible{background:var(--surface-raised);color:var(--paper)}.palette-item small{color:#777985;font-family:var(--mono);font-size:.68rem}.palette-empty{color:var(--muted);margin:0;padding:1rem;font-size:.9rem}.eyebrow,.section-index,.mono-label{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;line-height:1.5}.eyebrow{align-items:center;gap:.7rem;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:1.5rem;height:1px}.hero{grid-template-columns:minmax(0,1.05fr) minmax(21rem,.95fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);min-height:min(800px,100svh - 5.25rem);padding-block:clamp(4.75rem,10vh,8rem) clamp(5rem,11vh,9rem);display:grid}.hero-copy{z-index:1;max-width:46rem;position:relative}.hero h1{max-width:11ch;font-family:var(--display);letter-spacing:-.085em;margin:1.8rem 0 1.35rem;font-size:clamp(3.45rem,7.2vw,7.6rem);font-weight:700;line-height:.94}.hero h1 span{color:var(--blue)}.hero-lede{color:#c1c2c8;max-width:39rem;margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.72}.hero-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.5rem;font-size:.72rem;display:flex}.hero-meta span+span:before{color:var(--blue);content:"/";margin-right:1.4rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:2.2rem;display:flex}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:.8rem;min-height:48px;padding:.75rem 1.1rem;font-size:.88rem;font-weight:600;transition:transform .18s,color .18s,background-color .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:var(--ink)}.button-primary:hover{background:#c0d6ff}.button-secondary{border-color:var(--line-strong);color:var(--paper)}.button-secondary:hover{border-color:var(--blue)}.text-link{min-height:44px;color:var(--paper);align-items:center;gap:.6rem;font-size:.9rem;display:inline-flex}.text-link span{color:var(--blue);transition:transform .18s}.text-link:hover span{transform:translate(3px,-3px)}.section{border-top:1px solid var(--line);padding-block:clamp(5rem,9vw,9rem)}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-heading h2,.page-title,.contact-heading{font-family:var(--display);letter-spacing:-.075em;margin:.75rem 0 0;font-size:clamp(2.6rem,5.7vw,5.8rem);font-weight:500;line-height:.98}.section-heading p{max-width:27rem;color:var(--muted);margin:0;font-size:.92rem}.project-list{display:grid}.project-row{border-top:1px solid var(--line);grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr) minmax(10rem,.27fr) auto;align-items:center;gap:clamp(1.25rem,3vw,3rem);min-height:17rem;padding-block:2.2rem;transition:padding .22s;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row:hover{padding-inline:.65rem}.project-number{color:var(--muted);font-family:var(--mono);font-size:.72rem}.project-main h3{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(1.55rem,2.9vw,2.6rem);font-weight:500;line-height:1.1}.project-main p{max-width:43rem;color:var(--muted);margin:.8rem 0 0;font-size:.92rem}.project-tags{flex-wrap:wrap;gap:.45rem;display:flex}.tag{border:1px solid var(--line);color:#c3c4ca;font-family:var(--mono);padding:.35rem .55rem;font-size:.62rem;line-height:1.3}.project-arrow{aspect-ratio:1;border:1px solid var(--line);width:2.6rem;color:var(--blue);place-items:center;font-size:1.1rem;transition:transform .18s,background-color .18s,color .18s;display:grid}.project-row:hover .project-arrow{background:var(--blue);color:var(--ink);transform:translate(2px,-2px)}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.capability{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:14rem;padding:clamp(1.4rem,2.7vw,2.6rem)}.capability h3{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:1.3rem;font-weight:500}.capability p{color:var(--muted);margin:1.2rem 0 0;font-size:.9rem}.capability-list{flex-wrap:wrap;gap:.5rem;margin-top:1.3rem;display:flex}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.process-step{padding:1.5rem 1.2rem 0 0}.process-step+.process-step{border-left:1px solid var(--line);padding-left:1.2rem}.process-step span{color:var(--blue);font-family:var(--mono);font-size:.7rem}.process-step h3{font-family:var(--display);letter-spacing:-.04em;margin:1.3rem 0 .5rem;font-size:1.3rem;font-weight:500}.process-step p{color:var(--muted);margin:0;font-size:.86rem}.about-strip{grid-template-columns:.55fr 1fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about-strip h2{max-width:10ch;font-family:var(--display);letter-spacing:-.075em;margin:0;font-size:clamp(2.4rem,4.5vw,4.5rem);font-weight:500;line-height:1}.about-copy p{color:#c1c2c8;max-width:43rem;margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.8}.about-copy p+p{margin-top:1rem}.about-copy .text-link{margin-top:1.5rem}.about-profile{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(15rem,.58fr);align-items:start;gap:clamp(2rem,6vw,6rem);padding-block:1rem clamp(3.5rem,7vw,6rem);display:grid}.about-profile-copy p,.about-education p{color:#c1c2c8;margin:0;line-height:1.8}.about-profile-copy p+p{margin-top:1rem}.about-education{border:1px solid var(--line);background:var(--surface);padding:1.4rem}.about-education h3{font-family:var(--display);letter-spacing:-.04em;margin:1rem 0 .65rem;font-size:1.35rem;font-weight:500}.about-education p{color:var(--muted);font-size:.86rem}.about-subheading{margin-top:clamp(3.5rem,7vw,6rem)}.experience-timeline{border-top:1px solid var(--line)}.experience-entry{border-bottom:1px solid var(--line);grid-template-columns:minmax(10rem,.4fr) minmax(0,1fr);gap:clamp(1.5rem,6vw,6rem);padding-block:2rem;display:grid}.experience-entry .timeline-date{color:var(--blue);font-family:var(--mono);font-size:.76rem}.experience-entry h3{font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:500}.experience-entry p{max-width:46rem;color:var(--muted);margin:.9rem 0 0;line-height:1.75}.experience-entry .experience-organization{color:var(--paper);margin-top:.45rem;font-size:.9rem}.certification-list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.certification-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:10rem;padding:clamp(1.25rem,2.5vw,2.25rem)}.certification-item h3{font-family:var(--display);letter-spacing:-.04em;margin:1.5rem 0 0;font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500}.certification-item p{color:var(--muted);font-family:var(--mono);margin:.6rem 0 0;font-size:.75rem}.contact-panel{isolation:isolate;border:1px solid var(--line);background:linear-gradient(120deg, #a1c4fd12, transparent 55%), var(--surface);grid-template-columns:minmax(0,1.2fr) minmax(15rem,.55fr);align-items:end;gap:clamp(1.75rem,4vw,3rem);padding:clamp(2rem,5vw,5rem);display:grid;position:relative;overflow:hidden}.contact-visual{z-index:0;pointer-events:none;background:linear-gradient(90deg,#0a0a0c1f,#0000 36% 70%,#0a0a0c30),radial-gradient(circle at 18% 32%,#a1c4fd21,#0000 20%),radial-gradient(circle at 70% 58%,#a1c4fd1a,#0000 24%),linear-gradient(135deg,#0000 0%,#a1c4fd0a 50%,#0000 100%);position:absolute;inset:0}.contact-scene{z-index:0;opacity:.68;position:absolute;inset:0}.contact-panel>.contact-scene{width:auto;height:auto;position:absolute}.contact-scene canvas{opacity:1}.contact-copy-block{z-index:1;isolation:isolate;position:relative}.contact-panel .contact-heading{text-shadow:0 2px 18px #0a0a0ce6;max-width:10ch;font-size:clamp(3rem,6.4vw,6rem)}.contact-panel p{max-width:36rem;color:var(--muted);margin:1.1rem 0 0}.contact-typewriter{color:#cfdae8;text-shadow:0 1px 12px #0a0a0cf2;min-height:5.1em;margin-top:1.2rem;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:600;line-height:1.7;position:relative}.typing-caret{background:var(--blue);vertical-align:-.15em;width:.12em;height:1.1em;margin-left:.12em;animation:.9s step-end infinite contact-caret-blink;display:inline-block}@keyframes contact-caret-blink{0%,45%{opacity:1}50%,to{opacity:0}}.contact-links{z-index:1;isolation:isolate;gap:.55rem;display:grid;position:relative}@media (min-width:761px){.contact-copy-block:before,.contact-links:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(#0a0a0cd1 0%,#0a0a0c94 58%,#0000 100%);position:absolute;inset:-1.2rem -1.5rem}}.contact-link{border-bottom:1px solid var(--line);min-height:48px;color:var(--paper);justify-content:space-between;align-items:center;font-size:.9rem;transition:color .18s;display:flex}.contact-link:hover,.contact-link:focus-visible,.contact-link span:last-child{color:var(--blue)}.contact-link span:first-child{overflow-wrap:anywhere;min-width:0}.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:6.5rem;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.25rem;display:flex}.footer-links a:hover{color:var(--paper)}.page-intro{padding-block:clamp(6rem,13vw,12rem) clamp(4rem,8vw,7.5rem)}.page-title{max-width:12ch;margin-top:1.2rem;font-size:clamp(3.5rem,9vw,9rem)}.page-intro-copy{max-width:43rem;color:var(--muted);margin:1.5rem 0 0;font-size:clamp(1rem,1.65vw,1.2rem);line-height:1.75}.work-index .project-row{grid-template-columns:minmax(5rem,.18fr) minmax(0,1fr) minmax(12rem,.33fr) auto;min-height:15rem}.case-hero{padding-block:clamp(5rem,12vw,10rem) 4rem}.case-title{max-width:12ch;font-family:var(--display);letter-spacing:-.08em;margin:1.2rem 0 1.5rem;font-size:clamp(3.1rem,8.2vw,8.5rem);font-weight:500;line-height:.94}.case-summary{color:#c4c5cb;max-width:46rem;margin:0;font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.72}.case-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3.5rem;display:grid}.case-meta-item{padding:1.1rem 1rem 1.2rem 0}.case-meta-item+.case-meta-item{border-left:1px solid var(--line);padding-left:1.2rem}.case-meta-item span{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;display:block}.case-meta-item strong{margin-top:.5rem;font-size:.9rem;font-weight:500;display:block}.case-body{border-top:1px solid var(--line);grid-template-columns:minmax(9rem,.32fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);padding-block:4rem 7rem;display:grid}.case-body aside{align-self:start;position:sticky;top:7rem}.case-body aside .mono-label{margin-bottom:.8rem;display:block}.case-body aside a{min-height:44px;color:var(--muted);align-items:center;font-size:.85rem;display:inline-flex}.case-body aside a:hover{color:var(--blue)}.case-content{max-width:52rem}.case-section+.case-section{margin-top:3.6rem}.case-section h2{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500}.case-section p{color:#bfc0c6;margin:1rem 0 0;line-height:1.85}.case-section ul{color:#bfc0c6;gap:.8rem;margin:1.2rem 0 0;padding-left:1.1rem;display:grid}.case-section li::marker{color:var(--blue)}.case-stack{flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;display:flex}.case-navigation{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-block:1.3rem;display:flex}.about-layout{grid-template-columns:.55fr 1fr;gap:clamp(3rem,8vw,8rem);display:grid}.about-aside{align-self:start;position:sticky;top:7rem}.about-aside p{max-width:18rem;color:var(--muted);margin:1rem 0 0}.about-content section+section{margin-top:4rem}.about-content h2{font-family:var(--display);letter-spacing:-.06em;margin:0 0 1.4rem;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:500}.timeline-item{border-top:1px solid var(--line);grid-template-columns:minmax(8rem,.3fr) 1fr;gap:1rem;padding-block:1.25rem;display:grid}.timeline-date{color:var(--muted);font-family:var(--mono);font-size:.7rem}.timeline-item h3{margin:0;font-size:1rem;font-weight:600}.timeline-item p{color:var(--muted);margin:.45rem 0 0;font-size:.88rem}.resume-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.resume-note{max-width:38rem;color:var(--muted);margin-top:1.3rem;font-size:.85rem}.resume-preview{border:1px solid var(--line);background:var(--surface);min-height:72vh;margin-top:2.4rem}.resume-preview iframe{border:0;width:100%;min-height:72vh}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:65vh;padding-block:5rem;display:flex}.not-found h1{font-family:var(--display);letter-spacing:-.09em;margin:1rem 0;font-size:clamp(3.8rem,11vw,9rem);font-weight:500;line-height:.9}.reveal.is-visible{animation:.62s cubic-bezier(.2,.7,.2,1) both settle-in}@keyframes settle-in{0%{opacity:.75;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) minmax(17rem,.8fr);gap:2rem}.project-row,.work-index .project-row{grid-template-columns:3rem minmax(0,1fr) auto;gap:1.2rem}.project-tags{grid-column:2}.project-arrow{grid-area:1/3/span 2}}@media (max-width:760px){:root{--gutter:1.2rem}.header-inner{min-height:4.6rem}.desktop-nav{display:none}.nav-actions{gap:.6rem}.palette-trigger{justify-content:center;min-width:44px}.palette-trigger span:first-child,.key-hint{display:none}.menu-toggle{display:inline-flex}.mobile-menu{top:calc(100% + 1px);right:calc(var(--gutter) * -1);left:calc(var(--gutter) * -1);padding:.75rem var(--gutter) 1rem;border-bottom:1px solid var(--line);background:#0c0c0f;gap:.15rem;display:grid;position:absolute}.mobile-menu a{min-height:48px;color:var(--muted);border-bottom:1px solid #eaeaea14;justify-content:space-between;align-items:center;display:flex}.mobile-menu a:hover,.mobile-menu a[aria-current=page],.mobile-menu a[aria-current=location]{color:var(--paper)}.mobile-menu .mobile-resume{border:1px solid var(--line-strong);color:var(--paper);margin-top:.55rem;padding-inline:.8rem}.mobile-menu .mobile-open-cv{min-height:44px;color:var(--muted);border-bottom:0;padding-inline:.8rem;font-size:.84rem}.hero{min-height:unset;grid-template-columns:1fr;gap:2rem;padding-block:5rem 4.5rem}.hero h1{max-width:10ch;font-size:clamp(3.55rem,13.6vw,6rem)}.section-heading{grid-template-columns:1fr;align-items:start;gap:1rem}.section-heading h2{font-size:clamp(2.7rem,11vw,4.3rem)}.project-row,.work-index .project-row{min-height:unset;grid-template-columns:2rem minmax(0,1fr) auto;gap:.8rem;padding-block:1.7rem}.project-main h3{font-size:clamp(1.35rem,5.7vw,2rem)}.project-main p{font-size:.84rem}.project-tags{grid-column:2/4}.project-arrow{grid-area:1/3;width:2.2rem}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability{min-height:13rem;padding:1.2rem}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.process-step:nth-child(3){border-left:0;padding-left:0}.about-strip,.about-layout{grid-template-columns:1fr;gap:2rem}.about-profile{grid-template-columns:1fr;gap:1.5rem}.experience-entry{grid-template-columns:1fr;gap:.75rem}.certification-list{grid-template-columns:1fr}.about-strip h2{max-width:12ch}.about-aside{position:static}.contact-panel{grid-template-columns:1fr;gap:2rem;padding:1.5rem}.contact-panel .contact-heading{font-size:clamp(3rem,12vw,5rem)}.footer-inner{min-height:unset;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:1.5rem}.page-title{font-size:clamp(3.6rem,15vw,6.5rem)}.case-title{font-size:clamp(3.3rem,13vw,6rem)}.case-meta{grid-template-columns:1fr}.case-meta-item,.case-meta-item+.case-meta-item{border-left:0;padding:.9rem 0}.case-meta-item+.case-meta-item{border-top:1px solid var(--line)}.case-body{grid-template-columns:1fr;gap:1rem;padding-block:2rem 4.5rem}.case-body aside{position:static}.timeline-item{grid-template-columns:1fr;gap:.45rem}.resume-preview,.resume-preview iframe{min-height:65vh}}@media (max-width:420px){.brand{gap:.55rem}.brand-name{font-size:.8rem}.hero-actions .button{width:100%}.hero-scene-caption{flex-wrap:wrap}.capability-grid{grid-template-columns:1fr}.capability{min-height:unset}.process-grid{grid-template-columns:1fr}.process-step,.process-step+.process-step,.process-step:nth-child(3){border-left:0;border-top:1px solid var(--line);padding:1.15rem 0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero-spatial{isolation:isolate;border-bottom:1px solid var(--line);background:radial-gradient(at 50% 43%,#222d433d,#0000 46%),#0a0a0c;min-height:min(860px,100svh - 5.25rem);position:relative;overflow:hidden}.hero-globe{z-index:0;aspect-ratio:1;perspective:60rem;opacity:.54;pointer-events:none;width:clamp(24rem,56vw,48rem);position:absolute;top:50%;left:57%;transform:translate(-50%,-50%)}.hero-globe-sphere{transform-style:preserve-3d;background:radial-gradient(at 34% 32%,#a1c4fd24,#0000 62%),radial-gradient(at 65% 78%,#eaeaea0f,#0000 55%);border:1px solid #a1c4fd8a;border-radius:50%;animation:88s linear infinite home-globe-rotation;position:absolute;inset:8%;overflow:hidden;box-shadow:inset -1.2rem -.5rem 3rem #00000061,0 0 4rem #a1c4fd14}.hero-globe-sphere:before,.hero-globe-sphere:after{content:"";pointer-events:none;border:1px solid #eaeaea40;border-radius:50%;display:block;position:absolute}.hero-globe-sphere:before{border-color:#a1c4fd4f;inset:8% -8%;transform:rotateY(64deg)rotate(28deg)}.hero-globe-sphere:after{border-color:#eaeaea36;inset:-7% 19%;transform:rotateY(48deg)rotate(-24deg)}.hero-globe-meridian,.hero-globe-latitude{border:1px solid #eaeaea4d;border-radius:50%;display:block;position:absolute}.hero-globe-meridian-inner{border-color:#a1c4fd6e;inset:0 30%;transform:rotateY(38deg)}.hero-globe-meridian-outer{inset:0 12%;transform:rotateY(68deg)}.hero-globe-latitude-upper{inset:18% 0;transform:rotateX(67deg)}.hero-globe-latitude-lower{border-color:#a1c4fd4d;inset:35% 0;transform:rotateX(67deg)}.hero-globe-latitude-equator{border-color:#a1c4fd73;inset:44% 0;transform:rotateX(68deg)}.hero-globe-meridian-rear{border-color:#a1c4fd6e;inset:0 42%;transform:rotateY(74deg)}.hero-globe-node{z-index:1;aspect-ratio:1;background:var(--blue);border:1px solid #eaeaeabf;border-radius:50%;width:.38rem;position:absolute;transform:translateZ(18px);box-shadow:0 0 .5rem #a1c4fdd6,0 0 1.25rem #a1c4fd6b}.hero-globe-node-one{top:19%;left:28%}.hero-globe-node-two{top:31%;left:72%}.hero-globe-node-three{top:52%;left:42%}.hero-globe-node-four{top:67%;left:68%}.hero-globe-node-five{top:76%;left:32%}.hero-globe-node-six{background:var(--paper);width:.29rem;top:41%;left:17%}@keyframes home-globe-rotation{0%{transform:rotateX(65deg)rotateY(0)rotate(-18deg)}to{transform:rotateX(65deg)rotateY(360deg)rotate(-18deg)}}.webgl-scene{pointer-events:none;position:relative;overflow:hidden}.webgl-scene canvas{width:100%;height:100%;display:block}.hero-scene{z-index:0;pointer-events:none;animation:1.7s cubic-bezier(.2,.7,.2,1) both scene-arrive;position:absolute;inset:0}.hero-scene canvas{opacity:.92}.hero-spatial-inner{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;min-height:min(860px,100svh - 5.25rem);padding-block:clamp(1.5rem,4vh,3.5rem) clamp(1.5rem,3vh,2.5rem);display:flex;position:relative}.hero-spatial-inner a,.hero-spatial-inner button,.hero-spatial-inner .hero-scene{pointer-events:auto}.hero-grid{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:clamp(2rem,4vh,3.5rem);display:grid}.hero-art-frame{aspect-ratio:.94;width:min(66.67%,26rem);min-height:unset;isolation:isolate;background:linear-gradient(#eaeaea08 1px,#0000 1px) 0 0/3rem 3rem,linear-gradient(90deg,#eaeaea08 1px,#0000 1px) 0 0/3rem 3rem,radial-gradient(at 47% 47%,#a1c4fd17,#0000 58%),#0b0c10;border:1px solid #eaeaea2e;margin-inline:auto;position:relative;overflow:hidden}.hero-art-frame:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000 65%,#0a0a0c6b);border:1px solid #0a0a0c8c;position:absolute;inset:0}.hero-art-frame>.hero-scene{inset:0}.hero-art-frame>.hero-scene canvas{opacity:1}.hero-art-corner{z-index:2;border-color:var(--blue);pointer-events:none;width:1rem;height:1rem;position:absolute}.hero-art-corner-top{border-top:1px solid;border-left:1px solid;top:.7rem;left:.7rem}.hero-art-corner-bottom{border-bottom:1px solid;border-right:1px solid;bottom:.7rem;right:.7rem}.hero-art-label,.hero-art-index{z-index:2;color:#aeb2be;font-family:var(--mono);letter-spacing:.1em;pointer-events:none;font-size:.58rem;position:absolute;bottom:1rem}.hero-art-label{left:1rem}.hero-art-index{color:var(--blue);right:1rem}.hero-topline{min-height:2.5rem;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.65rem;animation:.7s .1s both text-arrive;display:flex}.hero-topline .eyebrow{color:var(--paper);font-family:var(--body);letter-spacing:.04em;text-transform:none;margin:0;font-size:.75rem}.hero-topline .eyebrow:before{color:var(--blue)}.hero-content{z-index:2;pointer-events:auto;max-width:42rem;position:relative}.hero-name{max-width:10ch;min-height:2em;font-family:var(--display);letter-spacing:-.085em;pointer-events:none;margin:0 0 0 -.04em;font-size:clamp(3.8rem,6.1vw,6.6rem);font-weight:600;line-height:.96;position:relative}.hero-role{min-height:1.7em;color:var(--blue);font-family:var(--mono);letter-spacing:.02em;margin:0 0 .5rem;font-size:clamp(1rem,1.5vw,1.2rem)}.hero-role i,.hero-lede i{vertical-align:-.12em;background:currentColor;width:.08em;height:1em;margin-left:.18em;animation:.9s steps(2,end) infinite typing-cursor;display:inline-block}.hero-lede{color:#c1c2c8;max-width:34rem;min-height:3.5em;margin:0;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.72}.hero-education{color:var(--muted);font-family:var(--mono);letter-spacing:.035em;margin:1.2rem 0 0;font-size:.66rem}.hero-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.65rem;display:flex}.hero-scene-caption{border-top:1px solid var(--line);color:#8f929f;min-height:2.75rem;font-family:var(--mono);letter-spacing:.09em;justify-content:space-between;align-items:center;gap:1rem;font-size:.57rem;display:flex}.hero-scroll-cue{z-index:3;right:var(--gutter);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;writing-mode:vertical-rl;justify-items:center;gap:.8rem;font-size:.58rem;animation:.8s 1s both text-arrive;display:grid;position:absolute;bottom:4.75rem}.hero-scroll-cue i{background:var(--line-strong);width:1px;height:3.5rem;position:relative;overflow:hidden}.hero-scroll-cue i:after{background:var(--blue);content:"";height:100%;animation:1.6s ease-in-out 1.2s infinite scroll-cue;position:absolute;inset:-100% 0 auto}.webgl-failed{background:radial-gradient(at 50% 48%,#a1c4fd1f,#0000 54%),#0a0a0c}.scene-fallback{aspect-ratio:1;background-color:#0000;background-image:linear-gradient(#eaeaea0d 1px,#0000 1px),linear-gradient(90deg,#eaeaea0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:1.5rem 1.5rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #a1c4fd40;width:11rem;position:absolute;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%)}.scene-fallback span{border:1px solid #eaeaea4d;position:absolute;inset:22%;transform:rotate(45deg)}.scene-fallback span:nth-child(2){transform:rotate(-45deg)}.scene-fallback span:nth-child(3){border:0;border-top:1px solid #a1c4fd94;inset:48% 17%;transform:none}.scene-fallback i{border:1px solid var(--blue);background:var(--blue);position:absolute;inset:44%;box-shadow:0 0 1rem #a1c4fd4d}.scene-fallback-message{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.62rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.project-experience{padding-block:clamp(5rem,9vw,9rem);overflow:hidden}.project-experience .project-heading{margin-bottom:clamp(2rem,5vw,4.4rem)}.project-heading h2{max-width:13ch}.project-stage{border:1px solid var(--line);background:linear-gradient(135deg,#a1c4fd0a,#0000 48%),#0c0d11;grid-template-columns:minmax(0,1.1fr) minmax(19rem,.72fr);min-height:clamp(38rem,66vw,55rem);display:grid}.project-stage-visual{border-right:1px solid var(--line);background:radial-gradient(at 51% 45%,#a1c4fd1a,#0000 56%),linear-gradient(#0000 65%,#0a0a0ca6);min-height:100%;position:relative;overflow:hidden}.project-stage-visual:after{content:"";pointer-events:none;background-image:linear-gradient(#eaeaea06 1px,#0000 1px),linear-gradient(90deg,#eaeaea06 1px,#0000 1px);background-size:3.6rem 3.6rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 24% 76%,#0000);mask-image:linear-gradient(#0000,#000 24% 76%,#0000)}.project-scene{pointer-events:auto;animation:.65s cubic-bezier(.2,.7,.2,1) both scene-arrive;position:absolute;inset:0}.project-scene canvas{transition:opacity .35s}.stage-coordinate,.stage-axis{z-index:1;color:#a1a5b1;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:.57rem;position:absolute}.stage-coordinate-top{top:1.25rem;left:1.4rem}.stage-coordinate-bottom{bottom:1.25rem;left:1.4rem}.stage-axis{align-items:center;gap:.3rem;display:flex;bottom:1.25rem;right:1.4rem}.stage-axis b{background:var(--blue);width:1rem;height:1px}.stage-axis b:nth-of-type(2){background:var(--paper);transform:rotate(90deg)}.project-stage-content{flex-direction:column;min-width:0;padding:clamp(1.5rem,3.3vw,3rem);display:flex}.stage-count{border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding-bottom:1rem;font-size:.61rem;display:flex}.stage-count i{color:var(--blue);font-style:normal}.stage-copy{margin-block:auto;padding-block:3rem;animation:.46s cubic-bezier(.2,.7,.2,1) both project-copy-arrive}.stage-copy .eyebrow{color:var(--blue);font-size:.65rem}.stage-copy h3{font-family:var(--display);letter-spacing:-.085em;margin:1.1rem 0;font-size:clamp(2.7rem,5.3vw,5.5rem);font-weight:500;line-height:.94}.stage-copy>p:not(.eyebrow){color:#b5b7c0;max-width:32rem;margin:0;font-size:.98rem;line-height:1.75}.stage-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.35rem;display:flex}.stage-link{min-height:48px;color:var(--paper);border-bottom:1px solid #a1c4fd73;align-items:center;gap:.8rem;margin-top:1.9rem;font-size:.88rem;display:inline-flex}.stage-link span{color:var(--blue);transition:transform .18s}.stage-link:hover span{transform:translate(3px,-3px)}.project-selector{border-top:1px solid var(--line)}.project-selector-item{border:0;border-bottom:1px solid var(--line);color:#898c98;cursor:pointer;text-align:left;background:0 0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:3.55rem;padding:.55rem 0;transition:color .2s,padding .2s,border-color .2s;display:grid}.project-selector-item>span:first-child{color:#727581;font-family:var(--mono);font-size:.62rem}.project-selector-item>span:nth-child(2){font-size:.82rem}.project-selector-item>span:last-child{color:var(--blue);opacity:0;transition:opacity .2s,transform .2s;transform:translate(-4px,4px)}.project-selector-item:hover,.project-selector-item[aria-current=true]{color:var(--paper);border-color:#a1c4fd6b;padding-inline:.4rem}.project-selector-item[aria-current=true]>span:first-child{color:var(--blue)}.project-selector-item:hover>span:last-child,.project-selector-item[aria-current=true]>span:last-child{opacity:1;transform:translate(0)}.project-detail-list{border-top:1px solid var(--line);margin-top:clamp(4rem,9vw,8rem)}.project-detail-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(6rem,.2fr) minmax(0,1fr) auto;align-items:center;gap:2rem;min-height:10rem;display:grid}.project-detail-row h3{font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:500}.project-detail-row p{max-width:45rem;color:var(--muted);margin:.6rem 0 0;font-size:.88rem}.project-detail-row>a{min-height:44px;color:var(--paper);align-items:center;gap:.6rem;font-size:.82rem;display:inline-flex}.project-detail-row>a span{color:var(--blue)}@keyframes name-arrive{0%{opacity:0;transform:translateY(.72em)}to{opacity:1;transform:translateY(0)}}@keyframes text-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-arrive{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes project-copy-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-cue{0%{transform:translateY(0)}to{transform:translateY(220%)}}@keyframes fallback-orbit{to{transform:translate(-50%,-50%)rotate(360deg)}}@media (max-width:1200px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.palette-trigger{justify-content:center;min-width:44px}.palette-trigger span:first-child,.palette-trigger .key-hint{display:none}.mobile-menu{top:calc(100% + 1px);right:calc(var(--gutter) * -1);left:calc(var(--gutter) * -1);padding:.75rem var(--gutter) 1rem;border-bottom:1px solid var(--line);background:#0c0c0f;gap:.15rem;display:grid;position:absolute}.mobile-menu a{min-height:48px;color:var(--muted);border-bottom:1px solid #eaeaea14;justify-content:space-between;align-items:center;display:flex}.mobile-menu a:hover,.mobile-menu a[aria-current=location]{color:var(--paper)}.mobile-menu .mobile-resume{border:1px solid var(--line-strong);color:var(--paper);margin-top:.55rem;padding-inline:.8rem}}@media (max-width:760px){.hero-spatial,.hero-spatial-inner{min-height:unset}.hero-spatial-inner{padding-top:1.25rem}.hero-grid{grid-template-columns:1fr;gap:1.8rem;padding-block:1.5rem 1.75rem}.hero-art-frame{aspect-ratio:.94;width:min(66.67%,24rem);min-height:unset}.hero-globe{opacity:.35;width:min(112vw,36rem);top:34%;left:68%}.hero-topline{align-items:start;font-size:.55rem}.hero-topline .eyebrow{font-size:.67rem}.hero-topline>span{text-align:right;max-width:8rem}.hero-content{max-width:38rem;padding-block:.5rem .75rem}.hero-name{min-height:1.9em;font-size:clamp(3.5rem,12vw,5.8rem)}.hero-lede{max-width:31rem;min-height:5.2em;font-size:1.05rem}.hero-education{line-height:1.7}.hero-scene-caption{font-size:.49rem}.hero-scene-caption span:nth-child(2),.hero-scroll-cue{display:none}.project-stage{min-height:unset;grid-template-columns:1fr}.project-stage-visual{border-right:0;border-bottom:1px solid var(--line);min-height:clamp(21rem,78vw,33rem)}.project-stage-content{padding:1.25rem}.stage-copy{padding-block:2.2rem}.stage-copy h3{max-width:11ch;font-size:clamp(2.8rem,12vw,4.6rem)}.project-selector-item{min-height:3.2rem}.project-detail-row{min-height:unset;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding-block:1.4rem}.project-detail-row>a{grid-column:2}}@media (max-width:420px){.hero-spatial,.hero-spatial-inner{min-height:unset}.stage-coordinate,.stage-axis{font-size:.5rem}}@media (prefers-reduced-motion:reduce){.hero-scene,.hero-globe-sphere,.hero-topline,.hero-name,.hero-role i,.hero-lede i,.hero-scroll-cue,.hero-scroll-cue i:after,.project-scene,.scene-fallback{animation:none}.hero-role i,.hero-lede i{visibility:hidden}}.portfolio-content{opacity:1;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(0)}.portfolio-content.is-intro-pending{opacity:0;pointer-events:none;transform:translateY(12px)}.intro-sequence{z-index:200;color:var(--paper);opacity:1;background:#000;transition:opacity .5s cubic-bezier(.2,.7,.3,1);position:fixed;inset:0;overflow:hidden}.intro-sequence.is-leaving{opacity:0;pointer-events:none}.intro-entry{max-width:calc(100vw - 2rem);color:var(--paper);cursor:pointer;font-family:var(--font-cinzel), serif;letter-spacing:-.075em;white-space:nowrap;background:0 0;border:0;padding:0;font-size:clamp(2.8rem,8vw,7rem);font-weight:700;line-height:1;transition:color .25s,text-shadow .25s;animation:.9s cubic-bezier(.16,1,.3,1) both intro-entry-arrive;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-entry:hover{color:var(--blue);text-shadow:0 0 36px #a1c4fd2e}.intro-entry:focus-visible{outline:1px solid var(--blue);outline-offset:.65rem}.mantra-field{z-index:1;contain:layout paint;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mantra-instance{top:var(--top);color:#fff;width:max-content;font-family:Noto Sans Devanagari,Nirmala UI,Mangal,sans-serif;font-size:clamp(.86rem, var(--size), 1.25rem);letter-spacing:0;opacity:0;will-change:transform, opacity;animation:mantra-stream var(--duration) linear var(--delay) both;font-weight:400;line-height:1.65;display:flex;position:absolute;left:0}.mantra-copy{flex:none;padding-right:clamp(4rem,10vw,10rem)}.loading-label{z-index:3;color:#eaeaea;font-family:var(--mono);letter-spacing:.12em;text-align:center;text-shadow:0 1px 8px #000,0 0 20px #000000f2;pointer-events:none;align-items:baseline;margin:0;font-size:clamp(1.45rem,2.3vw,1.85rem);font-weight:700;line-height:1;animation:6s ease-in-out infinite loading-color-shift,.25s .3s both loading-label-arrive;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-label-backdrop{z-index:2;pointer-events:none;background:radial-gradient(#000 0%,#000000fa 44%,#000000b8 70%,#0000 100%);border-radius:50%;width:clamp(18rem,31vw,28rem);height:clamp(7rem,15vh,10rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-dots{text-align:left;letter-spacing:.12em;flex:0 0 1.8em;width:1.8em;display:inline-block}.loading-dots:after{content:"";animation:1.6s step-end infinite loading-dots}@keyframes loading-dots{0%,24.99%{content:""}25%,49.99%{content:"."}50%,74.99%{content:".."}75%,to{content:"..."}}@keyframes loading-label-arrive{0%{opacity:0}to{opacity:1}}@keyframes loading-color-shift{0%,to{color:#a1c4fd;text-shadow:0 1px 8px #000,0 0 20px #000000f2}34%{color:#eaeaea;text-shadow:0 1px 8px #000,0 0 20px #000000f2}68%{color:#d9c7a0;text-shadow:0 1px 8px #000,0 0 20px #000000f2}}@keyframes intro-entry-arrive{0%{opacity:0;transform:translate(-50%,calc(.32em - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes mantra-stream{0%{opacity:0;transform:translate3d(var(--from-x), var(--from-y), 0)}8%{opacity:var(--opacity);transform:translate3d(var(--from-x), 0, 0)}to{opacity:var(--opacity);transform:translate3d(var(--to-x), var(--to-y), 0)}}@keyframes typing-cursor{to{visibility:hidden}}@media (max-width:760px){.intro-entry{font-size:clamp(2.3rem,9.6vw,4rem)}.loading-label{letter-spacing:.08em;font-size:clamp(1.23rem,4.8vw,1.58rem)}.loading-label-backdrop{width:min(94vw,23rem);height:7rem}.mantra-instance{font-size:clamp(.82rem,3.1vw,1.08rem)}.mantra-copy{padding-right:clamp(3rem,12vw,5rem)}.hero-scene-caption{grid-template-columns:1fr auto;align-items:end;display:grid}.hero-scene-caption span:nth-child(2){display:none}.hero-scene-caption span:last-child{grid-area:2/2;justify-self:end}}@media (prefers-reduced-motion:reduce){.portfolio-content,.intro-sequence,.intro-entry{transition-duration:.01ms}.intro-entry{animation:none}.loading-label{color:var(--blue);text-shadow:none;animation:none}.loading-dots:after{content:"...";animation:none}.mantra-instance{opacity:var(--opacity);animation:none;transform:none}}@media (max-width:600px){.resume-nav,.resume-open{display:none}}.hero-name{overflow-wrap:anywhere}.hero-role{min-height:1.7em}.hero-lede{min-height:4.4em}.hero-art-frame{border-color:#eaeaea3d;box-shadow:inset 0 0 0 .45rem #0a0a0cb3,0 1.2rem 3.5rem #0000004d}.technology-board{border:1px solid var(--line);background:radial-gradient(at 18% 10%,#a1c4fd14,#0000 34%),radial-gradient(at 82% 92%,#a1c4fd0a,#0000 28%),repeating-linear-gradient(0deg,#0000 0 3.1rem,#eaeaea05 3.12rem),repeating-linear-gradient(90deg,#0000 0 3.1rem,#eaeaea05 3.12rem),#0e0f13;margin-bottom:clamp(1.8rem,4vw,3.2rem);position:relative;overflow:hidden;box-shadow:inset 0 .6rem 1.8rem #00000059,0 1.2rem 3rem #0003}.technology-board-heading{border-bottom:1px solid var(--line);min-height:3.25rem;color:var(--blue);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;padding:.7rem 1rem;font-size:.62rem;display:flex}.technology-board-heading span:last-child{color:var(--muted);font-family:var(--body);letter-spacing:0;text-transform:none;font-size:.72rem}.technology-board-map{background:radial-gradient(#a1c4fd08,#0000 56%),repeating-linear-gradient(0deg,#0000 0 4.5rem,#eaeaea05 4.55rem),repeating-linear-gradient(90deg,#0000 0 4.5rem,#eaeaea05 4.55rem);height:clamp(34rem,51vw,43rem);position:relative;overflow:hidden}.technology-project-pin{z-index:2;color:#d4d8e1;background:linear-gradient(135deg,#a1c4fd14,#0000 75%),#111319;border:1px solid #eaeaea3b;align-items:center;gap:.55rem;width:min(19%,14rem);min-height:3.7rem;padding:.65rem .75rem;font-size:clamp(.66rem,.9vw,.8rem);line-height:1.35;transition:border-color .2s,opacity .2s,box-shadow .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 .6rem 1.2rem #00000059}.technology-project-pin.is-related{border-color:#a1c4fd85;box-shadow:0 0 1rem #a1c4fd1f,0 .6rem 1.2rem #00000059}.technology-project-stack{display:none}.technology-pin-index{color:var(--blue);font-family:var(--mono);font-size:.62rem}.technology-board-wires{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.technology-wire{fill:none;stroke:#a1c4fd57;stroke-width:.42px;stroke-dasharray:.8 1.4;vector-effect:non-scaling-stroke;animation:wire-flow var(--wire-duration,4s) linear var(--wire-delay,0s) infinite;transition:stroke .18s,opacity .18s,stroke-width .18s}.technology-wire.is-relevant{stroke:#a1c4fdf0;stroke-width:.7px}.technology-pin{z-index:3;color:#c2c6d0;cursor:pointer;background:linear-gradient(135deg,#eaeaea0a,#0000 70%),#13151b;border:1px solid #eaeaea40;justify-content:flex-start;align-items:center;gap:.5rem;width:clamp(6.6rem,11.2%,9.25rem);min-height:2.8rem;padding:.38rem .5rem;font-size:clamp(.62rem,.82vw,.74rem);line-height:1.2;transition:border-color .18s,box-shadow .18s,color .18s,transform .18s,opacity .18s;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 .45rem 1rem #0000005c}.technology-pin:hover,.technology-pin:focus-visible,.technology-pin.is-hot{border-color:var(--technology-color,var(--blue));color:var(--paper);transform:translate(-50%,calc(-50% - 3px));box-shadow:0 0 1.15rem #a1c4fd2b,0 .45rem 1rem #0000005c}.technology-pin.is-related{border-color:color-mix(in srgb, var(--technology-color,var(--blue)) 62%, transparent);color:#e0e3e9}.technology-board[data-has-highlight=true] .technology-pin:not(.is-related){opacity:.54}.technology-pin-head{background:#0b0d12;border:1px solid #eaeaea2e;border-radius:50%;flex:0 0 1.8rem;place-items:center;width:1.8rem;height:1.8rem;display:grid}.technology-pin-head img{object-fit:contain;width:1.15rem;height:1.15rem}.technology-pin-name{overflow-wrap:anywhere;text-align:left;min-width:0}.technology-project-pin:not(.is-related){opacity:.58}.technology-board[data-active=false] .technology-wire{animation-play-state:paused}.stage-visual-disclaimer{z-index:2;color:#a5a7b0;font-family:var(--mono);letter-spacing:.04em;pointer-events:none;font-size:.55rem;position:absolute;top:1.2rem;right:1.4rem}.stage-external-links{flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.7rem;display:flex}.stage-external-links a{min-height:42px;color:var(--muted);text-underline-offset:.28rem;align-items:center;gap:.45rem;font-size:.77rem;-webkit-text-decoration:underline #a1c4fd70;text-decoration:underline #a1c4fd70;transition:color .18s;display:inline-flex}.stage-external-links a:hover,.stage-external-links a:focus-visible,.stage-external-links a span{color:var(--blue)}.about-education,.capability,.process-step,.experience-entry,.certification-item,.contact-link{transition:border-color .22s,background-color .22s,color .18s,transform .22s}.about-education:hover,.about-education:focus-within{background-color:#16181e;border-color:#a1c4fd7a;transform:translateY(-3px)}.capability:hover,.capability:focus-within{background-color:#eaeaea05}.experience-entry:hover,.experience-entry:focus-within{border-color:#a1c4fd73}.certification-item:hover,.certification-item:focus-within{background-color:#eaeaea06}.certification-link,.certifications-directory{min-height:44px;color:var(--paper);text-underline-offset:.3rem;align-items:center;gap:.45rem;margin-top:.7rem;font-size:.8rem;-webkit-text-decoration:underline #a1c4fd8c;text-decoration:underline #a1c4fd8c;transition:color .18s;display:inline-flex}.certification-link:hover,.certification-link:focus-visible,.certifications-directory:hover,.certifications-directory:focus-visible,.certification-link span,.certifications-directory span{color:var(--blue)}.certifications-directory{color:var(--blue);margin-top:1.2rem}.contact-link:hover,.contact-link:focus-visible{padding-inline:.35rem}.resume-open:hover{background:var(--blue);color:var(--ink)}.resume-nav:focus-visible,.resume-open:focus-visible,.stage-external-links a:focus-visible,.contact-link:focus-visible,.certification-link:focus-visible,.certifications-directory:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@keyframes wire-flow{to{stroke-dashoffset:-5.2px}}@media (max-width:760px){.technology-board-map{background:repeating-linear-gradient(0deg,#0000 0 3.5rem,#eaeaea05 3.55rem),repeating-linear-gradient(90deg,#0000 0 3.5rem,#eaeaea05 3.55rem);grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;height:auto;padding:.75rem;display:grid;overflow:visible}.technology-board-wires{display:none}.technology-project-pin,.technology-pin{width:auto;min-height:3.25rem;position:relative;transform:none;top:auto!important;left:auto!important}.technology-project-pin{flex-wrap:wrap;grid-column:1/-1;align-items:flex-start;min-height:auto}.technology-project-pin>span:nth-child(2){flex:1}.technology-project-stack{color:var(--muted);font-family:var(--mono);flex-basis:100%;margin-left:1.7rem;font-size:.58rem;line-height:1.5;display:block}.technology-pin{font-size:.65rem}.technology-pin:hover,.technology-pin:focus-visible,.technology-pin.is-hot{transform:translateY(-2px)}.contact-typewriter{min-height:7.5em}.contact-panel{padding-top:11rem}.contact-panel>.contact-scene{height:9.5rem;inset:0 0 auto}.stage-visual-disclaimer{font-size:.48rem;top:auto;bottom:3.2rem;right:.8rem}}@media (max-width:420px){.technology-board-heading{flex-direction:column;align-items:flex-start}.technology-pin{padding-inline:.35rem;font-size:.57rem}.stage-visual-disclaimer{text-align:right;max-width:10rem;bottom:3.8rem}}@media (prefers-reduced-motion:reduce){.technology-wire{animation:none}}
