@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Archivo:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.work-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem 3rem;padding-block:2.5rem;border-bottom:1px solid var(--line);scroll-margin-top:7rem}.work-entry:first-child{padding-top:0}.work-entry-copy{min-width:0}.work-entry-category{margin:0 0 .6rem;color:var(--text-muted);font-size:.875rem}.work-entry h2{margin:0;color:var(--text);font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;letter-spacing:-.035em}.work-entry h2 a{color:inherit;text-decoration:none}.work-entry h2 a:hover{color:var(--accent)}.work-entry-description{max-width:66ch;margin:1rem 0;color:var(--text-soft);font-size:1rem;line-height:1.7}.work-entry-technologies{display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none;padding:0;margin:1rem 0 0;color:var(--text-muted);font-size:.875rem;line-height:1.6}.work-entry-disclosure{max-width:70ch;margin:1.4rem 0 0;padding-left:.85rem;border-left:2px solid var(--line-strong);color:var(--text-muted);font-size:.875rem;line-height:1.7}.work-entry-access{margin:1rem 0 0;color:var(--text-muted);font-size:.875rem;line-height:1.6}.work-entry-actions,.work-links{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1.3rem}.work-entry-actions{margin-top:1.3rem}.work-entry-case-link,.work-links a{display:inline-flex;align-items:center;gap:.2rem;min-height:2.75rem;color:var(--text);font-size:.9rem;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em}.work-entry-case-link{color:var(--accent)}.work-entry-case-link:hover,.work-links a:hover{text-decoration-color:currentColor}.work-links-small a{font-size:.875rem}.work-entry-image{margin:0;min-width:0;align-self:start}.work-entry-image a{display:block;border:1px solid var(--line);background:var(--surface);overflow:hidden}.work-entry-image img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.work-entry-image figcaption{margin-top:.6rem;color:var(--text-muted);font-size:.875rem}.work-entry-details{grid-column:1 / -1}.work-entry-details>summary{display:flex;align-items:center;gap:.7rem;width:fit-content;min-height:2.75rem;color:var(--text-soft);font-size:.9rem;cursor:pointer;list-style:none}.work-entry-details>summary::-webkit-details-marker{display:none}.work-entry-details-mark:before{content:"+";color:var(--accent);font-size:1.2rem}.work-entry-details[open] .work-entry-details-mark:before{content:"−"}.work-entry-detail-grid{display:grid;gap:1.8rem 3rem;padding-top:1.5rem}.work-entry-detail-grid h3{margin:0 0 .65rem;font-size:1rem;font-weight:600;color:var(--text)}.work-entry-detail-grid p,.work-entry-detail-grid li{color:var(--text-soft);font-size:.95rem;line-height:1.8;overflow-wrap:anywhere}.work-entry-detail-grid p{margin:0;max-width:70ch}.work-entry-detail-grid ul{margin:0;padding-left:1.2rem;list-style:disc}.work-entry-detail-grid li+li{margin-top:.6rem}.work-entry-findings{grid-column:1 / -1;max-width:80ch}.skills-index,.experience-index{padding-block:3rem 5rem}.supporting-view-header{max-width:70ch;margin-bottom:2.8rem}.supporting-view-header h1{margin:0;color:var(--text);font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.1;letter-spacing:-.045em}.supporting-view-header>p{margin:1rem 0 0;color:var(--text-soft);font-size:1.05rem;line-height:1.7}.skills-index-group{display:grid;gap:1.5rem 4rem;padding-block:2.5rem;border-top:1px solid var(--line)}.skills-index-group h2{margin:0;color:var(--text);font-size:1.3rem;line-height:1.3;letter-spacing:-.02em}.skills-index-summary{max-width:54ch;margin:.8rem 0 0;color:var(--text-soft);font-size:1rem;line-height:1.8}.skills-index-tools{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;margin:0;padding:0;list-style:none;color:var(--text);font-size:.95rem;line-height:1.65}.skills-index-evidence{margin-top:1.5rem}.skills-index-evidence h3{margin:0 0 .5rem;color:var(--text-muted);font-size:.875rem;font-weight:400}.skills-index-evidence ul{list-style:none;margin:0;padding:0}.skills-index-evidence li{margin-top:.25rem;color:var(--text-soft);font-size:.9rem;line-height:1.8}.skills-index-evidence a{display:inline-block;padding-block:.25rem;color:var(--text-soft);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.2em}.skills-index-evidence a:hover{color:var(--accent);text-decoration-color:currentColor}.experience-index-entry{display:grid;gap:.8rem 3rem;padding-block:2.5rem;border-top:1px solid var(--line);scroll-margin-top:7rem}.experience-index-period p{margin:0;color:var(--text-soft);font-size:.95rem;line-height:1.6}.experience-index-period span{display:block;margin-top:.4rem;color:var(--text-muted);font-size:.875rem}.experience-index-content{max-width:74ch}.experience-index-content h2{margin:0;color:var(--text);font-size:1.3rem;line-height:1.4;letter-spacing:-.02em}.experience-index-company{margin:.3rem 0 0;color:var(--text-muted);font-size:.95rem;line-height:1.6}.experience-index-contribution{margin:1.1rem 0 0;color:var(--text-soft);font-size:1rem;line-height:1.8}.experience-index-details{margin-top:.8rem}.experience-index-details summary{width:fit-content;min-height:2.75rem;padding-block:.7rem;color:var(--text-muted);font-size:.875rem;cursor:pointer}.experience-index-details ul{margin:.6rem 0 0;padding-left:1.2rem;list-style:disc;color:var(--text-soft)}.experience-index-details li{font-size:.95rem;line-height:1.8}.experience-index-details li+li{margin-top:.8rem}.work-entry a:focus-visible,.work-entry summary:focus-visible,.work-links a:focus-visible,.skills-index a:focus-visible,.experience-index summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media(min-width:760px){.work-entry-with-image{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.work-entry-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-index-group{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.experience-index-entry{grid-template-columns:minmax(9rem,.3fr) minmax(0,1fr)}.skills-index,.experience-index{padding-block:4rem 6rem}}.project-contribution{margin-block:1.25rem;padding-left:1rem;border-left:2px solid var(--line-strong)}.project-contribution p{margin:.4rem 0 0;max-width:80ch;color:var(--text-soft);font-size:.8rem;line-height:1.7}.project-contribution .project-contribution-role{margin:0;color:var(--text);font-size:.75rem;font-weight:500}.project-contribution p>span{color:var(--text-muted);margin-right:.55rem}.case-study .project-contribution{margin-block:2rem}.case-study .project-contribution p{font-size:.9rem}.pantry-feature{margin-bottom:6.5rem}.pantry-exhibit{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);background:#b9cfc9;border:1px solid #a0bab2;border-radius:14px;overflow:hidden;color:#173e34}.pantry-product{min-width:0;margin:0;padding:1.5rem 1.5rem 1rem}.pantry-product-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:1.2rem;font-size:.75rem}.pantry-product-label>span:last-child{color:#385e53;font-size:.7rem}.pantry-product>a{position:relative;display:block;border:5px solid #eff3e9;border-radius:8px;box-shadow:0 10px 25px #224b3e30;overflow:hidden}.pantry-product img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.pantry-product>a:hover img{transform:scale(1.015)}.pantry-product>a:focus-visible{outline-color:#173e34;outline-offset:4px}.pantry-enlarge{position:absolute;bottom:.6rem;right:.6rem;display:flex;align-items:center;gap:1rem;min-height:36px;padding:.5rem .75rem;border:1px solid #becfc4;border-radius:6px;color:#173e34;background:#f7faf3;font-size:.7rem}.pantry-product figcaption{margin-top:.9rem;font-size:.65rem;line-height:1.6;color:#385e53}.pantry-guide{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:1.8rem;background:#edf2e9;border-left:1px solid #a0bab2}.pantry-guide-eyebrow{margin:0 0 .75rem;font-size:.7rem;color:#4f695d}.pantry-guide-title{margin:0;max-width:15ch;font-family:var(--font-display);font-size:1.65rem;line-height:1.15;letter-spacing:-.035em}.pantry-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.4rem 0;border-bottom:1px solid #b5c6b9}.pantry-steps button{min-width:0;min-height:65px;padding:.5rem .2rem .75rem;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;color:#4f695d;font-size:.7rem;text-align:left;cursor:pointer;transition:color .2s,border-color .2s}.pantry-steps button>span{display:block;margin-bottom:.3rem;font-size:.65rem}.pantry-steps button[aria-pressed=true]{color:#173e34;border-color:#2f6953;font-weight:600}.pantry-steps button:hover{background:#dce6d9}.pantry-steps button:focus-visible{outline-color:#2f6953}.pantry-workflow-detail{min-height:175px}.pantry-workflow-detail>div{animation:pantry-step-in .24s ease-out both}.pantry-boundary{display:block;font-size:.65rem;line-height:1.65;color:#4f695d}.pantry-workflow-detail h4{font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.025em;line-height:1.2;margin:.7rem 0}.pantry-workflow-detail p{margin:0;max-width:42ch;color:#385e53;font-size:.8rem;line-height:1.75}.pantry-guide-caption{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid #c4d2c5;font-size:.6rem;line-height:1.7;color:#4f695d}.pantry-project-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.pantry-project-bottom>p{color:var(--text-muted);font-size:.7rem;line-height:1.6;margin:0}@keyframes pantry-step-in{0%{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1050px){.pantry-product{padding:1.2rem}.pantry-guide{padding:1.4rem}.pantry-exhibit{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr)}.pantry-product>a{margin-top:1.8rem}}@media(max-width:759px){.pantry-feature{margin-bottom:4rem}.pantry-exhibit{grid-template-columns:1fr}.pantry-product{padding:1rem}.pantry-product-label{margin-bottom:1rem}.pantry-product>a{margin-top:0;border-width:3px}.pantry-guide{border-left:0;border-top:1px solid #a0bab2;padding:1.3rem}.pantry-guide-title{max-width:none;font-size:1.5rem}.pantry-guide-eyebrow{margin-bottom:.5rem}.pantry-steps{margin:.8rem 0 1rem}.pantry-steps button{min-height:55px;font-size:.75rem}.pantry-workflow-detail{min-height:150px}.pantry-workflow-detail p{max-width:65ch}.pantry-guide-caption{margin-top:.6rem}}@media(prefers-reduced-motion:reduce){.pantry-feature *{animation:none!important;transition:none!important}.pantry-product>a:hover img{transform:none}}.sw-section{padding-block:2rem 5rem}.sw-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:3.75rem}.sw-section-heading h2{margin:0;max-width:20ch;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.1;letter-spacing:-.045em}.sw-text-link,.sw-case-link{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;color:var(--text);font-size:.875rem;text-decoration:none}.sw-text-link svg,.sw-case-link svg{width:19px;height:19px;flex:0 0 19px;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.sw-text-link:hover svg,.sw-case-link:hover svg{transform:translate(2px,-2px)}.sw-text-link:hover{color:var(--accent)}.sw-case-link{padding:.75rem 1.1rem;border-radius:7px;background:var(--text);color:var(--bg)}.sw-case-link:hover{background:var(--accent)}.sw-project-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:end;margin-bottom:2rem}.sw-project-name{margin:0 0 .8rem;font-size:.875rem;font-weight:500;color:var(--text-muted)}.sw-section h3{max-width:19ch;margin:0;font-size:clamp(2rem,3.7vw,3.05rem);letter-spacing:-.045em;line-height:1.08}.sw-project-intro>p{max-width:51ch;margin:0 0 1rem;color:var(--text-soft);line-height:1.75;font-size:.95rem}.sw-project-intro>span{color:var(--text-muted);font-size:.75rem}.sw-healthcare-exhibit{margin:0}.sw-exhibit-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;background:#263d7c;color:#f4f6fb;padding:1rem 1.3rem;border-radius:14px 14px 0 0}.sw-exhibit-caption{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem}.sw-exhibit-caption>span{width:9px;height:9px;background:#b8c7fd;border-radius:2px;transform:rotate(45deg)}.sw-view-switch{display:flex;padding:3px;background:#182a5a;border-radius:8px}.sw-view-switch button{min-height:40px;border:0;padding:.6rem .9rem;border-radius:5px;color:#d1daf7;background:transparent;font-size:.78rem;cursor:pointer}.sw-view-switch button[aria-pressed=true]{background:#f4f6fb;color:#21376f}.sw-view-switch button:focus-visible{outline-color:#e6ecff;outline-offset:3px}.sw-exhibit-content{background:#425897;padding:2.3rem 3.4rem 0;border-radius:0 0 14px 14px;overflow:hidden}.sw-dashboard-image{display:block;position:relative;background:#001410;border:6px solid #1c2f58;border-bottom:0;border-radius:10px 10px 0 0;box-shadow:0 0 0 1px #a0afdc55,0 18px 65px #0b204b70;overflow:hidden}.sw-dashboard-image img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top}.sw-enlarge{display:flex;position:absolute;right:1rem;bottom:1rem;gap:.75rem;align-items:center;padding:.65rem .85rem;border-radius:7px;color:#182a45;background:#f4f6fb;font-size:.75rem;box-shadow:0 3px 18px #0003}.sw-enlarge svg{width:16px;height:16px}.sw-healthcare-exhibit figcaption,.sw-validation-exhibit figcaption{margin-top:.85rem;color:var(--text-muted);font-size:.75rem;line-height:1.7}.sw-project-bottom{display:grid;grid-template-columns:1.1fr 1fr;align-items:start;gap:4rem;padding-top:1.4rem}.sw-project-links{display:flex;flex-wrap:wrap;gap:.35rem 1.3rem;align-items:center}.sw-engineering-detail{padding-top:.1rem}.sw-engineering-detail summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;color:var(--text-soft);font-size:.85rem;cursor:pointer;list-style:none}.sw-engineering-detail summary::-webkit-details-marker{display:none}.sw-engineering-detail summary>span{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;background:var(--surface-strong);border-radius:50%;color:var(--text);transition:transform .2s}.sw-engineering-detail[open] summary>span{transform:rotate(45deg)}.sw-engineering-detail>p{margin:.8rem 0;color:var(--text-soft);font-size:.875rem;line-height:1.75}.sw-trace{padding:2.25rem;min-height:550px;color:#182a45;background:#edf1fc;border-radius:12px 12px 0 0}.sw-trace-intro{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.sw-trace-intro>span:first-child{font-family:var(--font-display);font-size:1.3rem;letter-spacing:-.025em}.sw-trace-intro>span:last-child{font-size:.7rem;color:#53617c}.sw-trace-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin:2.5rem 0 2rem}.sw-trace-stop{position:relative;display:flex;flex-direction:column;align-items:center;background:transparent;padding:.5rem 0;border:0;color:#53617c;cursor:pointer}.sw-trace-stop:not(:last-child):after{content:"";position:absolute;left:calc(50% + 43px);right:calc(-50% + 24px);top:48px;height:1px;background:#a7b5d6}.sw-trace-icon{display:grid;place-items:center;width:80px;height:80px;margin-bottom:1rem;background:#dfe6f7;border-radius:50%;transition:background .22s,transform .24s cubic-bezier(.2,.8,.2,1)}.sw-trace-icon svg{width:57px;height:57px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sw-trace-stop[aria-pressed=true]{color:#263f9a}.sw-trace-stop[aria-pressed=true] .sw-trace-icon{background:#3e56cf;color:#fff;transform:translateY(-4px);box-shadow:0 7px #ced8f3}.sw-trace-stop:focus-visible{outline-color:#3e56cf;border-radius:8px}.sw-trace-stop strong{font-weight:500;font-size:.875rem}.sw-trace-stop>span:last-child{max-width:16ch;min-height:32px;margin-top:.3rem;font-size:.65rem;line-height:1.5}.sw-trace-detail{display:grid;grid-template-columns:1.65fr 1fr;gap:2rem;align-items:center;padding:1.5rem 0 0;border-top:1px solid #c2cee6}.sw-trace-detail-copy{animation:sw-detail-in .26s ease-out both}.sw-trace-detail-copy>span{color:#53617c;font-size:.65rem}.sw-trace-detail-copy h4{margin:.7rem 0;font-size:1.5rem;line-height:1.15;letter-spacing:-.03em}.sw-trace-detail-copy p{max-width:55ch;margin:0;color:#43536f;font-size:.85rem;line-height:1.7}.sw-origin-key{display:grid;gap:1.25rem}.sw-origin-key>span{display:grid;grid-template-columns:12px 1fr;gap:.3rem .5rem;color:#263952;font-size:.75rem;line-height:1.3}.sw-origin-key i{width:8px;height:8px;margin-top:3px}.sw-source-dot{background:#3457ad;border-radius:1px}.sw-simulation-dot{border:2px solid #94622a;border-radius:50%}.sw-origin-key small{grid-column:2;color:#53617c;font-size:.65rem;line-height:1.5}.sw-capital{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:5rem;padding-top:7.5rem}.sw-client-proof{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-top:5rem;padding-block:2.5rem;border-block:1px solid var(--line)}.sw-client-proof .sw-capital-copy h3{max-width:18ch;font-size:clamp(1.8rem,3vw,2.5rem)}.sw-client-proof .sw-capital-description{margin-top:1rem;font-size:.875rem}.sw-client-proof .sw-capital-outcome{margin-top:.2rem}.sw-client-explainer{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:.5rem}.sw-client-explainer .sw-validation-exhibit{margin-top:1rem}.sw-client-explainer .sw-validation-result{font-size:.75rem;line-height:1.6}.sw-client-privacy{max-width:54ch;margin:.8rem 0 0;color:var(--text-muted);font-size:.7rem;line-height:1.7}.sw-capital-copy h3{max-width:12ch}.sw-capital-description{max-width:46ch;margin:1.5rem 0 1rem;color:var(--text-soft);font-size:.95rem;line-height:1.75}.sw-capital-principle{max-width:47ch;margin:0 0 1.5rem;color:var(--text-muted);font-size:.875rem;line-height:1.75}.sw-capital-outcome{margin-top:2.5rem}.sw-capital-outcome>strong{display:block;font-family:var(--font-display);color:var(--text);font-size:2.3rem;font-weight:500;letter-spacing:-.045em;line-height:1.1}.sw-capital-outcome>strong>span{display:block;margin-top:.4rem;font-family:var(--font-body);color:var(--text-soft);font-size:.8rem;letter-spacing:0}.sw-capital-outcome p{max-width:42ch;margin:.75rem 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.75}.sw-validation-exhibit{margin:0;min-width:0}.sw-validation{--sw-route: #81572a;--sw-route-bg: #f2e8d5;padding:1.6rem 2rem 1.35rem;border-radius:24px;color:#182a45;background:#e5eaf6}.sw-validation[data-outcome=pass]{--sw-route: #315f56;--sw-route-bg: #dcece6}.sw-validation-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem}.sw-validation-top>span:first-child{font-weight:500}.sw-sample-label{color:#596680;font-size:.65rem}.sw-validation-switch{display:flex;gap:.35rem;width:fit-content;padding:.3rem;margin:1.3rem auto 1.7rem;border:1px solid #b8c5df;border-radius:50px}.sw-validation-switch button{min-height:42px;padding:.6rem 1rem;border:0;border-radius:30px;color:#485c7e;background:transparent;font-size:.75rem;cursor:pointer}.sw-validation-switch button[aria-pressed=true]{background:#263b60;color:#fff}.sw-validation-switch button:focus-visible{outline-color:#3e56cf}.sw-record{position:relative;width:88%;margin:0 auto;padding:1rem 1.1rem .75rem;background:#f8faff;border:1px solid #bfcae0;border-radius:9px;box-shadow:0 7px 0 -3px #f0f3fb,0 8px 0 -3px #bdc8df,0 15px 26px -13px #344c7666}.sw-record-heading{display:flex;gap:.65rem;align-items:center;margin-bottom:1rem;font-size:.85rem;font-weight:500}.sw-record-symbol{display:grid;place-items:center;flex-shrink:0;width:34px;height:40px;background:#e5eafa;color:#3e56cf;border-radius:3px 9px 3px 3px;font-family:var(--font-display);font-size:1rem}.sw-record-heading small{display:block;margin-top:.2rem;font-size:.6rem;color:#596680;font-weight:400}.sw-record-line{display:grid;grid-template-columns:1.4fr .7fr 20px;align-items:center;gap:.75rem;min-height:36px;font-size:.65rem;color:#52617b}.sw-record-bar{display:block;height:5px;border-radius:2px;background:#bcc8df}.sw-record-line:nth-child(3) .sw-record-bar{width:70%}.sw-checkmark,.sw-rule-result{display:grid;place-items:center;width:18px;height:18px;background:#dcece6;color:#315f56;border-radius:50%;font-size:.7rem;font-weight:600}.sw-rule-result{background:var(--sw-route-bg);color:var(--sw-route)}.sw-record-rule{margin-top:.2rem;border-top:1px solid #d9e0ee;padding-top:.2rem}.sw-decision-path{width:100%;height:65px}.sw-decision-path svg{display:block;width:100%;height:100%;fill:none;stroke-width:2}.sw-decision-base{stroke:#b5c2db}.sw-decision-active{stroke:var(--sw-route);stroke-dasharray:180;stroke-dashoffset:180;opacity:0;transition:stroke-dashoffset .6s ease-out,opacity .2s}.sw-validation[data-outcome=pass] .sw-decision-pass,.sw-validation[data-outcome=review] .sw-decision-review{stroke-dashoffset:0;opacity:1}.sw-validation-destinations{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.sw-destination{display:flex;align-items:center;flex-direction:column;padding:1.05rem .55rem;border:1px solid #b8c5dd;border-radius:12px;background:#eef2fa;color:#52617b;transition:background .26s,color .26s,transform .3s cubic-bezier(.2,.8,.2,1)}.sw-destination-symbol{display:grid;place-items:center;width:30px;height:30px;margin-bottom:.6rem;background:#dde5f3;color:#536888;border-radius:50%;font-family:var(--font-display);font-size:1rem}.sw-destination strong{font-size:.78rem;font-weight:500}.sw-destination>span:last-child{max-width:19ch;margin-top:.35rem;font-size:.6rem;text-align:center;line-height:1.5}.sw-validation[data-outcome=pass] .sw-destination-pass,.sw-validation[data-outcome=review] .sw-destination-review{background:#f8faff;color:#182a45;border-color:var(--sw-route);transform:translateY(-2px);box-shadow:0 4px 0 var(--sw-route-bg)}.sw-validation[data-outcome=pass] .sw-destination-pass .sw-destination-symbol,.sw-validation[data-outcome=review] .sw-destination-review .sw-destination-symbol{background:var(--sw-route-bg);color:var(--sw-route)}.sw-validation-result{min-height:3.1em;max-width:47ch;margin:1.4rem auto 0;text-align:center;color:#52617b;font-size:.75rem;line-height:1.6}@keyframes sw-detail-in{0%{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1000px){.sw-dashboard-image img{aspect-ratio:1.85}}@media(max-width:1000px){.sw-project-heading,.sw-project-bottom{gap:2rem}.sw-capital{gap:3rem}.sw-exhibit-content{padding:1.7rem 2rem 0}.sw-trace{padding:1.5rem;min-height:500px}.sw-trace-detail{gap:1.3rem}.sw-trace-detail-copy h4{font-size:1.3rem}.sw-validation{padding-inline:1.2rem}.sw-record{width:95%}}@media(max-width:759px){.sw-client-proof{grid-template-columns:1fr;gap:2rem;margin-top:3rem;padding-block:2rem}.sw-section{padding-block:1.5rem 3.5rem}.sw-section-heading{margin-bottom:2.5rem;align-items:flex-end}.sw-section-heading h2{max-width:15ch;font-size:1.75rem}.sw-project-heading{grid-template-columns:1fr;gap:1.1rem;margin-bottom:1.5rem}.sw-section h3{max-width:18ch;font-size:clamp(2rem,7vw,2.65rem)}.sw-project-name{margin-bottom:.6rem}.sw-project-intro>p{font-size:.875rem;margin-bottom:.65rem}.sw-exhibit-controls{padding:.9rem}.sw-exhibit-caption{font-size:.75rem}.sw-view-switch{width:100%}.sw-view-switch button{flex:1;min-height:44px}.sw-exhibit-content{padding:1rem 1rem 0}.sw-dashboard-image{border-width:3px}.sw-dashboard-image img{aspect-ratio:1.22;object-position:left top}.sw-enlarge{right:.45rem;bottom:.45rem;padding:.5rem .6rem;font-size:.65rem;gap:.4rem}.sw-project-bottom{grid-template-columns:1fr;gap:.75rem;padding-top:1rem}.sw-project-links{gap:.3rem 1rem}.sw-case-link,.sw-text-link{font-size:.8rem}.sw-trace{min-height:0;padding:1.3rem 1rem}.sw-trace-intro>span:first-child{font-size:1.2rem;max-width:21ch}.sw-trace-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.5rem}.sw-trace-icon{width:65px;height:65px;margin-bottom:.7rem}.sw-trace-icon svg{width:49px;height:49px}.sw-trace-stop:not(:last-child):after{display:none}.sw-trace-stop>span:last-child{min-height:20px}.sw-trace-detail{grid-template-columns:1fr;padding-top:1rem}.sw-trace-detail-copy h4{font-size:1.35rem}.sw-trace-detail-copy p{font-size:.8rem}.sw-origin-key{gap:1rem;padding-top:1rem;border-top:1px solid #c2cee6}.sw-capital{grid-template-columns:1fr;gap:2rem;padding-top:4.5rem}.sw-capital-copy h3{max-width:16ch}.sw-capital-description{margin-top:1.2rem;font-size:.875rem}.sw-capital-principle{font-size:.8125rem}.sw-capital-outcome{margin-top:1.75rem}.sw-capital-outcome p{max-width:53ch}.sw-validation{padding:1.35rem 1rem}.sw-validation-top{font-size:.75rem}.sw-record{width:90%}.sw-validation-exhibit{max-width:560px;width:100%}}@media(max-width:380px){.sw-section-heading{gap:.5rem}.sw-section-heading h2{font-size:1.6rem}.sw-exhibit-content{padding:.65rem .65rem 0}.sw-trace{padding-inline:.75rem}.sw-record{width:100%;padding-inline:.7rem}.sw-record-line{grid-template-columns:1fr .2fr 18px;gap:.45rem}.sw-validation-destinations{gap:.6rem}.sw-destination{padding-inline:.4rem}.sw-destination strong{font-size:.7rem}.sw-sample-label{font-size:.6rem}}@media(prefers-reduced-motion:reduce){.sw-section *,.sw-section *:before,.sw-section *:after{animation:none!important;transition:none!important}}.assistant-launcher{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:.85rem 1.15rem;border:1px solid var(--accent);border-radius:50px;background:var(--accent);color:var(--bg);box-shadow:0 6px 24px #0000002e;font:500 .875rem var(--font-body);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.assistant-launcher[hidden]{display:none}.assistant-launcher svg{flex:0 0 auto}.assistant-launcher:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0000003d}.assistant-launcher:focus-visible{outline:2px solid var(--text);outline-offset:4px}.assistant-dialog{position:fixed;inset:auto max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) auto;width:min(27rem,calc(100vw - 2.5rem));height:min(40rem,calc(100dvh - 6rem));max-width:none;max-height:calc(100dvh - 2rem);margin:0;padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:16px;background:var(--bg);color:var(--text);font-family:var(--font-body);box-shadow:0 18px 70px #00000038}.assistant-dialog[open]{display:flex;flex-direction:column;animation:assistant-panel-in .18s ease-out}.assistant-dialog::backdrop{background:#0a101c40}.assistant-dialog :where(button,input){font:inherit}.assistant-dialog button{cursor:pointer}.assistant-dialog button:disabled{cursor:not-allowed;opacity:.55}.assistant-dialog :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.assistant-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line)}.assistant-eyebrow{margin:0 0 .3rem;color:var(--text-muted);font-size:.875rem;line-height:1.5}.assistant-header h2{margin:0;font-size:1.5rem;font-weight:600;line-height:1.2}.assistant-close,.assistant-microphone{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--text)}.assistant-close:hover,.assistant-microphone:hover{border-color:var(--accent);color:var(--accent)}.assistant-microphone[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.assistant-suggestions{flex:0 0 auto;max-height:38%;padding:.625rem 1.5rem;overflow-y:auto;border-bottom:1px solid var(--line);overscroll-behavior:contain}.assistant-text-button{padding:0;border:0;background:transparent;color:var(--text-soft);text-underline-offset:.2em}.assistant-text-button:hover{color:var(--text);text-decoration:underline}.assistant-suggestions-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:2rem;font-size:.875rem}.assistant-suggestion-list{padding-top:.4rem}.assistant-suggestion{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%;min-height:2.5rem;padding:.55rem 0;border:0;background:transparent;color:var(--text);font-size:.875rem;line-height:1.45;text-align:left}.assistant-suggestion span{flex:0 0 auto;color:var(--accent)}.assistant-suggestion:hover{color:var(--accent)}.assistant-more{min-height:2.25rem;font-size:.875rem;text-decoration:underline}.assistant-messages{flex:1 1 auto;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.assistant-message{margin-bottom:1.5rem;color:var(--text-soft);font-size:.95rem;line-height:1.65}.assistant-message:last-child{margin-bottom:0}.assistant-message--user{padding:.8rem 1rem;border-left:2px solid var(--accent);background:var(--surface);color:var(--text)}.assistant-message-author{margin:0 0 .3rem;color:var(--text);font-size:.8125rem;font-weight:600}.assistant-message-line{display:block;min-height:.5em}.assistant-message strong{color:var(--text);font-weight:600}.assistant-loading,.assistant-error{margin:1rem 0 0;font-size:.875rem;line-height:1.6}.assistant-loading{color:var(--text-muted)}.assistant-error{padding:.8rem 1rem;border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--text)}.assistant-form{flex:0 0 auto;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--line)}.assistant-input-row{display:flex;align-items:center;gap:.5rem}.assistant-input{flex:1 1 auto;width:100%;min-width:0;height:2.75rem;padding:.65rem .75rem;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface);color:var(--text);font-size:1rem;line-height:1.4}.assistant-input::placeholder{color:var(--text-muted)}.assistant-send{flex:0 0 auto;height:2.75rem;padding:.5rem .9rem;border:1px solid var(--text);border-radius:3px;background:var(--text);color:var(--bg);font-size:.875rem;font-weight:600}.assistant-send:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}.assistant-form-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.625rem}.assistant-form-meta p{margin:0;color:var(--text-muted);font-size:.8125rem;line-height:1.5}.assistant-form-meta button{flex:0 0 auto;min-height:1.75rem;font-size:.8125rem;text-decoration:underline}@media(max-width:480px){.assistant-launcher{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));min-height:48px;padding:.7rem 1rem;font-size:.8125rem}.assistant-dialog{inset:auto .5rem max(.5rem,env(safe-area-inset-bottom)) .5rem;width:calc(100vw - 1rem);height:min(44rem,calc(100dvh - 1rem));max-height:calc(100dvh - 1rem)}.assistant-header{padding:1rem}.assistant-suggestions{padding-right:1rem;padding-left:1rem}.assistant-messages{padding:1rem}.assistant-form{padding:.875rem 1rem max(.875rem,env(safe-area-inset-bottom))}.assistant-form-meta{gap:.5rem}}@media(max-height:520px){.assistant-dialog{bottom:.5rem;height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem)}.assistant-header{padding:.65rem 1rem}.assistant-header h2{font-size:1.25rem}.assistant-suggestions{max-height:3.5rem}.assistant-form{padding:.65rem 1rem}}@keyframes assistant-panel-in{0%{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.assistant-launcher{transition:none}.assistant-launcher:hover{transform:none}.assistant-dialog[open]{animation:none}}.portfolio-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:var(--bg);font-family:var(--font-body)}.portfolio-nav-inner{display:flex;align-items:center;flex-wrap:wrap;gap:0 1.5rem;min-height:72px;width:min(100% - 2.5rem,1160px);margin-inline:auto}.portfolio-nav-brand{display:inline-flex;align-items:center;min-height:44px;margin-right:auto;color:var(--text);font-size:1.0625rem;font-weight:600;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}.portfolio-nav-controls{display:flex;align-items:center;gap:.375rem;min-height:72px}.portfolio-nav .portfolio-nav-theme{display:inline-flex;width:44px;height:44px;margin:0;border:0;color:var(--text-soft);transform:none}.portfolio-nav-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:44px;padding:.5rem;border:0;background:transparent;color:var(--text);font:inherit;font-size:.9375rem;cursor:pointer}.portfolio-nav-links{display:none;flex-basis:100%;padding-block:.25rem 1rem;border-top:1px solid var(--line)}.portfolio-nav-links.is-open{display:flex;flex-direction:column}.portfolio-nav-link{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.625rem 0;color:var(--text-soft);font-size:.9375rem;line-height:1.5;text-decoration:none;text-underline-offset:.4em;text-decoration-thickness:1px}.portfolio-nav-link[aria-current=page]{color:var(--text);text-decoration:underline}.portfolio-nav-link:hover,.portfolio-nav-brand:hover,.portfolio-nav-menu-button:hover,.portfolio-nav .portfolio-nav-theme:hover{color:var(--accent)}.portfolio-nav-download{font-size:.875rem}.portfolio-nav a:focus-visible,.portfolio-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media(max-width:359px){.portfolio-nav-inner{width:calc(100% - 2rem);column-gap:.5rem}.portfolio-nav-controls{gap:0}}@media(min-width:760px){.portfolio-nav-inner{flex-wrap:nowrap}.portfolio-nav-links,.portfolio-nav-links.is-open{display:flex;flex-direction:row;flex-basis:auto;align-items:center;gap:1.875rem;padding:0;border:0}.portfolio-nav-controls{order:1}.portfolio-nav-menu-button{display:none}}.motion-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);column-gap:3rem;align-items:center;padding-block:3rem 2rem}.motion-hero-copy{padding-block:1rem 2rem;animation:hero-arrive .85s both}.hero-role{color:var(--text-soft);font-size:.9rem;margin:0 0 1.5rem}.motion-hero h1{font-size:clamp(4.8rem,7.3vw,6.7rem);font-weight:600;line-height:.95;letter-spacing:-.035em;margin:0 0 1.6rem}.hero-positioning{max-width:25ch;font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.45;margin:0 0 1rem}.hero-background{max-width:39ch;font-size:.98rem;line-height:1.75;color:var(--text-muted);margin:0}.motion-hero .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}.solid-link{display:inline-flex;align-items:center;justify-content:center;gap:1.25rem;background:var(--text);color:var(--bg);padding:.9rem 1.25rem;border-radius:8px;min-height:48px;font-size:.9rem;transition:background .2s,transform .3s}.solid-link:hover{background:var(--accent);transform:translateY(-2px)}.solid-link svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}.solid-link:hover svg{transform:translateY(3px)}.hero-resume-link{display:inline-flex;gap:.7rem;align-items:center;min-height:44px;color:var(--text-soft);font-size:.9rem}.hero-resume-link:hover{color:var(--accent)}.hero-location{max-width:38ch;color:var(--text-muted);font-size:.75rem;line-height:1.7;margin:1.75rem 0 0}.hero-location>span{padding-inline:.4rem}.hero-footnote{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);padding-top:2rem;font-size:.8rem}.document-workbench{min-width:0;border-radius:18px;background:var(--surface);box-shadow:0 22px 60px -40px #172d6470;overflow:hidden;animation:hero-arrive 1s .12s both}.workbench-heading{display:flex;gap:.6rem;align-items:center;padding:1.15rem 1.3rem 0;font-size:.78rem;color:var(--text-soft)}.workbench-symbol{font-size:1.3rem;line-height:1;color:var(--accent)}.workbench-demo-label{margin-left:auto;font-size:.65rem;color:var(--text-muted)}.workbench-scene{position:relative;width:100%;aspect-ratio:1.7;isolation:isolate;overflow:hidden;perspective:1000px}.workbench-floor{position:absolute;width:85%;height:43%;left:9%;top:47%;background:var(--scene-floor);border-radius:50%;transform:rotate(-13deg);filter:blur(24px);opacity:.6}.workbench-connections{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--accent)}.connection-track{stroke:var(--line-strong);stroke-width:1.3;stroke-dasharray:3 6}.connection-signal{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:40 700;stroke-dashoffset:50;opacity:0}.workbench-connections circle{fill:var(--accent);opacity:.6}.is-running .connection-signal{opacity:1;animation:signal-travel 3s linear both}.scene-object{position:absolute;box-shadow:5px 17px 25px -13px #243e7860;transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s,opacity .4s}.scene-document{top:12%;left:10%;width:28%;padding:1.25rem 1.15rem .85rem;border-radius:3px 18px 3px 3px;background:var(--scene-paper);color:#283d5c;transform:rotate(-12deg) rotateY(8deg);font-size:.7rem}.scene-document.is-selected{transform:translateY(-6px) rotate(-8deg);box-shadow:5px 24px 30px -14px #243e7880}.document-fold{position:absolute;top:0;right:0;width:18px;height:18px;background:#dce4f5;border-radius:0 14px 0 4px}.sample-document-type{color:#5a6e8d;font-size:.55rem}.scene-document>strong{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.15;margin:.7rem 0 1rem}.document-rule{display:block;height:3px;width:100%;background:#dfe5ef;margin-top:6px}.document-rule.short{width:64%}.document-numbers{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-block:1rem;font-size:.6rem}.document-numbers b{text-align:right;font-weight:500}.document-signature{display:block;font-size:.55rem;color:#637493;margin-top:.8rem}.document-scan{position:absolute;top:20%;height:1px;left:5%;right:5%;background:#5678f6;opacity:0;box-shadow:0 -8px 15px 5px #648cf530}.is-running .document-scan{animation:document-scan .95s linear}.scene-record{z-index:2;top:35%;left:36%;width:40%;padding:1rem;border:1px solid #748ac952;border-radius:11px;background:var(--scene-record);color:var(--scene-text);transform:rotate(-3deg) rotateY(-10deg)}.scene-record.is-selected{transform:translateY(-12px) rotate(0);box-shadow:5px 25px 32px -13px #243e7880}.record-heading{display:flex;align-items:center;gap:.55rem;font-size:.63rem;margin-bottom:.9rem}.record-glyph{font-size:.8rem;color:#bac9ff}.record-heading i{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#9ba8c6}.record-heading i.record-ready{background:#91dbc6}.record-field{display:flex;justify-content:space-between;padding-block:.45rem;font-family:var(--mono);font-size:.65rem;border-top:1px solid #8196ca40}.record-field>span{color:#b8c5e2}.record-field b{font-weight:400}.record-field.field-missing b{color:#ffca92}.record-check{display:flex;align-items:center;gap:.4rem;margin-top:.65rem;font-size:.58rem;color:#b5c4e5}.record-check svg{width:13px;height:13px}.record-check.check-pass{color:#abe7d3}.record-check.needs-review{color:#ffca92}.scene-destination{top:65%;left:61%;width:30%;padding:.8rem 1rem;border-radius:9px;background:var(--scene-output);color:var(--text);transform:rotate(8deg)}.scene-destination.is-selected{transform:translateY(-8px) rotate(3deg)}.destination-icon{display:flex;align-items:center;width:30px;height:30px;color:var(--accent);margin-bottom:.3rem}.destination-icon svg{stroke:currentColor;stroke-width:1.4}.destination-review .destination-icon{color:var(--review)}.scene-destination>span{display:block;font-size:.63rem;color:var(--text-soft)}.scene-destination>strong{display:block;font-size:.72rem;font-weight:500;margin-top:.2rem}.destination-progress{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:.8rem}.destination-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .65s}.destination-progress.is-complete>span{transform:scaleX(1)}.destination-review .destination-progress>span{background:var(--review)}.scene-caption{position:absolute;left:5%;bottom:4%;color:var(--text-muted);font-size:.62rem}.workbench-controls{padding:1.2rem 1.3rem 1rem;background:var(--workbench-controls)}.workbench-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.workbench-steps button{display:flex;align-items:center;gap:.4rem;border:0;border-radius:6px;min-height:44px;background:transparent;padding:.4rem;color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:background .2s,color .2s}.workbench-steps button>span{display:grid;place-items:center;flex:0 0 19px;height:19px;border:1px solid var(--line-strong);border-radius:50%;font-size:.6rem}.workbench-steps button[aria-pressed=true]{color:var(--text);background:var(--surface-strong)}.workbench-steps button[aria-pressed=true]>span{color:var(--bg);background:var(--accent);border-color:var(--accent)}.workbench-description{min-height:3.2em;margin:.85rem 0;color:var(--text-soft);font-size:.8rem;line-height:1.6}.workbench-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.workbench-examples{display:flex;padding:3px;border:1px solid var(--line);border-radius:7px}.workbench-examples button{min-height:38px;padding:.35rem .65rem;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.7rem}.workbench-examples button[aria-pressed=true]{background:var(--surface-strong);color:var(--text)}.workbench-play{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;min-width:119px;border:0;border-radius:7px;padding:.55rem .8rem;color:var(--bg);background:var(--text);cursor:pointer;font-size:.75rem;transition:background .2s}.workbench-play:hover{background:var(--accent)}.workbench-play>span{font-size:1.1rem}.workbench-disclosure{margin:.8rem 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.65}@keyframes hero-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-travel{to{stroke-dashoffset:-610}}@keyframes document-scan{0%{opacity:0;top:20%}15%{opacity:1}90%{opacity:1}to{opacity:0;top:90%}}@media(max-width:1050px){.motion-hero{gap:1.5rem}.motion-hero h1{font-size:6rem}.scene-document{padding:.85rem}.scene-document>strong{font-size:.95rem;margin-block:.5rem}.document-numbers{margin-block:.6rem}.scene-record{padding:.8rem}.scene-destination{padding:.65rem}.workbench-scene{aspect-ratio:1.35}.workbench-heading{font-size:.7rem}.workbench-demo-label{font-size:.6rem}}@media(max-width:759px){.motion-hero{grid-template-columns:1fr;padding-top:2rem;gap:1.75rem}.motion-hero-copy{padding:0}.motion-hero h1{font-size:clamp(4.7rem,16vw,7rem);margin-bottom:1.25rem}.hero-role{font-size:.8rem;margin-bottom:1rem}.hero-positioning{max-width:30ch}.hero-background{max-width:46ch;font-size:.875rem}.motion-hero .hero-actions{margin-top:1.25rem}.hero-location{max-width:none;margin-top:1rem}.document-workbench{width:100%;max-width:560px;justify-self:center}.workbench-scene{aspect-ratio:1.4}.hero-footnote{padding-top:0;font-size:.72rem}.hero-footnote>span:last-child{display:none}}@media(max-width:420px){.workbench-heading{padding-inline:1rem}.workbench-demo-label{display:none}.workbench-controls{padding:.8rem}.workbench-scene{aspect-ratio:1.1}.scene-document{left:8%;width:31%;top:12%}.scene-record{left:32%;width:47%;top:37%;padding:.65rem}.record-heading{font-size:.57rem;gap:.3rem}.record-field{font-size:.6rem}.record-check{font-size:.52rem;gap:.2rem}.scene-destination{left:59%;width:35%;top:69%;padding:.55rem}.scene-destination>strong{font-size:.62rem}.destination-icon{height:22px;margin-bottom:.2rem}.destination-icon svg{width:20px;height:20px}.scene-caption{font-size:.5rem;bottom:5%;max-width:40%}.workbench-steps button{font-size:.65rem;gap:.25rem;padding-inline:.2rem}.workbench-steps button>span{flex-basis:16px;height:16px;font-size:.55rem}.workbench-description{min-height:4.8em}.workbench-examples button{padding-inline:.4rem;font-size:.64rem}.workbench-play{min-width:105px;font-size:.7rem}}@media(min-width:760px)and (max-width:900px){.workbench-scene{aspect-ratio:1.05}.scene-record{top:34%}.scene-destination{top:70%}}@media(max-width:420px){.workbench-scene{min-height:340px}.scene-document{left:6%}.scene-record{top:29%;left:36%;width:49%}.scene-destination{top:71%;left:62%;width:33%}}@media(prefers-reduced-motion:reduce){.motion-hero-copy,.document-workbench,.document-workbench *{animation:none!important;transition:none!important}.solid-link,.solid-link svg{transition:none}.solid-link:hover,.solid-link:hover svg{transform:none}}.engineering-note{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;padding-block:2rem 5rem}.engineering-note-eyebrow{margin:0 0 1rem;color:var(--text-muted);font-size:.75rem}.engineering-note h2{margin:0;font-size:clamp(2rem,3.3vw,2.8rem);line-height:1.12;letter-spacing:-.04em}.engineering-note-intro>p:not(.engineering-note-eyebrow){max-width:31ch;color:var(--text-soft);font-size:.9rem;line-height:1.75;margin:1.3rem 0 .75rem}.engineering-note-intro>.engineering-note-stack{color:var(--text-muted);font-size:.7rem}.engineering-note-entry{border-top:1px solid var(--line)}.engineering-note-entry:last-child{border-bottom:1px solid var(--line)}.engineering-note-entry summary{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:center;gap:1rem;padding:1.2rem 0;min-height:80px;cursor:pointer;list-style:none;color:var(--text);font-size:.95rem;line-height:1.4}.engineering-note-entry summary::-webkit-details-marker{display:none}.engineering-note-number{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.7rem}.engineering-note-entry summary small{display:block;color:var(--text-muted);font-size:.65rem;margin-bottom:.3rem}.engineering-note-toggle{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface);font-size:1.1rem;transition:transform .2s}.engineering-note-entry[open] .engineering-note-toggle{transform:rotate(45deg)}.engineering-note-entry summary:hover{color:var(--accent)}.engineering-note-entry>p{padding:0 2.75rem 0 2.4rem;margin:0 0 1.5rem;color:var(--text-soft);font-size:.85rem;line-height:1.85}@media(max-width:759px){.engineering-note{grid-template-columns:1fr;gap:2rem;padding-block:0 3.5rem}.engineering-note h2{font-size:2rem}.engineering-note-entry summary{gap:.7rem;font-size:.875rem}.engineering-note-entry>p{padding:0 .5rem 0 2rem;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.engineering-note-toggle{transition:none}}.overview-work{padding-block:1rem 5rem}.overview-work .more-work-grid{grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.overview-work .small-project-image{border:0;border-radius:12px;background:var(--surface)}.overview-work .small-project-pantry-inventory .small-project-image{padding:1.6rem 1.6rem 0;background:#b9cfc9}.overview-work .small-project-pantry-inventory .small-project-image img{border-radius:6px 6px 0 0;box-shadow:0 10px 25px #224b3e30;aspect-ratio:1.5}.overview-work .small-project-smart-cane{margin-top:0}.overview-work .small-project-smart-cane .small-project-image{border-radius:90px 12px 12px}.overview-work .small-project-smart-cane img{aspect-ratio:1.65;object-position:center}.overview-work .small-project h3{font-size:1.75rem;margin-top:1.4rem}.overview-work .small-project>p{max-width:56ch;font-size:.9rem}.overview-work .small-project-image img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.overview-work .small-project-image:hover img{transform:scale(1.025)}.overview-work .small-project-pandos{min-width:0;padding:0;border:0}.overview-work .small-project-pandos h3{margin-top:1.4rem}.overview-work .small-project .small-project-contribution{font-size:.75rem;color:var(--text-muted);line-height:1.7}.small-project-contribution>span{color:var(--text);font-weight:500}.overview-work .small-project-pandos>p,.overview-work .small-project-pandos>a{grid-column:1}.overview-work .small-project-pandos>a{justify-self:start}.overview-work .small-project-pandos .small-project-context{margin:.5rem 0;font-size:.7rem}.scheduler-demo{grid-column:2;grid-row:1 / 5;padding:1.6rem;background:var(--surface);border-radius:14px;min-width:0}.scheduler-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center;color:var(--text);font-size:.8rem}.scheduler-heading>span:last-child{color:var(--text-muted);font-size:.65rem}.scheduler-slots{display:grid;grid-template-columns:1fr 2fr;font-size:.65rem;color:var(--text-muted);margin:1.4rem 0 .6rem}.scheduler-slots>span:last-child{padding-left:.5rem}.scheduler-track{position:relative;height:100px}.scheduler-process{position:absolute;left:0;top:0;width:33.3333%;height:100%;padding:.85rem;border:4px solid var(--surface);border-radius:10px;background:var(--bg);transform:translate(calc(var(--position) * 100%));transition:transform .55s cubic-bezier(.2,.8,.2,1),background .4s,color .4s;color:var(--text-soft)}.scheduler-process>span{display:block;font-size:.7rem}.scheduler-process>strong{display:block;font-size:.85rem;font-weight:500;margin-top:.5rem}.scheduler-process>i{display:block;width:20%;height:3px;border-radius:3px;background:var(--line);margin-top:.7rem;transition:width .5s,background .5s}.scheduler-process.is-running{background:var(--accent);color:var(--bg)}.scheduler-process.is-running>i{width:100%;background:currentColor}.scheduler-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.75rem}.scheduler-bottom p{max-width:25ch;color:var(--text-soft);font-size:.7rem;line-height:1.6;margin:0}.scheduler-bottom button{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .8rem;border:1px solid var(--line-strong);border-radius:7px;color:var(--text);background:transparent;font-size:.75rem;cursor:pointer}.scheduler-bottom button>span{font-size:1.2rem}.scheduler-bottom button:hover{background:var(--surface-strong)}.scheduler-disclosure{margin:.85rem 0 0;color:var(--text-muted);font-size:.65rem;line-height:1.6}.overview-experience{padding-block:1rem 5rem}.overview-role{border-top:1px solid var(--line)}.overview-role:last-child{border-bottom:1px solid var(--line)}.overview-role summary{display:grid;grid-template-columns:.65fr 1.7fr 30px;align-items:center;gap:2rem;min-height:100px;padding:1.5rem .5rem;list-style:none;cursor:pointer}.overview-role summary::-webkit-details-marker{display:none}.overview-role .experience-date{color:var(--text-muted);font-size:.75rem;line-height:1.6}.overview-role-title{font-size:1.15rem;font-family:var(--font-display)}.overview-role-title small{display:block;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);margin-top:.45rem}.overview-role-toggle{display:grid;place-items:center;height:30px;width:30px;border-radius:50%;background:var(--surface);font-size:1.2rem;transition:transform .25s}.overview-role[open] .overview-role-toggle{transform:rotate(45deg)}.overview-role summary:hover{color:var(--accent)}.overview-role>p{margin:0 0 1.5rem 27.5%;padding-right:3rem;max-width:65ch;color:var(--text-soft);font-size:.95rem;line-height:1.75}.overview-personal{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:6rem;padding-block:2rem 6rem}.overview-portrait-frame{position:relative;padding:1.25rem 1.25rem 3rem;background:var(--surface);border-radius:16px;transform:rotate(-2deg)}.overview-personal .personal-preview-photo{display:block;max-width:none;border-radius:7px;aspect-ratio:1;object-position:center 33%}.overview-portrait-frame>span{position:absolute;left:1.4rem;bottom:1rem;color:var(--text-muted);font-size:.75rem}.overview-personal h2{max-width:13ch;font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.1;margin-bottom:1.5rem}.overview-personal p{max-width:47ch;font-size:.95rem}@media(max-width:1050px){.overview-work .more-work-grid{gap:2rem}.overview-work .small-project-pandos{column-gap:2rem}.overview-personal{gap:3.5rem}.scheduler-demo{padding:1.2rem}}@media(max-width:759px){.overview-work{padding-bottom:3rem}.overview-work .more-work-grid{grid-template-columns:1fr;gap:2.5rem}.overview-work .small-project-smart-cane{margin-top:0}.overview-work .small-project-smart-cane img{aspect-ratio:1.4}.overview-work .small-project-pandos{display:flex;flex-direction:column;padding-top:.5rem;gap:.5rem}.scheduler-demo{width:100%;margin-bottom:1rem}.overview-work .small-project-pandos h3{align-self:start;margin:0}.overview-work .small-project-pantry-inventory .small-project-image{padding:1rem 1rem 0}.overview-role summary{grid-template-columns:1fr 30px;gap:.5rem 1rem;padding:1.4rem 0}.overview-role .experience-date{grid-column:1}.overview-role-title{grid-column:1;font-size:1.05rem}.overview-role-toggle{grid-column:2;grid-row:1 / 3}.overview-role>p{margin:0 0 1.4rem;padding-right:1rem;font-size:.875rem}.overview-experience{padding-bottom:3rem}.overview-personal{grid-template-columns:1fr;padding-block:1rem 4rem;gap:2.5rem}.overview-portrait-frame{max-width:440px;margin-inline:.5rem}.overview-personal h2{max-width:none;font-size:2.4rem}}@media(max-width:380px){.scheduler-demo{padding:1rem .8rem}.scheduler-process{padding:.6rem}.scheduler-process>span{font-size:.6rem}.scheduler-process>strong{font-size:.7rem}}@media(prefers-reduced-motion:reduce){.overview-work *,.overview-role *{animation:none!important;transition:none!important}.overview-work .small-project-image:hover img{transform:none}}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-950:oklch(12.9% .042 264.695);--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", sans-serif;--default-mono-font-family:var(--font-mono);--shadow-accent:var(--shadow-accent)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.overflow-hidden{overflow:hidden}.text-slate-950{color:var(--color-slate-950)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color-scheme:dark;--bg:#14130f;--bg-soft:#14130feb;--bg-card:#1b1a16;--bg-card-hover:#232019;--surface:#1b1a16;--surface-strong:#201e1a;--text:#ece9e2;--text-soft:#b8b3a9;--text-muted:#938e84;--text-faint:#ece9e261;--nav-bg:#14130fe0;--accent:#dd6b47;--accent-strong:#e07551;--accent-soft:#dd6b4721;--accent-glow:#dd6b4738;--success:#6fae82;--line:#ece9e224;--line-strong:#ece9e242;--line-hover:#dd6b4780;--shadow:none;--shadow-accent:none;--step--1:.78rem;--step-0:.9rem;--step-1:1rem;--step-2:1.25rem;--step-3:1.6rem;--step-4:clamp(1.9rem, 3.2vw, 2.4rem);--step-5:clamp(2.4rem, 5vw, 3.4rem);--step-6:clamp(3rem, 8vw, 5.2rem);--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, monospace}[data-theme=light]{color-scheme:light;--bg:#f4f2ed;--bg-soft:#f4f2edeb;--bg-card:#faf9f5;--bg-card-hover:#efece4;--surface:#faf9f5;--surface-strong:#fdfcfa;--text:#17171a;--text-soft:#3f3d39;--text-muted:#6b6862;--text-faint:#17171a6b;--nav-bg:#f4f2ede0;--accent:#b04a2f;--accent-strong:#9c4028;--accent-soft:#b04a2f17;--accent-glow:#b04a2f29;--success:#2f6f4e;--line:#17171a26;--line-strong:#17171a4d;--line-hover:#b04a2f80;--shadow:none;--shadow-accent:none}[data-theme=light] .mission-hero>canvas{display:none}[data-theme=light] .code-craft-terminal{--bg-card:#1b1a16;--surface:#1b1a16;--surface-strong:#201e1a;--text:#ece9e2;--text-soft:#b8b3a9;--text-muted:#938e84;--line:#ece9e224;color:var(--text);background:#1b1a16}.theme-toggle{border:1px solid var(--line);width:2.1rem;height:2.1rem;color:var(--text-soft);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;margin-right:.6rem;transition:color .18s,border-color .18s,transform .2s}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--accent);border-color:var(--accent);transform:rotate(12deg)}html{scroll-behavior:smooth;background:var(--bg);overflow-x:clip}section[id]{scroll-margin-top:5rem}:root{--font-display:"Bricolage Grotesque", "Archivo", sans-serif;--font-body:"Archivo", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", monospace}body{min-width:320px;font-family:var(--font-body);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(75% 52% at 4% -2%,#dd6b4712,#0000 55%),radial-gradient(42% 28% at 88% 90%,#dd6b470a,#0000 50%);background-attachment:fixed;margin:0;overflow-x:clip}*{box-sizing:border-box}h1,h2,h3,.section-title{font-family:var(--font-display);letter-spacing:-.015em}.eyebrow,.mini-tag,.project-meta-row,.case-preview-label,.signal-strip>span,.detail-card>span,.hero-role-label,.command-group,.command-hint,.command-footer,.command-k-hint,.github-activity-header,.contact-form label span,.metric-value,.console-stat-value{font-family:var(--mono)}.section-intro,.lab-summary,.mission-lede,.project-showcase-main>p,.detail-card p,.signal-card p,.timeline-card p{line-height:1.68}.word-mask{vertical-align:bottom;display:inline-block;overflow:hidden}.word-inner{will-change:transform;display:inline-block}#view-panel{min-height:62vh;scroll-margin-top:4.5rem}.persona-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.4rem;display:flex}.persona-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-right:.25rem;font-size:.7rem}.persona-chip{border:1px solid var(--line);color:var(--text-muted);font-family:var(--mono);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:2px;padding:.38rem .8rem;font-size:.72rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.persona-chip:hover,.persona-chip:focus-visible{color:var(--text);border-color:var(--text)}.persona-chip-active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.filter-note{font-family:var(--mono);color:var(--text-muted);margin:0 0 1.25rem;font-size:.78rem}.filter-note button{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.timeline-rail{padding-left:1.4rem;position:relative}.timeline-rail-line{background:var(--line-strong);transform-origin:top;border-radius:2px;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100vh}.dot-grid{display:none}.glass-card{background:var(--surface);border:1px solid var(--line)}.tag-indigo,.tag-violet,.tag-cyan,.tag-emerald,.tag-amber,.tag-rose{border-color:var(--line)!important;color:var(--text-muted)!important;background:0 0!important}.card-indigo,.card-violet,.card-cyan,.card-emerald,.card-amber{border-color:var(--line);background:var(--surface)}.card-indigo .card-eyebrow,.card-violet .card-eyebrow,.card-cyan .card-eyebrow,.card-emerald .card-eyebrow,.card-amber .card-eyebrow{color:var(--text-muted)!important}.skip-link{z-index:200;background:var(--accent);color:#fff;border-radius:2px;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.scroll-progress-bar{z-index:300;height:2px;width:var(--scroll-pct,0%);background:linear-gradient(90deg,var(--indigo),var(--violet),var(--cyan));pointer-events:none;transition:width 60ms linear;position:fixed;top:0;left:0}.tw-cursor{background:var(--accent);vertical-align:middle;border-radius:2px;width:3px;height:1em;margin-left:2px;animation:1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.typing-dots{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.typing-dots span{background:var(--text-soft);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot-bounce;display:block}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(1)}40%{opacity:1;transform:scale(1.4)}}.voice-btn{border:1px solid var(--line);background:var(--surface-strong);width:42px;height:42px;color:var(--text-soft);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.voice-btn:hover{border-color:var(--line-hover);color:var(--text)}.voice-btn.listening{color:#f87171;background:#ef44441a;border-color:#ef444480;animation:1.2s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef44444d}50%{box-shadow:0 0 0 8px #ef444400}}.nav-active{color:var(--accent)!important}.drawer-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);background:#000000bf;position:fixed;top:0;right:0;bottom:0;left:0}.drawer-panel{z-index:100;background:var(--bg-card);border-left:1px solid var(--line);flex-direction:column;width:min(320px,85vw);padding:1.5rem;display:flex;position:fixed;top:0;bottom:0;right:0}.filter-chip{border:1px solid var(--line);color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;align-items:center;gap:6px;padding:6px 16px;font-size:.78rem;font-weight:600;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.filter-chip:hover{border-color:var(--line-hover);color:var(--text)}.filter-chip.active{background:var(--accent-soft);border-color:var(--line-hover);color:var(--accent)}.timeline-connector{background:linear-gradient(180deg,var(--emerald),transparent);opacity:.3;width:1px;position:absolute;top:24px;bottom:0;left:0}.site-shell{width:min(100% - 2.5rem,72rem);margin:0 auto}.narrative-section{padding:clamp(4rem,8vw,7rem) 0;scroll-margin-top:5rem}#view-panel{counter-reset:section}.narrative-section{counter-increment:section}.section-header-grid{border-bottom:1px solid var(--line-strong);grid-template-columns:1fr;align-items:end;gap:clamp(1.25rem,3vw,2.5rem);margin-bottom:clamp(1.75rem,4vw,3rem);padding-bottom:1.1rem;display:grid}.section-header-grid.has-aside{grid-template-columns:minmax(0,1.6fr) minmax(15rem,.7fr)}.section-heading-block{max-width:46rem}.eyebrow{color:var(--text-muted);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .7rem;font-size:.68rem;font-weight:500}.narrative-section .section-heading-block>.eyebrow:before{content:counter(section,decimal-leading-zero) " / ";color:var(--accent)}.section-title{color:var(--text);font-size:var(--step-4);letter-spacing:-.025em;margin:0;font-weight:800;line-height:1.08}.section-intro,.section-note{color:var(--text-soft);font-size:var(--step-1);max-width:46ch;margin:.9rem 0 0;line-height:1.7}.section-note{font-size:var(--step-0);color:var(--text-muted)}.section-header-aside{border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:1.25rem}.glass-panel{background:var(--surface);border:1px solid var(--line)}@keyframes slide-down{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mission-hero{flex-direction:column;justify-content:flex-start;min-height:auto;padding:4.5rem 0 3rem;display:flex;position:relative;overflow:hidden}.mission-grid{z-index:1;grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid;position:relative}.hero-right-stack{flex-direction:column;gap:1rem;padding-top:.4rem;display:flex}.mission-copy h1{max-width:20ch;color:var(--text);font-size:var(--step-6);letter-spacing:-.035em;margin:0;font-weight:800;line-height:.94}.hero-rule{border:0;border-top:1px solid var(--line-strong);max-width:30rem;margin:1.4rem 0 .9rem}.hero-role-line{min-height:1.4rem;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.11em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-weight:500;display:flex}.hero-role-value{color:var(--accent)}.hero-role-static{color:var(--text-muted)}.mission-lede{max-width:44ch;color:var(--text-soft);font-size:var(--step-1);margin:1.4rem 0 0;line-height:1.7}.status-pill{color:var(--text-muted);font-family:var(--mono);font-size:var(--step--1);letter-spacing:.13em;text-transform:uppercase;background:0 0;border:0;border-radius:0;align-items:center;gap:.6rem;margin:0 0 1.6rem;padding:0;font-weight:500;display:inline-flex}.status-pill .system-dot,.system-dot{background:var(--success);border-radius:999px;flex:none;width:.4rem;height:.4rem;animation:2.4s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}.hero-actions{flex-wrap:wrap;gap:.55rem;margin-top:2rem;display:flex}.primary-action,.secondary-action{min-height:2.5rem;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.08em;white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.primary-action{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.primary-action:hover,.primary-action:focus-visible{background:var(--accent-strong);border-color:var(--accent-strong)}.secondary-action{border:1px solid var(--line-strong);color:var(--text-soft);background:0 0}.secondary-action:hover,.secondary-action:focus-visible{border-color:var(--text);color:var(--text)}.mission-console{border:1px solid var(--line-strong);box-shadow:none;background:0 0;border-radius:2px;padding:0;position:relative;overflow:hidden}.mission-console:before{content:none}.console-header{border-bottom:1px solid var(--line-strong);color:var(--text-muted);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;font-size:.68rem;font-weight:500;display:flex}.console-header-mid{border-top:1px solid var(--line-strong);margin-top:-1px}.console-body{margin:0;padding:0;display:block}.console-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem .9rem;display:flex}.console-row:last-child{border-bottom:0}.console-row dt{color:var(--text-muted);font-size:var(--step--1);line-height:1.4}.console-row dd{color:var(--text);font-family:var(--mono);font-size:var(--step-1);white-space:nowrap;margin:0;font-weight:500}.console-roles{margin:0;padding:0;list-style:none}.console-roles li{border-bottom:1px solid var(--line);gap:.15rem;padding:.65rem .9rem;display:grid}.console-roles li:last-child{border-bottom:0}.console-role-name{color:var(--text);font-size:var(--step-0);font-weight:600}.console-role-evidence{color:var(--text-muted);font-size:.72rem;line-height:1.5}.signal-ticker{z-index:1;flex-wrap:wrap;gap:.55rem;margin-top:3rem;display:flex;position:relative}.signal-ticker span,.signal-ticker-track span{color:var(--text-muted);font-family:var(--mono);font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:0;font-weight:500}.metric-card,.system-status-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;padding:.85rem;transition:border-color .2s,box-shadow .2s}.metric-card:hover{border-color:var(--line-hover)}.metric-card strong,.system-status-card strong{color:var(--text);font-size:1.05rem;font-weight:800;line-height:1.2;display:block}.metric-card>span,.system-status-card span:first-child{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.metric-card p,.system-status-card p{color:var(--text-muted);margin:.35rem 0 0;font-size:.75rem;line-height:1.5}.project-showcase,.lab-panel,.timeline-card,.capability-card,.proof-card,.contact-cta-panel,.copilot-panel,.work-mode-card,.signal-card,.research-thread-card{border:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:2px}.narrative-section+.narrative-section{border-top:1px solid var(--line)}.signal-dashboard-grid{grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);gap:1rem;display:grid}.work-mode-panel,.signal-card-grid,.research-thread-grid,.featured-experience-grid,.timeline-rail,.capability-grid,.proof-grid,.archive-grid,.lab-project-grid,.contact-link-grid,.copilot-prompt-grid{gap:1rem;display:grid}.work-mode-card,.signal-card,.research-thread-card,.proof-card{padding:1.2rem}.work-mode-card{padding-left:1.5rem;position:relative;border-left:2px solid var(--section-accent,var(--accent))!important}.work-mode-card span,.signal-card-top p,.project-meta-row span,.lab-project-card span,.timeline-card-header span,.detail-card span,.signal-strip span,.proof-card span,.contact-link-grid span,.case-preview-label{color:var(--section-accent,var(--accent));letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.work-mode-card p,.signal-summary,.research-thread-card p,.lab-summary,.timeline-summary,.proof-card p,.contact-cta-panel p,.capability-card p,.case-preview p,.signal-strip p{color:var(--text-soft);font-size:.88rem;line-height:1.7}.tag-row{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.mini-tag{border:1px solid var(--line);color:var(--text-muted);font-family:var(--mono);letter-spacing:.05em;background:0 0;border-radius:2px;padding:.28rem .6rem;font-size:.7rem;font-weight:500}.flagship-stack{gap:1.25rem;display:grid}.archive-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:stretch}.project-showcase{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.8fr);gap:1.25rem;padding:1.25rem;display:grid;overflow:hidden}.project-showcase-featured{border-color:var(--line-hover);background:var(--surface)}.project-showcase-featured:before{content:"";background:var(--accent);pointer-events:none;height:1px;position:absolute;top:0;left:10%;right:10%}.project-showcase{position:relative}.project-showcase h3{color:var(--text);letter-spacing:-.02em;overflow-wrap:anywhere;margin:.9rem 0 0;font-size:clamp(1.2rem,2.8vw,1.9rem);font-weight:800;line-height:1.15}.project-showcase-main>p{color:var(--text-soft);margin:.8rem 0 0;font-size:.92rem;line-height:1.75}.project-showcase-side{align-content:start;gap:.9rem;min-width:0;display:grid}.project-showcase-main{min-width:0}.project-showcase-compact{grid-template-columns:1fr;align-content:start;gap:.9rem;height:100%}.project-showcase-compact h3{font-size:1.1rem;line-height:1.25}.project-showcase-compact .project-showcase-main>p{font-size:.86rem;line-height:1.65}.project-showcase-compact .project-showcase-side{align-content:end}.project-showcase-compact .signal-strip{min-height:0}.case-preview,.signal-strip,.detail-card,.lab-project-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;padding:.9rem}.case-preview{grid-template-columns:3.5rem 1fr;align-items:center;gap:.85rem;display:grid}.case-preview-icon{background:var(--accent-soft);border:1px solid var(--line-hover);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.case-preview-grid{grid-template-columns:repeat(2,1fr);gap:.35rem;display:grid}.case-preview-grid span{aspect-ratio:1;background:var(--accent-soft);border:1px solid var(--line-hover);border-radius:2px}.case-preview-image{padding:0;display:block;overflow:hidden}.case-preview-image img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;display:block}.lab-project-thumb{aspect-ratio:16/9;object-fit:cover;object-position:top center;border-bottom:1px solid var(--line);border-radius:2px 2px 0 0;width:calc(100% + 1.8rem);max-width:none;margin:-.9rem -.9rem .75rem;display:block}.text-control,.ai-chat-entry{border:1px solid var(--line-strong);color:var(--text-soft);cursor:pointer;font-family:var(--mono);letter-spacing:.06em;background:0 0;border-radius:2px;padding:.55rem .85rem;font-size:.75rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.text-control:hover,.text-control:focus-visible,.ai-chat-entry:hover,.ai-chat-entry:focus-visible{border-color:var(--text);color:var(--text);background:0 0}.project-meta-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-detail-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid;overflow:hidden}.project-detail-grid-compact{grid-template-columns:1fr;gap:.7rem}.project-detail-grid-compact .detail-card{padding:.85rem}.project-detail-grid-compact .detail-card p{font-size:.78rem;line-height:1.55}.detail-card-full{grid-column:1/-1}.project-links-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.project-link{border:1px solid var(--line-strong);color:var(--text-soft);font-family:var(--mono);letter-spacing:.05em;white-space:nowrap;background:0 0;border-radius:2px;align-items:center;gap:.3rem;padding:.45rem .8rem;font-size:.74rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.project-link:hover,.project-link:focus-visible{border-color:var(--text);color:var(--text)}.project-link-sm{padding:.32rem .6rem;font-size:.69rem}.project-link-demo,.project-link-github{border-color:var(--accent);color:var(--accent)}.project-link-demo:hover,.project-link-demo:focus-visible,.project-link-github:hover,.project-link-github:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg)}.project-findings{gap:.38rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.project-findings li{color:var(--text-soft);gap:.45rem;font-size:.84rem;line-height:1.55;display:flex}.project-findings li:before{content:"→";color:var(--accent);flex-shrink:0;margin-top:.12rem;font-size:.78rem}.detail-card-full .project-links-row{margin-top:.85rem}.lab-layout{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);gap:1.25rem;display:grid}.lab-panel{padding:1.35rem}.lab-panel h3,.research-thread-card h3,.timeline-card h3,.capability-card h3,.proof-card h3,.contact-cta-panel h3,.copilot-group h3{color:var(--text);margin:0;font-weight:700;line-height:1.25}.lab-panel-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lab-panel-header>span{border:1px solid var(--line);color:var(--text-muted);border-radius:2px;padding:.3rem .65rem;font-size:.72rem;font-weight:700}.method-pipeline{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;margin:1.2rem 0;padding:0;list-style:none;display:grid}.method-pipeline li{border:1px solid var(--line);color:var(--text-soft);background:#ffffff05;border-radius:2px;padding:.65rem;font-size:.74rem;font-weight:700}.lab-project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;display:grid}.lab-project-card strong{color:var(--text);margin:.4rem 0;font-size:.9rem;font-weight:700;display:block}.experience-layout{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:1rem;display:grid}.featured-experience-grid{align-content:start;gap:1rem;display:grid}.timeline-card{padding:1.2rem 1.2rem 1.2rem 1.4rem;position:relative;border-left:2px solid var(--accent)!important}.timeline-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.timeline-card-header time{color:var(--text-muted);white-space:nowrap;flex:none;font-size:.75rem;font-weight:700}.timeline-card-header span{color:var(--emerald)!important}.timeline-card-header p{color:var(--emerald);margin:.2rem 0 0;font-size:.84rem;font-weight:600}.timeline-card ul{color:var(--text-soft);gap:.5rem;margin:.9rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.65;display:grid}.capability-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;display:grid}.capability-card{padding:1.2rem}.capability-card-header{justify-content:flex-start;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.capability-evidence{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem;padding-top:1rem;display:grid}.capability-evidence span{color:var(--section-accent,var(--accent));letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:700}.capability-evidence p{color:var(--text-muted);margin:.3rem 0 0;font-size:.74rem;line-height:1.45}.copilot-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.25rem;display:grid}.copilot-group{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;padding:1rem;border-top:2px solid var(--accent)!important}.copilot-group h3{letter-spacing:.05em;font-size:.82rem;color:var(--cyan)!important}.copilot-prompt-grid{gap:.7rem;margin-top:1rem;display:grid}.ai-chat-entry{text-align:left;border-radius:2px}.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.publication-card{border:1px solid var(--line);background:var(--surface);border-radius:2px;flex-direction:column;min-width:0;padding:clamp(1.25rem,3vw,1.6rem);transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.publication-card:before{content:"";background:var(--line-strong);pointer-events:none;height:1px;position:absolute;top:0;left:15%;right:15%}.publication-card:hover{border-color:var(--line);box-shadow:none;transform:translateY(-3px)}.publication-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.publication-card h3{color:var(--text);overflow-wrap:anywhere;letter-spacing:-.01em;margin:0;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700;line-height:1.25}.publication-card time{border:1px solid var(--line);background:var(--violet-soft);color:#c4b5fdd9;white-space:nowrap;border-radius:2px;flex:none;padding:.28rem .6rem;font-size:.7rem;font-weight:700}.publication-publisher{color:var(--violet);margin:.9rem 0 0;font-size:.82rem;font-weight:700}.publication-summary,.publication-details,.publication-recruiter-signal{color:var(--text-soft);font-size:.88rem;line-height:1.72}.publication-summary{margin:.9rem 0 0}.publication-details{color:var(--text-muted);margin:.7rem 0 0}.publication-recruiter-signal{border:1px solid var(--line);background:var(--violet-soft);border-radius:2px;margin:.85rem 0 0;padding:.8rem}.publication-link{border:1px solid var(--line);background:var(--violet-soft);color:var(--violet);border-radius:2px;align-self:flex-start;margin-top:auto;padding:.65rem 1rem;font-size:.82rem;font-weight:700;transition:border-color .18s,background .18s,transform .18s}.publication-link:hover{border-color:var(--line);background:var(--accent-soft);transform:translateY(-2px)}.proof-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.proof-card{padding-left:1.4rem;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;border-left:2px solid var(--accent)!important}.proof-card:hover{box-shadow:none;transform:translateY(-2px);border-color:var(--line)!important;border-left-color:var(--accent)!important}.proof-card span{color:var(--amber)!important}.proof-card h3{margin-top:.5rem;font-size:.95rem;font-weight:700}.proof-issuer{font-weight:700;color:var(--amber)!important;margin-top:.2rem!important;font-size:.82rem!important}.contact-cta-section{padding-bottom:7rem}.contact-cta-panel{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:1.25rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid;border-color:var(--line)!important;background:var(--surface)!important}.contact-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.github-activity{border:1px solid var(--line);background:var(--surface);border-radius:2px;margin-top:1.25rem;padding:1rem 1.25rem}.github-activity-header{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;font-size:.72rem;display:flex}.github-activity-header a{color:var(--text-muted);letter-spacing:normal;text-transform:none;margin-left:auto;transition:color .18s}.github-activity-header a:hover{color:var(--emerald)}.github-activity-dot{background:var(--emerald);width:.5rem;height:.5rem;box-shadow:none;border-radius:50%;animation:2.4s ease-in-out infinite github-pulse}@keyframes github-pulse{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.github-activity-dot{animation:none}}.github-activity ul{gap:.55rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.github-activity li{color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:.45rem;font-size:.83rem;display:flex}.github-activity li a{color:var(--text);font-weight:600;transition:color .18s}.github-activity li a:hover{color:var(--emerald)}.github-activity-time{white-space:nowrap;margin-left:auto;font-size:.74rem}.back-to-top{z-index:60;border:1px solid var(--line);background:var(--surface-strong);width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .22s,transform .22s,color .18s,border-color .18s;display:flex;position:fixed;bottom:1.5rem;left:1.5rem;transform:translateY(.75rem)}.back-to-top-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover,.back-to-top:focus-visible{color:var(--text);border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.back-to-top{transition:opacity .22s;transform:none}}.command-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02040cb3;justify-content:center;align-items:flex-start;padding:clamp(4rem,16vh,9rem) 1rem 1rem;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.command-palette{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;width:100%;max-width:34rem;overflow:hidden;box-shadow:0 24px 64px #0000008c}.command-palette input{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0;outline:none;padding:1rem 1.25rem;font-size:.95rem}.command-palette input::placeholder{color:var(--text-muted)}.command-palette ul{max-height:19rem;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.command-group{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:.5rem .75rem .25rem;font-size:.66rem}.command-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .75rem;font-size:.88rem;display:flex}.command-item-active{background:var(--accent-soft)}.command-hint{color:var(--text-muted);white-space:nowrap;font-size:.74rem}.command-empty{color:var(--text-muted);padding:1rem .75rem;font-size:.85rem}.command-footer{border-top:1px solid var(--line);color:var(--text-muted);gap:1.25rem;padding:.6rem 1.25rem;font-size:.7rem;display:flex}.command-k-hint{border:1px solid var(--line);color:var(--text-muted);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:2px;align-items:center;margin-right:.6rem;padding:.45rem .7rem;font-family:inherit;font-size:.72rem;transition:color .18s,border-color .18s}.command-k-hint:hover,.command-k-hint:focus-visible{color:var(--text);border-color:var(--accent)}.contact-form{border:1px solid var(--line);background:var(--surface);border-radius:2px;margin-top:1.25rem;padding:clamp(1.25rem,3vw,1.75rem)}.contact-form-title{color:var(--text);margin:0 0 1rem;font-weight:600}.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-form label{margin-bottom:1rem;display:block}.contact-form label span{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;font-size:.72rem;display:block}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--text);resize:vertical;border-radius:2px;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .18s}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--emerald)}.contact-form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.contact-form-submit{background:var(--emerald);color:#04110b;cursor:pointer;border:none;border-radius:2px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;transition:filter .18s}.contact-form-submit:hover,.contact-form-submit:focus-visible{filter:brightness(1.12)}.contact-form-note{color:var(--text-muted);font-size:.74rem}@media(max-width:640px){.contact-form-row{grid-template-columns:1fr;gap:0}}.contact-link-grid a{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;padding:1rem;transition:border-color .18s,transform .18s,box-shadow .18s}.contact-link-grid a:hover{border-color:var(--line);box-shadow:none;transform:translateY(-2px)}.contact-link-grid strong{color:var(--text-soft);overflow-wrap:anywhere;margin-top:.3rem;font-size:.85rem;line-height:1.35;display:block}.signal-card-top{align-items:center;gap:.6rem;display:flex}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-robot-wrap>*{animation:5s ease-in-out infinite float}.project-showcase:hover,.publication-card:hover,.proof-card:hover,.signal-card:hover,.work-mode-card:hover,.timeline-card:hover,.capability-card:hover{transition:transform .22s,box-shadow .22s,border-color .22s;transform:translateY(-4px)}.project-showcase-featured:hover{border-color:var(--accent)!important;box-shadow:none!important}.narrative-section:nth-child(2n){background:0 0}.work-mode-panel{gap:.75rem;display:grid}.work-mode-card{transition:border-left-color .22s,box-shadow .22s,transform .22s}@media(max-width:860px){.site-shell{width:min(100% - 2rem,72rem)}.section-header-grid.has-aside,.mission-grid,.hero-right-stack,.signal-dashboard-grid,.project-showcase,.lab-layout,.experience-layout,.contact-cta-panel,.copilot-panel,.publication-grid{grid-template-columns:1fr}.publication-card-header{flex-direction:column}.console-body{grid-template-columns:repeat(2,minmax(0,1fr))}.system-status-grid,.project-detail-grid{grid-template-columns:1fr}.capability-evidence,.contact-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-hero{min-height:auto;padding-top:6rem}.timeline-card-header{flex-wrap:wrap;row-gap:.1rem}}@media(max-width:540px){.site-shell{width:min(100% - 1.5rem,72rem)}.narrative-section{padding:2.75rem 0}.section-header-grid{gap:1rem;margin-bottom:1.5rem}.mission-hero{padding-top:4.5rem;padding-bottom:1rem}.hero-robot-wrap{display:none}.console-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.system-status-grid{grid-template-columns:1fr;gap:.5rem}.signal-ticker{gap:.4rem;margin-top:1.5rem}.signal-ticker span{padding:.28rem .6rem;font-size:.65rem}.timeline-card-header{flex-direction:column;align-items:flex-start;gap:.2rem}.timeline-card-header time{order:-1;font-size:.7rem}.contact-link-grid{grid-template-columns:1fr}.capability-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.work-mode-card,.signal-card,.proof-card,.timeline-card,.capability-card,.lab-panel,.research-thread-card{padding:.9rem}.timeline-card,.proof-card{padding-left:1.1rem}.copilot-panel{padding:.9rem}.project-showcase{padding:1rem}.contact-cta-panel{padding:1.25rem}.hero-actions{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.5rem;display:grid}.primary-action{grid-column:1/-1}.filter-chip{padding:5px 12px;font-size:.72rem}.publication-card{padding:1rem}.lab-panel-header{flex-wrap:wrap;gap:.5rem}.method-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}section[id]{scroll-margin-top:4rem}}.metric-num{font-variant-numeric:tabular-nums;display:inline-block}.metric-suffix{opacity:.8;display:inline-block}.glass-card-hover{transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);will-change:transform;transition:transform 80ms linear,box-shadow .25s}.glass-card-hover:hover{border-color:var(--line-strong);box-shadow:none}.glass-card-hover:not(:hover){--rx:0deg;--ry:0deg;transition:transform .5s,box-shadow .25s}.flagship-card-glow{position:relative;overflow:hidden}.flagship-card-glow:before{content:"";background:var(--accent);pointer-events:none;z-index:1;width:2px;position:absolute;top:-1px;bottom:-1px;left:-1px}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.badge-float{animation:3s ease-in-out infinite badge-float}.badge-float:nth-child(2){animation-delay:.4s}.badge-float:nth-child(3){animation-delay:.8s}.badge-float:nth-child(4){animation-delay:1.2s}.badge-float:nth-child(5){animation-delay:1.6s}@keyframes eyebrow-in{0%{letter-spacing:.35em;opacity:0}to{letter-spacing:.12em;opacity:1}}.section-eyebrow{animation:.7s cubic-bezier(.16,1,.3,1) both eyebrow-in}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.signal-ticker-track{align-items:center;gap:2.25rem;width:max-content;animation:60s linear infinite ticker-scroll;display:flex}.signal-ticker-track span{white-space:nowrap;flex-shrink:0}.signal-ticker-wrap{z-index:1;border-top:1px solid var(--line);margin-top:3.5rem;padding-top:1.1rem;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 6% 94%,#0000 100%);mask-image:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000)}.signal-ticker-wrap:hover .signal-ticker-track{animation-play-state:paused}.skill-pill{transition:transform .18s,box-shadow .18s,background .18s}.skill-pill:hover{box-shadow:none;transform:translateY(-2px)scale(1.04)}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.45}}.timeline-dot-live{animation:2s ease-in-out infinite dot-pulse}.proof-card{transition:transform .2s,border-color .2s,box-shadow .2s}.proof-card:hover{box-shadow:none;transform:translateY(-3px);border-color:var(--line-hover)!important}@keyframes shimmer-move{0%{background-position:-200%}to{background-position:200%}}.recruiter-signal-card{position:relative;overflow:hidden}.recruiter-signal-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 25%,#ffffff08,#0000 75%) 0 0/200% 100%;animation:4s ease-in-out infinite shimmer-move;position:absolute;top:0;right:0;bottom:0;left:0}.code-craft-section{background:linear-gradient(180deg,var(--bg) 0%,#0a0814f5 100%)}.code-craft-terminal{border:1px solid var(--line);max-width:780px;box-shadow:none;background:#0a0816e6;border-radius:2px;margin:0 auto;transition:box-shadow .3s;overflow:hidden}.code-craft-terminal:hover{box-shadow:none}.code-terminal-bar{border-bottom:1px solid var(--line);background:#ffffff08;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.code-tabs{flex:1;gap:.2rem;display:flex}.code-tab{color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-radius:2px;padding:.3rem .75rem;font-size:.72rem;font-weight:600;transition:color .15s,background .15s}.code-tab:hover{color:var(--text);background:#ffffff0d}.code-tab.active{color:var(--tab-color,var(--accent));background:#ffffff0f}.code-badge{text-transform:uppercase;letter-spacing:.12em;opacity:.85;flex-shrink:0;font-size:.65rem;font-weight:700}.code-project-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:.5rem;padding:.65rem 1.1rem .5rem;display:flex}.code-project-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.code-project-label{color:var(--text-muted);letter-spacing:.03em;flex:1;font-size:.72rem}.code-cursor-blink{color:var(--accent);font-size:.75rem;animation:.9s step-end infinite cursor-blink}.code-body-wrap{min-height:260px;padding:1.1rem 1.25rem .75rem}.code-body{color:#dcdcffd1;white-space:pre;-moz-tab-size:4;tab-size:4;margin:0;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:.78rem;line-height:1.7;overflow-x:auto}.ch-comment{color:#94a3b899;font-style:italic}.ch-keyword{color:#c084fc;font-weight:600}.ch-string{color:#86efac}.ch-number{color:#fb923c}.ch-cursor{color:var(--accent);animation:.9s step-end infinite cursor-blink}.code-progress-dots{border-top:1px solid #ffffff0a;justify-content:center;gap:.4rem;padding:.65rem 1rem;display:flex}.code-progress-dot{background:var(--line);border-radius:50%;width:6px;height:6px;transition:background .25s,transform .2s}.code-progress-dot.active{transform:scale(1.3)}@media(max-width:600px){.code-body{font-size:.68rem}.code-tab{padding:.28rem .5rem;font-size:.68rem}}.constellation-layout{grid-template-columns:500px 1fr;align-items:start;gap:2rem;display:grid}@media(max-width:860px){.constellation-layout{grid-template-columns:1fr}}.constellation-canvas-wrap canvas{aspect-ratio:500/350;max-width:500px;display:block;width:100%!important}.constellation-hint{color:var(--text-muted);letter-spacing:.06em;text-align:center;margin:.5rem 0 0;font-size:.7rem}.constellation-detail{border-radius:2px;flex-direction:column;gap:0;padding:1.5rem;display:flex}.constellation-detail-header{border-bottom:1px solid;align-items:center;gap:.6rem;margin-bottom:.85rem;padding-bottom:.85rem;display:flex}.constellation-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.constellation-detail h3{margin:0;font-size:1.05rem;font-weight:700}.constellation-summary{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.65}.constellation-evidence{margin-top:1.1rem}.constellation-evidence-label{text-transform:uppercase;letter-spacing:.13em;color:var(--text-muted);font-size:.68rem;font-weight:600}.constellation-evidence ul{flex-direction:column;gap:.3rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.constellation-evidence li{color:var(--text-muted);background:var(--surface-raised);border-radius:2px;align-items:center;gap:.5rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.evidence-type{text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint,#ffffff47);flex-shrink:0;font-size:.62rem;font-weight:600}.constellation-cluster-nav{border-top:1px solid var(--line);gap:.45rem;margin-top:1.25rem;padding-top:1rem;display:flex}.cluster-nav-dot{cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:opacity .2s,box-shadow .2s,transform .15s}.cluster-nav-dot:hover{transform:scale(1.25);opacity:.75!important}.cluster-nav-dot[aria-selected=true]{transform:scale(1.35)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.case-study{padding-top:3rem}.case-study-back{border:1px solid var(--line-strong);font-family:var(--mono);letter-spacing:.06em;color:var(--text-soft);cursor:pointer;font:inherit;background:0 0;border-radius:2px;margin-bottom:1.75rem;padding:.5rem .95rem;font-size:.8rem;font-weight:700;transition:border-color .18s,color .18s,background .18s}.case-study-back:hover,.case-study-back:focus-visible{border-color:var(--line-hover);color:var(--text);background:var(--accent-soft)}.case-study-header{max-width:52rem}.case-study-title{color:var(--text);letter-spacing:-.03em;margin:.5rem 0 0;font-size:clamp(1.9rem,5vw,3.1rem);font-weight:800;line-height:1.08}.case-study-summary{color:var(--text-soft);margin:1rem 0 0;font-size:clamp(.95rem,2vw,1.08rem);line-height:1.75}.case-study-note,.case-study-caption{color:var(--text-muted);max-width:46rem;margin:.85rem 0 0;font-size:.8rem;line-height:1.65}.case-study-disclosure{border:0;border-left:2px solid var(--accent);background:0 0;border-radius:0;gap:.4rem;margin-top:2rem;padding:.95rem 0 .95rem 1.1rem;display:grid}.case-study-disclosure>span{color:var(--accent);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.case-study-disclosure p{color:var(--text-soft);margin:0;font-size:.85rem;line-height:1.7}.case-study-figure{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;margin:2rem 0 0;overflow:hidden}.case-study-figure img{width:100%;height:auto;display:block}.case-study-figure figcaption{border-top:1px solid var(--line);color:var(--text-muted);padding:.85rem 1.1rem;font-size:.78rem;line-height:1.6}.case-study-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.75rem;margin-top:2rem;display:grid}.case-study-metric{border:1px solid var(--line);background:var(--surface);border-radius:2px;gap:.25rem;padding:.95rem 1rem;display:grid}.case-study-metric strong{color:var(--text);letter-spacing:-.01em;font-family:IBM Plex Mono,monospace;font-size:1.35rem;font-weight:600}.case-study-metric span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:600}.case-study-section{max-width:52rem;margin-top:2.75rem}.case-study-section h2{color:var(--text);letter-spacing:-.02em;margin:0 0 .9rem;font-size:clamp(1.15rem,2.6vw,1.5rem);font-weight:700}.case-study-body{color:var(--text-soft);margin:0 0 .95rem;font-size:.92rem;line-height:1.8}.case-study-body:last-child{margin-bottom:0}.case-study-section-negative,.case-study-section-audit{border-left:2px solid var(--accent);padding-left:1.1rem}.case-study-callouts{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.75rem;margin-top:1.25rem;display:grid}.case-study-callout{border:1px solid var(--line);background:var(--surface-strong);border-radius:2px;align-content:start;gap:.3rem;padding:.95rem 1rem;display:grid}.case-study-callout>span{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.case-study-callout strong{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:1.02rem;font-weight:600}.case-study-callout p{color:var(--text-soft);margin:.15rem 0 0;font-size:.79rem;line-height:1.65}.case-study-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:3rem;padding-top:1.75rem;display:flex}.case-study-footer .project-links-row{margin-top:0}.case-study-missing{justify-items:start;gap:1rem;padding:4rem 0;display:grid}.arch-flow{counter-reset:none;gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.arch-stage{border:1px solid var(--line);background:var(--surface);border-radius:2px;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.7rem .9rem;display:grid;position:relative}.arch-stage+.arch-stage:before{content:"";background:var(--line-hover);width:1px;height:.4rem;position:absolute;top:-.4rem;left:1.8rem}.arch-stage-index{color:var(--text-faint);font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600}.arch-stage-body{gap:.12rem;min-width:0;display:grid}.arch-stage-body strong{color:var(--text);font-size:.88rem;font-weight:650;line-height:1.35}.arch-stage-body span{color:var(--text-muted);font-size:.76rem;line-height:1.5}.arch-stage-kind{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);white-space:nowrap;border-radius:2px;padding:.22rem .5rem;font-size:.62rem;font-weight:700}.arch-stage-simulated{border-color:var(--accent)}.arch-stage-simulated .arch-stage-kind{color:var(--accent);border-color:var(--accent)}.arch-stage-source,.arch-stage-model{border-color:var(--line-strong)}.provenance-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:.75rem;margin:1.25rem 0;display:grid}.provenance-card{border:1px solid var(--line);background:var(--surface);border-left-width:2px;border-radius:2px;align-content:start;gap:.4rem;padding:.95rem 1rem;display:grid}.provenance-label{letter-spacing:.09em;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.provenance-card p{color:var(--text-soft);margin:0;font-size:.8rem;line-height:1.6}.provenance-card code{color:var(--text-muted);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.72rem;line-height:1.55}.provenance-source,.provenance-derived,.provenance-reference{border-left-color:var(--line-strong)}.provenance-source .provenance-label,.provenance-derived .provenance-label,.provenance-reference .provenance-label{color:var(--text-muted)}.provenance-simulated{border-left-color:var(--accent)}.provenance-simulated .provenance-label{color:var(--accent)}.project-disclosure{border:0;border-left:2px solid var(--line-strong);color:var(--text-muted);background:0 0;border-radius:0;margin:.85rem 0 0;padding:.15rem 0 .15rem .8rem;font-size:.78rem;line-height:1.65}.project-controls{flex-wrap:wrap;gap:.5rem;display:flex}.text-control-accent{border-color:var(--accent);color:var(--bg);background:var(--accent)}.text-control-accent:hover,.text-control-accent:focus-visible{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--bg)}@media(max-width:640px){.case-study{padding-top:1.75rem}.arch-stage{grid-template-columns:1.9rem minmax(0,1fr);row-gap:.4rem}.arch-stage-kind{grid-column:2;justify-self:start}.arch-stage+.arch-stage:before{left:1.6rem}}.about-layout{grid-template-columns:minmax(0,1.45fr) minmax(14rem,.7fr);align-items:start;gap:clamp(1.75rem,4vw,3.5rem);display:grid}.about-copy p{color:var(--text-soft);font-size:var(--step-1);max-width:60ch;margin:0 0 1.05rem;line-height:1.8}.about-copy p:last-of-type{margin-bottom:0}.about-copy p:first-of-type{color:var(--text);font-size:var(--step-2);line-height:1.65}.about-facts{border-top:1px solid var(--line-strong);gap:0;margin:1.75rem 0 0;display:grid}.about-facts>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.7rem 0;display:flex}.about-facts dt{color:var(--text-muted);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;flex-shrink:0;font-size:.68rem;font-weight:500}.about-facts dd{color:var(--text);font-size:var(--step-0);text-align:right;margin:0}.portrait-frame{border:1px solid var(--line-strong);background:var(--surface);border-radius:2px;max-width:24rem;margin:0 0 0 auto;overflow:hidden}.portrait-frame img{aspect-ratio:2/3;object-fit:cover;object-position:center;width:100%;height:auto;display:block}.portrait-frame-empty{aspect-ratio:2/3;border-style:dashed;place-items:center;display:grid}.portrait-frame-empty span{color:var(--text-faint);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem}.education-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:.75rem;display:grid}.education-card{border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:1.35rem 1.5rem}.education-index{color:var(--accent);font-family:var(--mono);letter-spacing:.13em;font-size:.68rem;display:block}.education-card h3{color:var(--text);font-size:var(--step-3);letter-spacing:-.02em;margin:.7rem 0 0;font-weight:700;line-height:1.15}.education-degree{color:var(--text-soft);font-size:var(--step-0);margin:.4rem 0 0}.education-focus{color:var(--text-muted);margin:.85rem 0 0;font-size:.82rem;line-height:1.65}.education-facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:1rem;margin:1.35rem 0 0;padding-top:1.1rem;display:grid}.education-facts dt{color:var(--text-muted);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;font-size:.66rem}.education-facts dd{color:var(--text);font-family:var(--mono);margin:.3rem 0 0;font-size:.85rem}.credential-block{margin-top:2.5rem}.credential-heading{color:var(--text-muted);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .9rem;font-size:.68rem;font-weight:500}.credential-list{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.credential-list li{border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr) auto;align-items:baseline;gap:1.25rem;padding:.8rem 0;display:grid}.credential-year{color:var(--accent);font-family:var(--mono);letter-spacing:.04em;font-size:.74rem}.credential-title{color:var(--text);font-size:var(--step-0)}.credential-issuer{color:var(--text-muted);text-align:right;font-size:.76rem}.tools-grid{border:1px solid var(--line-strong);box-shadow:inset -1px 0 0 var(--line-strong),inset 0 -1px 0 var(--line-strong);border-width:1px 0 0 1px;grid-template-columns:repeat(auto-fill,minmax(min(50%,9rem),1fr));margin:0;padding:0;list-style:none;display:grid}.tools-cell{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);align-content:center;justify-items:center;gap:.75rem;min-height:8.5rem;padding:1.25rem .75rem;transition:background .15s;display:grid}.tools-mark{width:1.9rem;height:1.9rem;fill:var(--text-soft);transition:fill .15s,transform .2s}.tools-label{color:var(--text-muted);font-family:var(--mono);letter-spacing:.06em;text-align:center;font-size:.7rem;font-weight:500;line-height:1.4}.tools-cell:hover{background:var(--accent-soft)}.tools-cell:hover .tools-mark{fill:var(--accent);transform:translateY(-2px)}.tools-cell:hover .tools-label{color:var(--text)}@media(prefers-reduced-motion:reduce){.tools-mark{transition:fill .15s}.tools-cell:hover .tools-mark{transform:none}}@media(max-width:860px){.about-layout{grid-template-columns:1fr}.portrait-frame,.portrait-frame-empty{max-width:20rem}.credential-list li{grid-template-columns:1fr;gap:.2rem}.credential-issuer{text-align:left}}.coursework-list{border-top:1px solid var(--line-strong);margin:0;padding:0}.coursework-list>div{border-bottom:1px solid var(--line);grid-template-columns:10rem minmax(0,1fr);gap:1.25rem;padding:.85rem 0;display:grid}.coursework-list dt{color:var(--accent);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.coursework-list dd{color:var(--text-soft);margin:0;font-size:.83rem;line-height:1.7}@media(max-width:860px){.coursework-list>div{grid-template-columns:1fr;gap:.3rem}}.hero-interested{flex-wrap:wrap;align-items:baseline;gap:.55rem .9rem;margin-top:1.6rem;display:flex}.hero-interested-label{color:var(--text-muted);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:500}.hero-interested ul{flex-wrap:wrap;gap:.5rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.hero-interested li{color:var(--text);font-size:var(--step-0);font-weight:500;position:relative}.hero-interested li+li:before{content:"";background:var(--accent);border-radius:50%;width:3px;height:3px;position:absolute;top:.45em;left:-.6rem}.console-metrics{display:grid}.console-metrics .metric-card{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:.8rem .9rem}.console-metrics .metric-card:last-child{border-bottom:0}.metric-value{color:var(--text);font-family:var(--mono);letter-spacing:-.01em;font-size:1.35rem;font-weight:600;line-height:1.15;display:block}.metric-card>span{color:var(--text-soft);letter-spacing:0;text-transform:none;margin-top:.2rem;font-size:.8rem;font-weight:500;line-height:1.45;display:block}.metric-value,.metric-value *{text-transform:none;letter-spacing:-.01em}.metric-card p{color:var(--text-muted);margin:.25rem 0 0;font-size:.72rem;line-height:1.5}.work-area-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.75rem;display:grid}.work-area-card{border:1px solid var(--line);background:var(--surface);border-radius:2px;align-content:start;gap:.6rem;padding:1.25rem 1.35rem;display:grid}.work-area-card h3{color:var(--text);font-size:var(--step-2);letter-spacing:-.015em;margin:0;font-weight:700}.work-area-card p{color:var(--text-soft);margin:0;font-size:.85rem;line-height:1.65}.exploring-list{counter-reset:exploring;border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.exploring-list li{counter-increment:exploring;border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(0,1fr);gap:1.25rem;padding:1.15rem 0;display:grid}.exploring-list li:before{content:counter(exploring,decimal-leading-zero);color:var(--accent);font-family:var(--mono);letter-spacing:.1em;padding-top:.28rem;font-size:.72rem}.exploring-list h3{color:var(--text);font-size:var(--step-2);letter-spacing:-.015em;grid-column:2;margin:0 0 .3rem;font-weight:650}.exploring-list p{color:var(--text-soft);grid-column:2;max-width:62ch;margin:0;font-size:.86rem;line-height:1.7}.case-study-role{color:var(--text-soft);font-size:var(--step-0);margin:.9rem 0 0}.case-study-role>span{color:var(--text-muted);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;margin-right:.5rem;font-size:.68rem}@media(max-width:640px){.exploring-list li{grid-template-columns:1fr;gap:.35rem}.exploring-list h3,.exploring-list p{grid-column:1}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--font-body: "Archivo", sans-serif;--font-display: "Bricolage Grotesque", sans-serif;--bg: #121c30;--bg-soft: #121c30;--surface: #1c2b45;--surface-strong: #293b5c;--bg-card: var(--surface);--bg-card-hover: var(--surface-strong);--text: #edf2ff;--text-soft: #c5cee1;--text-muted: #a0aec8;--accent: #aebdff;--accent-strong: #c5cfff;--accent-soft: #293859;--success: #98d9c3;--review: #edc092;--line: #344460;--line-strong: #657896;--scene-floor: #435f9a;--scene-paper: #f5f7ff;--scene-record: #243961;--scene-text: #eef3ff;--scene-output: #283c5c;--workbench-controls: #17253d;--line-hover: var(--accent);--shadow: none}[data-theme=light]{--bg: #f6f7fb;--bg-soft: #f6f7fb;--surface: #e9edf8;--surface-strong: #dce3f4;--bg-card: var(--surface);--bg-card-hover: var(--surface-strong);--text: #182a45;--text-soft: #425572;--text-muted: #5e6f8a;--accent: #3e56bf;--accent-strong: #304598;--accent-soft: #e1e7ff;--success: #28654f;--review: #86501e;--line: #d4ddec;--line-strong: #8c9db9;--scene-floor: #a0afdc;--scene-paper: #ffffff;--scene-output: #f8faff;--workbench-controls: #f0f3fc;--line-hover: var(--accent)}html{scroll-behavior:auto}#selected-work{scroll-margin-top:6rem}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:16px}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}::selection{background:var(--accent-soft);color:var(--text)}.portfolio-site{min-height:100vh}.page-width,.portfolio-site .site-shell{width:min(100% - 4rem,1240px);margin-inline:auto}.portfolio-nav-inner{width:min(100% - 4rem,1240px)}.portfolio-site h1,.portfolio-site h2,.portfolio-site h3,.portfolio-site h4{font-family:var(--font-display);font-weight:500}.portfolio-site p{text-wrap:pretty}.portfolio-introduction{display:grid;grid-template-columns:1.13fr 1fr;gap:4rem;align-items:center;padding-block:3rem 3.5rem}.portfolio-introduction h1{max-width:14ch;margin:0;font-size:clamp(2.25rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.045em;text-wrap:balance}.introduction-copy>p{max-width:48ch;margin:0;font-size:1.0625rem;line-height:1.75;color:var(--text-soft)}.introduction-copy .introduction-note{margin-top:1.15rem;color:var(--text-muted);font-size:.875rem}.section-lead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.5rem 2rem}.section-lead h2{margin:0;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:500;letter-spacing:-.035em}.quiet-link,.reading-link{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;color:var(--text);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.3em;font-size:.9rem}.quiet-link:hover,.reading-link:hover{color:var(--accent);text-decoration-color:currentColor}.reading-link{font-size:1rem}.feature-story h3{margin:0;font-size:clamp(1.8rem,3.1vw,2.4rem);line-height:1.15;letter-spacing:-.035em}.feature-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:3rem;margin:1rem 0 2rem}.project-context{margin:0 0 .9rem;color:var(--text);font-size:.9rem;line-height:1.6}.project-context span{display:block;color:var(--text-muted);font-size:.8rem}.feature-heading>p{margin:0;font-size:1rem;color:var(--text-soft);line-height:1.7}.healthcare-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:2.75rem;align-items:start}.healthcare-figure,.capital-figure{min-width:0;margin:0}.healthcare-figure>a{position:relative;display:block;padding:.7rem;border:1px solid var(--line);border-radius:5px;background:var(--surface-strong)}.healthcare-figure img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top;border-radius:2px}.image-open-label{display:flex;align-items:center;justify-content:space-between;padding:.65rem .2rem 0;font-size:.8rem;color:var(--text-soft)}.healthcare-figure figcaption,.capital-figure figcaption{max-width:80ch;margin-top:.85rem;font-size:.8125rem;line-height:1.65;color:var(--text-muted)}.engineering-note{padding-top:.3rem}.engineering-note .note-label{margin:0 0 1rem;color:var(--text-muted);font-size:.8rem}.engineering-note h4{margin:0 0 1rem;font-size:1.6rem;line-height:1.2;letter-spacing:-.025em}.engineering-note>p{color:var(--text-soft);line-height:1.7;font-size:.9375rem}.provenance-example{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-block:1.25rem;padding-block:1rem;border-block:1px solid var(--line);font-family:var(--mono);font-size:.6875rem}.provenance-example span{display:flex;align-items:center;gap:.45rem}.provenance-example span:before{content:"";width:7px;height:7px;background:var(--success)}.provenance-example span+span:before{background:transparent;border:1px solid var(--accent);border-radius:50%}.source-links{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.source-links a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--text-muted);text-decoration:underline;text-underline-offset:.25em}.source-links a:hover{color:var(--accent)}.audit-note{display:grid;grid-template-columns:.85fr 2fr;gap:3rem;margin-block:2rem 4.5rem;padding:1.4rem 0 0 1.25rem;border-left:2px solid var(--accent)}.audit-note h4{margin:0;max-width:25ch;font-size:1.1rem;line-height:1.4}.audit-note p{margin:0;color:var(--text-soft);font-size:.9375rem;line-height:1.75}.capital-story{display:grid;grid-template-columns:.95fr 1.15fr;column-gap:5rem;border-top:1px solid var(--line);padding-block:3.5rem 4.5rem}.capital-copy>p:not(.project-context){color:var(--text-soft);font-size:1rem;line-height:1.8;margin-block:1.2rem}.capital-copy h4{margin:2rem 0 0;font-size:1.1rem}.capital-copy h4+p{font-size:.9375rem}.capital-figure{align-self:start}.document-flow{padding:1.65rem 1.35rem;background:var(--surface);border-radius:5px}.document-flow-stages{display:flex;flex-direction:column;align-items:center;list-style:none;margin:0;padding:0}.document-flow-stages li{position:relative;width:72%;padding:.8rem 1rem;border:1px solid var(--line-strong);background:var(--bg);text-align:center}.document-flow-stages li+li{margin-top:1.5rem}.document-flow-stages li+li:before{position:absolute;content:"";height:1.5rem;width:1px;background:var(--line-strong);top:-1.5rem;left:50%}.document-flow strong{display:block;font-weight:500;font-size:.9375rem;line-height:1.5}.document-flow-stages span,.document-flow-branch>span:last-child{display:block;color:var(--text-muted);font-size:.75rem;line-height:1.6}.document-flow-branches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.document-flow-branches:before{content:"";position:absolute;height:1rem;width:1px;background:var(--line-strong);top:-2rem;left:50%}.document-flow-branches:after{content:"";position:absolute;height:1rem;border:1px solid var(--line-strong);border-bottom:0;top:-1rem;left:calc(25% - .25rem);right:calc(25% - .25rem)}.document-flow-branch{padding:.85rem .75rem;border:1px solid var(--line-strong);background:var(--bg);text-align:center}.flow-condition{display:block;margin-bottom:.3rem;font-family:var(--mono);color:var(--success);font-size:.625rem}.document-flow-review{border-style:dashed}.document-flow-review .flow-condition{color:var(--accent)}.capital-outcome{grid-column:1 / -1;display:grid;grid-template-columns:.95fr 1.15fr;align-items:start;gap:5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--line)}.capital-outcome strong{max-width:22ch;font-family:var(--font-display);font-size:1.6rem;font-weight:500;letter-spacing:-.025em;line-height:1.2}.capital-outcome p{max-width:56ch;margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.75}.more-work{padding-bottom:4.5rem}.more-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-top:1rem}.small-project-image{display:block;border:1px solid var(--line);overflow:hidden;border-radius:3px;background:var(--surface)}.small-project-image img{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top}.small-project-smart-cane img{object-position:center}.small-project h3{margin:1.25rem 0 .6rem;font-size:1.35rem;letter-spacing:-.03em;line-height:1.25}.small-project>p{margin:0 0 .8rem;color:var(--text-soft);font-size:.9375rem;line-height:1.7}.small-project-pandos{padding:1.2rem 0 0 1.2rem;border-left:1px solid var(--line)}.small-project .small-project-context{margin:0 0 1rem;color:var(--text-muted);font-size:.8rem}.small-project-pandos h3{margin-top:0;font-size:1.8rem}.kernel-responsibilities{margin-block:1.25rem 1rem}.kernel-responsibilities>div{padding-block:.6rem;border-top:1px solid var(--line)}.kernel-responsibilities dt{color:var(--text);font-size:.8rem}.kernel-responsibilities dd{margin-top:.25rem;color:var(--text-muted);font-size:.8125rem;line-height:1.6}.experience-preview{padding-bottom:4.5rem}.experience-preview-row{display:grid;grid-template-columns:.8fr 1.1fr 1.4fr;gap:2rem;padding-block:1.6rem;border-bottom:1px solid var(--line)}.experience-preview-row h3{font-family:var(--font-body);font-size:.95rem;font-weight:500;margin:0 0 .45rem;line-height:1.5}.experience-preview-row p{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.7}.experience-preview-row>p:last-child{color:var(--text-soft)}.experience-preview-row .experience-date{font-family:var(--mono);font-size:.7rem}.personal-preview{display:grid;grid-template-columns:260px minmax(0,620px);gap:5rem;align-items:center;padding-block:.5rem 5rem}.personal-preview-photo{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:3px}.personal-preview h2{margin:0 0 1rem;font-size:2rem;letter-spacing:-.035em}.personal-preview p{color:var(--text-soft);font-size:1rem;line-height:1.8;margin-block:0 1rem}.portfolio-footer{border-top:1px solid var(--line-strong);padding-bottom:4.5rem}.footer-invitation{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2rem;padding-block:3rem}.footer-invitation h2{margin:0;font-size:1.7rem;letter-spacing:-.025em}.footer-invitation p{margin:.8rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.7}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding-block:1.2rem 2rem;border-top:1px solid var(--line);color:var(--text-muted);font-size:.8rem}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:.2rem 1.5rem}.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;color:var(--text-soft);font:inherit;cursor:pointer}.footer-bottom a:hover,.footer-bottom button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.25em}.work-page,.about-page,.contact-page{padding-block:4rem}.page-heading{max-width:700px;margin-bottom:3rem}.page-heading h1{margin:0;font-size:clamp(2.25rem,4vw,3rem);line-height:1.1;letter-spacing:-.045em}.page-heading>p{margin:1.25rem 0 0;color:var(--text-soft);font-size:1.05rem;line-height:1.75}.work-filters{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;border-bottom:1px solid var(--line)}.work-filters button{min-height:48px;padding:.5rem 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font-size:.9rem;cursor:pointer}.work-filters button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent)}.work-filters button:hover{color:var(--accent)}.work-count{margin-block:1rem 2.5rem;color:var(--text-muted);font-size:.8rem}.about-reading-layout{display:grid;grid-template-columns:1.75fr 1fr;gap:6rem}.about-reading-copy>p{max-width:66ch;margin:0 0 1.4rem;color:var(--text-soft);font-size:1rem;line-height:1.9}.about-community{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.about-community h2{margin:0 0 1.5rem;font-size:1.4rem}.about-community h3{font-family:var(--font-body);font-size:.9375rem;font-weight:500}.about-community p{margin-block:.6rem 1.5rem;color:var(--text-soft);font-size:.9375rem;line-height:1.8}.about-portrait{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:3px}.personal-facts{margin-top:1.5rem}.personal-facts>div{padding-block:.8rem;border-bottom:1px solid var(--line)}.personal-facts dt{margin-bottom:.25rem;font-size:.75rem;color:var(--text-muted)}.personal-facts dd{font-size:.875rem;color:var(--text-soft);line-height:1.6}.contact-reading-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.contact-email{display:inline-block;font-size:clamp(1.1rem,2vw,1.5rem);color:var(--accent);text-decoration:underline;text-underline-offset:.3em;overflow-wrap:anywhere}.contact-location{margin-top:1rem;color:var(--text-muted);font-size:.9rem}.contact-direct-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.5rem}.contact-direct-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.9rem;color:var(--text)}.contact-reading-layout .contact-form{margin:0;border:0;padding:0;background:none}.contact-reading-layout .contact-form input,.contact-reading-layout .contact-form textarea{background:var(--bg);border-radius:3px}.contact-reading-layout .contact-form label span{font-family:var(--font-body);font-size:.875rem;text-transform:none;letter-spacing:0}.contact-reading-layout .contact-form input,.contact-reading-layout .contact-form textarea{font-size:1rem}.contact-reading-layout .contact-form input:focus-visible,.contact-reading-layout .contact-form textarea:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}.contact-reading-layout .contact-form-submit{min-height:44px;border-radius:3px;background:var(--text);color:var(--bg)}.contact-reading-layout .contact-form-submit:hover{filter:none;background:var(--accent)}.contact-reading-layout .contact-form-note{font-size:.8125rem;line-height:1.6}.portfolio-site .narrative-section{padding-block:3.5rem}.portfolio-site .section-header-grid{margin-bottom:2rem}.portfolio-site .section-title{font-size:clamp(1.7rem,3vw,2.2rem);letter-spacing:-.035em}.portfolio-site .section-title:before,.portfolio-site .section-title:after{display:none}.portfolio-site .section-intro{max-width:65ch;font-size:1rem}.portfolio-site .education-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:1.75rem 0}.portfolio-site .publication-card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:1.75rem 0;transform:none}.portfolio-site .publication-card:hover{transform:none;border-color:var(--line);box-shadow:none}.portfolio-site .publication-card time{border:0;border-radius:0;padding:0;background:none;color:var(--text-muted);font-family:var(--font-body);font-size:.875rem}.portfolio-site .publication-publisher{color:var(--text-muted)}.portfolio-site .publication-link{color:var(--accent);border:0;border-radius:0;background:none;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:.3em}.portfolio-site .publication-link:hover{color:var(--accent-strong);background:none}.portfolio-site .publication-grid{grid-template-columns:1fr}.portfolio-site .publication-summary,.portfolio-site .publication-details{max-width:80ch}.portfolio-site .case-study{padding-top:2.5rem}.portfolio-site .case-study>.site-shell{max-width:920px}.portfolio-site .case-study-title{max-width:24ch;font-size:clamp(2rem,4.5vw,3.2rem)}.portfolio-site .case-study-summary{font-size:1.05rem;max-width:70ch}.portfolio-site .case-study-section{scroll-margin-top:6rem}.portfolio-site .case-study-body{max-width:72ch;font-size:1rem;line-height:1.9}.portfolio-site .case-study-metric strong{font-size:1.7rem}.portfolio-site .case-study-metrics{border-block:1px solid var(--line)}.case-study-contents{padding-block:1rem;margin-block:1.5rem 2rem;border-block:1px solid var(--line)}.case-study-contents p{color:var(--text-muted);font-size:.8rem;margin:0 0 .5rem}.case-study-contents ul{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none}.case-study-contents button{min-height:44px;padding:0;background:none;border:0;color:var(--text-soft);font-size:.875rem;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.3em}.case-study-contents button:hover{color:var(--accent)}.case-study-tools,.publication-areas{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;padding:0;margin-block:1.25rem;list-style:none;color:var(--text-muted);font-size:.875rem;line-height:1.7}.case-study-stage-details{margin-block:1.5rem}.case-study-stage-details summary{min-height:44px;padding-block:.65rem;width:fit-content;color:var(--text-soft);font-size:.9rem;cursor:pointer}.case-study-stage-details dl{display:grid;gap:1.25rem;margin-top:1rem}.case-study-stage-details dt{color:var(--text);font-weight:500}.case-study-stage-details dd{color:var(--text-soft);font-size:.9375rem;line-height:1.75;margin-top:.3rem}.case-study-section:focus{outline:2px solid var(--line-strong);outline-offset:8px}.education-location,.publication-type{margin-block:.6rem;color:var(--text-muted);font-size:.875rem;line-height:1.6}.portfolio-site .education-grid{grid-template-columns:1fr}.portfolio-site .credential-heading{color:var(--text);font-family:var(--font-body);font-size:1rem;letter-spacing:0;text-transform:none}.case-study .document-flow{max-width:560px}.portfolio-site .eyebrow{color:var(--text-muted);font-family:var(--font-body);font-size:.875rem;text-transform:none;letter-spacing:0}.portfolio-site .eyebrow:before{display:none}.portfolio-site .mini-tag{border:0;background:none;padding:0;color:var(--text-muted);font-family:var(--font-body);font-size:.8rem}.portfolio-site .tag-row{gap:.5rem 1rem}.portfolio-site .supporting-view-header h1{margin:0;font-size:clamp(2.25rem,4vw,3rem);letter-spacing:-.045em;line-height:1.1}@media(max-width:900px){.portfolio-introduction{gap:2.5rem}.healthcare-layout{gap:2rem;grid-template-columns:1.7fr 1fr}.capital-story,.capital-outcome{column-gap:2.5rem}.more-work-grid{gap:1.25rem}.personal-preview,.about-reading-layout,.contact-reading-layout{gap:3rem}}@media(max-width:759px){.page-width,.portfolio-site .site-shell,.portfolio-nav-inner{width:calc(100% - 2.5rem)}.portfolio-introduction{grid-template-columns:1fr;gap:1.25rem;padding-block:2.25rem 2rem}.portfolio-introduction h1{max-width:18ch;font-size:clamp(2.25rem,6.8vw,3rem)}.introduction-copy>p{font-size:1rem}.feature-heading,.healthcare-layout,.capital-story,.capital-outcome{grid-template-columns:1fr;gap:1.5rem}.feature-heading{margin-block:.5rem 1.5rem;gap:1rem}.feature-heading>p{max-width:55ch}.healthcare-figure>a{padding:.45rem}.engineering-note{padding-top:0;max-width:60ch}.engineering-note .note-label{margin-bottom:.5rem}.engineering-note h4{font-size:1.4rem}.audit-note{grid-template-columns:1fr;gap:.75rem;margin-block:1.5rem 3rem;padding-top:0}.audit-note h4{max-width:none}.capital-story{padding-block:2.5rem 3rem}.capital-copy h4{margin-top:1.5rem}.capital-outcome{margin-top:.5rem;gap:.75rem}.capital-outcome strong{max-width:none;font-size:1.45rem}.more-work{padding-bottom:3rem}.more-work-grid{grid-template-columns:1fr;gap:2.5rem}.small-project-image img{aspect-ratio:16 / 9}.small-project-pandos{padding:0;border:0}.experience-preview{padding-bottom:3rem}.experience-preview-row{grid-template-columns:1fr;gap:.65rem;padding-block:1.5rem}.experience-preview-row h3{margin-bottom:.15rem}.personal-preview{grid-template-columns:1fr;gap:1.75rem;padding-bottom:3rem}.personal-preview-photo{max-width:220px}.personal-preview h2{font-size:1.7rem}.footer-invitation{padding-block:2rem;gap:1rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.footer-bottom nav{gap:.25rem 1.25rem}.work-page,.about-page,.contact-page{padding-block:2.75rem}.page-heading{margin-bottom:2rem}.work-filters{gap:0 1rem}.work-filters button{font-size:.8125rem}.about-reading-layout,.contact-reading-layout{grid-template-columns:1fr;gap:2rem}.about-reading-layout aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.personal-facts{margin-top:0}.portfolio-site .narrative-section{padding-block:2.5rem}.portfolio-site .case-study-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-site .case-study-metric strong{font-size:1.45rem}}@media(max-width:359px){.page-width,.portfolio-site .site-shell,.portfolio-nav-inner{width:calc(100% - 2rem)}.portfolio-introduction h1{font-size:2.1rem}.document-flow{padding:1.25rem .7rem}.document-flow-branch{padding-inline:.4rem}.document-flow strong{font-size:.8125rem}.document-flow-stages span,.document-flow-branch>span:last-child{font-size:.6875rem}.about-reading-layout aside{grid-template-columns:1fr}.about-portrait{max-width:220px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
