@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap";:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;--ink:#111;--muted:#6f706d;--line:#d7d5ce;--paper:#f4f3ef;--accent:#1769ff;background:#f4f3ef;font-family:DM Sans,Inter,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{color:#f4f3ef;background:#111}.section-pad{padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px)}.section-rule{border-top:1px solid var(--line)}.site-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#f4f3efe0;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,5vw,80px);display:flex;position:sticky;top:0}.wordmark{letter-spacing:.08em;font-size:12px;font-weight:600}.dot{color:var(--accent)}.nav{color:#4b4c49;align-items:center;gap:24px;font-size:12px;display:flex}.nav a{align-items:center;gap:4px;transition:color .2s;display:flex}.nav a:hover{color:var(--accent)}.nav-cv{border:1px solid var(--ink);padding:10px 13px;color:var(--ink)!important}.menu-button{background:0 0;border:0;display:none}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100vh - 76px);padding-top:clamp(80px,11vh,150px);padding-bottom:64px;display:flex}.hero-meta,.section-heading,.contact-top{justify-content:space-between;align-items:center;display:flex}.eyebrow{letter-spacing:.12em;align-items:center;gap:10px;margin:0;font-size:10px;font-weight:600;display:flex}.eyebrow-line{background:var(--ink);width:28px;height:1px;display:inline-block}.hero-index,.section-number{letter-spacing:.08em;color:var(--muted);font-size:10px}.hero-grid{grid-template-columns:minmax(0,1.38fr) minmax(250px,.62fr);align-items:end;gap:8vw;margin:11vh 0 8vh;display:grid}.hero h1{letter-spacing:-.075em;max-width:1050px;margin:0;font-size:clamp(48px,7.1vw,116px);font-weight:500;line-height:.94}.hero h1 em,.case-header p,.experience-heading em,.speaking h2 em,.capabilities-head em,.about h2 em,.contact h2 em{color:#858680;font-style:normal}.hero-aside{border-left:1px solid var(--line);max-width:360px;padding-left:24px}.hero-kicker{margin:0 0 30px;font-size:17px;line-height:1.15}.hero-copy{color:var(--muted);max-width:300px;margin:0 0 14px;font-size:13px}.hero-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:end;padding-top:18px;display:flex}.hero-footer>p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.hero-actions,.contact-actions{flex-wrap:wrap;gap:10px;display:flex}.button{border:1px solid var(--ink);justify-content:center;align-items:center;gap:16px;padding:14px 16px;font-size:12px;transition:transform .25s,background .25s,color .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-light{background:0 0}.signals,.case-study,.split-section,.speaking,.experience,.capabilities,.about,.testimonial{padding-top:22px;padding-bottom:clamp(100px,13vw,190px)}.signals-intro{grid-template-columns:1fr 1fr;gap:8vw;margin:12vw 0 10vw;display:grid}.signals-intro h2,.experience-heading h2,.capabilities-head h2{letter-spacing:-.08em;margin:0;font-size:clamp(50px,8vw,124px);font-weight:500;line-height:.86}.signals-intro h2 span{color:#858680}.signals-intro>p{max-width:310px;color:var(--muted);align-self:end;margin:0;font-size:14px}.signal-list{border-top:1px solid var(--line)}.signal{border-bottom:1px solid var(--line);grid-template-columns:7% 18% 1fr 24px;align-items:start;gap:16px;padding:25px 0;transition:padding .3s;display:grid}.signal:hover{background:#ebeae4;padding-left:14px;padding-right:14px}.signal-number,.signal-name small{color:var(--muted);font-size:10px}.signal-name{font-size:15px;font-weight:600}.signal-name small{letter-spacing:.08em;margin-top:5px;font-weight:400;display:block}.signal h3{letter-spacing:-.04em;max-width:540px;margin:0;font-size:clamp(18px,2vw,28px);font-weight:500;line-height:1.05}.signal p{color:var(--muted);max-width:240px;margin:1px 0 0;font-size:12px}.signal-arrow{color:var(--accent)}.case-header{justify-content:space-between;align-items:end;margin:13vw 0 7vw;display:flex}.case-header h2{letter-spacing:-.1em;margin:0;font-size:clamp(72px,14vw,210px);font-weight:500;line-height:.75}.case-header p{max-width:310px;margin:0;font-size:clamp(18px,2vw,28px);line-height:1.05}.case-layout{grid-template-columns:.72fr 1.28fr;gap:10vw;display:grid}.case-statement>p,.case-bottom p{letter-spacing:-.04em;max-width:390px;margin:24px 0 80px;font-size:clamp(20px,2.3vw,31px);line-height:1.08}.case-role{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:13px;font-size:11px;display:flex}.case-role span,.placeholder-note span{color:var(--muted);letter-spacing:.12em;font-size:9px}.architecture{background:#e9e8e2;min-height:440px;padding:24px}.arch-stack{max-width:450px;margin:28px auto 0}.arch-node{background:#f4f3efcc;border:1px solid #abaeaa;align-items:center;gap:14px;padding:15px 18px;font-size:13px;display:flex}.arch-node span{color:var(--muted);font-size:9px}.node-1{color:#f4f3ef;background:#111;border-color:#111}.node-3,.node-5{margin-left:7%;margin-right:7%}.node-2,.node-4{margin-left:3%;margin-right:3%}.case-bottom{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:4vw;margin-top:60px;padding-top:18px;display:grid}.case-bottom p{margin:19px 0 0;font-size:17px}.case-links{flex-direction:column;align-items:start;gap:14px;font-size:12px;display:flex}.case-links a{border-bottom:1px solid var(--ink);padding-bottom:5px}.muted-link{color:var(--muted)}.split-grid,.about-grid{grid-template-columns:1fr 1fr;gap:8vw;margin-top:12vw;display:grid}.split-title h2{letter-spacing:-.08em;max-width:720px;margin:0;font-size:clamp(48px,7.4vw,108px);font-weight:500;line-height:.88}.split-copy{justify-self:end;max-width:410px}.split-copy p{color:var(--muted);margin:0 0 25px;font-size:15px;line-height:1.45}.split-copy .lead{color:var(--ink);letter-spacing:-.05em;font-size:clamp(25px,3vw,42px);line-height:1.03}.lead span{color:var(--accent)}.placeholder-note{border-top:1px solid var(--line);color:var(--muted);margin-top:54px;padding-top:12px;font-size:11px;line-height:1.5}.mini-list{border-top:1px solid var(--line);flex-direction:column;margin-top:50px;display:flex}.mini-list span{border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}.speaking{color:var(--paper);background:#171817}.speaking .eyebrow,.speaking .section-number{color:#a2a49f}.speaking .eyebrow-line{background:var(--paper)}.speaking-grid{grid-template-columns:1fr 1fr;gap:8vw;margin-top:14vw;display:grid}.speaking h2{letter-spacing:-.09em;margin:0;font-size:clamp(48px,8vw,120px);font-weight:500;line-height:.86}.speaking-grid>div{max-width:320px}.speaking-grid p{color:#a2a49f;font-size:15px}.attendee{border-top:1px solid #464945;align-items:end;gap:12px;margin-top:70px;padding-top:16px;display:flex}.attendee strong{letter-spacing:-.1em;font-size:75px;font-weight:500;line-height:.8}.attendee span{color:#a2a49f;font-size:10px;line-height:1.2}.experience-heading,.capabilities-head{grid-template-columns:1fr 1fr;gap:8vw;margin:12vw 0 10vw;display:grid}.experience-heading p,.capabilities-head p{max-width:300px;color:var(--muted);align-self:end;margin:0;font-size:14px}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:30% 1fr;gap:8vw;padding:30px 0;display:grid}.timeline-date{color:var(--muted);font-size:11px}.timeline h3{letter-spacing:-.05em;margin:0 0 3px;font-size:28px;font-weight:500}.timeline .role{margin:0 0 20px;font-size:12px}.timeline-item p:not(.role){color:var(--muted);max-width:450px;font-size:13px}.timeline ul{flex-wrap:wrap;gap:6px 24px;margin:22px 0 0;padding:0;list-style:none;display:flex}.timeline li{color:#444;align-items:center;gap:7px;font-size:11px;display:flex}.timeline li svg{color:var(--accent)}.skill-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:3vw;padding-top:20px;display:grid}.skill-group h3{letter-spacing:.1em;margin:0 0 20px;font-size:10px}.skill-group div{flex-direction:column;gap:8px;display:flex}.skill-group span{font-size:14px}.about{background:#e9e8e2}.about-grid{margin-top:10vw}.about h2{letter-spacing:-.07em;margin:0;font-size:clamp(38px,5vw,75px);font-weight:500;line-height:.92}.about-grid>div{justify-self:end;max-width:370px}.about-grid p{color:var(--muted);margin:0 0 20px;font-size:15px}.testimonial-box{text-align:center;max-width:800px;margin:12vw auto 0}.quote-mark{color:var(--accent);font-family:Georgia,serif;font-size:100px;line-height:.5}.testimonial-box h2{letter-spacing:-.07em;margin:30px 0;font-size:clamp(30px,4vw,60px);font-weight:500;line-height:.95}.testimonial-box p{color:var(--muted);font-size:13px}.placeholder-tag{letter-spacing:.1em;color:var(--muted);font-size:9px}.contact{background:#dce5ff;padding-top:clamp(100px,13vw,190px);padding-bottom:80px}.contact h2{letter-spacing:-.1em;max-width:1100px;margin:12vw 0 35px;font-size:clamp(52px,9vw,140px);font-weight:500;line-height:.84}.contact>p{color:#4e596e;max-width:390px;font-size:16px}.contact-actions{margin-top:45px}.footer{border-top:1px solid #1113;grid-template-columns:1.3fr 1fr 1fr 1.5fr;font-size:11px;display:grid;padding-top:18px!important;padding-bottom:22px!important}.footer div{gap:16px;display:flex}.footer a:hover{text-decoration:underline}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.resume-page{background:var(--paper);max-width:1100px;min-height:calc(100vh - 76px);margin:0 auto;padding:35px 50px 70px}.resume-actions{justify-content:space-between;align-items:center;margin-bottom:80px;font-size:12px;display:flex}.resume-actions button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.resume-header{justify-content:space-between;gap:30px;display:flex}.resume-header h1{letter-spacing:-.09em;margin:20px 0 12px;font-size:72px;font-weight:500;line-height:.9}.resume-position{color:var(--muted);font-size:15px}.resume-contact{text-align:right;color:var(--muted);font-size:11px;line-height:1.7}.resume-contact a{color:var(--ink);text-decoration:underline}.resume-rule{border-top:1px solid var(--ink);margin:40px 0 25px}.resume-page h2{letter-spacing:.12em;text-transform:uppercase;margin:0 0 15px;font-size:10px}.resume-summary{grid-template-columns:30% 1fr;gap:5vw;display:grid}.resume-summary p{letter-spacing:-.03em;max-width:600px;margin:0;font-size:18px;line-height:1.15}.resume-columns{grid-template-columns:.75fr 1.25fr;gap:8vw;margin-top:55px;display:grid}.resume-item{border-top:1px solid var(--line);padding:14px 0 18px}.resume-item h3{margin:0 0 5px;font-size:18px;font-weight:500}.resume-item p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.resume-item .resume-role{color:var(--ink);margin-bottom:6px}.resume-date{color:var(--muted);margin-bottom:9px;font-size:10px}.resume-skills{border-top:1px solid var(--ink);margin-top:25px;padding-top:15px}.resume-skills p{margin:0;font-size:12px;line-height:1.6}@media (width<=760px){.site-header{height:64px}.menu-button{display:block}.nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px;padding:20px 24px;display:none;position:absolute;top:64px;left:0;right:0}.nav.open{display:flex}.hero{min-height:auto;padding-top:65px;padding-bottom:45px}.hero-grid,.signals-intro,.split-grid,.speaking-grid,.experience-heading,.capabilities-head,.about-grid{grid-template-columns:1fr;gap:45px;margin-top:75px;margin-bottom:70px}.hero-grid{margin-top:85px}.hero h1{font-size:clamp(48px,14vw,82px)}.hero-aside{border-left:0;border-top:1px solid var(--line);max-width:none;padding:18px 0 0}.hero-footer{flex-direction:column;align-items:start;gap:24px}.hero-actions{width:100%}.button{flex:1}.signals-intro h2,.experience-heading h2,.capabilities-head h2{font-size:clamp(56px,16vw,90px)}.signal{grid-template-columns:36px 1fr 20px;gap:10px}.signal h3{grid-column:2;margin-top:4px;font-size:22px}.signal p{grid-column:2;max-width:280px}.signal-arrow{grid-area:1/3}.case-header{margin:80px 0 50px;display:block}.case-header h2{margin-bottom:35px;font-size:100px}.case-header p{max-width:270px}.case-layout{grid-template-columns:1fr;gap:60px}.architecture{min-height:360px;padding:16px}.case-bottom{grid-template-columns:1fr;gap:28px;margin-top:40px}.case-statement>p{margin-bottom:50px}.split-copy{justify-self:start}.speaking h2{font-size:clamp(55px,15vw,90px)}.timeline-item{grid-template-columns:1fr;gap:14px}.skill-grid{grid-template-columns:1fr 1fr;gap:38px 20px}.contact h2{font-size:clamp(58px,15vw,95px)}.footer{grid-template-columns:1fr 1fr;gap:18px}.footer span:last-child{grid-column:1/-1}.resume-page{padding:24px 24px 50px}.resume-actions{margin-bottom:55px}.resume-header{display:block}.resume-header h1{font-size:58px}.resume-contact{text-align:left;margin-top:25px}.resume-summary,.resume-columns{grid-template-columns:1fr;gap:25px}.resume-summary p{font-size:18px}.resume-columns{margin-top:40px}.resume-page .eyebrow{font-size:9px}}@media print{body{background:#fff}.site-header,.resume-actions{display:none}.resume-page{background:#fff;max-width:none;min-height:0;padding:0}.resume-header h1{font-size:55px}.resume-header{margin-top:0}.resume-rule{margin-top:25px}.resume-summary p{font-size:15px}.resume-columns{margin-top:35px}.resume-item{padding:10px 0 12px}.resume-item h3{font-size:15px}.resume-item p{font-size:10px}.resume-skills{margin-top:18px}.footer{display:none}@page{size:auto;margin:16mm}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.button,.signal{transition:none}}
