:root{--ink:#19262c;--muted:#53636c;--paper:#fafaf7;--line:#d7dedf;--accent:#3d6777;--wash:#edf1f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #547f92;outline-offset:5px}p{margin:0 0 1.2rem}h1,h2,h3{font-weight:400;line-height:1.14;margin:0 0 1.5rem;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,4.8vw,5.2rem)}h2{font-size:clamp(2rem,3vw,3.1rem)}h3{font-size:1.5rem}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.wrap{max-width:1360px;margin:auto;padding-left:5%;padding-right:5%}.header{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:18px;line-height:1.3;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.06em;margin-top:5px}.monogram{font-family:Georgia,serif;font-size:25px;letter-spacing:-3px;padding-right:11px;position:relative}.monogram span{position:absolute;right:0;bottom:3px;width:5px;height:5px;background:var(--accent)}nav{display:flex;gap:23px}nav a{font-size:14px;color:var(--muted);padding:9px 0;position:relative}nav a:hover,nav a[aria-current]{color:var(--ink)}nav a[aria-current]:after{content:'';position:absolute;height:2px;background:var(--accent);bottom:0;left:0;right:0}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;color:var(--accent);font-weight:600;margin-bottom:25px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;padding-top:90px;padding-bottom:68px;align-items:center}.hero h1{font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.1}.hero-copy{max-width:560px;color:var(--muted);font-size:18px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px;margin:36px 0 58px}.button{background:var(--ink);color:white;padding:15px 23px;display:inline-flex;gap:28px;align-items:center;font-size:14px}.button:hover{background:var(--accent)}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid var(--line);padding-bottom:6px}.text-link:hover{border-color:var(--accent)}.hero-caption{font-size:12px;letter-spacing:.12em;color:var(--muted);margin:0}.architecture{height:460px;position:relative;overflow:hidden;background:#edf1f0;border:1px solid var(--line)}.drawing-grid{position:absolute;inset:0;background-image:linear-gradient(#a5b5bc20 1px,transparent 1px),linear-gradient(90deg,#a5b5bc20 1px,transparent 1px);background-size:32px 32px}.plane{position:absolute;left:23%;width:58%;height:125px;border:1px solid #577b8b;background:#ecf1f1b0;transform:skewY(-19deg);box-shadow:18px 18px 0 #40606e09}.plane span{display:block;transform:skewY(19deg);font-size:10px;letter-spacing:.12em;margin:24px 20px;color:#3d6171}.p1{top:68px;z-index:3}.p2{top:145px;z-index:2}.p3{top:222px;z-index:1;background:#7c9ba129}.arch-line{position:absolute;border-left:1px dashed #7094a0;top:75px;bottom:85px}.one{left:23%}.two{left:81%}.three{left:52%;opacity:.4}.diagram-caption{position:absolute;bottom:24px;left:25px;right:25px;border-top:1px solid #b8c6cb;padding-top:14px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.diagram-caption span{font-size:10px}.credential-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credential-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;font-size:13px;color:var(--muted)}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:45px;margin-bottom:48px;align-items:start}.section-heading>p:last-child{color:var(--muted)}.section-heading.compact{display:flex;justify-content:space-between;align-items:end;gap:24px}.compact h2{margin-bottom:0}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.three-columns>div{border-top:1px solid var(--line);padding-top:28px}.three-columns p{color:var(--muted)}.index{font-size:12px;color:var(--accent);display:block;margin-bottom:28px}.perspective-band{background:var(--wash)}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.article-card{border-top:1px solid #a8b9c0;padding:26px 20px 24px 0;display:flex;flex-direction:column;transition:transform .2s}.article-card:hover{transform:translateY(-5px)}.card-top{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:.08em;margin-bottom:45px}.article-card .eyebrow{font-size:11px;margin-bottom:18px}.article-card h3{font-family:Georgia,serif;font-size:29px;letter-spacing:-.02em;line-height:1.25}.article-card p:not(.eyebrow){color:var(--muted);font-size:15px}.read{font-size:13px;padding-top:24px;margin-top:auto;display:flex;justify-content:space-between}.lab-teaser{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lead{font-size:21px;line-height:1.65;color:var(--muted);max-width:760px}.tech-list{font-size:12px;letter-spacing:.04em;color:var(--accent);margin-top:28px}.closing{background:var(--ink);color:var(--paper);padding:75px 0}.closing .eyebrow{color:#a8c4ce}.closing h2{font-size:clamp(2.2rem,4vw,4rem)}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#dbe6e9}footer{padding-top:48px;padding-bottom:32px;display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:12px;color:var(--muted)}footer>div:nth-child(2){text-align:right}.footer-name{font-size:18px;color:var(--ink)}footer p{margin:5px 0}.disclaimer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:11px}.page-intro{padding-top:85px;padding-bottom:65px}.page-intro h1{max-width:1000px}.top-less{padding-top:0}.editorial-note{border-top:1px solid var(--line);font-size:13px;color:var(--muted);padding-top:24px;margin-top:40px;max-width:850px}.focus-list{padding-bottom:80px}.focus-row{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:.2fr 1fr 1.2fr;gap:35px}.focus-row h2{font-size:28px}.focus-row h3{font-size:18px;letter-spacing:0}.focus-row p{color:var(--muted);margin:0}.lab-layout,.experience-layout,.about-layout,.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:12%;padding-bottom:70px}.lab-layout aside{align-self:start;position:sticky;top:35px}.lab-layout aside h2{font-size:30px}.lab-layout p,.about-layout p,.contact-layout p{color:var(--muted)}.lab-category{border-top:1px solid var(--line);padding:30px 0 12px}.lab-category .tech-list{margin-top:18px}.experience-layout{gap:10%}.large-number{font-family:Georgia,serif;font-size:120px;line-height:1;color:var(--accent)}.large-number span{font-size:50px}.experience-summary>p{margin-top:24px}.timeline>div{border-top:1px solid var(--line);padding:30px 0}.timeline h2{font-size:28px}.timeline p{color:var(--muted)}.timeline .eyebrow{margin-bottom:16px}.about-quote{background:var(--wash);padding:36px;align-self:start}.about-quote blockquote{font-family:Georgia,serif;font-size:31px;line-height:1.4;margin:35px 0}.about-quote p{font-size:12px}.about-layout h2{font-size:30px}.principles{border-top:1px solid var(--line)}.contact-panel{border:1px solid var(--line);padding:35px;align-self:start;background:var(--wash)}.contact-panel a{display:block;border-top:1px solid #b9c7cd;padding:22px 0;overflow-wrap:anywhere;font-size:20px}.contact-panel small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.location{margin-top:50px}.location span{font-size:14px}.note-list{padding-bottom:80px}.note-list>a{display:block;padding:35px 0;border-top:1px solid var(--line)}.note-list h2{font-family:Georgia,serif;font-size:30px;margin-top:15px}.note-list h2 span{float:right}.note-list p{max-width:750px;color:var(--muted)}.essay{max-width:940px;padding-top:60px;padding-bottom:85px}.essay>.eyebrow{margin-top:45px}.essay h1{font-size:clamp(2.6rem,5vw,4.3rem)}.byline{border-bottom:1px solid var(--line);padding-bottom:30px;margin-top:30px;font-size:13px;color:var(--muted)}.essay-body{max-width:700px;padding-top:25px;font-size:18px;line-height:1.85}.essay-body h2{font-size:26px;margin-top:38px}.article-end{max-width:700px;padding:25px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted);margin-top:40px}.skip{position:absolute;left:12px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:12px}
@media(min-width:1450px){.wrap{padding-left:60px;padding-right:60px}}@media(max-width:1100px){nav{gap:13px}nav a{font-size:12px}.brand{font-size:16px}.hero{gap:30px}.hero h1{font-size:46px}.architecture{height:420px}.diagram-caption{display:block}.diagram-caption span{display:block}.section-heading{grid-template-columns:1fr 1.5fr}.section-heading>p:last-child{grid-column:2}.three-columns{gap:28px}.article-card h3{font-size:25px}}@media(max-width:850px){.header{min-height:90px;position:relative}.menu-toggle{display:flex;gap:25px;border:1px solid var(--line);background:none;font:14px Arial;padding:12px;color:var(--ink)}nav{display:none;position:absolute;top:89px;left:0;right:0;background:var(--paper);z-index:10;box-shadow:0 15px 20px #19262c12;padding:22px 5%}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:18px}nav a{font-size:16px}.hero{padding-top:55px;grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(38px,7vw,60px)}.hero-copy{max-width:650px}.hero-actions{margin-bottom:30px}.architecture{height:350px;max-width:650px;width:100%}.plane{left:29%;width:44%;height:95px}.p1{top:48px}.p2{top:103px}.p3{top:158px}.arch-line.one{left:29%}.arch-line.two{left:73%}.diagram-caption{display:flex}.credential-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block}.section-heading h2{margin-top:10px}.section-heading>p:last-child{max-width:600px}.article-grid{gap:20px}.article-card h3{font-size:22px}.card-top{margin-bottom:30px}.lab-layout,.about-layout,.experience-layout,.contact-layout{gap:6%}.focus-row{grid-template-columns:.12fr 1fr 1.2fr;gap:20px}.focus-row h2{font-size:24px}.about-quote{padding:25px}.about-quote blockquote{font-size:25px}.page-intro{padding-top:60px}.large-number{font-size:90px}}
@media(max-width:600px){.wrap{padding-left:6%;padding-right:6%}.hero-copy{font-size:17px}.hero .eyebrow{font-size:11px;line-height:1.8}.hero-actions{gap:20px;align-items:flex-start;flex-direction:column}.architecture{height:315px}.plane{left:24%;width:55%}.plane span{font-size:9px}.arch-line.one{left:24%}.arch-line.two{left:79%}.diagram-caption{display:block}.credential-strip .wrap{font-size:12px}.three-columns,.article-grid,.lab-teaser,.lab-layout,.about-layout,.experience-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.three-columns{gap:18px}.three-columns>div{padding-top:20px}.index{margin-bottom:18px}.compact{align-items:start!important;flex-direction:column}.card-top{margin-bottom:30px}.article-card h3{font-size:29px}.article-card{padding-right:0}.article-card p:not(.eyebrow){font-size:16px}.focus-row{grid-template-columns:30px 1fr}.focus-row>div{grid-column:2}.focus-row h2{font-size:25px}.lab-layout aside{position:static}.page-intro{padding-bottom:40px}.lead{font-size:19px}.experience-summary{border-bottom:1px solid var(--line);padding-bottom:25px}.about-layout{padding-bottom:45px}.contact-panel{padding:25px}.essay-body{font-size:17px}.note-list h2{font-size:26px}.closing{padding:55px 0}footer{grid-template-columns:1fr;gap:20px}footer>div:nth-child(2){text-align:left}.disclaimer{grid-column:1}.section-heading{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{nav,.menu-toggle,.hero-actions,.architecture{display:none}.wrap{max-width:none}body{background:white}.section{padding-top:25px;padding-bottom:25px}a{color:black}.closing{background:white;color:black}}
