@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--text:#101010;--muted:#555;--line:#10101047;--soft-line:#10101033;--paper:#fff;--paper-muted:#ededeb;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Space Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#10101008 1px,#0000 1px),linear-gradient(90deg,#10101008 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000029,#0000 64%);mask-image:linear-gradient(#00000029,#0000 64%)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img,canvas{max-width:100%}:focus-visible{outline-offset:3px;outline:3px solid #111}main:focus{outline:none}.text-link{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.skip-link{z-index:20;color:#111;font:700 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fff;border:2px solid #111;padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(calc(-100% - 20px))}.skip-link:focus-visible{transform:translateY(0)}.site-shell{width:min(1180px,100% - 56px);margin:0 auto;padding:10px 0 28px;position:relative}.site-shell.is-ready{padding-top:24px}.splash-screen{z-index:10;background:#fff;place-items:center;padding:56px 20px;transition:opacity .7s,transform .7s,visibility .7s;display:grid;position:fixed;inset:0}.splash-screen.is-hidden{visibility:hidden;opacity:0;transform:scale(1.015)}.splash-panel{transform-origin:50% 70%;width:min(980px,100%);max-height:calc(100svh - 112px);padding:clamp(16px,3vw,32px);animation:1.6s cubic-bezier(.16,.72,.24,1) both splash-panel-enter;overflow:hidden}.splash-chrome{color:#111;font:500 clamp(.61rem, 1vw, .72rem)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex;position:absolute;left:clamp(18px,3vw,44px);right:clamp(18px,3vw,44px)}.splash-header{top:clamp(20px,3vw,36px)}.splash-footer{bottom:clamp(20px,3vw,36px)}.splash-footer-enter{cursor:pointer;border-bottom:1px solid #0000;align-items:center;min-height:44px;transition:border-color .18s;display:inline-flex}.splash-footer-enter:hover,.splash-footer-enter:focus-visible{border-color:#111}.cyber-scene,.image-splash{width:100%;position:relative;overflow:hidden}.image-splash{aspect-ratio:1619/971;width:min(100%,1120px);height:auto;margin:0 auto;container-type:inline-size}.image-art{--arm-rx:0deg;--arm-ry:0deg;--arm-rz:0deg;--arm-shake-x:0px;--arm-shake-y:0px;--arm-float:0px;--arm-scale:1.12;transform:perspective(900px) translate(var(--arm-shake-x), calc(var(--arm-float) + var(--arm-shake-y))) rotateX(var(--arm-rx)) rotateY(var(--arm-ry)) rotateZ(var(--arm-rz)) scale(var(--arm-scale));transform-origin:50% 48%;transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.three-arm-canvas{z-index:0;pointer-events:none;position:absolute;inset:0}.three-arm-canvas canvas{width:100%;height:100%;display:block}.image-art>img{object-fit:contain;opacity:1;width:100%;height:100%;transition:opacity .18s;display:block}.image-art.is-three-ready>img{opacity:0}.image-hud{z-index:2;color:#111;width:22.2%;height:23.8%;font-family:var(--mono);position:absolute;top:34.1%;left:37.8%;overflow:hidden;transform:rotate(.1deg)}.three-message{overflow-wrap:anywhere;letter-spacing:-.04em;opacity:0;width:88%;max-width:88%;margin:0;font-size:clamp(.38rem,1.75cqw,1.08rem);font-weight:500;line-height:1.08;position:absolute;top:10%;left:6%}.message-one{animation:19s infinite screen-one}.message-two{animation:19s infinite screen-two}.message-three{animation:19s infinite screen-three}.message-four{animation:19s infinite screen-four}.message-five{animation:19s infinite screen-five}.three-cursor{background:#111;width:8px;height:1px;animation:.8s step-end infinite cursor-blink;position:absolute;bottom:10%;left:6%}.image-enter{color:#111;min-height:clamp(12px,2.6cqw,25px);font:400 clamp(.3rem, .92cqw, .58rem)/1 var(--mono);letter-spacing:.08em;opacity:0;pointer-events:none;visibility:hidden;background:#fff;border:1px solid #111;align-items:center;gap:clamp(2px,.7cqw,8px);padding:0 clamp(3px,.7cqw,7px);transition:opacity .6s,transform .6s,visibility 0s linear .6s;display:flex;position:absolute;bottom:8%;right:7%;transform:translateY(4px)}.image-splash.is-enter-ready .image-enter{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.image-enter-hit{z-index:5;cursor:pointer;pointer-events:none;background:0 0;border:0;width:19%;min-width:44px;height:21%;min-height:44px;padding:0;position:absolute;top:44%;left:47%}.image-splash.is-enter-ready .image-enter-hit{pointer-events:auto}.image-splash.is-enter-ready:has(.image-enter-hit:hover) .image-enter{color:#fff;opacity:1;background:#111}.image-splash.is-enter-ready:has(.image-enter-hit:focus-visible) .image-enter{outline-offset:3px;opacity:1;outline:3px solid #111}.image-enter-hit:focus-visible{outline:none}.topbar,main,.footer{z-index:1;position:relative}.topbar{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:0;padding:18px 0;display:flex}.brand{min-height:44px;font:600 .72rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;display:inline-flex}.brand-mark{background:#111;border:1px solid #111;border-radius:50%;width:8px;height:8px}.topnav{color:#111;font:400 .68rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topnav a,.topnav button,.footer-links a,.footer-links button,.resume-contact a,.resume-contact button{align-items:center;min-height:44px;display:inline-flex}.topnav a,.topnav button{padding-inline:6px}.topnav a:after,.topnav button:after,.footer-links a:after,.text-link:after{content:"";background:currentColor;width:0;height:1px;margin-top:4px;transition:width .18s;display:block}.topnav a:hover:after,.topnav a:focus-visible:after,.topnav button:hover:after,.topnav button:focus-visible:after,.footer-links a:hover:after,.footer-links a:focus-visible:after,.text-link:hover:after,.text-link:focus-visible:after{width:100%}.section{margin-top:clamp(72px,9vw,112px);scroll-margin-top:24px}.hero.section{margin-top:0}.eyebrow{color:#444;font:700 .68rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0}.section-head{border-top:1px solid var(--line);grid-template-columns:minmax(100px,.35fr) minmax(0,1.65fr);align-items:start;gap:40px;margin-bottom:28px;padding-top:18px;display:grid}.button{color:#111;min-height:44px;font:600 .68rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fff;border:1px solid #111;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.button:hover,.button-primary{color:#fff;background:#111}.button-primary:hover{background:#333}.hero{background:radial-gradient(circle at var(--spot-x,20%) var(--spot-y,20%), #1010100b, transparent 32%);border-bottom:1px solid #1010103d;min-height:0;padding:0;display:block;overflow:hidden}.hero-copy{align-content:center;gap:26px;min-height:0;padding:clamp(56px,7vw,86px) 0 clamp(48px,6vw,76px);display:grid}.hero-eyebrow{width:fit-content;max-width:100%}.hero-intro-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(36px,7vw,88px);min-width:0;display:grid}.hero-statement{width:min(100%, var(--hero-statement-width,36rem));align-content:space-between;align-self:stretch;gap:20px;min-width:0;display:grid}.hero h1,.project-card h3,.timeline-heading h3{overflow-wrap:anywhere;margin:0}.hero h1{max-width:none;font:500 clamp(3.6rem, 5.4vw, 5.8rem)/.87 var(--mono);letter-spacing:-.07em}.hero-roleline{color:#111;letter-spacing:-.025em;max-width:30ch;margin:0;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500;line-height:1.35}.lead{color:#333;width:100%;max-width:none;margin:0;font-size:clamp(1.02rem,1.45vw,1.2rem);line-height:1.6}.hero-portrait{aspect-ratio:1;opacity:0;place-self:stretch center;width:min(100%,400px);margin:0;transform:translateY(16px)scale(.985)}.hero-portrait img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block}.cta-row{z-index:2;flex-wrap:wrap;gap:12px;width:max-content;max-width:calc(100vw - 40px);margin-top:6px;display:flex;position:relative}.hero .button{color:#111;background:0 0;border-color:#0000}.hero .button:hover,.hero .button:focus-visible{color:#111;background:0 0;border-color:#111}.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,5vw,64px);margin:clamp(20px,3vw,36px) 0 0;padding:0;list-style:none;display:grid}.hero-fact{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.hero-fact strong{letter-spacing:-.05em;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1}.hero-fact span{color:#555;max-width:26ch;font-size:.78rem;line-height:1.45}.hero-fact small{color:#666;font:400 .64rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}.hero-intro-pending .hero-eyebrow,.hero-intro-pending .hero-statement>*,.hero-intro-pending .hero-facts,.hero-intro-pending .hero-portrait,.hero-intro-running .hero-eyebrow,.hero-intro-running .hero-statement>*{opacity:0}.hero-intro-running .hero-eyebrow.is-typing,.hero-intro-running .hero-eyebrow.is-typed,.hero-intro-running .hero-statement>.is-typing,.hero-intro-running .hero-statement>.is-typed,.hero-intro-running .hero-statement>.has-typing-cursor{opacity:1}.hero-intro-running .hero-statement>*{transition:opacity .26s}.hero-intro-running .cta-row,.hero-intro-running .hero-facts{opacity:0;transform:translateY(10px)}.hero-intro-complete .cta-row,.hero-intro-complete .hero-facts,.hero-intro-complete .hero-portrait{opacity:1;transition:opacity .65s,transform .65s;transform:translateY(0)}.hero-intro-complete .hero-facts{transition-delay:.12s}.hero-intro-complete .hero-portrait{transition-duration:.9s;transition-delay:.18s}.is-typing:after,.has-typing-cursor:after{content:"";vertical-align:-.04em;background:currentColor;width:.08em;height:.82em;margin-left:.08em;animation:.72s step-end infinite hero-cursor-blink;display:inline-block}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(28px,5vw,64px);display:grid}.project-card{border-top:1px solid #111;align-content:start;gap:20px;min-width:0;min-height:100%;padding:18px 0 0;display:grid}@supports (grid-template-rows:subgrid){.project-card{grid-row:span 6;grid-template-rows:subgrid}}.project-card h3{letter-spacing:-.05em;font-size:clamp(1.8rem,3vw,2.8rem);line-height:.94;transition:transform .18s}.project-card:hover h3{transform:translate(5px)}.project-card p{color:#555;margin:0;line-height:1.6}.project-topline{color:#555;font:400 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-card .project-impact{color:#111;font-weight:600}.tag-row{flex-wrap:wrap;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tag{color:#555;font:400 .68rem/1.4 var(--mono);text-transform:uppercase}.tag:before{content:"/";color:#777;margin-right:5px}.project-actions{grid-auto-rows:44px;align-content:start;justify-items:start;gap:8px;min-height:96px;margin-top:auto;display:grid}.project-link{width:fit-content;min-height:44px;font:700 .7rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;display:inline-flex}.project-link:hover{text-underline-offset:4px;text-decoration:underline}.project-action-button{border:1px solid #111;padding:10px 14px}.project-action-button:hover{color:#fff;background:#111;text-decoration:none}.resume-head{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:clamp(36px,7vw,88px);width:100%;display:grid}.resume-head-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;display:flex}.resume-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:clamp(36px,7vw,88px);display:grid}.resume-nav{align-self:start;font-style:normal}.resume-tabs{display:grid}.resume-tab{border:0;border-bottom:1px solid var(--soft-line);color:#111;text-align:left;cursor:pointer;background:0 0;min-height:0;padding:18px 0;font-size:.82rem;transition:padding .18s,border-color .18s;position:relative}.resume-tab:first-child{border-top:1px solid var(--soft-line)}.resume-tab:hover{border-color:#111;padding-left:12px}.resume-tab.is-active{border-color:#111;padding-left:20px}.resume-tab.is-active:before{content:"→";margin-left:-20px;position:absolute}.resume-tab span{font-weight:700}.resume-contact{font:normal 400 .68rem/1.4 var(--mono);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:0;display:flex}.resume-contact .text-link:after{content:none}.resume-contact a:hover,.resume-contact a:focus-visible,.resume-contact button:hover,.resume-contact button:focus-visible{text-underline-offset:4px;text-decoration:underline}.resume-panel{align-self:start;gap:18px;min-width:0;padding:0;display:grid}.resume-panel-head{gap:8px;max-width:720px;display:grid}.resume-panel-title{color:#111;letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.3rem);font-weight:700;line-height:.94}.resume-panel-head>p:not(.resume-panel-title){color:#444;margin:0;line-height:1.6}.resume-bullets{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,44px);margin:0;padding:0;list-style:none;display:grid}.resume-items-2{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-bullet{border-top:1px solid #10101040;align-self:start;min-width:0;padding:16px 0 0}.resume-bullet strong{margin-bottom:10px;line-height:1.35;display:block}.resume-bullet span{color:#555;white-space:pre-line;line-height:1.55;display:block}.resume-panel-link{width:fit-content;min-height:44px;font:700 .7rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #111;align-items:center;display:inline-flex}.resume-panel-link:hover{text-underline-offset:4px;text-decoration:underline}.experience-timeline{--timeline-node-width:24px;--timeline-column-gap:22px;grid-template-columns:1fr;display:grid;position:relative}.experience-timeline:before{content:"";top:6px;bottom:0;left:calc(var(--timeline-node-width) / 2);transform-origin:top;background:#10101059;width:1px;position:absolute;transform:scaleY(0)}#timeline.is-visible .experience-timeline:before{transition:transform .7s cubic-bezier(.2,.75,.25,1);transform:scaleY(1)}.timeline-entry{grid-template-columns:var(--timeline-node-width) minmax(0, 1fr);align-items:start;column-gap:var(--timeline-column-gap);opacity:1;grid-template-rows:auto auto;row-gap:8px;display:grid;position:relative;transform:translateY(0)}#timeline.reveal:not(.is-visible) .timeline-entry{opacity:0;transform:translateY(10px)}#timeline.is-visible .timeline-entry{transition:opacity .56s,transform .56s}#timeline.is-visible .timeline-entry:nth-child(2){transition-delay:.1s}#timeline.is-visible .timeline-entry:nth-child(3){transition-delay:.2s}.timeline-date{color:#666;font:400 .7rem/1.45 var(--mono);letter-spacing:.06em;text-align:left;text-transform:uppercase;grid-area:1/2;padding-top:3px}.timeline-node{z-index:1;background:#fff;border:2px solid #111;border-radius:50%;grid-area:1/1;justify-self:center;width:11px;height:11px;margin-top:4px;transition:transform .24s ease-out,background .24s ease-out;position:relative}.timeline-entry.is-open .timeline-node{background:#111;transform:scale(1.05)}.timeline-content{border-bottom:1px solid #1010102e;grid-area:2/2;gap:18px;padding:0 0 clamp(44px,6vw,72px);display:grid}.timeline-heading{gap:7px;display:grid}.timeline-heading h3{letter-spacing:-.055em;font-size:clamp(2rem,4vw,3.5rem);line-height:.95}.timeline-organization{color:#666;font:400 .72rem/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:7px 14px;margin:0;display:flex}.timeline-organization span+span:before{content:"·";color:#777;margin-right:14px}.timeline-summary{color:#444;max-width:64ch;margin:0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.65}.timeline-metric{color:#111;align-items:baseline;gap:9px;width:fit-content;margin:0;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;line-height:1.4;display:flex}.timeline-metric span{color:#666;font:400 .78em/1 var(--mono)}.timeline-toggle{color:#111;width:fit-content;min-height:44px;font:700 .68rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #111;justify-content:space-between;align-items:center;gap:18px;padding:0;display:none}.experience-timeline.is-enhanced .timeline-toggle{display:inline-flex}.timeline-toggle:hover{color:#555}.timeline-chevron{font-size:1rem;line-height:1;transition:transform .24s ease-out;display:inline-block;transform:rotate(0)}.timeline-entry.is-open .timeline-chevron{transform:rotate(180deg)}.timeline-details{opacity:1;grid-template-rows:1fr;display:grid}.timeline-details-inner{min-height:0;overflow:hidden}.timeline-details ul{color:#444;gap:10px;margin:2px 0 0;padding:16px 0 8px;font:400 .96rem/1.55 Helvetica Neue,Helvetica,Arial,sans-serif;list-style:none;display:grid}.timeline-details li{padding-left:18px;position:relative}.timeline-details li:before{content:"";background:#111;width:6px;height:6px;position:absolute;top:.58em;left:0}.experience-timeline.is-enhanced .timeline-details{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .24s ease-in,opacity .18s ease-in}.experience-timeline.is-enhanced .timeline-entry.is-open .timeline-details{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .28s ease-out,opacity .24s ease-out}.footer{color:#111;font:400 .68rem/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid #1010104d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(90px,13vw,160px);padding:22px 0 10px;display:flex}.footer p{margin:0}.footer-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.email-dialog{color:#111;background:#fff;border:1px solid #111;border-radius:2px;width:min(440px,100% - 32px);padding:0;box-shadow:12px 12px #10101033}.email-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffc}.email-dialog-form{gap:16px;padding:22px;display:grid}.email-dialog-topline{font:400 .68rem/1.2 var(--mono);letter-spacing:.12em;border-bottom:1px solid #111;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.email-dialog-close{color:#111;cursor:pointer;background:#fff;border:1px solid #111;width:44px;height:44px;padding:0}.email-dialog-close:hover{color:#fff;background:#111}.email-dialog h2{letter-spacing:-.055em;max-width:9ch;margin:4px 0 0;font-size:clamp(2rem,7vw,3.25rem);line-height:.92}.email-dialog-copy,.email-dialog-status{color:#555;margin:0;line-height:1.5}.email-dialog label{font:700 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.email-dialog input{color:#111;width:100%;min-height:48px;font:700 1rem/1.2 var(--mono);background:#f2f2ef;border:1px solid #111;padding:0 12px}.email-dialog input[aria-invalid=true]{border-width:3px}.email-dialog-status{min-height:1.5em;font-size:.82rem}.email-dialog-submit{justify-self:start}.reveal{opacity:0;transform:translateY(18px)}.reveal.is-visible{opacity:1;transition:opacity .7s,transform .7s;transform:translateY(0)}@keyframes hero-cursor-blink{50%{opacity:0}}@keyframes splash-panel-enter{0%{opacity:.28;transform:translateY(34px)rotate(1.4deg)scale(.98)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes cursor-blink{50%{opacity:0}}@keyframes screen-one{0%,4%{opacity:0;transform:translateY(6px)}6%,13%{opacity:1;transform:translateY(0)}15%,to{opacity:0;transform:translateY(-5px)}}@keyframes screen-two{0%,15%{opacity:0;transform:translateY(6px)}17%,25%{opacity:1;transform:translateY(0)}27%,to{opacity:0;transform:translateY(-5px)}}@keyframes screen-three{0%,27%{opacity:0;transform:translateY(6px)}29%,43%{opacity:1;transform:translateY(0)}45%,to{opacity:0;transform:translateY(-5px)}}@keyframes screen-four{0%,45%{opacity:0;transform:translateY(6px)}47%,63%{opacity:1;transform:translateY(0)}65%,to{opacity:0;transform:translateY(-5px)}}@keyframes screen-five{0%,65%{opacity:0;transform:translateY(6px)}67%,96%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@media (width<=980px){.project-grid,.resume-head,.resume-layout,.resume-bullets{grid-template-columns:1fr}.project-card,.project-actions{min-height:0}.resume-layout{gap:22px}.resume-tabs{border-top:1px solid var(--soft-line);grid-template-columns:repeat(4,minmax(0,1fr))}.resume-tab{border-right:1px solid var(--soft-line);text-align:center;min-height:44px;padding:10px 4px}.resume-tab:first-child{border-top:0}.resume-tab:last-child{border-right:0}.resume-tab:hover,.resume-tab.is-active{border-bottom-color:#111;padding-left:4px;box-shadow:inset 0 -2px #111}.resume-tab.is-active:before{content:none}.resume-contact{gap:2px 16px}.resume-contact a,.resume-contact button{min-height:36px}.resume-panel{gap:14px}.resume-panel-head{gap:6px}.resume-panel-title{font-size:clamp(1.8rem,7vw,2.7rem);line-height:1}.resume-panel-head>p:not(.resume-panel-title){line-height:1.5}.resume-bullets{gap:12px}.resume-bullet{padding-top:10px}.resume-bullet strong{margin-bottom:5px}}@media (width<=720px){.site-shell{width:min(100% - 20px,1180px);padding-top:12px}.site-shell.is-ready{padding-top:12px}.splash-screen{padding:48px 10px}.splash-panel{padding:8px}.splash-chrome{font-size:.58rem;left:14px;right:14px}.splash-header{top:18px}.splash-footer{bottom:18px}.image-art{--arm-scale:1.2}.topbar{flex-direction:column;align-items:flex-start}.topnav{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;display:grid}.topnav a,.topnav button{text-align:center;justify-content:center;padding:10px 6px 0}.hero-copy{padding:56px 0 48px}.section{margin-top:52px}.hero.section{margin-top:0}.section-head{grid-template-columns:1fr;gap:10px}.hero-intro-layout{grid-template-columns:1fr;gap:36px}.hero-statement{width:100%;min-width:0;max-width:100%}.hero h1{max-width:100%;font-size:clamp(2.8rem,13vw,4.5rem)}.lead{overflow-wrap:anywhere;max-width:100%}.cta-row{gap:8px;width:100%;max-width:100%}.hero .button{padding-inline:8px;font-size:.61rem}.hero-portrait{justify-self:center;width:min(78vw,340px)}.resume-head{align-items:start}.resume-head .button{min-height:40px;padding-inline:10px;font-size:.62rem}.resume-nav{width:100%}.timeline-organization{gap:3px;display:grid}.timeline-organization span+span:before{content:none}.footer{flex-direction:column;align-items:flex-start}}@media (width<=560px){.hero-facts{grid-template-columns:1fr;gap:16px}}@media (width<=430px){.image-art{--arm-scale:1.32;transform-origin:45% 48%}.three-message{font-size:clamp(.3rem,1.65cqw,.5rem)}.image-enter{min-height:clamp(10px,2.6cqw,14px);padding-inline:clamp(2px,.65cqw,4px);font-size:clamp(.26rem,.9cqw,.38rem)}}@media (forced-colors:active){.brand-mark,.timeline-node,.timeline-details li:before{forced-color-adjust:none;background:canvastext}.image-enter{border:1px solid canvastext}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal.is-visible,#timeline.reveal:not(.is-visible) .timeline-entry,#timeline.is-visible .timeline-entry{opacity:1;transform:none}.experience-timeline:before,#timeline.is-visible .experience-timeline:before{transform:scaleY(1)}.splash-screen{transition:none}}
