@font-face{font-family:"Space Grotesk";src:url("assets/fonts/space-grotesk.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#1b1d1a;--sidebar:#181a17;--surface:#232720;--surface-raised:#2a2e26;--text:#e8e4da;--muted:#a7ad9f;--quiet:#969e8c;--line:#373d32;--accent:#dfad8c;--green:#bac9a4;--display:"Space Grotesk",sans-serif;--body:Manrope,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sidebar-width:248px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:45px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:400}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:0}svg{display:block}::selection{color:#1b1d1a;background:#dfad8c}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--accent);color:var(--bg);padding:12px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.container{width:min(940px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:87px}.eyebrow{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:1.35px;line-height:1.6;color:var(--quiet)}main{margin-left:var(--sidebar-width)}
/* The fixed side navigation becomes a compact header on smaller screens. */
.site-header{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);border-right:1px solid var(--line);background:var(--sidebar);z-index:20}.header-inner{display:flex;flex-direction:column;height:100%;padding:42px 30px 27px;overflow-y:auto}.brand{display:block;align-self:flex-start}.brand-mark{font-family:var(--display);display:block;font-size:36px;line-height:1;margin-bottom:26px;letter-spacing:-2px}.brand-mark span{color:var(--accent)}.brand-name{display:block;font-family:var(--display);font-size:21px;line-height:1.3;letter-spacing:-.5px}.brand-role{display:block;font-family:var(--body);font-size:10px;letter-spacing:0;color:var(--muted);margin-top:12px}nav{display:flex;flex-direction:column;gap:5px;margin-top:55px}nav>a{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted);padding:11px 0;transition:color .2s}nav>a>span{font-family:var(--mono);font-size:8px;color:var(--quiet)}nav>a>.icon{width:12px;height:12px;flex-basis:12px;margin-left:auto}nav>a:hover,nav>a[aria-current="location"]{color:var(--accent)}nav>a[aria-current="location"]>span{color:var(--accent)}.sidebar-bottom{margin-top:auto;padding-top:45px}.location{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.location-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}.sidebar-links{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.sidebar-links>a{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.sidebar-links>a:hover{color:var(--accent)}.sidebar-links .icon{width:11px;height:11px;flex-basis:11px}.menu-toggle{display:none;background:transparent;width:44px;height:44px;padding:11px}.menu-toggle>span{display:block;width:22px;height:1px;background:var(--text);margin:6px 0;transition:transform .2s}
/* Introduction: factual copy, a current-focus note, and comfortable spacing. */
.hero{padding-top:67px;padding-bottom:65px;border-bottom:1px solid var(--line)}.hello-line{margin-bottom:29px}.hello-line .eyebrow{color:var(--accent);font-size:9px}h1{font-size:clamp(65px,6.6vw,92px);line-height:1.04;letter-spacing:-4px}h1 em{font-weight:400;font-style:normal;color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:55px;margin-top:37px;align-items:start}.hero-copy>p{font-size:14px;line-height:1.95;color:var(--muted)}.hero-copy>p+p{margin-top:16px}.text-link{display:inline-flex;align-items:center;gap:17px;min-height:44px;border-bottom:1px solid #626b54;font-size:12px;color:var(--text);padding-bottom:6px;transition:color .2s,border-color .2s}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-copy .text-link{margin-top:22px}.text-link .icon{width:15px;height:15px;flex-basis:15px}.now-note{position:relative;background:#252b22;border:1px solid #414a38;border-radius:5px;padding:24px 22px;transform:rotate(1.5deg)}.note-pin{position:absolute;top:-4px;left:calc(50% - 4px);width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 2px 4px #0005}.now-note .eyebrow{color:var(--green);font-size:7px;letter-spacing:1px}.now-note dl{margin:20px 0 0}.now-note dl>div+div{margin-top:18px}.now-note dt{font-size:9px;color:var(--muted);margin-bottom:3px}.now-note dd{margin:0;font-size:11px;line-height:1.6;color:#e0e4d6}
/* Work reads as project notes; each interactive model is an optional disclosure. */
.section-heading{margin-bottom:34px}.section-heading>.eyebrow{margin-bottom:19px}h2{font-size:clamp(36px,3.5vw,48px);line-height:1.2;letter-spacing:-1.8px}h2 em{font-style:normal;color:var(--accent)}.section-heading>p:not(.eyebrow){max-width:570px;font-size:13px;line-height:1.95;color:var(--muted);margin-top:21px}.work-toolbar{margin-bottom:11px}.filter-list{display:flex;gap:7px;flex-wrap:wrap}.filter-button{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;padding:8px 12px;min-height:39px;border-radius:4px;color:var(--muted);font-size:10px;transition:background .2s,color .2s}.filter-button>span{font-family:var(--mono);font-size:8px;color:var(--quiet)}.filter-button:hover{background:var(--surface)}.filter-button.active{border-color:#48513d;background:#2b3326;color:#d0ddbd}.filter-button.active>span{color:#bccca7}.projects-grid{display:block}.project{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;border-bottom:1px solid var(--line);padding-top:30px;scroll-margin-top:40px}.project-number{font-family:var(--mono);font-size:9px;color:var(--quiet);padding-top:2px}.project-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:7px;letter-spacing:.8px;color:var(--quiet);line-height:1.6;margin-bottom:11px}.project-meta>span:first-child{color:var(--green)}.project h3{font-size:24px;letter-spacing:-.6px;line-height:1.35;margin-bottom:11px}.project-content>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:670px}.project-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px;margin-bottom:10px}.project-tags>span{font-family:var(--mono);font-size:8px;padding:3px 8px;border:1px solid #3d4535;background:#22271f;color:#b9c5a8;border-radius:3px}.case-study>summary,.earlier-experience>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding-block:15px 19px;font-size:11px;font-weight:500;color:#cfbaaa;min-height:50px}.case-study>summary::-webkit-details-marker,.earlier-experience>summary::-webkit-details-marker,.project-demo>summary::-webkit-details-marker{display:none}.case-study>summary::marker,.earlier-experience>summary::marker,.project-demo>summary::marker{content:""}.case-study>summary:hover{color:var(--accent)}.summary-icon{font-family:var(--display);font-size:24px;font-weight:300;line-height:1;transition:transform .2s}.summary-open{display:none}.case-study[open] .summary-open{display:inline}.case-study[open] .summary-closed{display:none}.case-study[open] .summary-icon,.earlier-experience[open]>.summary-icon,.earlier-experience[open]>summary>.summary-icon{transform:rotate(45deg)}.case-body{padding-top:4px;padding-bottom:26px}.case-body>div+div{margin-top:22px}.case-body h4{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:.5px;color:var(--green);margin-bottom:8px}.case-body p{font-size:13px;line-height:1.95;color:var(--muted)}.case-outcome{border-left:2px solid #a98a70;background:#242821;padding:15px 18px}.case-outcome p{color:#d5d8cd}.case-flow{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-family:var(--mono);font-size:8px}.case-flow>span{border:1px solid #424c39;padding:5px 8px;border-radius:3px;color:#c6d0b7}.case-flow>b{font-weight:400;color:var(--accent)}.project-disclaimer{font-size:10px;line-height:1.9;color:var(--quiet);margin-top:25px}
/* Practical leadership and career history. */
.approach-section{background:#20241e;border-block:1px solid var(--line)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:38px}.principle-symbol{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #566048;border-radius:50%;color:var(--green);font-size:18px;font-weight:300;margin-bottom:20px}.principles h3{font-size:18px;line-height:1.4;letter-spacing:-.4px;margin-bottom:11px}.principles p{font-size:12px;color:var(--muted);line-height:1.9}.workbench{border-top:1px solid #3d4535;margin-top:43px;padding-top:24px}.workbench .eyebrow{font-size:8px;color:var(--green)}.workbench>p:not(.workbench-note){display:flex;flex-wrap:wrap;gap:7px 13px;font-family:var(--display);font-size:15px;line-height:1.7;margin-top:13px}.workbench>p>span{color:#69755b}.workbench .workbench-note{font-size:11px;line-height:1.9;color:var(--muted);max-width:600px;margin-top:12px}.experience-list{margin-top:36px}.experience-row{display:grid;grid-template-columns:134px minmax(0,1fr);gap:20px;padding-block:28px;border-top:1px solid var(--line)}.experience-date{display:flex;align-items:center;align-self:start;gap:9px;padding-top:6px;font-family:var(--mono);font-size:8px;color:var(--quiet)}.timeline-dot{width:5px;height:5px;flex:0 0 5px;border:1px solid #7f8e6c;border-radius:50%}.timeline-dot.current{background:var(--accent);border-color:var(--accent)}.experience-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.experience-title h3{font-size:24px;line-height:1.3;letter-spacing:-.7px}.experience-place{color:var(--quiet);font-size:9px}.experience-role{font-size:11px;color:var(--green);margin-top:6px;margin-bottom:12px;line-height:1.65}.experience-role>span{display:block;color:var(--quiet);font-size:9px;margin-top:4px}.experience-content>p:not(.experience-role){font-size:12px;color:var(--muted);line-height:1.95}.experience-content>.experience-extra{margin-top:12px}.earlier-experience{border-block:1px solid var(--line);margin-top:8px}.earlier-experience>summary{padding-block:19px;font-size:12px}.early-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:28px;padding-top:10px}.early-grid .eyebrow{font-size:8px;color:var(--green)}.early-grid h3{font-size:17px;line-height:1.5;margin-top:11px;margin-bottom:9px}.early-grid p{font-size:12px;line-height:1.9;color:var(--muted)}.education{display:grid;grid-template-columns:1fr 1fr;gap:24px 35px;margin-top:31px}.education>.eyebrow{grid-column:1 / -1;font-size:8px}.education h3{font-size:14px;line-height:1.6;margin-bottom:5px}.education p{font-size:11px;color:var(--muted)}.education div>span{font-family:var(--mono);font-size:8px;color:var(--quiet)}
/* Interests are kept simple, without generated photographs or testimonials. */
.outside-section{padding-top:8px}.hobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.hobby-card{border:1px solid #434c39;border-radius:6px;background:#252b22;padding:26px}.photography-card{border-color:#51483d;background:#2b2822}.hobby-copy h3{font-size:24px;line-height:1.3;letter-spacing:-.6px}.hobby-copy p{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.9}.diving-note{display:flex;align-items:center;gap:16px;margin-top:27px;color:#b1c3b7}.diving-note>svg{width:34px;height:23px;fill:none;stroke:#a9bba2;stroke-width:1}.diving-note p{font-size:12px;line-height:1.6}.diving-note p>span{display:block;font-size:9px;color:var(--quiet);margin-top:3px}
.contact-section{border-block:1px solid var(--line);background:#23261f}.contact-section .eyebrow{color:var(--accent);margin-bottom:21px}.contact-section h2{font-size:49px;letter-spacing:-1.7px}.contact-intro{max-width:590px;font-size:14px;color:var(--muted);margin-top:24px;line-height:1.95}.email-group{display:flex;align-items:center;gap:20px;position:relative;margin-top:32px}.email-link{display:flex;align-items:center;gap:17px;min-width:0;overflow-wrap:anywhere;font-family:var(--display);font-size:clamp(17px,2.05vw,28px);letter-spacing:-.65px;line-height:1.7;color:var(--accent)}.email-link:hover{color:#f3caac}.email-link .icon{width:22px;height:22px;flex-basis:22px}.copy-button{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid #5a634e;background:transparent;color:#bcc7ad;border-radius:4px}.copy-button:hover{background:#343d2b}.copy-button .icon{width:14px;height:14px;flex-basis:14px}.copy-status{position:absolute;top:100%;left:0;font-size:10px;color:#c7d4b9}.contact-secondary{display:flex;flex-wrap:wrap;gap:30px;margin-top:28px}.contact-secondary a{display:flex;align-items:center;gap:9px;min-height:40px;font-size:11px;color:var(--muted)}.contact-secondary a:hover{color:var(--accent)}.contact-secondary .icon{width:13px;height:13px;flex-basis:13px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding-block:24px;color:var(--quiet);font-size:8px}.site-footer a{display:flex;align-items:center;gap:8px;min-height:30px}.site-footer .icon{width:11px;height:11px;flex-basis:11px}
/* Project models. Values are calculated locally from the visible assumptions. */
.project-demo{border:1px solid #444f3a;border-radius:5px;background:#21261e;margin-bottom:23px}.project-demo>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:49px;padding:13px 16px;font-size:11px;color:var(--green)}.project-demo>summary>.icon{width:14px;height:14px;flex-basis:14px;transition:transform .2s}.project-demo[open]>summary>.icon{transform:rotate(90deg)}.demo-body{padding:4px 18px 20px}.demo-description{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:18px}.demo-controls{display:grid;grid-template-columns:1fr 1fr;gap:19px 25px}.demo-control{display:block;min-width:0}.demo-label{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#c5cdba;margin-bottom:8px}.demo-label output{font-family:var(--mono);color:var(--accent);font-size:10px}.demo-control input[type=range]{display:block;accent-color:var(--green);width:100%;height:25px;margin:0}.demo-control input[type=number],.demo-control select,.demo-select{display:block;width:100%;min-height:38px;border:1px solid #505d43;border-radius:3px;background:#1b2118;padding:7px 10px;font-size:11px}.demo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.demo-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:37px;padding:8px 11px;border:1px solid #60734f;border-radius:3px;background:#303e27;color:#d8e4c9;font-size:10px}.demo-button:hover{background:#405135}.demo-button.secondary{background:transparent;border-color:#536047;color:#c5cdbd}.demo-button:disabled{opacity:.45;cursor:default}.demo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid #414b38;margin-top:22px;padding-top:17px}.demo-stat>span{display:block;color:var(--muted);font-size:9px;line-height:1.6}.demo-stat>strong{display:block;font-family:var(--display);font-size:23px;font-weight:400;color:var(--text);line-height:1.3;margin-top:6px}.demo-stat>small{font-size:8px;color:var(--quiet)}.demo-assumption{font-family:var(--mono);font-size:8px;line-height:1.8;color:#9ca78f;margin-top:15px}.worker-visual{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 0 2px}.worker-node{display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:30px;border:1px solid #637b50;border-radius:3px;color:#c3d8ad;background:#2e3b24;font-family:var(--mono);font-size:9px}.worker-node.offline{border-style:dashed;border-color:#776455;background:#2d251f;color:#b4a08e}.load-meter{margin-top:20px}.load-meter-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:var(--muted);margin-bottom:7px}.load-meter-track{height:7px;background:#343c2d;border-radius:6px;overflow:hidden}.load-meter-fill{height:100%;background:#aebf99;width:0;border-radius:6px;transition:width .25s}.load-meter-fill.overloaded{background:#dcaa87}.demo-message{font-size:11px;line-height:1.8;color:#c8d7b6;margin-top:16px;min-height:20px}.demo-message.warning{color:#e2b295}.source-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}.source-note{border:1px solid #414b38;background:#20251d;padding:12px;border-radius:3px;opacity:.65;transition:opacity .2s,border-color .2s}.source-note.selected{opacity:1;border-color:#a9bc90;background:#303c26}.source-note>span{font-family:var(--mono);font-size:7px;color:var(--green)}.source-note>p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:7px}.retrieval-result{border-left:2px solid var(--accent);margin-top:17px;padding-left:14px}.retrieval-result>span{font-family:var(--mono);font-size:8px;color:var(--accent)}.retrieval-result>p{font-size:11px;line-height:1.9;color:#d6ddca;margin-top:7px}.retrieval-result>a{display:inline-flex;align-items:center;gap:7px;margin-top:9px;font-size:10px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px}.workflow-step{border:1px solid #46523c;background:#22291e;color:var(--muted);padding:12px 10px;min-height:78px;border-radius:3px;text-align:left}.workflow-step>span{display:block;font-family:var(--mono);font-size:8px;color:var(--quiet);margin-bottom:5px}.workflow-step>strong{font-size:10px;font-weight:400;line-height:1.6;display:block}.workflow-step.active{border-color:#a8bd8d;background:#303f25;color:#d7e5c7}.workflow-step.complete{border-color:#6c8554;background:#283521;color:#c5d9af}.workflow-step.active>span,.workflow-step.complete>span{color:#bdd2a5}.workflow-step.manual{border-color:#a27b59;background:#3b2e22;color:#dfba97}.step-description{font-size:11px;color:var(--muted);line-height:1.9;margin-top:17px;min-height:48px}.permission-scopes{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:18px}.permission-scopes label{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:#c7d5b7;min-height:33px}.permission-scopes input{accent-color:var(--green);width:16px;height:16px}.permission-controls{display:grid;grid-template-columns:1fr auto;gap:10px}.audit-log{padding:12px;background:#191f16;border:1px solid #3e4a34;border-radius:3px;max-height:132px;overflow:auto;margin-top:17px;font-family:var(--mono);font-size:9px;line-height:2;color:var(--muted)}.audit-entry{display:flex;align-items:flex-start;gap:12px}.audit-entry>.allow{color:#bad99a}.audit-entry>.deny{color:#e6b08d}.sample-label{font-family:var(--mono);font-size:8px;color:var(--quiet);margin-bottom:9px}
@media(min-width:1550px){:root{--sidebar-width:280px}.header-inner{padding-inline:38px}.container{width:min(1020px,calc(100% - 144px))}.hero{padding-top:86px}.hero-bottom{gap:95px}.hero-copy>p{font-size:15px}.now-note{max-width:300px;margin-left:auto;width:100%}.section-pad{padding-block:100px}.project h3{font-size:27px}.project-content>p,.case-body p{font-size:14px}.principles p,.experience-content>p:not(.experience-role){font-size:13px}}
@media(max-width:1150px){:root{--sidebar-width:210px}.header-inner{padding-inline:24px}.container{width:calc(100% - 80px)}.brand-name{font-size:20px}nav>a{font-size:10px;gap:11px}.hero-bottom{gap:28px}.hero-copy>p{font-size:13px}.now-note{padding:21px 17px}.now-note dd{font-size:10px}.project-meta{font-size:6.5px}.principles{gap:20px}.principles h3{font-size:17px}.experience-row{grid-template-columns:112px minmax(0,1fr);gap:14px}.experience-date{font-size:7px}.email-group{gap:13px}.email-link{font-size:21px}.email-link .icon{width:17px;height:17px;flex-basis:17px}}
@media(max-width:900px){:root{--sidebar-width:0px}html{scroll-padding-top:103px}.site-header{position:sticky;top:0;inset:0 0 auto;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--line);background:#181a17f5;backdrop-filter:blur(14px)}.header-inner{height:auto;min-height:80px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:15px 30px;overflow:visible;gap:0 18px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-size:30px;margin:0}.brand-name{font-size:15px;line-height:1.2;letter-spacing:-.2px}.brand-name>br{display:none}.brand-name>br::after{content:" "}.brand-role{font-size:9px;margin-top:5px}.sidebar-bottom{display:none}.js-enabled .menu-toggle{display:block}nav{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;flex-basis:100%;gap:10px 20px;margin-top:18px}nav>a{padding:9px 0;font-size:11px}nav>a>span{display:none}.js-enabled nav{display:none}.js-enabled nav.is-open{display:flex}nav>a>.icon{margin-left:0}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}html:not(.js-enabled) .site-header{position:static}.container{width:calc(100% - 80px)}.hero{padding-top:57px}.hero-bottom{grid-template-columns:1.3fr 1fr;gap:45px}h1{font-size:77px}.now-note{padding:24px 22px}.now-note dd{font-size:11px}.section-pad{padding-block:73px}.project{scroll-margin-top:104px}.outside-section{padding-top:0}.email-link{font-size:25px}.experience-row{grid-template-columns:128px minmax(0,1fr);gap:25px}.experience-date{font-size:8px}}
@media(max-width:600px){html{scroll-padding-top:96px}.container{width:calc(100% - 40px)}.header-inner{min-height:75px;padding:13px 20px}.brand-name{font-size:14px}.brand-mark{font-size:29px}.brand-role{font-size:8px}.brand-name>br{display:initial}nav{gap:3px 20px;margin-top:16px;padding-bottom:7px}nav>a{flex-basis:calc(50% - 10px);font-size:11px}.hero{padding-top:35px;padding-bottom:41px}.hello-line{margin-bottom:23px}.hello-line .eyebrow{font-size:7.5px;letter-spacing:1.1px}h1{font-size:clamp(53px,12.9vw,74px);letter-spacing:-2.6px;line-height:1.04}.hero-bottom{grid-template-columns:1fr;gap:32px;margin-top:26px}.hero-copy>p{font-size:14px;line-height:1.95}.hero-copy .text-link{margin-top:19px}.now-note{transform:none;padding:22px;max-width:none}.now-note .eyebrow{font-size:8px}.now-note dl{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;margin-top:18px}.now-note dl>div+div{margin-top:0}.now-note dl>div:last-child{grid-column:1 / -1}.now-note dt{font-size:9px}.now-note dd{font-size:11px}.section-pad{padding-block:56px}.section-heading{margin-bottom:25px}h2{font-size:35px;letter-spacing:-1.3px;line-height:1.18}.section-heading>.eyebrow{font-size:8px;margin-bottom:18px}.section-heading>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-top:19px}.filter-list{gap:4px}.filter-button{font-size:9px;padding:8px 9px;gap:6px}.filter-button>span{font-size:7px}.project{grid-template-columns:1fr;gap:0;padding-top:23px;position:relative}.project-number{position:absolute;top:24px;right:0;font-size:8px}.project-meta{padding-right:26px;font-size:6.5px;gap:6px 12px;margin-bottom:12px}.project h3{font-size:24px;letter-spacing:-.6px}.project-content>p{font-size:13px}.project-tags{margin-top:16px}.case-study>summary{font-size:11px;padding-block:15px 19px}.case-body p{font-size:13px}.case-body h4{font-size:9px}.case-outcome{padding:14px}.project-disclaimer{font-size:9px}.principles{grid-template-columns:1fr;gap:27px;margin-top:30px}.principles>article{display:flex;align-items:flex-start;gap:17px}.principle-symbol{flex:0 0 31px;width:31px;height:31px;font-size:16px;margin:0}.principles h3{font-size:19px;margin-bottom:9px}.principles p{font-size:13px}.workbench{margin-top:30px}.workbench>p:not(.workbench-note){font-size:14px;gap:6px 10px}.workbench .workbench-note{font-size:11px}.experience-row{grid-template-columns:1fr;gap:14px;padding-block:24px}.experience-date{font-size:8px;padding-top:0}.experience-title h3{font-size:24px}.experience-content{padding-left:14px}.experience-role{font-size:11px}.experience-content>p:not(.experience-role){font-size:13px}.experience-role>span{font-size:9px}.early-grid{grid-template-columns:1fr;gap:25px;padding-bottom:24px}.early-grid h3{font-size:19px}.early-grid p{font-size:13px}.earlier-experience>summary{font-size:11px}.education{grid-template-columns:1fr;gap:24px}.education h3{font-size:15px}.education p{font-size:12px}.education div>span{font-size:9px}.outside-section{padding-top:0}.hobby-grid{gap:13px}.hobby-card{padding:23px 18px}.hobby-copy h3{font-size:21px;letter-spacing:-.5px}.diving-note{margin-top:24px}.contact-section h2{font-size:38px;letter-spacing:-1.4px}.contact-intro{font-size:13px;margin-top:20px}.email-group{gap:10px;margin-top:25px;flex-wrap:wrap}.email-link{font-size:clamp(14px,4.1vw,22px);letter-spacing:-.5px;gap:10px}.email-link .icon{width:15px;height:15px;flex-basis:15px}.copy-button{width:33px;height:33px;flex-basis:33px}.contact-secondary{gap:23px;margin-top:23px}.contact-secondary a{font-size:10px}.site-footer{padding-block:19px;font-size:8px;gap:10px}.site-footer>span:nth-child(2){display:none}.project-demo>summary{font-size:10px;padding:12px}.demo-body{padding:4px 12px 16px}.demo-description{font-size:10px}.demo-controls{gap:17px 16px}.demo-label{font-size:9px}.demo-label output{font-size:9px}.demo-stats{gap:8px}.demo-stat>strong{font-size:22px}.demo-stat>span{font-size:8px}.demo-stat>small{font-size:7px}.demo-assumption{font-size:7px}.worker-node{flex-basis:29px;height:27px;font-size:8px}.worker-visual{gap:6px}.source-notes{grid-template-columns:1fr;gap:7px}.source-note{padding:10px 12px}.source-note>p{font-size:10px;margin-top:4px}.workflow-steps{grid-template-columns:1fr 1fr;gap:7px}.workflow-step{min-height:68px}.step-description{min-height:70px}.permission-scopes{gap:7px 15px}.permission-scopes label{font-size:9px}.permission-controls{grid-template-columns:1fr}.audit-log{font-size:8px}.demo-message{font-size:10px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.header-inner{padding-inline:16px}h1{font-size:49px;letter-spacing:-2.4px}.hello-line .eyebrow{font-size:6.8px}.hero-copy>p{font-size:13px}.now-note{padding:20px 17px}.now-note dl{gap:15px 12px}.now-note dd{font-size:10px}h2{font-size:32px}.filter-button{padding-inline:7px;font-size:8px;gap:5px}.filter-button>span{font-size:7px}.hobby-card{padding:20px 13px}.hobby-copy h3{font-size:19px}.email-link{font-size:13.5px;gap:8px}.email-group{gap:8px}.copy-button{width:30px;height:30px;flex-basis:30px}.demo-body{padding-inline:10px}.demo-controls{gap:16px 12px}.demo-stat>strong{font-size:20px}.demo-label{font-size:8px}.demo-stat>small{font-size:6.5px}.demo-button{padding-inline:9px;font-size:9px}}
.hero-heading{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:45px}.hero-heading h1{font-size:clamp(59px,5.8vw,86px)}.portrait{margin:0;position:relative;border:1px solid #515d43;border-radius:6px;overflow:hidden;transform:rotate(2deg)}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.portrait figcaption{position:absolute;left:0;right:0;bottom:12px;font-family:var(--mono);font-size:8px;letter-spacing:.6px;color:#abb79c;text-align:center}.project-ownership{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10px;line-height:1.8;color:#c2cbb6;margin-top:15px}.project-ownership>span{color:var(--quiet);font-family:var(--mono);font-size:8px}.permission-controls>.demo-button{align-self:end}.project-meta{font-size:8px}.brand-name>br::after{content:" "}
@media(max-width:600px){.hero-heading{grid-template-columns:minmax(0,1fr) 97px;gap:20px}.hero-heading h1{font-size:clamp(36px,9.6vw,53px);letter-spacing:-1.8px}.portrait{transform:rotate(1deg)}.portrait figcaption{font-size:6px;bottom:7px;letter-spacing:0}.project-meta{font-size:7px}.project-ownership{font-size:9px}.project-ownership>span{font-size:7px}}
@media(max-width:370px){.hero-heading{grid-template-columns:minmax(0,1fr) 86px;gap:15px}.hero-heading h1{font-size:34px;letter-spacing:-1.6px}}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px}.hero-actions .secondary-link{color:var(--muted);border-color:var(--line);font-size:11px}.hero-actions .secondary-link:hover{color:var(--accent);border-color:var(--accent)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.filter-button,.copy-button,.project-demo,.demo-button,.source-note,.workflow-step{border:1px solid ButtonText}.filter-button.active,.workflow-step.active{outline:2px solid Highlight}.worker-visual,.load-meter-track{forced-color-adjust:none}}
@media print{@page{margin:15mm}html{color-scheme:light}body{background:white;color:black;font-size:10pt}.site-header,.hello-line,.now-note,.hero-copy .text-link,.work-toolbar,.project-demo,.summary-icon,.copy-button,.site-footer,.skip-link{display:none!important}main{margin:0}.container{width:100%}.section-pad{padding-block:25px}.hero{padding:0 0 22px}h1{font-size:34pt;letter-spacing:-1px}h1>br{display:none}h1 em,h2 em{color:#704e35}.hero-bottom{display:block;margin-top:20px}.hero-copy>p{font-size:10pt;color:#333}.project{break-inside:avoid;padding-top:18px}.project h3{font-size:17pt}.case-study>summary{display:none}.case-body h4,.project-meta,.project-meta>span:first-child,.project-content>p,.case-body p,.section-heading>p:not(.eyebrow),.principles p,.experience-content>p:not(.experience-role),.experience-role,.experience-extra,.education p,.education span,.early-grid p,.contact-intro,.contact-secondary a,.eyebrow{color:#333}.case-outcome,.approach-section,.contact-section,.hobby-card,.photography-card,.project-tags>span,.source-note{background:white;color:black}.case-flow>span{color:#333}.experience-row{break-inside:avoid}.contact-section h2,h2{font-size:25pt}.contact-intro{font-size:10pt}.email-link{font-size:14pt;color:#704e35}.contact-secondary a[download]{display:none}.project-number,.experience-date,.experience-place{color:#555}.outside-section{padding-top:20px}.diving-note{color:#444}.diving-note p>span{color:#444}}
