@charset "UTF-8";
:root{--ink:#182322;--paper:#f5f3ed;--muted:#626964;--line:#d8dcd2;--accent:#d8eb89;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}p{line-height:1.65}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}a:focus-visible,button:focus-visible{outline:3px solid #7ca327;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;z-index:20;left:12px;top:-100px;padding:14px;background:var(--accent)}.skip:focus{top:12px}.header{height:88px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff24}.wordmark{font-size:27px;font-weight:700;letter-spacing:-2px}.wordmark span{color:#9ba989;font-weight:400}.header nav{display:flex;gap:34px;align-items:center;font-size:13px}.header a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid #9da694;padding:9px 0}.nav-contact span{margin-left:15px}.hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.25fr 1fr;gap:8%;padding:60px 9% 64px;align-items:center}.eyebrow{font-size:10px;line-height:1.4;letter-spacing:2px;font-weight:700;margin-bottom:24px}.light{color:#cbd3c5}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:10px}.hero h1{font-family:var(--serif);font-size:clamp(78px,8.3vw,122px);line-height:.87;letter-spacing:-6px;font-weight:400;margin:30px 0}.accent{color:var(--accent)}.hero-statement{font-size:clamp(23px,2.1vw,30px);line-height:1.27;letter-spacing:-.7px}.hero-intro{font-size:14px;color:#bbc5ba;max-width:460px;margin-top:21px;line-height:1.7}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;padding:17px 23px;font-size:12px;font-weight:700;border:1px solid transparent;transition:background .2s}.button.primary{background:var(--accent);color:var(--ink)}.button.primary:hover{background:#e6f4b6}.text-link{font-size:12px;line-height:1.5;font-weight:600;border-bottom:1px solid #a4ac9c;padding-bottom:5px;display:inline-block}.text-link span{margin-left:12px}.text-link:hover{border-bottom-color:currentColor}.hero-role{font-size:10px;letter-spacing:.5px;color:#acb6ab;margin-top:38px}.hero-role span{margin:0 10px;color:#66715e}.hero-photo{width:100%;max-width:400px;justify-self:end;position:relative}.portrait{width:100%;aspect-ratio:412/710;background:url('innovate.png') no-repeat right top;background-size:263.6% auto}.hero-photo:before{content:'';position:absolute;top:-14px;right:-14px;bottom:42px;left:22px;border:1px solid #657353;pointer-events:none}.hero-photo figcaption{font-size:10px;line-height:1.6;margin-top:14px;color:#bfc8b8;position:relative}.hero-photo figcaption span{font-size:8px;letter-spacing:1.5px;color:var(--accent);margin-right:12px}.context-strip{display:flex;gap:36px;justify-content:space-between;align-items:center;padding:29px 9%;border-bottom:1px solid var(--line)}.context-strip>span{font-size:9px;max-width:100px;letter-spacing:1.3px;text-transform:uppercase;line-height:1.5;color:var(--muted)}.context-strip p{font-size:15px;font-weight:600;color:#4c5850;letter-spacing:-.3px}.section{padding:100px 9%;scroll-margin-top:0}.section h2,.contact h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.8vw,55px);line-height:1.12;letter-spacing:-1.6px}h2 em{font-weight:400;color:#6a7b57}.perspective{padding-bottom:88px}.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}.body-copy p{font-size:15px;color:#58625b;margin-bottom:20px}.perspective .text-link{margin-top:5px}.work{background:#e9ece3}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}.section-heading>p{font-size:13px;color:var(--muted);max-width:300px}.framework{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);padding:48px;gap:50px}.framework-intro{display:flex;flex-direction:column;align-items:flex-start}.framework-intro h3{font-family:var(--serif);font-size:64px;font-weight:400;letter-spacing:-3px;margin:8px 0 20px}.framework-intro h3 span{font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:0;display:block;margin-top:9px;color:#c2cbbd}.framework p:not(.eyebrow){font-size:14px;line-height:1.8;color:#b8c4b5;max-width:340px}.framework-intro .text-link{margin-top:auto;padding-top:25px}.invariants{border-left:1px solid #52604c;padding-left:48px;position:relative}.invariant-number{font-family:var(--serif);font-size:88px;line-height:1;color:var(--accent);position:absolute;right:0;top:-7px;opacity:.8}.invariant-number span{font-size:35px}.invariants .eyebrow{padding-right:90px;margin-bottom:32px}.invariants h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.13;letter-spacing:-.5px;margin-bottom:18px}.invariants .button{margin-top:25px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.project{border-top:1px solid #9faa93;padding:24px 0;display:flex;flex-direction:column;align-items:flex-start}.project-index{font-size:9px;letter-spacing:1px;color:#5a6852;display:flex;justify-content:space-between;width:100%}.project-index span{font-size:17px}.project h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:22px 0 13px}.project p{font-size:13px;color:#5f675e;max-width:310px;margin-bottom:23px}.project-cta{font-size:11px;font-weight:700;margin-top:auto;border-bottom:1px solid #a8b29d;padding-bottom:5px}.project:hover h3{color:#5a6b40}.all-work{margin-top:14px}.speaking{padding-top:104px}.event-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px}.photo-button{display:block;border:0;padding:0;background:var(--ink);width:100%;position:relative;cursor:zoom-in;overflow:hidden;margin-bottom:28px}.innovate-wide{aspect-ratio:1.45;overflow:hidden;position:relative}.innovate-wide img{width:161.8%;max-width:none;height:auto}.owasp-image{width:100%;height:100%;object-fit:cover;object-position:center 24%;aspect-ratio:1.3}.enlarge{position:absolute;right:12px;bottom:12px;background:#182322e8;color:white;padding:10px 14px;font-size:10px}.event .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}.event h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15;margin-bottom:14px;letter-spacing:-.6px}.event>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:23px;max-width:460px}.owasp{padding-top:70px}.topics{display:grid;grid-template-columns:1fr 3fr;gap:35px;border-top:1px solid var(--line);padding-top:36px;margin-top:55px}.topics .eyebrow{margin-top:10px}.topics>div{display:flex;flex-wrap:wrap;gap:10px}.topics span{border:1px solid #c6ceba;padding:10px 14px;font-size:11px;border-radius:2px}.about{background:#ece9e1;display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.about h2{font-size:45px;margin-bottom:32px}.about .body-copy{max-width:580px}.contributions>div{border-top:1px solid #c9cdbf;padding:17px 0}.contributions h3{font-size:13px;font-weight:600;margin-bottom:8px}.contributions p:not(.eyebrow){font-size:12px;line-height:1.65;color:#66705f}.contact{background:var(--ink);color:var(--paper);padding:88px 9%;display:flex;justify-content:space-between;gap:40px;align-items:center}.contact h2{font-size:42px}.contact h2 em{color:var(--accent)}.contact p:not(.eyebrow){font-size:13px;color:#b4beac;margin-top:24px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:23px;flex-shrink:0}footer{display:flex;justify-content:space-between;align-items:center;padding:26px 6%;gap:20px}footer p,footer>a:not(.wordmark){font-size:10px;color:#65705e}footer p span{margin:0 9px}dialog{border:0;background:#141b19;padding:16px;color:white;max-width:min(95vw,1000px);max-height:95vh;overflow:auto}dialog::backdrop{background:#08100de8}dialog img{max-height:82vh;max-width:100%;width:auto;margin:auto;object-fit:contain}dialog p{font-size:12px;margin-top:12px;padding-right:30px}.close-dialog{position:fixed;right:25px;top:20px;border:1px solid #c5d0bb;background:var(--ink);color:white;width:44px;height:44px;font-size:30px;cursor:pointer;z-index:3}
@media(min-width:1500px){.hero,.section,.contact{padding-left:max(9%,calc((100vw - 1250px)/2));padding-right:max(9%,calc((100vw - 1250px)/2))}}
@media(max-width:900px){.hero{gap:6%;padding:50px 6%}.hero h1{font-size:91px}.hero-intro{font-size:13px}.hero-role{margin-top:28px}.hero-photo:before{right:-9px;top:-9px}.actions{gap:20px}.context-strip{padding:25px 6%;gap:20px}.context-strip p{font-size:12px}.section{padding:75px 6%}.perspective-grid{gap:8%}.framework{padding:32px;gap:30px}.invariants{padding-left:30px}.framework-intro h3{font-size:53px}.section-heading>p{max-width:220px}.event-grid{gap:32px}.about{gap:7%}.about h2{font-size:36px}.contact{padding:66px 6%;flex-direction:column;align-items:flex-start}.contact-actions{flex-direction:row;align-items:center}.contact h2{font-size:40px}}
@media(max-width:600px){html{scroll-padding-top:24px}.header{height:70px;padding:0 6%}.header nav{gap:18px;font-size:11px}.nav-contact{display:none}.hero{display:flex;flex-direction:column;padding:40px 6% 34px;gap:37px;align-items:stretch}.hero .eyebrow{font-size:8px;letter-spacing:1.8px}.hero h1{font-size:91px;letter-spacing:-4px;margin:25px 0}.hero-statement{font-size:24px}.hero-intro{font-size:14px;max-width:390px}.hero-role{font-size:9px}.hero-photo{width:78%;max-width:340px;align-self:flex-end;margin-right:10px}.portrait{aspect-ratio:412/560}.hero-photo:before{bottom:45px}.hero-photo figcaption{font-size:9px}.hero-photo figcaption span{font-size:7px;margin-right:5px}.context-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:25px 6%}.context-strip>span{grid-column:1/-1;max-width:none;font-size:8px}.context-strip p{font-size:14px}.section{padding:58px 6%}.eyebrow{font-size:9px;margin-bottom:20px}.section h2{font-size:37px;letter-spacing:-1px}.perspective-grid{grid-template-columns:1fr;gap:30px}.perspective-grid h2 br:nth-child(2){display:none}.body-copy p{font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:none;font-size:12px}.framework{grid-template-columns:1fr;padding:28px;gap:35px}.framework-intro h3{font-size:58px;margin-top:0}.framework p:not(.eyebrow){font-size:13px}.framework-intro .text-link{padding-top:24px}.invariants{border-left:0;border-top:1px solid #52604c;padding:30px 0 0}.invariant-number{top:26px;font-size:72px}.invariants .eyebrow{margin-bottom:25px}.invariants h3{font-size:29px}.invariants .button{font-size:11px;padding:16px;gap:15px}.projects{grid-template-columns:1fr;gap:5px;margin-top:25px}.project h3{margin:12px 0;font-size:29px}.project p{max-width:none;font-size:13px;margin-bottom:18px}.all-work{margin-top:0}.event-grid{grid-template-columns:1fr;gap:40px}.owasp{padding-top:0}.owasp-image{aspect-ratio:1.15}.event h3{font-size:28px}.event .eyebrow{font-size:8px}.topics{grid-template-columns:1fr;gap:0;margin-top:35px;padding-top:25px}.topics span{font-size:10px}.about{grid-template-columns:1fr;gap:28px}.about .contributions{margin-top:10px}.contact{padding:56px 6%;gap:28px}.contact h2{font-size:34px;letter-spacing:-1px}.contact h2 br{display:none}.contact-actions{flex-direction:column;align-items:flex-start;gap:20px}footer{flex-wrap:wrap;padding:24px 6%}footer p{order:3;flex-basis:100%;font-size:9px}dialog{padding:10px;max-width:96vw}.close-dialog{right:16px;top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
