:root{--field-paper:#fff;--field-ink:#26323e;--field-muted:#526674;--field-blue:#006cae;--field-line:#cbd3da;--field-display:var(--font-b612), Arial, sans-serif;--field-body:var(--font-b612), Arial, sans-serif;--field-mono:var(--font-b612-mono), Consolas, monospace}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}.field-shell{color:var(--field-ink);font-family:var(--field-body);background:#fff;min-height:100vh;font-size:16px;line-height:1.6}.field-shell ::selection{color:#163650;background:#bbdff5}.field-shell :focus-visible{outline-offset:4px;outline:3px solid #0076bf}.field-shell main:focus{outline:none}.field-shell button{font-family:inherit}.field-skip-link{z-index:100;opacity:0;pointer-events:none;color:#142d40;background:#fff;border:2px solid #006cae;padding:12px 20px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.field-skip-link:focus{opacity:1;pointer-events:auto;transform:translateY(0)}.plain-link{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.plain-link:hover{color:var(--field-blue)}.field-button{color:#fff;background:#116da8;border:1px solid #075582;border-radius:4px;justify-content:center;align-items:center;gap:15px;min-height:47px;padding:12px 19px;font-size:14px;line-height:1.4;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffff36}.field-button:hover{background:#075d94}.field-text-link{text-underline-offset:4px;align-items:center;gap:14px;font-size:15px;text-decoration:underline;display:inline-flex}.field-header{z-index:30;background:#fff;border-bottom:1px solid #c9d1d7;position:relative}.field-header-inner{justify-content:space-between;align-items:center;gap:32px;max-width:1680px;min-height:75px;margin:auto;padding:0 42px;display:flex}.field-brand{letter-spacing:-.045em;white-space:nowrap;font-size:17px;font-weight:700;text-decoration:none}.field-primary-nav{align-items:center;gap:33px;display:flex}.field-primary-nav a{padding:8px 0;font-size:14px;text-decoration:none}.field-primary-nav a[aria-current],.field-primary-nav a:hover{color:#006cae;text-underline-offset:7px;text-decoration:underline}.field-header-right{align-items:center;gap:22px;display:flex}.header-contact{text-underline-offset:4px;font-size:13px;text-decoration:underline}.field-menu-button{background:#edf0f3;border:1px solid #c6cfd6;border-radius:4px;place-items:center;width:42px;height:38px;display:grid;box-shadow:inset 0 1px #fff}.field-menu-button:hover{background:#e1e7eb}.field-menu{background:#fff;border-bottom:1px solid #aebbc5;padding:22px 42px 30px;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 22px #233c4e12}.field-menu>nav{max-width:1596px;margin:auto}.field-menu-links{grid-template-columns:repeat(5,1fr);gap:18px 25px;display:grid}.field-menu-links a{padding:5px 0;font-size:15px;text-decoration:none}.field-menu-links a:hover{color:#006cae;text-decoration:underline}.home-workspace{background:#d2dfe8;height:clamp(660px,76vw,800px);position:relative;overflow:hidden}.home-introduction{z-index:3;pointer-events:none;position:absolute;top:49px;left:4.5%}.home-introduction h1{letter-spacing:-.065em;margin:0 0 25px;font-size:clamp(48px,4.3vw,75px);font-weight:700;line-height:1.03}.home-introduction p{color:#3f5363;margin-bottom:15px;font-size:15px;line-height:1.85}.home-introduction a{pointer-events:auto;text-underline-offset:5px;font-size:14px;text-decoration:underline}.flight-scene{isolation:isolate;min-width:0;position:relative}.flight-scene--showcase{background:#d2dfe8;height:100%}.scene-art{position:absolute;inset:0}.scene-canvas-host{opacity:0;transition:opacity .4s;position:absolute;inset:0}.scene-canvas-host.is-ready{opacity:1}.flight-canvas{cursor:grab;width:100%;height:100%;display:block}.flight-canvas:active{cursor:grabbing}.scene-fallback{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.airfield-static{display:block;position:absolute;inset:0}.airfield-static img{object-fit:contain;width:100%;height:100%}.airfield-offline-links{flex-wrap:wrap;justify-content:center;gap:18px 30px;padding:0 25px 35px;font-size:14px;display:flex}.airfield-offline-links a{text-underline-offset:5px;text-decoration:underline}.aircraft-caption{text-align:right;z-index:2;flex-direction:column;align-items:flex-end;max-width:320px;display:flex;position:absolute;bottom:106px;right:4.5%}.aircraft-caption strong{letter-spacing:-.04em;font-size:24px;font-weight:700}.aircraft-caption>span{margin:5px 0 9px;font-size:13px;line-height:1.6}.aircraft-caption>a{text-underline-offset:4px;font-size:13px;text-decoration:underline}.scene-toolbar{z-index:4;background:#e8edf1;border-top:1px solid #b8c5ce;justify-content:space-between;align-items:center;gap:18px;padding:15px 32px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 1px #ffffffa1}.scene-tools,.scene-light-controls{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.scene-tools button,.scene-light-controls button{color:#263f52;background:linear-gradient(#f9fafb,#e3e8ec);border:1px solid #b3c0ca;border-radius:3px;justify-content:center;align-items:center;gap:7px;min-width:36px;min-height:37px;padding:7px 10px;font-size:12px;display:inline-flex;box-shadow:inset 0 1px #fff,0 1px 1px #455e6d12}.scene-tools button:hover,.scene-light-controls button:hover{background:#f5f8fb;border-color:#6a8ba0}.scene-tools button[aria-pressed=true],.scene-light-controls button[aria-pressed=true]{background:#c9dbe8;border-color:#7395ad;box-shadow:inset 0 1px 3px #24445b2e}.scene-tools button:disabled,.scene-light-controls button:disabled{opacity:.45}.scene-drag-hint{color:var(--field-muted);font-size:12px}.scene-expand{text-underline-offset:4px;color:#254a66;white-space:nowrap;align-items:center;gap:9px;font-size:13px;text-decoration:underline;display:inline-flex}.scene-unavailable{background:#fffffff2;border:1px solid #b9c9d4;border-radius:4px;max-width:360px;padding:15px 18px;font-size:13px;position:absolute;bottom:92px;left:32px}.scene-unavailable button{text-underline-offset:3px;align-items:center;gap:7px;margin-top:7px;text-decoration:underline;display:flex}.scene-export-error{z-index:5;color:#4b6171;background:#fff;border:1px solid #bdccd6;border-radius:4px;max-width:340px;padding:12px 16px;font-size:12px;position:absolute;bottom:85px;left:30px}.home-work{grid-template-columns:1fr 2fr;gap:75px;max-width:1440px;margin:auto;padding:88px 5%;display:grid}.home-section-intro h2{letter-spacing:-.055em;margin:0 0 24px;font-size:37px;font-weight:700;line-height:1.2}.home-section-intro p{color:var(--field-muted);max-width:310px;margin-bottom:25px;font-size:15px;line-height:1.85}.home-section-intro .plain-link{font-size:14px}.home-projects{flex-direction:column;gap:42px;display:flex}.home-project{grid-template-columns:210px 1fr;align-items:center;gap:28px;text-decoration:none;display:grid}.project-illustration{background:#e9eef2;border-radius:4px;justify-content:center;align-items:center;height:190px;display:flex;overflow:hidden}.project-illustration>svg{width:100%;transform:rotate(-14deg)}.home-project>div:last-child>span{color:#637483;font-size:12px}.home-project h3{letter-spacing:-.04em;margin:11px 0 12px;font-size:21px;font-weight:700;line-height:1.4}.home-project:hover h3{text-underline-offset:5px;color:#006cae;text-decoration:underline}.home-project p{color:#5b6873;font-size:14px;line-height:1.8}.project-illustration--puzzle{background:#d8dde1}.puzzle-circuit{background:#263f3d;border:2px solid #20312f;border-radius:4px;width:120px;padding:16px;transform:perspective(600px)rotateY(-16deg)rotate(9deg);box-shadow:8px 10px #7b878c}.puzzle-circuit>span{text-align:center;color:#c6dcb5;font:25px var(--field-mono);background:#121d1e;border:2px solid #8b9b8d;border-radius:2px;padding:5px;display:block}.circuit-lights{justify-content:flex-end;gap:5px;padding:9px 2px;display:flex}.circuit-lights i{background:#728766;border-radius:50%;width:5px;height:5px}.circuit-lights i:last-child{background:#e3b64c}.circuit-keypad{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.circuit-keypad b{font:10px var(--field-mono);text-align:center;background:#c5cdd0;border-radius:2px;padding:3px}.home-notebook{border-top:1px solid #d5dce2;grid-template-columns:1fr 2fr;gap:75px;max-width:1440px;margin:auto;padding:60px 5% 75px;display:grid}.home-notebook h2{letter-spacing:-.05em;margin:0 0 15px;font-size:30px;font-weight:700;line-height:1.25}.home-notebook>div:first-child>p{color:#5c6c77;font-size:14px}.home-writing-list>a{border-bottom:1px solid #d4dde3;justify-content:space-between;align-items:flex-start;gap:25px;padding:24px 0;text-decoration:none;display:flex}.home-writing-list>a:first-child{padding-top:0}.home-writing-list h3{letter-spacing:-.03em;font-size:20px;font-weight:700;line-height:1.4}.home-writing-list>a:hover h3{color:#006cae;text-underline-offset:4px;text-decoration:underline}.home-writing-list p{color:#5b6a76;margin-top:10px;font-size:14px;line-height:1.8}.home-writing-list time{color:#677683;flex:0 0 100px;padding-top:5px;font-size:12px}.draft-label{color:#556c7f;border:1px solid #b7c4ce;border-radius:3px;margin-bottom:9px;padding:1px 6px;font-size:11px;display:inline-block}.writing-empty{max-width:570px;margin-top:0!important}.writing-empty a{text-underline-offset:4px;text-decoration:underline}.home-latest-note{border-left:3px solid #a5becf;margin-top:31px;padding-left:20px}.home-latest-note>span{color:#6a7884;font-size:12px}.home-latest-note p{color:#263c4e;margin:9px 0;font-size:17px}.home-latest-note>a{text-underline-offset:3px;font-size:12px;text-decoration:underline}.home-person{background:#edf2f6;grid-template-columns:240px 1fr;align-items:center;gap:64px;max-width:1296px;margin:0 auto 80px;padding:44px;display:grid}.home-portrait{object-fit:cover;object-position:center 25%;border-radius:3px;width:240px;height:270px}.home-person h2{letter-spacing:-.05em;margin-bottom:22px;font-size:32px;font-weight:700;line-height:1.25}.home-person p{max-width:700px;margin:16px 0;font-size:15px;line-height:1.9}.home-person-links{flex-wrap:wrap;gap:30px;margin-top:22px;font-size:14px;display:flex}.home-person-links>a{text-underline-offset:4px;text-decoration:underline}.field-footer{border-top:1px solid #d1d9df;justify-content:space-between;gap:55px;max-width:1600px;margin:auto;padding:46px 5% 55px;display:flex}.footer-person{max-width:340px}.footer-person>a:first-child{font-size:17px;font-weight:700;text-decoration:none}.footer-person p{color:#687783;margin:12px 0 20px;font-size:13px;line-height:1.8}.footer-person>a:last-child{text-underline-offset:3px;font-size:13px;text-decoration:underline}.field-footer>nav{gap:55px;display:flex}.field-footer nav>div{flex-direction:column;gap:11px;display:flex}.field-footer nav a{font-size:13px;text-decoration:none}.field-footer nav a:hover{color:#006cae;text-decoration:underline}.flight-scene--airfield{background:#dbe6ed;height:min(900px,100svh - 75px);min-height:700px}.airfield-title{z-index:2;pointer-events:none;max-width:330px;position:absolute;top:32px;left:40px}.airfield-title h1{letter-spacing:-.05em;margin:0 0 17px;font-size:39px;font-weight:700;line-height:1.1}.airfield-title p{color:var(--field-muted);font-size:14px;line-height:1.7}.airfield-destinations{z-index:4;flex-direction:column;gap:5px;width:220px;display:flex;position:absolute;bottom:110px;left:40px}.airfield-destinations button{text-align:left;background:#f4f7fa;border:1px solid #aebfc9;border-radius:4px;width:100%;padding:11px 15px;font-size:14px;display:block;box-shadow:inset 0 1px #fff}.airfield-destinations button[aria-pressed=true]{color:#fff;background:#196fa7;border-color:#125c8b}.airfield-detail{background:#fff;border:1px solid #bdccd6;border-radius:4px;width:285px;padding:24px;position:absolute;bottom:110px;right:40px;box-shadow:0 5px 15px #3551660b}.airfield-detail h2{letter-spacing:-.035em;margin:0 0 15px;font-size:23px;font-weight:700;line-height:1.2}.airfield-detail p{color:var(--field-muted);margin-bottom:17px;font-size:13px;line-height:1.85}.airfield-detail .plain-link{font-size:13px}.flight-scene--airfield .scene-drag-hint{margin-right:auto}.airfield-caption{border-bottom:1px solid var(--field-line);color:var(--field-muted);justify-content:space-between;gap:20px;padding:18px 40px;font-size:12px;line-height:1.6;display:flex}.prose-post{font-family:var(--font-newsreader), Georgia, serif}@media (min-width:1800px){.home-workspace{height:900px}.home-introduction{top:70px;left:max(5%,50vw - 750px)}}@media (max-width:1100px){.field-header-inner{gap:22px;padding:0 28px}.field-primary-nav{gap:24px}.header-contact{display:none}.home-introduction{top:38px}.home-introduction h1{font-size:56px}.home-work{gap:40px;padding-top:65px;padding-bottom:65px}.home-project{grid-template-columns:160px 1fr;gap:22px}.project-illustration{height:170px}.home-notebook{gap:40px}.home-person{grid-template-columns:190px 1fr;gap:37px;margin-left:5%;margin-right:5%;padding:32px}.home-portrait{width:190px;height:250px}.scene-drag-hint{display:none}.scene-toolbar{padding:14px 25px}.field-footer>nav{gap:35px}}@media (max-width:800px){.field-header-inner{min-height:70px;padding:0 22px}.field-brand{font-size:15px}.field-primary-nav{gap:20px}.field-primary-nav a{font-size:13px}.field-menu{padding:25px 22px}.field-menu-links{grid-template-columns:repeat(3,1fr)}.home-workspace{height:710px}.home-introduction h1{font-size:50px}.home-introduction p{font-size:13px}.home-work{grid-template-columns:1fr;gap:35px}.home-section-intro{grid-template-columns:1fr 1.3fr;align-items:start;gap:10px 35px;display:grid}.home-section-intro h2{grid-row:span 2;margin:0;font-size:32px}.home-section-intro p{max-width:370px;margin-bottom:0;font-size:14px}.home-section-intro>a{grid-column:2}.home-project{grid-template-columns:220px 1fr}.project-illustration{height:190px}.home-notebook{grid-template-columns:1fr;gap:30px;padding-top:40px}.home-person{grid-template-columns:155px 1fr;gap:27px;padding:27px}.home-portrait{width:155px;height:210px}.home-person h2{font-size:27px}.home-person p{font-size:14px}.home-person-links{gap:12px 22px;font-size:13px}.field-footer{flex-direction:column;gap:35px}.field-footer>nav{gap:50px}.flight-scene--airfield{min-height:740px}.airfield-title{top:28px;left:25px}.airfield-title h1{font-size:31px}.airfield-title p{max-width:260px;font-size:13px}.airfield-destinations{width:190px;left:25px}.airfield-detail{width:250px;right:25px}}@media (max-width:640px){html{scroll-padding-top:18px}.field-header-inner{min-height:64px;padding:0 21px}.field-primary-nav{display:none}.field-brand{font-size:16px}.field-menu-links{grid-template-columns:1fr 1fr;gap:15px 22px}.field-menu-links a{font-size:14px}.home-workspace{height:790px}.home-introduction{top:30px;left:25px;right:25px}.home-introduction h1{margin-bottom:18px;font-size:49px;line-height:1}.home-introduction h1 br{display:none}.home-introduction h1 br:after{content:" "}.home-introduction p{margin-bottom:10px;font-size:13px;line-height:1.75}.home-introduction a{font-size:13px}.flight-scene--showcase .scene-art{top:175px;bottom:172px}.aircraft-caption{text-align:left;align-items:flex-start;max-width:none;bottom:137px;left:25px;right:25px}.aircraft-caption strong{font-size:22px}.aircraft-caption>span{margin:3px 0 5px;font-size:12px}.aircraft-caption>a{font-size:12px}.scene-toolbar{flex-wrap:wrap;gap:10px;padding:13px 18px}.scene-tools{gap:4px}.scene-tools button{gap:5px;min-height:38px;padding:8px;font-size:11px}.scene-tools button:nth-child(2),.scene-tools button:nth-child(3){min-width:30px;padding:8px 5px}.scene-expand{padding:7px 3px;font-size:12px}.scene-unavailable{font-size:12px;bottom:265px;left:20px;right:20px}.home-work{gap:28px;padding:45px 25px}.home-section-intro{display:block}.home-section-intro h2{margin-bottom:18px;font-size:30px}.home-section-intro h2 br{display:none}.home-section-intro p{max-width:none;margin-bottom:18px;font-size:14px}.home-projects{gap:33px}.home-project{flex-direction:column;align-items:stretch;gap:16px;display:flex}.project-illustration{height:210px}.project-illustration>svg{max-width:300px}.home-project>div:last-child>span{font-size:12px}.home-project h3{margin-top:9px;font-size:21px}.home-project p{margin:0;font-size:14px}.home-notebook{padding:35px 25px 45px}.home-notebook h2{font-size:27px}.home-writing-list>a{padding:23px 0;display:block}.home-writing-list time{padding-top:12px;display:block}.home-writing-list h3{font-size:19px}.home-person{margin:0 0 45px;padding:32px 25px;display:block}.home-portrait{width:140px;height:165px;margin-bottom:25px}.home-person h2{font-size:28px}.home-person p{font-size:14px}.home-person-links{flex-direction:column;align-items:flex-start;gap:14px}.field-footer{padding:32px 25px 42px}.field-footer>nav{grid-template-columns:1fr 1fr;gap:25px 20px;display:grid}.field-footer nav a{font-size:13px}.flight-scene--airfield{flex-direction:column;height:auto;min-height:1120px;padding:30px 24px 145px;display:flex}.flight-scene--airfield .scene-art{height:570px;top:90px}.airfield-title{max-width:none;position:relative;top:auto;left:auto}.airfield-title h1{font-size:32px}.airfield-title p{max-width:310px;font-size:14px}.airfield-destinations{grid-template-columns:1fr 1fr;gap:7px;width:100%;margin-top:430px;display:grid;position:relative;bottom:auto;left:auto}.airfield-destinations button{min-height:45px;padding:10px;font-size:12px}.airfield-detail{width:100%;margin-top:20px;padding:20px;position:relative;bottom:auto;right:auto}.airfield-detail p{font-size:14px}.flight-scene--airfield .scene-toolbar{gap:12px;padding:18px 24px;bottom:0}.airfield-caption{flex-direction:column;gap:6px;padding:17px 24px;font-size:12px}.flight-scene--airfield .scene-unavailable{top:485px;bottom:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.field-shell *,.field-shell :before,.field-shell :after{transition:none!important;animation:none!important}}@media print{.field-header,.field-footer,.field-skip-link{display:none}.field-shell{color:#000;background:#fff}}.field-page{max-width:1310px;margin:auto;padding:66px 50px 95px}.page-heading{max-width:830px;margin-bottom:48px}.page-heading h1{letter-spacing:-.055em;margin:0 0 22px;font-size:clamp(39px,4.1vw,61px);font-weight:700;line-height:1.15}.page-heading>p{color:#566977;max-width:770px;font-size:18px;line-height:1.85}.page-back{color:#566c7c;text-underline-offset:4px;margin-bottom:33px;font-size:13px;text-decoration:underline;display:inline-block}.page-back:hover{color:#006cae}.work-list{border-top:1px solid #ccd7df}.work-entry{border-bottom:1px solid #ccd7df;grid-template-columns:1.1fr 1fr;align-items:center;gap:58px;padding:45px 0;display:grid}.work-entry-art{text-decoration:none;display:block}.project-drawing{aspect-ratio:1.6;background:#e3edf4;border-radius:4px;width:100%;overflow:hidden}.project-drawing svg{width:100%;height:100%;display:block}.project-drawing--circuit{background:#d9e5e4}.project-drawing--structure{background:#e5edf3}.project-drawing--site{background:#d4e2ed}.work-generic-art{aspect-ratio:1.6;place-items:center;padding:30px;font-size:28px;display:grid}.work-context{flex-wrap:wrap;gap:8px 25px;display:flex;color:#60798b!important;margin:0 0 15px!important;font-size:12px!important}.work-context span{color:var(--field-muted)}.work-entry h2{letter-spacing:-.045em;margin:0 0 17px;font-size:29px;font-weight:700;line-height:1.35}.work-entry h2 a{text-decoration:none}.work-entry h2 a:hover{text-underline-offset:5px;color:#006cae;text-decoration:underline}.work-entry-copy>p{color:#5d6e7a;margin-bottom:17px;font-size:15px;line-height:1.85}.work-entry-copy .work-organization{color:var(--field-muted);margin-top:22px;margin-bottom:15px;font-size:13px}.work-entry-copy>a{font-size:13px}.work-further{grid-template-columns:1fr 1.5fr;gap:15px 50px;margin-top:55px;display:grid}.work-further h2{letter-spacing:-.04em;grid-row:span 2;font-size:26px;font-weight:700}.work-further p{color:#5d6e7a;max-width:480px;font-size:14px}.work-further>div{flex-wrap:wrap;gap:30px;display:flex}.work-further a{text-underline-offset:4px;font-size:14px;text-decoration:underline}.project-page{max-width:1150px}.project-header .page-heading{max-width:870px;margin-bottom:35px}.project-header .page-heading h1{font-size:clamp(35px,4vw,53px)}.project-header .project-byline{color:#617888;flex-wrap:wrap;gap:25px;margin:0 0 21px;font-size:13px;display:flex}.project-byline span{color:var(--field-muted)}.project-hero-figure{margin:0 0 48px}.project-hero-figure .project-drawing{aspect-ratio:2.15;max-height:480px}.project-hero-figure figcaption{color:#74848f;margin-top:11px;font-size:11px}.project-hero-image{object-fit:contain;width:100%;max-height:500px;margin-bottom:40px}.project-prose{color:#334753;max-width:680px;margin:0 auto;font-size:20px;line-height:1.8}.project-prose h2{font-family:var(--field-body);letter-spacing:-.04em;color:#283c4a;margin-top:45px;font-size:27px;font-weight:700;line-height:1.4}.project-prose a{color:#006cae}.about-intro{grid-template-columns:1fr 330px;align-items:start;gap:80px;padding-bottom:60px;display:grid}.about-intro .page-heading{margin-bottom:24px}.about-intro .page-heading>p{font-size:20px}.about-intro-copy p{color:#576b79;margin-bottom:17px;font-size:15px;line-height:1.95}.about-links{flex-wrap:wrap;gap:16px 27px;margin-top:27px;display:flex}.about-links a{text-underline-offset:5px;font-size:14px;text-decoration:underline}.about-portrait{margin-top:8px}.about-portrait img{object-fit:cover;object-position:center 25%;background:#e5ecf1;border-radius:4px;width:100%;height:410px}.about-portrait figcaption{color:var(--field-muted);margin-top:12px;font-size:12px}.about-flying{border-top:1px solid #ccd7df;border-bottom:1px solid #ccd7df;grid-template-columns:1.4fr 1fr;gap:75px;padding:49px 0 60px;display:grid}.about-page h2{letter-spacing:-.05em;margin:0 0 25px;font-size:32px;font-weight:700;line-height:1.3}.about-flying p{color:#556b7b;margin:0 0 20px;font-size:15px;line-height:1.95}.about-flying .plain-link{font-size:14px}.about-flight-facts{background:#edf3f7;border:1px solid #cad7e1;border-radius:4px;align-self:start;padding:26px 32px}.about-flight-facts dl>div{border-bottom:1px solid #d3dfe8;padding:12px 0}.about-flight-facts dt{color:#617c8d;margin-bottom:3px;font-size:11px}.about-flight-facts dd{color:#2e4d62;font-size:15px}.about-flight-facts>a{text-underline-offset:4px;margin-top:23px;font-size:12px;text-decoration:underline;display:inline-block}.about-experience{grid-template-columns:1fr 2fr;gap:50px;padding:58px 0;display:grid}.about-section-label p{max-width:250px;color:var(--field-muted);font-size:14px}.about-experience ol{list-style:none}.about-experience li{border-bottom:1px solid #d6dfe5;grid-template-columns:120px 1fr;gap:24px;margin:0 0 30px;padding:0 0 32px;display:grid}.about-experience li:last-child{margin-bottom:0}.experience-date{color:var(--field-muted);padding-top:4px;font-size:12px}.about-experience h3{letter-spacing:-.035em;font-size:20px;font-weight:700;line-height:1.45}.about-experience .experience-where{color:#35739b;margin:6px 0 16px;font-size:13px}.about-experience li>div>p:not(.experience-where){color:#60717e;font-size:14px;line-height:1.85}.about-experience li a{text-underline-offset:4px;margin-top:15px;font-size:12px;text-decoration:underline;display:inline-block}.about-outside{grid-template-columns:1fr 1fr;gap:80px;padding:42px 0 50px;display:grid}.about-outside h2{margin-bottom:18px;font-size:25px}.about-outside p{color:#60717e;font-size:15px;line-height:1.95}.about-contact{border-top:1px solid #ccd7df;padding:36px 0 0}.about-contact h2{margin-bottom:12px}.about-contact p{color:#60717e;margin-bottom:20px;font-size:15px}.about-contact>a{color:#006cae;text-underline-offset:6px;overflow-wrap:anywhere;font-size:22px;text-decoration:underline}@media (max-width:1000px){.field-page{padding:50px 35px 75px}.work-entry{gap:35px}.work-entry h2{font-size:25px}.about-intro{grid-template-columns:1fr 260px;gap:45px}.about-portrait img{height:335px}.about-flying{gap:40px}.about-experience{grid-template-columns:1fr 2.2fr;gap:35px}.about-experience li{grid-template-columns:1fr;gap:8px}}@media (max-width:640px){.field-page{padding:36px 25px 55px}.page-heading{margin-bottom:32px}.page-heading h1{margin-bottom:19px;font-size:40px}.page-heading>p{font-size:16px;line-height:1.8}.work-entry{padding:28px 0 33px;display:block}.work-entry-art{margin-bottom:24px}.work-entry h2{font-size:26px}.work-entry-copy>p{font-size:14px}.work-further{margin-top:35px;display:block}.work-further h2,.work-further p{margin-bottom:17px}.project-header .page-heading h1{font-size:35px}.project-header .project-byline{gap:7px 20px;font-size:12px}.project-hero-figure .project-drawing{aspect-ratio:1.5}.project-prose{font-size:19px}.project-prose h2{font-size:25px}.about-intro{flex-direction:column;gap:33px;padding-bottom:35px;display:flex}.about-intro .page-heading>p{font-size:18px}.about-portrait{width:220px}.about-portrait img{height:265px}.about-flying{grid-template-columns:1fr;gap:28px;padding:33px 0}.about-page h2{font-size:28px}.about-flying p{font-size:14px}.about-flight-facts{padding:20px 25px}.about-experience{padding:35px 0 0;display:block}.about-section-label{margin-bottom:30px}.about-section-label h2{margin-bottom:13px}.about-section-label br{display:none}.about-outside{grid-template-columns:1fr;gap:30px;padding:33px 0}.about-outside h2{font-size:24px}.about-outside p{font-size:14px}.about-contact>a{font-size:20px}}.aircraft-page{max-width:1640px;margin:auto;padding:45px 42px 80px}.collection-heading{align-items:baseline;gap:27px;margin-bottom:28px;display:flex}.collection-heading h1{letter-spacing:-.05em;font-size:38px;font-weight:700;line-height:1.3}.collection-heading p{color:var(--field-muted);font-size:14px}.collection-layout{grid-template-columns:225px minmax(0,1fr);gap:40px;display:grid}.collection-nav{border-top:1px solid #cad6df;padding-top:20px}.collection-nav>div+div{margin-top:30px}.collection-nav h2{color:var(--field-muted);margin-bottom:13px;font-size:12px}.collection-nav ul{list-style:none}.collection-nav li+li{margin-top:5px}.collection-nav a{border:1px solid #0000;border-radius:4px;align-items:center;gap:12px;padding:10px 9px;line-height:1.4;text-decoration:none;display:flex}.collection-nav a:hover{background:#edf3f7}.collection-nav a[aria-current]{color:#0c689f;background:#e5f0f7;border-color:#c2d9e8}.collection-nav svg{flex:0 0 35px;width:35px;height:38px}.collection-nav a>span{font-size:14px}.collection-nav small{color:#81909b;margin-top:4px;font-size:10px;display:block}.collection-aircraft-heading{justify-content:space-between;align-items:flex-end;gap:25px;min-height:64px;margin-bottom:21px;display:flex}.collection-aircraft-heading p{color:var(--field-muted);margin-bottom:5px;font-size:12px}.collection-aircraft-heading h2{letter-spacing:-.045em;font-size:34px;font-weight:700;line-height:1.2}.collection-aircraft-heading>span{color:var(--field-muted);text-align:right;padding-bottom:5px;font-size:12px}.collection-aircraft-heading .connection-flown{color:#247357}.aircraft-viewer{background:#d9e5ee;border:1px solid #b9cbd9;border-radius:5px;position:relative;overflow:hidden}.aircraft-view-bar{background:#eff4f8;border-bottom:1px solid #b9cbd9;justify-content:space-between;gap:20px;padding:14px 17px;display:flex}.aircraft-view-bar>div{flex-wrap:wrap;gap:5px;display:flex}.aircraft-view-bar button{color:#42637b;background:#e7eef4;border:1px solid #b7cbd9;border-radius:3px;min-height:32px;padding:5px 11px;font-size:11px}.aircraft-view-bar button[aria-pressed=true]{color:#fff;background:#34749d;border-color:#25648d;box-shadow:inset 0 1px 3px #103e5f33}.aircraft-view-bar button:disabled{opacity:.45}.aircraft-view-art{height:clamp(350px,35vw,540px);position:relative}.aircraft-static{object-fit:contain;width:100%;height:100%;position:absolute}.aircraft-view-hint{text-align:center;color:#637f92;min-height:37px;padding:0 22px 16px;font-size:11px}.aircraft-view-hint button{text-underline-offset:3px;margin-left:13px;text-decoration:underline;display:inline-block}.aircraft-view-tools{background:#eaf1f6;border-top:1px solid #b9cbd9;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:13px 17px;display:flex}.aircraft-view-tools .scene-tools{gap:4px}.aircraft-view-tools button{min-height:34px;padding:6px 9px;font-size:11px}.aircraft-export-error{padding:8px 20px;font-size:12px}.aircraft-story{grid-template-columns:1.4fr 1fr;gap:55px;padding:32px 0 28px;display:grid}.aircraft-story p{color:#5c7384;margin-bottom:16px;font-size:14px;line-height:1.9}.aircraft-story .aircraft-personal-note{color:#2f4c61;font-size:17px;line-height:1.8}.aircraft-source{text-underline-offset:4px;color:#3f779c;font-size:12px;text-decoration:underline}.aircraft-story dl>div{border-bottom:1px solid #d1dde6;padding:11px 0}.aircraft-story dt{color:var(--field-muted);margin-bottom:3px;font-size:11px}.aircraft-story dd{color:#3a576b;font-size:14px;line-height:1.6}.aircraft-details{border-top:1px solid #ccd9e3;padding-top:20px}.aircraft-details p:first-child{color:#557184;font-size:12px;line-height:1.8}.aircraft-details p:last-child{color:#83929e;margin-top:9px;font-size:11px}.aircraft-flightdeck-link{flex-wrap:wrap;gap:25px;margin-top:24px;font-size:13px;display:flex}.aircraft-flightdeck-link a{text-underline-offset:4px;text-decoration:underline}@media (max-width:1100px){.aircraft-page{padding:35px 28px 65px}.collection-layout{grid-template-columns:190px minmax(0,1fr);gap:25px}.collection-nav a{gap:8px;padding:8px 5px}.collection-nav a>span{font-size:12px}.collection-nav svg{flex-basis:30px;width:30px}.aircraft-story{gap:25px}.collection-aircraft-heading h2{font-size:29px}}@media (max-width:800px){.collection-layout{flex-direction:column;gap:25px;display:flex}.collection-nav{border-bottom:1px solid #cad6df;grid-template-columns:1.6fr 1fr;gap:30px;padding:17px 0;display:grid}.collection-nav>div+div{margin-top:0}.collection-nav ul{flex-wrap:wrap;gap:3px 6px;display:flex}.collection-nav svg,.collection-nav small{display:none}.collection-nav li+li{margin-top:0}.collection-nav a{padding:6px 10px}.collection-nav h2{margin-bottom:9px}.aircraft-view-art{height:430px}}@media (max-width:640px){.aircraft-page{padding:29px 20px 50px}.collection-heading{margin-bottom:20px;display:block}.collection-heading h1{margin-bottom:9px;font-size:34px}.collection-heading p{font-size:13px}.collection-nav{padding:16px 0;display:block}.collection-nav>div+div{margin-top:12px}.collection-nav h2{margin-bottom:6px;font-size:10px}.collection-nav a{background:#f2f6f9;border:1px solid #d7e2ea;padding:6px 8px;font-size:12px}.collection-aircraft-heading{margin-bottom:17px;display:block}.collection-aircraft-heading h2{margin-bottom:8px;font-size:29px}.collection-aircraft-heading>span{text-align:left;font-size:11px}.aircraft-view-bar{gap:8px;padding:10px}.aircraft-view-bar>div{gap:3px}.aircraft-view-bar button{min-height:32px;padding:5px 7px;font-size:10px}.aircraft-view-art{height:330px}.aircraft-view-hint{text-align:left;padding:0 15px 14px;font-size:10px;line-height:1.6}.aircraft-view-tools{gap:8px;padding:11px}.aircraft-view-tools button{padding:7px;font-size:10px}.aircraft-story{padding-top:24px;display:block}.aircraft-story .aircraft-personal-note{font-size:16px}.aircraft-story p{font-size:13px}.aircraft-story dl{margin-top:25px}.aircraft-story dl>div{grid-template-columns:105px 1fr;gap:15px;display:grid}.aircraft-story dt{padding-top:2px}.aircraft-story dd{font-size:13px}.aircraft-details p:first-child{font-size:11px}}.experiment-page{max-width:1440px}.experiment-page>.page-heading{max-width:880px;margin-bottom:33px}.experiment-page>.page-heading h1{font-size:49px}.lab-index-entry{border-top:1px solid #cbd8e2;border-bottom:1px solid #cbd8e2;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;padding:35px 0 45px;display:grid}.lab-index-art{border-radius:5px;display:block;overflow:hidden}.lab-index-art svg{width:100%;display:block}.lab-index-entry>div>span{color:var(--field-muted);font-size:12px}.lab-index-entry h2{letter-spacing:-.04em;margin:14px 0 18px;font-size:30px;font-weight:700;line-height:1.3}.lab-index-entry h2 a{text-decoration:none}.lab-index-entry h2 a:hover{text-underline-offset:5px;color:#006cae;text-decoration:underline}.lab-index-entry p{color:#5e7484;margin-bottom:22px;font-size:15px;line-height:1.85}.lab-index-entry .plain-link{font-size:14px}.lab-index-note{color:var(--field-muted);max-width:720px;padding-top:30px;font-size:14px;line-height:1.8}.lab-index-note a{color:#357398;text-underline-offset:4px;margin-top:17px;font-size:13px;text-decoration:underline;display:inline-block}.wind-tunnel-bench{border:1px solid #b6c9d9;border-radius:5px;grid-template-columns:minmax(0,1fr) 280px;display:grid;overflow:hidden}.wind-tunnel-screen{background:#102d42;flex-direction:column;min-width:0;display:flex}.experiment-view-toolbar{background:#e8f0f6;border-bottom:1px solid #b6c9d9;justify-content:space-between;align-items:center;gap:15px;padding:13px 18px;display:flex}.experiment-view-toolbar>div{gap:5px;display:flex}.experiment-view-toolbar button{color:#3d617b;background:#f8fafc;border:1px solid #b5c8d7;border-radius:3px;align-items:center;gap:6px;min-height:35px;padding:7px 11px;font-size:12px;display:inline-flex}.experiment-view-toolbar button[aria-pressed=true]{color:#fff;background:#34769f;border-color:#2b6c96}.flow-canvas-wrap{flex:1;width:100%;min-height:400px;position:relative}.flow-canvas-wrap canvas,.flow-fallback{width:100%;height:100%;position:absolute;inset:0}.flow-legend{color:#9fbccd;background:#102d42;border-top:1px solid #355469;grid-template-columns:1fr 40px 40px 40px;align-items:center;gap:5px 0;padding:17px 22px;font-size:10px;display:grid}.flow-legend>span:first-child{grid-row:span 2;font-size:11px}.flow-color-scale{background:linear-gradient(90deg,#397493,#7ac5d6,#f7bb69);border-radius:2px;grid-column:2/5;height:4px}.pressure-scale{background:linear-gradient(90deg,#b87141,#122f43,#31749d)}.flow-legend>span:nth-last-child(2){text-align:center}.flow-legend>span:last-child{text-align:right}.wind-tunnel-controls{background:#f1f6fa;border-left:1px solid #b6c9d9;padding:25px}.wind-tunnel-controls h2{letter-spacing:-.04em;margin-bottom:25px;font-size:20px;font-weight:700}.lab-control{margin-bottom:22px}.lab-control label{color:#49687e;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:10px;font-size:12px;display:flex}.lab-control output{font:17px var(--field-mono);color:#244c6a;white-space:nowrap}.lab-control output small{font:11px var(--field-body);margin-left:3px}.lab-control input[type=range]{accent-color:#1f7ead;cursor:pointer;width:100%;height:18px}.lab-control p{color:#7b8f9e;margin-top:5px;font-size:10px;line-height:1.6}.lab-presets{border-top:1px solid #ccdce8;flex-direction:column;gap:6px;padding-top:17px;display:flex}.lab-presets>span{color:#7b8e9d;margin-bottom:4px;font-size:11px}.lab-presets button{text-align:left;color:#3e6684;background:#e3edf5;border:1px solid #c0d4e3;border-radius:3px;padding:7px 10px;font-size:11px;line-height:1.5}.lab-presets button:hover{background:#d5e6f2}.lab-reset{color:#678296;text-underline-offset:3px;align-items:center;gap:7px;margin-top:20px;font-size:11px;text-decoration:underline;display:flex}.wind-tunnel-results{background:#fbfdff;border:1px solid #c4d6e3;border-top:none;border-radius:0 0 5px 5px;margin:0 5px;padding:24px 28px 17px}.wind-tunnel-results dl{grid-template-columns:1fr 1.1fr 1fr;gap:30px;display:grid}.wind-tunnel-results dt{color:#71899b;margin-bottom:9px;font-size:12px}.wind-tunnel-results dd{font:30px var(--field-mono);color:#234f6f}.wind-tunnel-results dd small{font:12px var(--field-body);color:#7591a5;margin-left:10px}.wind-tunnel-results>p{color:#8a9ead;margin-top:19px;font-size:10px}.lab-model-note{color:#85613b;background:#fff5e8;border-left:3px solid #bf8545;margin-top:20px;padding:15px 20px;font-size:13px;line-height:1.8}.wind-tunnel-analysis{grid-template-columns:1.25fr 1fr;gap:55px;padding-top:40px;display:grid}.pressure-plot{min-width:0}.pressure-plot-title{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:17px;display:flex}.pressure-plot-title h3{letter-spacing:-.03em;font-size:18px;font-weight:700}.pressure-plot-title span{color:#71899a;font-size:10px}.pressure-plot-title i{vertical-align:middle;width:10px;height:2px;margin:0 4px 0 10px;display:inline-block}.pressure-plot-title .upper{background:#167fac}.pressure-plot-title .lower{background:#be773f}.pressure-plot svg{width:100%;font-family:var(--field-body);display:block}.pressure-plot>p{color:#8194a3;margin-top:10px;padding-left:9%;font-size:11px}.lab-reading h2{letter-spacing:-.04em;margin-bottom:20px;font-size:24px;font-weight:700;line-height:1.3}.lab-reading p{color:#607889;margin-bottom:16px;font-size:14px;line-height:1.95}.experiment-method{border-top:1px solid #cbd8e2;grid-template-columns:1fr 1fr;gap:70px;margin-top:42px;padding:40px 0 0;display:grid}.experiment-method h2{letter-spacing:-.04em;margin-bottom:20px;font-size:23px;font-weight:700}.experiment-method p{color:var(--field-muted);margin-bottom:17px;font-size:14px;line-height:1.95}.experiment-method a{color:#3279a4;text-underline-offset:4px;text-decoration:underline}@media (max-width:1000px){.wind-tunnel-bench{grid-template-columns:minmax(0,1fr) 245px}.wind-tunnel-controls{padding:22px}.wind-tunnel-analysis{gap:35px}.pressure-plot-title{display:block}.pressure-plot-title h3{margin-bottom:8px}.pressure-plot-title i:first-child{margin-left:0}.lab-index-entry{gap:30px}}@media (max-width:800px){.wind-tunnel-bench{flex-direction:column;display:flex}.flow-canvas-wrap{flex:auto;min-height:380px}.wind-tunnel-controls{border-top:1px solid #b6c9d9;border-left:none;grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.wind-tunnel-controls h2{grid-column:1/-1}.lab-presets{flex-flow:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.lab-presets>span{width:100%}.lab-reset{grid-column:1/-1}.wind-tunnel-analysis{grid-template-columns:1fr}.pressure-plot{max-width:600px}.experiment-method{gap:35px}}@media (max-width:640px){.experiment-page{padding-left:20px;padding-right:20px}.experiment-page>.page-heading h1{font-size:37px}.experiment-page>.page-heading>p{font-size:15px}.lab-index-entry{grid-template-columns:1fr;gap:24px;padding:25px 0 32px}.lab-index-entry h2{margin-top:8px;font-size:27px}.lab-index-entry p{font-size:14px}.flow-canvas-wrap{min-height:330px}.experiment-view-toolbar{gap:7px;padding:11px}.experiment-view-toolbar>div{gap:4px}.experiment-view-toolbar button{padding:7px 8px;font-size:10px}.flow-legend{grid-template-columns:1fr 30px 30px 30px;padding:13px 15px}.flow-legend>span:first-child{padding-right:10px;font-size:9px}.wind-tunnel-controls{gap:0 22px;padding:22px 18px}.wind-tunnel-controls h2{margin-bottom:23px;font-size:19px}.lab-control label{gap:7px;font-size:11px}.lab-control output{font-size:16px}.lab-control p{font-size:9px}.lab-presets button{font-size:10px}.wind-tunnel-results{padding:20px 17px 15px}.wind-tunnel-results dl{grid-template-columns:1fr 1fr;gap:22px 10px}.wind-tunnel-results dl>div:last-child{grid-column:1/-1;align-items:baseline;gap:16px;display:flex}.wind-tunnel-results dl>div:last-child dt{font-size:10px}.wind-tunnel-results dl>div:last-child dd{font-size:15px}.wind-tunnel-results dt{font-size:10px}.wind-tunnel-results dd{font-size:25px}.wind-tunnel-results dd small{margin-left:6px;font-size:10px}.wind-tunnel-results>p{margin-top:13px;font-size:9px;line-height:1.7}.lab-model-note{padding:12px 15px;font-size:12px}.wind-tunnel-analysis{gap:30px;padding-top:30px}.lab-reading p{font-size:13px}.experiment-method{grid-template-columns:1fr;gap:22px;margin-top:25px;padding-top:30px}.experiment-method p{font-size:13px}}.lab-control label,.lab-control p,.lab-presets>span,.lab-presets button,.lab-reset{font-size:12px}.lab-control p,.lab-presets>span,.lab-reset{color:var(--field-muted)}.flow-legend,.flow-legend>span:first-child{font-size:12px}.flow-legend{grid-template-columns:1fr 42px 42px 42px}.wind-tunnel-results dt,.wind-tunnel-results>p,.pressure-plot-title span,.pressure-plot>p{color:#5e788b;font-size:12px}.wind-tunnel-results dd small{color:#5e788b}.pressure-plot-title{flex-wrap:wrap;gap:8px 20px}.aircraft-view-hint,.aircraft-details p:last-child,.collection-nav small,.project-hero-figure figcaption,.about-flight-facts dt{color:var(--field-muted);font-size:12px}.aircraft-view-tools button,.aircraft-view-bar button{min-height:38px;font-size:12px}@media (max-width:640px){.lab-control label{flex-wrap:wrap;gap:4px 10px}.lab-control label output{margin-left:auto}.lab-control p{font-size:11px;line-height:1.7}.experiment-view-toolbar button{min-height:39px;font-size:11px}.flow-legend{grid-template-columns:1fr 35px 35px 35px;font-size:11px}.flow-legend>span:first-child,.wind-tunnel-results dt,.wind-tunnel-results>p,.wind-tunnel-results dl>div:last-child dt{font-size:11px}.pressure-plot svg text{font-size:20px}.pressure-plot-title span,.pressure-plot>p{font-size:11px}.aircraft-view-bar button{padding-left:5px;padding-right:5px;font-size:11px}.aircraft-view-tools button{font-size:11px}}.project-image-frame{border-radius:5px;margin-bottom:40px;padding:20px}.project-image-frame .project-hero-image{margin-bottom:0}.work-project-image{aspect-ratio:1.6;object-fit:cover;border-radius:4px;width:100%;display:block}.flight-scene--airfield{transition:background-color .7s}.flight-scene--airfield[data-light=golden]{background:#dbd4d0}.flight-scene--airfield[data-light=golden] .airfield-title p{color:#465b6b}.flight-scene--airfield[data-light=night]{background:#10283d}.flight-scene--airfield[data-light=night] .airfield-title{color:#f3f8fc}.flight-scene--airfield[data-light=night] .airfield-title p{color:#c2d4e2}.airfield-hotspots{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.airfield-hotspots button{visibility:hidden;pointer-events:auto;color:#233f52;background:#fff;border:1px solid #839dac;border-radius:3px;align-items:center;gap:6px;min-height:36px;padding:7px 11px;font-size:12px;display:flex;position:absolute;top:0;left:0;box-shadow:0 3px 7px #19334a20}.airfield-hotspots button:after{content:"";border-top:8px solid #fff;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;bottom:-8px;left:calc(50% - 4px)}.airfield-hotspots button:hover{background:#eaf4fc;border-color:#006cae}.airfield-detail{z-index:4}.airfield-action{color:#fff;background:#146a9f;border:1px solid #075785;border-radius:3px;justify-content:center;align-items:center;min-height:42px;margin-top:20px;padding:9px 13px;font-size:13px;display:flex;box-shadow:inset 0 1px #ffffff30}.airfield-action:hover{background:#075986}.airfield-action:disabled{opacity:.5}.airfield-secondary-link{text-underline-offset:4px;margin-top:14px;font-size:13px;text-decoration:underline;display:block}.airfield-circuit-control>span{color:#536575;margin-top:9px;font-size:12px;line-height:1.65;display:block}@media (max-width:760px){.airfield-hotspots{display:none}.flight-scene--airfield{min-height:0;padding-bottom:24px}.flight-scene--airfield .scene-art{height:380px;top:135px}.flight-scene--airfield .scene-toolbar{border-bottom:1px solid #b8c5ce;order:1;margin:400px -24px 0;padding:14px 24px;position:relative}.airfield-destinations{order:2;margin-top:24px}.airfield-detail{order:3}.flight-scene--airfield .scene-tools button,.flight-scene--airfield .scene-light-controls button{min-width:42px;min-height:42px}}@media (prefers-reduced-motion:reduce){.flight-scene--airfield,.scene-canvas-host{transition:none}}.field-no-script-nav{border-top:1px solid var(--field-line);flex-wrap:wrap;gap:10px 24px;padding:15px 24px;font-size:14px;display:flex}.field-no-script-nav a{text-underline-offset:4px;text-decoration:underline}.lab-index-entry+.lab-index-entry{border-top:0}.lab-turn-preview{background:#dce7ef}.turn-bench{border:1px solid #b6c9d9;border-radius:5px;grid-template-columns:minmax(0,1fr) 280px;display:grid;overflow:hidden}.turn-display{background:#dce7ef;flex-direction:column;min-width:0;display:flex}.turn-scene{flex:1;min-height:420px;position:relative}.turn-scene-art{position:absolute;inset:0 0 36px}.turn-force-fallback,.turn-canvas-host{width:100%;height:100%;position:absolute;inset:0}.lab-turn-preview .turn-force-fallback{position:static}.turn-canvas-host,.turn-force-labels{opacity:0}.turn-canvas-host.is-ready,.turn-force-labels.is-ready{opacity:1}.turn-force-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.turn-force-labels>span{white-space:nowrap;background:#edf4f9eb;border-radius:3px;padding:3px 6px;font-size:12px;line-height:1.4;position:absolute;top:0;left:0}.force-lift{color:#006895}.force-weight{color:#92490e}.force-vertical{color:#456e7c}.force-horizontal{color:#923c58}.turn-scene-caption{min-height:36px;color:var(--field-muted);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 18px;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.turn-scene-caption button{text-underline-offset:3px;text-decoration:underline}.turn-force-legend{color:#48677e;background:#e8f0f6;border-top:1px solid #c4d4df;flex-wrap:wrap;gap:12px 24px;padding:13px 18px;font-size:12px;display:flex}.turn-force-legend>span{align-items:center;gap:8px;display:inline-flex}.turn-force-legend i{background:currentColor;width:19px;height:3px;display:inline-block}.turn-results{background:#fbfdff;border:1px solid #c4d6e3;border-top:0;border-radius:0 0 5px 5px;grid-template-columns:1fr 1.2fr 1fr 1.2fr;gap:25px;margin:0 5px;padding:25px 28px;display:grid}.turn-results dt{color:#5e788b;margin-bottom:10px;font-size:12px}.turn-results dd{font:30px var(--field-mono);color:#234f6f}.turn-results small{font:12px var(--field-body);color:#5e788b;margin-left:8px}.turn-assumptions{color:#5e788b;margin:15px 5px 0;font-size:12px;line-height:1.8}.turn-analysis{grid-template-columns:1.2fr 1fr;gap:55px;padding-top:40px;display:grid}.turn-track{min-width:0}.turn-track figcaption{color:#5e788b;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:16px;font-size:12px;display:flex}.turn-track figcaption strong{color:#263f52;font-size:18px}.turn-track svg{width:100%;display:block}.turn-equations{background:#edf3f7;border-left:2px solid #6a96b2;margin:20px 0;padding:16px 20px 1px}.turn-equations p{font-family:var(--field-mono);font-size:13px}@media (max-width:1000px){.turn-bench{grid-template-columns:minmax(0,1fr) 245px}.turn-results{gap:20px;padding:22px}.turn-results dd{font-size:26px}.turn-analysis{gap:35px}}@media (max-width:820px){.turn-bench{flex-direction:column;display:flex}.turn-scene{min-height:410px}.turn-analysis{grid-template-columns:1fr}.turn-controls .lab-presets{grid-column:1/-1}}@media (max-width:600px){.turn-scene{min-height:330px}.turn-scene-caption{padding:8px 12px;font-size:11px}.turn-force-labels>span{padding:2px 4px;font-size:11px}.turn-force-legend{gap:10px 17px;padding:12px;font-size:11px}.turn-results{grid-template-columns:1fr 1fr;gap:24px 18px;padding:22px 17px}.turn-results dt{font-size:11px}.turn-results dd{font-size:25px}.turn-assumptions{font-size:11px}.turn-track figcaption{flex-direction:column;gap:4px}.turn-track svg text{font-size:16px}.turn-analysis{padding-top:30px}.turn-equations{padding:16px 14px 1px}.turn-equations p{font-size:12px}}.wind-bench{border:1px solid #b6c9d9;border-radius:5px;grid-template-columns:minmax(0,1fr) 290px;display:grid;overflow:hidden}.wind-display{background:#f9fbfd;flex-direction:column;min-width:0;display:flex}.wind-vector{flex-grow:1;width:100%;height:auto;max-height:620px;display:block}.wind-vector-legend{color:#415d71;flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:12px 20px;font-size:12px;display:flex}.wind-vector-legend span{align-items:center;gap:8px;display:inline-flex}.wind-vector-legend i{width:19px;height:3px}.wind-key-air{background:#006aab}.wind-key-wind{background:#a15121}.wind-key-ground{background:#1d765c}.wind-vector-caption{color:var(--field-muted);text-align:center;padding:6px 25px 22px;font-size:12px;line-height:1.85}.wind-controls{padding:24px}.wind-controls .lab-control{margin-bottom:18px}.wind-controls .lab-presets{grid-template-columns:1fr 1fr;gap:6px;display:grid}.wind-controls .lab-presets>span{grid-column:1/-1}.wind-controls .lab-presets button{text-align:center;min-height:38px;padding:8px;line-height:1.5}.wind-results{background:#f7fafc;border:1px solid #b6c9d9;border-top:none;border-radius:0 0 5px 5px;grid-template-columns:repeat(4,1fr);gap:20px;margin:0 5px;padding:25px 28px;display:grid}.wind-results dt{color:#526674;margin-bottom:10px;font-size:12px}.wind-results dd{color:#234f6f;font:29px/1.4 var(--field-mono)}.wind-results small{font:12px var(--field-body);color:#526674;margin-left:8px}.wind-scope{color:var(--field-muted);margin:17px 0 0;font-size:12px;line-height:1.85}.wind-no-solution{background:#fff;border:1px solid #c9ac8d;border-left:3px solid #a15121;border-radius:3px;margin-top:20px;padding:20px 24px}.wind-no-solution h2{margin-bottom:10px;font-size:17px;font-weight:700}.wind-no-solution p{color:#526674;font-size:14px;line-height:1.85}.wind-analysis{grid-template-columns:1.25fr 1fr;gap:50px;margin-top:40px;display:grid}.wind-track{min-width:0}.wind-track-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;margin-bottom:16px;display:flex}.wind-track-heading h2,.wind-track-unavailable h2{letter-spacing:-.035em;font-size:20px;font-weight:700}.wind-track-heading span{color:var(--field-muted);font-size:11px}.wind-track svg{border:1px solid #cedce6;border-radius:4px;width:100%;display:block}.wind-time-control{margin-top:18px}.wind-time-control label{color:#49687e;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.wind-time-control label output{font-family:var(--field-mono)}.wind-time-control input{accent-color:#1d765c;width:100%;height:20px}.wind-time-control p,.wind-track-unavailable p{color:var(--field-muted);margin-top:15px;font-size:12px;line-height:1.9}.wind-time-control p output{font-family:var(--field-mono);color:#1d765c}.wind-track-unavailable{background:#f5f8fa;border:1px solid #c6d5df;border-radius:4px;align-self:start;padding:30px}.lab-wind-preview{background:#f5f8fa}.lab-wind-preview .wind-vector{max-height:320px}@media (max-width:900px){.wind-bench{grid-template-columns:minmax(0,1fr) 250px}.wind-controls{padding:22px 18px}.wind-analysis{gap:32px}.wind-results dd{font-size:25px}}@media (max-width:760px){.wind-bench{display:block}.wind-display .wind-vector{max-height:450px}.wind-controls{border-top:1px solid #b6c9d9;border-left:none;grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.wind-controls h2{grid-column:1/-1}.wind-analysis{grid-template-columns:1fr}}@media (max-width:640px){.wind-display .experiment-view-toolbar{flex-wrap:wrap;gap:8px;padding:11px}.wind-display .experiment-view-toolbar button{font-size:11px}.wind-vector-legend{gap:10px 17px;padding:9px 12px;font-size:11px}.wind-vector-caption{padding:7px 17px 18px;font-size:11px}.wind-controls{gap:0 18px}.wind-controls .lab-presets{grid-column:1/-1;grid-template-columns:repeat(2,1fr);margin-top:6px}.wind-controls .lab-reset{grid-column:1/-1}.wind-results{grid-template-columns:1fr 1fr;gap:20px 12px;padding:22px 17px}.wind-results dd{font-size:25px}.wind-results dt,.wind-scope{font-size:11px}.wind-analysis{margin-top:32px}}
.reading-index{max-width:1050px}.reading-index .page-heading{max-width:720px}.reading-links{flex-wrap:wrap;gap:12px 27px;margin-top:22px;font-size:14px;display:flex}.reading-links a{text-underline-offset:5px;text-decoration:underline}.writing-filters{align-items:center;gap:7px;margin-bottom:27px;display:flex}.writing-filters button{color:#314c60;background:#fff;border:1px solid #b9c6d0;border-radius:4px;min-height:41px;padding:7px 16px;font-size:13px}.writing-filters button[aria-pressed=true]{color:#fff;background:#196da4;border-color:#196da4}.writing-filters button:hover{border-color:#006cae}.writing-groups{border-top:1px solid var(--field-line)}.writing-entry{border-bottom:1px solid var(--field-line);grid-template-columns:110px minmax(0,1fr) auto;align-items:baseline;gap:14px 27px;padding:27px 0;display:grid}.writing-entry time{font-family:var(--field-mono);color:var(--field-muted);font-size:12px}.writing-entry h2,.writing-entry h3{letter-spacing:-.035em;font-size:21px;font-weight:700;line-height:1.5}.writing-entry h2 a,.writing-entry h3 a{text-decoration:none}.writing-entry h2 a:hover,.writing-entry h3 a:hover{color:var(--field-blue);text-underline-offset:5px;text-decoration:underline}.writing-entry .draft-label{margin:8px 0 0}.writing-series{border-bottom:1px solid var(--field-line)}.writing-series>h2{padding-top:27px;font-size:15px;font-weight:700}.writing-series>h2 a{text-underline-offset:4px;text-decoration:underline}.writing-series>h2 span{color:var(--field-muted);margin-left:15px;font-size:12px;font-weight:400}.writing-series .writing-entry:last-child{border-bottom:0}.writing-part{color:var(--field-muted);margin-bottom:7px;font-size:12px;display:block}.writing-empty-state{border-block:1px solid var(--field-line);max-width:680px;padding:40px 0}.writing-empty-state h2{margin-bottom:13px;font-size:21px;font-weight:700}.writing-empty-state p{color:var(--field-muted);font-size:15px;line-height:1.9}.writing-empty-state a{color:var(--field-blue);text-underline-offset:4px;text-decoration:underline}.logged-status{color:#35566f;font:11px/1.6 var(--field-mono);white-space:nowrap;border:1px solid #a8bbc9;border-radius:3px;padding:2px 7px;display:inline-block}.logged-status--pic{color:#255e49;border-color:#a7c0b5}.writing-key{color:var(--field-muted);flex-wrap:wrap;gap:12px 25px;margin-top:25px;font-size:12px;display:flex}.writing-key span{align-items:center;gap:8px;display:inline-flex}.reading-page{max-width:900px}.reading-back{color:#4e6678;text-underline-offset:5px;margin-bottom:35px;font-size:13px;text-decoration:underline;display:inline-block}.reading-page .page-heading{margin-bottom:34px}.reading-page .page-heading h1{font-size:clamp(34px,4vw,53px);line-height:1.18}.reading-meta{color:var(--field-muted);flex-wrap:wrap;align-items:center;gap:12px 17px;margin-bottom:19px;font-size:12px;display:flex}.reading-meta time{font-family:var(--field-mono);font-size:11px}.reading-meta .draft-label{margin:0}.field-shell .prose-post{color:#293a47;overflow-wrap:break-word;font-size:20px;line-height:1.8}.field-shell .prose-post h2,.field-shell .prose-post h3{font-family:var(--field-body);letter-spacing:-.035em;font-weight:700;line-height:1.4}.field-shell .prose-post h2{font-size:27px}.field-shell .prose-post h3{font-size:22px}.field-shell .prose-post a{color:#006cae}.field-shell .prose-post table{font-family:var(--field-body);font-size:14px}.field-shell .prose-post pre{font-family:var(--field-mono);color:#edf4f8;background:#233646;font-size:13px;line-height:1.7}.field-shell .prose-post blockquote{color:#476273;border-color:#8baabd}.series-navigation{border-block:1px solid var(--field-line);grid-template-columns:1fr 1fr;gap:20px;margin:28px 0;padding:18px 0;font-size:13px;display:grid}.series-navigation a{text-underline-offset:4px;text-decoration:underline}.series-navigation>a:first-child{color:var(--field-muted);grid-column:1/-1;font-size:12px}.series-navigation>span:last-child{text-align:right}.series-navigation .series-boundary{color:var(--field-muted)}.series-entries{border-top:1px solid var(--field-line);margin-top:35px}.series-entry{border-bottom:1px solid var(--field-line);padding:25px 0}.series-entry>div{color:var(--field-muted);flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:10px;font-size:12px;display:flex}.series-entry h2{font-size:23px;font-weight:700;line-height:1.4}.series-entry h2 a:hover{color:var(--field-blue);text-underline-offset:5px;text-decoration:underline}.series-entry>p{color:var(--field-muted);margin-top:12px;font-size:14px}.project-chip{font:12px/1.6 var(--field-body);border-radius:3px;padding:3px 8px;text-decoration:none;display:inline-block}.project-chip:hover{text-underline-offset:3px;text-decoration:underline}.note-list{border-top:1px solid var(--field-line)}.note-entry{border-bottom:1px solid var(--field-line);grid-template-columns:210px minmax(0,1fr);gap:25px;padding:30px 0 34px;display:grid}.note-entry time{color:var(--field-muted);font:11px/1.9 var(--field-mono);padding-top:5px}.note-entry p{white-space:pre-line;overflow-wrap:anywhere;font-size:18px;line-height:1.8}.note-time-key{color:var(--field-muted);margin-top:23px;font-size:12px}@media (max-width:640px){.writing-entry{grid-template-columns:1fr auto;gap:10px 18px;padding:23px 0}.writing-entry time{grid-column:1/-1}.writing-entry h2,.writing-entry h3{font-size:19px}.writing-series>h2 span{margin:7px 0 0;display:block}.reading-page .page-heading h1{font-size:34px}.reading-back{margin-bottom:27px}.field-shell .prose-post{font-size:19px}.field-shell .prose-post h2{font-size:25px}.note-entry{padding:23px 0 28px;display:block}.note-entry time{margin-bottom:13px;display:block}.note-entry p{font-size:17px}}.document-list{border-top:1px solid var(--field-line)}.document-list>li{border-bottom:1px solid var(--field-line)}.document-list a{justify-content:space-between;align-items:center;gap:25px;padding:29px 0 32px;text-decoration:none;display:flex}.document-list h2{letter-spacing:-.04em;font-size:25px;font-weight:700;line-height:1.4}.document-list p{color:var(--field-muted);margin-top:11px;font-size:14px;line-height:1.8}.document-list a>span{color:#7b94a6;font-size:27px;transition:transform .15s}.document-list a:hover h2{color:var(--field-blue);text-underline-offset:6px;text-decoration:underline}.document-list a:hover>span{transform:translate(3px,-3px)}.document-pagination{border-top:1px solid var(--field-line);justify-content:space-between;gap:30px;margin-top:55px;padding-top:25px;font-size:13px;display:flex}.document-pagination a{text-underline-offset:5px;text-decoration:underline}.document-pagination>span:last-child{text-align:right}@media (max-width:640px){.document-list h2{font-size:22px}}.chart-page{max-width:1680px;margin:auto}.chart-heading{justify-content:space-between;align-items:flex-end;gap:25px;padding:38px 42px 30px;display:flex}.chart-heading h1{letter-spacing:-.05em;margin-bottom:13px;font-size:40px;font-weight:700;line-height:1.2}.chart-heading p{color:var(--field-muted);font-size:14px}.chart-count{font:12px/1.8 var(--field-mono);white-space:nowrap}.chart-layout{border-block:1px solid var(--field-line);grid-template-columns:minmax(0,1fr) 340px;height:min(760px,100svh - 200px);min-height:500px;display:grid}.chart-viewport{min-width:0;height:100%}.chart-loading{height:100%;color:var(--field-muted);background:#e8eef2;justify-content:center;align-items:center;font-size:14px;display:flex}.chart-sidebar{border-left:1px solid var(--field-line);padding:26px 25px;overflow-y:auto}.chart-drawer>section+section{margin-top:28px}.chart-drawer h2{color:var(--field-muted);margin-bottom:9px;font-size:12px;font-weight:700}.chart-place-list{border-top:1px solid var(--field-line)}.chart-place-list>li{border-bottom:1px solid var(--field-line)}.chart-place-button{text-align:left;justify-content:space-between;align-items:baseline;gap:15px;width:100%;padding:15px 0;line-height:1.6;display:flex}.chart-place-button:hover,.chart-place-button[aria-current=true]{color:var(--field-blue)}.chart-place-button[aria-current=true] .chart-place-name{text-underline-offset:4px;text-decoration:underline}.chart-place-name{font-size:15px}.chart-place-label{font:11px/1.7 var(--field-mono);color:var(--field-muted);white-space:nowrap}.chart-help,.chart-empty{color:var(--field-muted);margin-top:25px;font-size:12px;line-height:1.9}.chart-memory{border-bottom:1px solid var(--field-line);margin-bottom:28px;padding:0 0 25px}.chart-memory-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.chart-memory-label{color:var(--field-muted);font-size:12px}.chart-memory-code{color:var(--field-blue);font-family:var(--field-mono);margin-left:10px;display:inline-block}.chart-memory h2{letter-spacing:-.04em;margin-top:10px;font-size:23px;font-weight:700;line-height:1.4}.chart-memory-date{color:var(--field-muted);margin-top:10px;font-size:12px;display:block}.chart-memory-close{border:1px solid #b8c6d0;border-radius:4px;flex-shrink:0;width:32px;height:32px;font-size:22px;line-height:1}.chart-memory-close:hover{background:#e9f0f5}.chart-memory-coordinates{font:11px/1.8 var(--field-mono);color:var(--field-muted);margin-top:20px}.chart-memory-photos{gap:9px;margin-top:20px;display:flex;overflow-x:auto}.chart-memory-photos img{object-fit:cover;border-radius:3px;flex:none;width:auto;height:125px}.field-shell .chart-memory-body{margin-top:20px;font-size:18px}.chart-memory-aircraft{border-top:1px solid var(--field-line);margin-top:22px;padding-top:18px}.chart-memory-aircraft ul{margin-top:8px;font-size:13px}.chart-map-wrap{height:100%;position:relative}.chart-page .chart-map{filter:none;background:#e8eef2;width:100%;height:100%}.chart-page .chart-map .maplibregl-ctrl-attrib{font:11px/1.5 var(--field-body)}.chart-page .maplibregl-ctrl-group button{width:36px;height:36px}.chart-fit{color:#35546a;background:#fff;border:1px solid #aebfcb;border-radius:4px;min-height:38px;padding:7px 13px;font-size:12px;position:absolute;bottom:34px;left:14px;box-shadow:0 1px 5px #1d3b5022}.chart-fit:hover{background:#edf4f8}.chart-unavailable{text-align:center;color:#496170;background:#e8eef2;flex-direction:column;justify-content:center;align-items:center;padding:25px;font-size:14px;display:flex;position:absolute;inset:0}.chart-unavailable button{text-underline-offset:5px;min-height:40px;margin-top:18px;text-decoration:underline}.chart-offline-places{margin-top:35px}@media (max-width:800px){.chart-heading{padding:30px 25px 25px}.chart-layout{grid-template-columns:minmax(0,1fr) 290px}.chart-sidebar{padding:23px 20px}}@media (max-width:640px){.chart-heading{display:block}.chart-heading h1{font-size:35px}.chart-count{margin-top:17px}.chart-layout{height:auto;min-height:0;display:block}.chart-viewport{height:420px}.chart-sidebar{border-left:0;border-top:1px solid var(--field-line);padding:28px 25px 38px}.chart-memory{scroll-margin:25px}}
