/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-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}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.inline{display:inline}}:root{--ink:#101820;--ink-soft:#19242d;--ink-raised:#22303a;--paper:#f2f0ea;--paper-bright:#fbfaf7;--steel:#596874;--steel-dark:#344652;--steel-light:#d5dce0;--line:#c5cdd1;--blue:#176aa8;--blue-bright:#3aa6e8;--blue-pale:#d9ecf7;--amber:#d4921f;--amber-light:#f2c45f;--white:#fff;--shadow:0 18px 48px #1018201f;--page-width:1240px;--header-height:74px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;letter-spacing:0;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}img,svg{max-width:100%;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}section[id]{scroll-margin-top:calc(var(--header-height) + 18px)}.page-width{width:min(var(--page-width), calc(100% - 48px));margin-inline:auto}.skip-link{z-index:1000;border:2px solid var(--blue);background:var(--paper-bright);color:var(--ink);padding:10px 14px;font-weight:750;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--amber-light);outline-offset:3px}.site-header{z-index:100;min-height:var(--header-height);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf7f5;border-bottom:1px solid #c5cdd1bf;position:sticky;top:0}.header-inner{width:min(var(--page-width), calc(100% - 48px));min-height:var(--header-height);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.brand{align-items:center;gap:11px;min-width:max-content;display:inline-flex}.brand-mark{border:1px solid var(--ink);background:var(--ink);width:42px;height:42px;color:var(--paper-bright);font-family:var(--font-geist-mono), monospace;border-radius:4px;flex:0 0 42px;place-items:center;font-size:.76rem;font-weight:780;display:grid}.brand-copy{gap:2px;display:grid}.brand-copy strong{font-size:.94rem;line-height:1.1}.brand-copy small{color:var(--steel);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.65rem}.primary-navigation{justify-content:flex-end;align-items:center;gap:2px;display:flex}.primary-navigation a{min-height:42px;color:var(--steel-dark);white-space:nowrap;align-items:center;padding:8px 9px;font-size:.79rem;font-weight:690;display:inline-flex;position:relative}.primary-navigation a:after{content:"";background:var(--blue);opacity:0;height:2px;transition:opacity .16s,transform .16s;position:absolute;bottom:5px;left:9px;right:9px;transform:scaleX(.35)}.primary-navigation a:hover,.primary-navigation a[aria-current=location]{color:var(--ink)}.primary-navigation a:hover:after,.primary-navigation a[aria-current=location]:after{opacity:1;transform:scaleX(1)}.primary-navigation .nav-resume{border:1px solid var(--ink);background:var(--ink);min-height:38px;color:var(--paper-bright);border-radius:4px;margin-left:8px;padding:8px 13px}.primary-navigation .nav-resume:after{display:none}.primary-navigation .nav-resume:hover{background:var(--blue);color:var(--white)}.menu-button{border:1px solid var(--line);background:var(--paper-bright);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:4px;display:none}.menu-icon{gap:6px;width:20px;margin:auto;display:grid}.menu-icon span{background:currentColor;height:2px;transition:transform .16s;display:block}.menu-button[aria-expanded=true] .menu-icon span:first-child{transform:translateY(4px)rotate(45deg)}.menu-button[aria-expanded=true] .menu-icon span:last-child{transform:translateY(-4px)rotate(-45deg)}.eyebrow{color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:14px;font-size:.72rem;font-weight:760;line-height:1.5}.eyebrow--light{color:var(--blue-bright)}.eyebrow--amber{color:var(--amber-light)}.button{text-align:center;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;font-size:.9rem;font-weight:760;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{border-color:var(--blue);background:var(--blue);color:var(--white)}.button--primary:hover{border-color:var(--blue-bright);background:var(--blue-bright);color:var(--ink)}.button--secondary{border-color:var(--line);background:var(--paper-bright);color:var(--ink)}.button--ghost{color:var(--white);background:#ffffff0d;border-color:#ffffff5c}.button--ghost:hover{border-color:var(--white);background:#ffffff1f}.button--light{border-color:var(--paper-bright);background:var(--paper-bright);color:var(--ink)}.button--light:hover{border-color:var(--amber-light);background:var(--amber-light)}.button--outline-light{color:var(--white);background:0 0;border-color:#ffffff70}.button--outline-light:hover{border-color:var(--white);background:#ffffff1a}.hero{background:var(--ink);color:var(--white);position:relative;overflow:hidden}.hero-backdrop{background-image:linear-gradient(#3aa6e812 1px,#0000 1px),linear-gradient(90deg,#3aa6e812 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 42%,#000);mask-image:linear-gradient(90deg,#0000,#000 42%,#000)}.hero-inner{align-items:center;min-height:640px;padding-block:54px 64px;display:flex;position:relative}.hero-copy{z-index:2;width:60%;max-width:790px;position:relative}.hero h1{max-width:790px;margin-bottom:24px;font-size:4.9rem;font-weight:700;line-height:.99}.hero-lede{color:#c9d3da;max-width:720px;margin-bottom:28px;font-size:1.16rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.hero-utility{flex-wrap:wrap;gap:22px;display:flex}.hero-utility a{color:#b9c6cf;min-height:34px;font-family:var(--font-geist-mono), monospace;font-size:.76rem;line-height:34px;position:relative}.hero-utility a:after{content:"";background:var(--blue-bright);transform-origin:0;height:1px;transition:transform .16s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.hero-utility a:hover:after{transform:scaleX(1)}.hero-graphic{opacity:.92;width:min(58%,760px);position:absolute;top:54px;right:-120px}.system-graphic{min-width:0;position:relative}.system-graphic__status{z-index:2;color:#cbd5dc;min-height:34px;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;background:#101820e0;border:1px solid #ffffff2e;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-size:.67rem;display:inline-flex;position:absolute;top:0;right:4%}.status-dot{background:var(--amber-light);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f2c45f24}.system-graphic svg{width:100%;height:auto}.graphic-grid line{stroke:#8ea1ae;stroke-opacity:.12;stroke-width:1px}.graphic-connections path{fill:none;stroke:var(--blue-bright);stroke-dasharray:9 9;stroke-opacity:.72;stroke-width:2px;animation:12s linear infinite signalFlow}.graphic-pulses circle{fill:var(--amber-light)}.graphic-node rect{fill:#182630;stroke:#6d8492;stroke-width:1.4px}.graphic-node--core rect{fill:#18384d;stroke:var(--blue-bright);stroke-width:2px}.graphic-node__index,.graphic-node__detail{fill:#90a4b0;font-family:var(--font-geist-mono), monospace;font-size:11px}.graphic-node__label{fill:#fff;font-family:var(--font-geist-sans), sans-serif;font-size:22px;font-weight:700}.system-graphic__legend{color:#8497a3;font-family:var(--font-geist-mono), monospace;justify-content:center;gap:22px;margin-top:-12px;font-size:.61rem;display:flex}.hero-rail{z-index:2;background:#ffffff09;border-top:1px solid #ffffff21;position:relative}.hero-rail__inner{grid-template-columns:repeat(6,1fr);display:grid}.hero-rail span{color:#aebbc4;min-width:0;font-family:var(--font-geist-mono), monospace;text-align:center;text-transform:uppercase;border-left:1px solid #ffffff1a;padding:16px 14px;font-size:.67rem}.hero-rail span:last-child{border-right:1px solid #ffffff1a}@keyframes signalFlow{to{stroke-dashoffset:-144px}}.value-statement{border-bottom:1px solid var(--line);background:var(--paper-bright)}.value-statement__inner{grid-template-columns:.42fr 1fr .9fr;align-items:start;gap:42px;padding-block:58px;display:grid}.value-statement h2{margin-bottom:0;font-size:2.25rem;line-height:1.08}.value-statement>div>p:last-child{color:var(--steel-dark);margin-bottom:0;font-size:1.02rem;line-height:1.75}.content-section{padding-block:112px}.section-heading{grid-template-columns:.42fr 1fr .9fr;align-items:start;gap:42px;margin-bottom:48px;display:grid}.section-heading h2{margin-bottom:0;font-size:3.05rem;line-height:1.03}.section-intro{color:var(--steel-dark);margin-bottom:0;font-size:1.02rem;line-height:1.72}.about-section{background:linear-gradient(#59687412 1px, transparent 1px), linear-gradient(90deg, #59687412 1px, transparent 1px), var(--paper);background-size:56px 56px}.about-layout{grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);align-items:start;gap:92px;display:grid}.about-layout .section-heading{margin-bottom:0;display:block}.about-layout .section-heading h2{margin-bottom:26px;font-size:3.4rem}.about-copy{padding-top:34px}.about-copy>p{color:var(--steel-dark);margin-bottom:22px;font-size:1.05rem;line-height:1.78}.about-principles{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin-top:34px;display:grid}.about-principles span{background:var(--paper-bright);min-height:72px;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;padding:18px;font-size:.74rem;font-weight:700;line-height:1.45}.expertise-section{background:var(--ink-soft);color:var(--white);border-block:1px solid #26343e}.expertise-section .section-intro{color:#bdc9d0}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.expertise-card{background:#1d2a34;border:1px solid #374650;border-radius:6px;min-width:0;padding:30px}.expertise-card__header{grid-template-columns:46px 1fr;align-items:start;gap:16px;margin-bottom:16px;display:grid}.expertise-card__header>span{width:42px;height:42px;color:var(--amber-light);font-family:var(--font-geist-mono), monospace;border:1px solid #526470;border-radius:4px;place-items:center;font-size:.71rem;display:grid}.expertise-card h3{margin-bottom:0;font-size:1.35rem;line-height:1.2}.expertise-card>p{color:#b8c5cd;margin-bottom:22px;line-height:1.65}.expertise-card ul{flex-wrap:wrap;gap:7px;margin-bottom:0;padding:0;list-style:none;display:flex}.expertise-card li{color:#d7e0e5;max-width:100%;font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;border:1px solid #40515d;border-radius:3px;padding:6px 8px;font-size:.68rem;line-height:1.35}.projects-section{background:var(--paper-bright)}.project-list{gap:22px;display:grid}.project-card{border:1px solid var(--line);background:var(--paper);border-radius:6px;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 1px #1018200a}.project-card:hover{box-shadow:var(--shadow);border-color:#8fa0aa;transform:translateY(-3px)}.project-card:nth-child(2n) .project-card__visual{order:2}.project-card__visual{border-right:1px solid var(--line);background-color:#e6eaec;background-image:linear-gradient(#59687417 1px,#0000 1px),linear-gradient(90deg,#59687417 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-width:0;min-height:440px;display:grid;position:relative;overflow:hidden}.project-card:nth-child(2n) .project-card__visual{border-right:0;border-left:1px solid var(--line)}.project-card__index{z-index:2;color:var(--steel-dark);font-family:var(--font-geist-mono), monospace;background:#fbfaf7e6;border:1px solid #91a1aa;border-radius:3px;padding:7px 9px;font-size:.67rem;position:absolute;top:18px;left:18px}.project-illustration{width:100%;height:auto}.pi-line,.pi-axis,.pi-motion,.pi-conveyor,.pi-arm{fill:none;stroke:var(--steel-dark);stroke-width:3px}.pi-line--blue,.pi-motion{stroke:var(--blue)}.pi-motion{stroke-dasharray:8 7}.pi-motion--reverse{stroke:var(--amber)}.pi-shape,.pi-controller,.pi-sensor{fill:var(--ink-soft);stroke:var(--steel-dark);stroke-width:2px}.pi-node{fill:var(--blue);stroke:var(--paper-bright);stroke-width:3px}.pi-node--amber{fill:var(--amber)}.pi-target{fill:none;stroke:var(--blue);stroke-width:3px}.pi-target--inner{fill:var(--blue);stroke:none}.pi-cells circle,.pi-data-bars rect{fill:var(--steel-dark)}.pi-bottle{fill:var(--paper-bright);stroke:var(--steel-dark);stroke-width:2px}.pi-fill{stroke:var(--blue);stroke-width:3px}.pi-beam{fill:none;stroke:var(--amber);stroke-dasharray:6 6;stroke-width:2px}.project-card__body{min-width:0;padding:38px}.project-card__discipline{color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:730}.project-card h3{margin-bottom:16px;font-size:2.15rem;line-height:1.08}.project-card__summary{color:var(--steel-dark);margin-bottom:24px;font-size:1.02rem;line-height:1.66}.project-card__facts{gap:14px;margin-bottom:22px;display:grid}.project-card__facts div{border-top:1px solid var(--line);padding-top:14px}.project-card__facts dt{color:var(--steel);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:5px;font-size:.67rem}.project-card__facts dd{color:var(--ink-soft);margin-left:0;line-height:1.55}.tag-list{flex-wrap:wrap;gap:7px;margin-bottom:24px;padding:0;list-style:none;display:flex}.tag-list li{max-width:100%;color:var(--steel-dark);font-family:var(--font-geist-mono), monospace;overflow-wrap:anywhere;border:1px solid #aeb9bf;border-radius:3px;padding:6px 8px;font-size:.66rem;line-height:1.35}.text-link{border-bottom:2px solid var(--blue);min-height:44px;color:var(--ink);align-items:center;font-weight:760;display:inline-flex}.text-link:after{content:"→";color:var(--blue);margin-left:8px;transition:transform .16s}.text-link:hover:after{transform:translate(4px)}.problem-highlight{background:var(--steel-dark);color:var(--white);border-block:1px solid #45606e;padding-block:94px}.problem-highlight__inner{grid-template-columns:.95fr .9fr;gap:58px 78px;display:grid}.problem-highlight h2{max-width:620px;margin-bottom:0;font-size:2.85rem;line-height:1.05}.problem-highlight__copy p{color:#d5dee3;font-size:1.02rem;line-height:1.74}.problem-highlight__copy p:last-child{margin-bottom:0}.logic-flow{background:#71858f;border:1px solid #71858f;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:0;padding:0;list-style:none;display:grid}.logic-flow li{background:#3a4f5b;min-height:150px;padding:20px;font-size:.9rem;font-weight:670;line-height:1.55}.logic-flow span{color:var(--amber-light);font-family:var(--font-geist-mono), monospace;margin-bottom:28px;font-size:.7rem;display:block}.process-section{background:var(--paper)}.process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;margin-bottom:0;padding:0;list-style:none;display:grid}.process-list li{border-top:1px solid var(--line);grid-template-columns:58px 1fr;gap:18px;min-width:0;padding:26px 0;display:grid}.process-list__number{border:1px solid var(--steel-dark);width:46px;height:46px;color:var(--blue);font-family:var(--font-geist-mono), monospace;border-radius:4px;place-items:center;font-size:.72rem;display:grid}.process-list h3{margin-bottom:8px;font-size:1.2rem}.process-list p{color:var(--steel-dark);margin-bottom:0;line-height:1.65}.web-section{border-block:1px solid var(--line);background:#e5e9eb}.web-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.web-project{background:var(--paper-bright);border:1px solid #b2bdc3;border-radius:6px;min-width:0;padding:30px}.web-project__topline{color:var(--steel);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;font-size:.68rem;display:flex}.web-project__topline a{border-bottom:2px solid var(--blue);min-height:42px;color:var(--ink);font-family:var(--font-geist-sans), sans-serif;text-transform:none;padding:12px 0;font-weight:760}.web-project h3{margin-bottom:14px;font-size:1.6rem}.web-project p{color:var(--steel-dark);line-height:1.68}.web-project__contribution{border-top:1px solid var(--line);margin-bottom:0;padding-top:18px}.capability-rail{flex-wrap:wrap;gap:8px;margin-bottom:0;padding:26px 0 0;list-style:none;display:flex}.capability-rail li{color:var(--steel-dark);font-family:var(--font-geist-mono), monospace;background:#ffffff80;border:1px solid #aab6bc;border-radius:3px;padding:8px 10px;font-size:.69rem}.personal-projects{background:var(--paper-bright);padding-block:82px}.personal-projects__inner{grid-template-columns:.8fr 1fr .7fr;align-items:start;gap:54px;display:grid}.personal-projects h2{margin-bottom:0;font-size:2.3rem;line-height:1.08}.personal-projects__inner>p{color:var(--steel-dark);margin-bottom:0;font-size:1.02rem;line-height:1.74}.personal-projects ul{border-top:1px solid var(--line);gap:0;margin-bottom:0;padding:0;list-style:none;display:grid}.personal-projects li{border-bottom:1px solid var(--line);font-family:var(--font-geist-mono), monospace;padding:12px 0;font-size:.72rem}.contact-section{background:var(--ink);color:var(--white);padding-block:100px}.contact-section__inner{grid-template-columns:minmax(0,1.2fr) minmax(260px,.48fr);align-items:end;gap:80px;display:grid}.contact-section h2{max-width:760px;margin-bottom:22px;font-size:3.6rem;line-height:1}.contact-section__copy>p:not(.eyebrow){color:#c3cfd6;max-width:780px;font-size:1.04rem;line-height:1.72}.contact-section__secondary{margin-bottom:0;color:#9fadb6!important;font-size:.93rem!important}.contact-actions{gap:9px;display:grid}.site-footer{color:var(--white);background:#0b1117;border-top:1px solid #2c3a44}.footer-inner{width:min(var(--page-width), calc(100% - 48px));grid-template-columns:1fr auto;gap:28px 54px;margin-inline:auto;padding-block:48px;display:grid}.footer-name{margin-bottom:8px;font-size:1.12rem;font-weight:760;display:inline-block}.footer-inner p{color:#8fa0ab;margin-bottom:0;font-size:.84rem;line-height:1.55}.footer-links{flex-wrap:wrap;align-items:start;gap:20px;display:flex}.footer-links a{color:#c8d2d8;min-height:38px;font-size:.82rem;font-weight:700}.footer-meta{font-family:var(--font-geist-mono), monospace;border-top:1px solid #24313a;grid-column:1/-1;padding-top:22px;font-size:.68rem!important}.footer-meta span{color:var(--amber);padding-inline:8px}.case-hero{background:linear-gradient(#3aa6e812 1px, transparent 1px), linear-gradient(90deg, #3aa6e812 1px, transparent 1px), var(--ink);color:var(--white);background-size:48px 48px;padding-block:42px 76px;position:relative;overflow:hidden}.breadcrumb{color:#95a5af;font-family:var(--font-geist-mono), monospace;flex-wrap:wrap;gap:8px;margin-bottom:54px;font-size:.69rem;display:flex}.breadcrumb a{color:#c6d2d9;min-height:32px}.breadcrumb a:hover{color:var(--blue-bright)}.case-hero__layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);align-items:center;gap:60px;display:grid}.case-hero h1{max-width:780px;margin-bottom:22px;font-size:4.4rem;line-height:1}.case-client{color:var(--amber-light);font-family:var(--font-geist-mono), monospace;font-size:.74rem}.case-summary{color:#c5d0d7;max-width:780px;margin-bottom:28px;font-size:1.13rem;line-height:1.72}.tag-list--dark li{color:#cbd5da;border-color:#4b5c67}.case-hero__visual{background:#ffffff09;border:1px solid #3a4a55;place-items:center;min-width:0;min-height:370px;display:grid}.case-hero__visual .pi-line,.case-hero__visual .pi-axis,.case-hero__visual .pi-conveyor,.case-hero__visual .pi-arm{stroke:#8ca0ac}.case-hero__visual .pi-shape,.case-hero__visual .pi-controller,.case-hero__visual .pi-sensor{fill:#243540;stroke:#70848f}.case-hero__visual .pi-bottle{fill:#22313b;stroke:#91a4af}.case-hero__visual .pi-cells circle,.case-hero__visual .pi-data-bars rect{fill:#9babb4}.case-overview{border-bottom:1px solid var(--line);background:var(--paper-bright);padding-block:88px}.case-overview h2{margin-bottom:38px;font-size:2.75rem}.case-facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.case-facts div{min-width:0;padding:26px 28px 28px 0}.case-facts div+div{border-left:1px solid var(--line);padding-left:28px}.case-facts dt{color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:12px;font-size:.69rem;font-weight:720}.case-facts dd{color:var(--steel-dark);margin-left:0;line-height:1.68}.case-diagram-band{background:var(--ink-soft);color:var(--white);border-bottom:1px solid #2a3944;padding-block:72px}.system-diagram figcaption{color:var(--blue-bright);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:26px;font-size:.72rem;font-weight:730}.system-diagram ol{grid-template-columns:repeat(var(--diagram-columns,6), minmax(0, 1fr));gap:22px;margin-bottom:0;padding:0;list-style:none;display:grid}.system-diagram li{background:#21303a;border:1px solid #536570;min-width:0;min-height:116px;padding:18px;position:relative}.system-diagram li:after{content:"";background:var(--amber-light);width:13px;height:1px;position:absolute;top:50%;right:-18px}.system-diagram li:last-child:after{display:none}.system-diagram span{color:var(--amber-light);font-family:var(--font-geist-mono), monospace;margin-bottom:20px;font-size:.67rem;display:block}.system-diagram strong{overflow-wrap:anywhere;font-size:.88rem;line-height:1.45;display:block}.case-body{grid-template-columns:220px minmax(0,790px);justify-content:center;gap:92px;padding-block:104px;display:grid}.case-toc{top:calc(var(--header-height) + 30px);align-self:start;padding-top:6px;position:sticky}.case-toc>p{color:var(--steel);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:14px;font-size:.68rem}.case-toc ol{border-top:1px solid var(--line);gap:0;margin-bottom:0;padding:0;list-style:none;display:grid}.case-toc a{border-bottom:1px solid var(--line);min-height:42px;color:var(--steel-dark);padding:10px 0;font-size:.79rem;line-height:1.35;display:block}.case-toc a:hover{color:var(--blue)}.case-sections{min-width:0}.case-sections>section{border-bottom:1px solid var(--line);margin-bottom:74px;padding-bottom:74px}.case-section-number{color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:13px;font-size:.7rem;font-weight:730}.case-sections h2{margin-bottom:24px;font-size:2.55rem;line-height:1.06}.case-sections p:not(.case-section-number):not(.eyebrow){color:var(--steel-dark);font-size:1.04rem;line-height:1.78}.case-sections ul:not(.tag-list):not(.outcome-list){color:var(--steel-dark);padding-left:22px;line-height:1.7}.outcome-list{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:0;padding:1px;list-style:none;display:grid}.outcome-list li{background:var(--paper-bright);min-height:104px;padding:20px;font-weight:680;line-height:1.52}.outcome-list li:before{content:"";background:var(--amber);width:24px;height:3px;margin-bottom:18px;display:block}.validation-note{border:1px solid #af974e;border-left:5px solid var(--amber);background:#fff8df;margin:0 0 74px;padding:30px}.validation-note h2{margin-bottom:16px;font-size:1.55rem}.validation-note p:last-child{margin-bottom:0}.tag-list--large li{padding:9px 11px;font-size:.71rem}.confidentiality-note{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-style:italic;font-size:.86rem!important}.project-pagination{border-top:1px solid var(--line);background:var(--paper-bright)}.project-pagination__inner{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-pagination a{min-width:0;padding:38px 34px;transition:background-color .16s}.project-pagination a+a{border-left:1px solid var(--line);text-align:right}.project-pagination a:hover{background:var(--blue-pale)}.project-pagination span{color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:10px;font-size:.68rem;display:block}.project-pagination strong{font-size:1.08rem;line-height:1.45}.resume-page{background:#dde3e6;padding-block:64px 100px}.resume-document{background:var(--paper-bright);width:min(1000px,100% - 48px);box-shadow:var(--shadow);border:1px solid #b8c2c7;margin-inline:auto;padding:62px}.resume-header{border-bottom:4px solid var(--ink);grid-template-columns:1fr auto;gap:40px;padding-bottom:34px;display:grid}.resume-header h1{margin-bottom:10px;font-size:3.35rem;line-height:1}.resume-title{color:var(--steel-dark);margin-bottom:0;font-size:1.08rem;font-weight:650}.resume-header address{text-align:right;align-content:end;gap:8px;font-size:.84rem;font-style:normal;display:grid}.resume-header address a{color:var(--blue)}.resume-actions{justify-content:flex-end;gap:9px;padding-block:22px 0;display:flex}.resume-section{padding-top:42px}.resume-section>h2{border-bottom:1px solid var(--line);color:var(--blue);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin-bottom:20px;padding-bottom:10px;font-size:.79rem}.resume-section>p{color:var(--steel-dark);margin-bottom:0;line-height:1.72}.resume-projects{gap:32px;display:grid}.resume-projects article{border-bottom:1px solid var(--line);padding-bottom:30px}.resume-projects article:last-child{border-bottom:0;padding-bottom:0}.resume-projects h3,.resume-expertise h3,.resume-education h3{margin-bottom:5px;font-size:1.08rem}.resume-project-role{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.69rem;color:var(--blue)!important}.resume-projects p,.resume-projects li{color:var(--steel-dark);font-size:.9rem;line-height:1.62}.resume-projects ul{padding-left:20px}.resume-projects article>a{color:var(--blue);font-size:.84rem;font-weight:700}.resume-expertise{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;display:grid}.resume-expertise p{color:var(--steel-dark);margin-bottom:0;font-size:.82rem;line-height:1.55}.resume-education{gap:18px;display:grid}.resume-education article{justify-content:space-between;gap:20px;display:flex}.resume-education p{color:var(--steel-dark);margin-bottom:0}.resume-education time{color:var(--steel);font-family:var(--font-geist-mono), monospace;white-space:nowrap;font-size:.75rem}.not-found{text-align:center;place-items:center;min-height:70vh;padding:60px 24px;display:grid}.not-found>div{max-width:720px}.not-found h1{margin-bottom:18px;font-size:3.4rem;line-height:1}.not-found p:not(.eyebrow){color:var(--steel-dark);margin-bottom:26px}@media (width<=1120px){.primary-navigation a{padding-inline:6px;font-size:.73rem}.primary-navigation .nav-resume{margin-left:4px}.hero-copy{width:68%}.hero-inner{min-height:0;padding-block:48px 54px}.hero h1{font-size:4rem}.hero-graphic{opacity:.7;width:68%;top:48px;right:-190px}.section-heading,.value-statement__inner{grid-template-columns:.34fr 1fr .86fr;gap:30px}.project-card{grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr)}.project-card__body{padding:30px}.system-diagram ol{grid-template-columns:repeat(3,minmax(0,1fr))}.system-diagram li:nth-child(3n):after{display:none}}@media (width<=900px){:root{--header-height:68px}.header-inner{min-height:var(--header-height);position:relative}.menu-button{display:block}.primary-navigation{border:1px solid var(--line);background:var(--paper-bright);box-shadow:var(--shadow);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:10px;display:none;position:absolute;top:calc(100% + 1px);left:0;right:0}.primary-navigation.is-open{display:grid}.primary-navigation a{background:var(--paper);min-height:46px;padding:10px 12px;font-size:.82rem}.primary-navigation a:after{display:none}.primary-navigation .nav-resume{justify-content:center;min-height:46px;margin-left:0}.hero-inner{min-height:0}.hero h1{font-size:4rem}.hero-copy{width:82%}.hero-graphic{opacity:.45;width:86%;right:-260px}.hero-rail__inner{grid-template-columns:repeat(3,1fr)}.value-statement__inner,.section-heading{grid-template-columns:.36fr 1fr}.value-statement>div>p:last-child,.section-intro{grid-column:2}.about-layout{grid-template-columns:1fr;gap:30px}.about-copy{max-width:720px;padding-top:0}.project-card,.project-card:nth-child(2n){grid-template-columns:1fr}.project-card:nth-child(2n) .project-card__visual{order:0}.project-card__visual,.project-card:nth-child(2n) .project-card__visual{border-right:0;border-bottom:1px solid var(--line);border-left:0;min-height:330px}.problem-highlight__inner,.contact-section__inner{grid-template-columns:1fr}.logic-flow{grid-template-columns:repeat(2,1fr)}.process-list,.web-projects{grid-template-columns:1fr}.personal-projects__inner{grid-template-columns:1fr 1fr}.personal-projects ul{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}.personal-projects li:nth-child(2n){border-left:1px solid var(--line);padding-left:18px}.case-hero__layout{grid-template-columns:1fr}.case-hero__visual{min-height:300px}.case-facts{grid-template-columns:1fr}.case-facts div,.case-facts div+div{border-top:1px solid var(--line);border-left:0;padding:22px 0}.case-facts div:first-child{border-top:0}.case-body{grid-template-columns:1fr;gap:52px}.case-toc{position:static}.case-toc ol{border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}.case-toc li{border-right:1px solid var(--line)}.case-toc a{padding-inline:12px}.resume-document{padding:42px}}@media (width<=700px){.page-width,.header-inner,.footer-inner{width:min(100% - 28px, var(--page-width))}.brand-copy small{display:none}.hero-inner{min-height:0;padding-block:38px 30px;display:flex}.hero-copy{width:100%}.hero h1{font-size:2.85rem;line-height:1.02}.hero-lede{font-size:.96rem;line-height:1.58}.hero-graphic{opacity:.11;width:680px;margin:0;position:absolute;top:146px;right:-230px}.hero-graphic .graphic-node text,.system-graphic__status,.system-graphic__legend{display:none}.hero-rail__inner{width:100%}.hero-rail span{padding-inline:5px;font-size:.58rem}.content-section{padding-block:78px}.value-statement__inner,.section-heading{grid-template-columns:1fr;gap:16px}.value-statement__inner{padding-block:48px}.value-statement>div>p:last-child,.section-intro{grid-column:auto}.value-statement h2{font-size:2rem}.section-heading{margin-bottom:34px}.section-heading h2,.about-layout .section-heading h2{font-size:2.45rem}.about-principles,.expertise-grid{grid-template-columns:1fr}.expertise-card{padding:24px}.project-card__visual{min-height:250px}.project-card__body{padding:24px}.project-card h3{font-size:1.75rem}.problem-highlight{padding-block:72px}.problem-highlight h2{font-size:2.3rem}.logic-flow{grid-template-columns:1fr}.logic-flow li{min-height:120px}.process-list li{grid-template-columns:48px 1fr;gap:14px}.process-list__number{width:42px;height:42px}.web-project{padding:24px}.web-project__topline{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px}.personal-projects{padding-block:70px}.personal-projects__inner{grid-template-columns:1fr;gap:26px}.personal-projects ul{grid-column:auto;grid-template-columns:1fr}.personal-projects li:nth-child(2n){border-left:0;padding-left:0}.contact-section{padding-block:78px}.contact-section h2{font-size:2.75rem}.footer-inner{grid-template-columns:1fr}.footer-meta{grid-column:auto}.case-hero{padding-block:30px 56px}.breadcrumb{margin-bottom:38px}.case-hero h1{font-size:3.2rem}.case-hero__visual{min-height:230px}.case-overview{padding-block:66px}.case-overview h2{font-size:2.25rem}.system-diagram ol{grid-template-columns:1fr;gap:12px}.system-diagram li,.system-diagram li:nth-child(3n){min-height:90px}.system-diagram li:after,.system-diagram li:nth-child(3n):after{width:1px;height:7px;display:block;inset:auto auto -9px 30px}.system-diagram li:last-child:after{display:none}.case-body{padding-block:74px}.case-toc ol{grid-template-columns:1fr}.case-sections>section{margin-bottom:54px;padding-bottom:54px}.case-sections h2{font-size:2.15rem}.outcome-list{grid-template-columns:1fr}.validation-note{padding:24px}.project-pagination__inner{grid-template-columns:1fr;width:100%}.project-pagination a{padding:28px 20px}.project-pagination a+a{border-top:1px solid var(--line);text-align:left;border-left:0}.resume-page{padding-block:28px 60px}.resume-document{width:min(100% - 20px,1000px);padding:26px 22px}.resume-header{grid-template-columns:1fr;gap:24px}.resume-header h1{font-size:2.55rem}.resume-header address{text-align:left}.resume-actions{flex-direction:column;align-items:stretch}.resume-expertise{grid-template-columns:1fr}.resume-education article{flex-direction:column;align-items:flex-start;gap:7px}.not-found h1{font-size:2.7rem}}@media (width<=390px){.primary-navigation{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.hero-actions,.contact-actions{display:grid}.hero-actions .button{width:100%}.hero-utility{gap:14px}.system-graphic__legend{justify-content:space-between;gap:4px}.hero-rail span{overflow-wrap:anywhere}.section-heading h2,.about-layout .section-heading h2{font-size:2.18rem}.expertise-card__header{grid-template-columns:42px 1fr;gap:12px}.contact-section h2,.case-hero h1{font-size:2.55rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:letter;margin:.55in}body{color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif}.site-header,.site-footer,.resume-actions,.skip-link{display:none!important}.resume-page{background:#fff;padding:0}.resume-document{width:100%;box-shadow:none;border:0;padding:0}.resume-header h1{font-size:28pt}.resume-section{break-inside:avoid;padding-top:20px}.resume-projects article,.resume-expertise article,.resume-education article{break-inside:avoid}.resume-projects article>a{display:none}}
