.cut-word[data-astro-cid-howp6dpg]{display:inline-flex;white-space:nowrap}.cut-window[data-astro-cid-howp6dpg]{display:inline-block;overflow:clip;padding-block:.08em;margin-block:-.08em}.cut-letter[data-astro-cid-howp6dpg]{display:inline-block}@media(prefers-reduced-motion:no-preference){html:not([data-client-navigation]) .cut-letter[data-astro-cid-howp6dpg]{animation:cut-reveal var(--duration-hero) var(--ease-out) both;animation-delay:calc(var(--letter-index) * var(--stagger-letter))}}@keyframes cut-reveal{0%{transform:translateY(115%)}to{transform:translateY(0)}}.about[data-astro-cid-5vtmhcfp]{min-width:0}h1[data-astro-cid-5vtmhcfp]{margin:0 0 1.75rem;font-size:var(--font-size-display);font-weight:var(--font-weight-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.greeting[data-astro-cid-5vtmhcfp]{display:block;margin-bottom:.15em;color:var(--text-secondary);font-size:var(--font-size-greeting);font-weight:var(--font-weight-greeting);line-height:var(--leading-greeting);letter-spacing:var(--tracking-greeting)}.name[data-astro-cid-5vtmhcfp]{display:block}.bio[data-astro-cid-5vtmhcfp] p{max-width:33ch;margin:0;font-size:var(--font-size-bio);font-weight:var(--font-weight-bio);line-height:var(--leading-bio);letter-spacing:var(--tracking-bio);color:var(--text-secondary)}.intro-socials[data-astro-cid-5vtmhcfp]{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.25rem}.intro-socials[data-astro-cid-5vtmhcfp] a[data-astro-cid-5vtmhcfp]{display:inline-flex;align-items:center;gap:.45rem;min-height:var(--spacing-target);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-decoration:none}.intro-socials[data-astro-cid-5vtmhcfp] .link-brand-icon{width:16px;height:16px;display:inline-flex;align-items:center;flex:none}.intro-socials[data-astro-cid-5vtmhcfp] .link-favicon{width:16px;height:16px;display:block}.intro-socials[data-astro-cid-5vtmhcfp] .link-favicon-dark,html.dark .intro-socials[data-astro-cid-5vtmhcfp] .link-favicon-light{display:none}html.dark .intro-socials[data-astro-cid-5vtmhcfp] .link-favicon-dark{display:block}.intro-socials[data-astro-cid-5vtmhcfp] .link-external-arrow{width:12px;height:12px;color:var(--text-secondary)}@media(hover:hover)and (pointer:fine){.intro-socials[data-astro-cid-5vtmhcfp] a[data-astro-cid-5vtmhcfp]:hover>span[data-astro-cid-5vtmhcfp]{text-decoration:underline;text-underline-offset:.25em}.intro-socials[data-astro-cid-5vtmhcfp] a[data-astro-cid-5vtmhcfp]:hover .link-external-arrow{transform:var(--nudge-external);color:var(--text-primary)}}@media(prefers-reduced-motion:no-preference){.intro-socials[data-astro-cid-5vtmhcfp] .link-external-arrow{transition:transform var(--duration-fast) var(--ease-out)}}@media(max-width:767px){h1[data-astro-cid-5vtmhcfp]{font-size:var(--font-size-display-tablet);font-weight:var(--font-weight-display-tablet);line-height:var(--leading-display-tablet);letter-spacing:var(--tracking-display-tablet);margin-bottom:1.25rem}.greeting[data-astro-cid-5vtmhcfp],.name[data-astro-cid-5vtmhcfp]{display:inline}.greeting[data-astro-cid-5vtmhcfp]{font-size:var(--font-size-greeting-tablet);font-weight:var(--font-weight-greeting-tablet);line-height:var(--leading-greeting-tablet);letter-spacing:var(--tracking-greeting-tablet);margin-right:.22em}.bio[data-astro-cid-5vtmhcfp] p{max-width:44ch}.intro-socials[data-astro-cid-5vtmhcfp]{margin-top:.75rem}}@media(max-width:600px){h1[data-astro-cid-5vtmhcfp]{font-size:var(--font-size-display-mobile);font-weight:var(--font-weight-display-mobile);line-height:var(--leading-display-mobile);letter-spacing:var(--tracking-display-mobile);margin-bottom:1.5rem}.greeting[data-astro-cid-5vtmhcfp],.name[data-astro-cid-5vtmhcfp]{display:block}.greeting[data-astro-cid-5vtmhcfp]{font-size:var(--font-size-greeting-mobile);font-weight:var(--font-weight-greeting-mobile);line-height:var(--leading-greeting-mobile);letter-spacing:var(--tracking-greeting-mobile);margin:0 0 .15em}}.featured-section[data-astro-cid-n7gce2fu]{margin-top:var(--spacing-home-section)}.featured-heading[data-astro-cid-n7gce2fu]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}h2[data-astro-cid-n7gce2fu]{font-size:var(--font-size-section-title);font-weight:var(--font-weight-section-title);line-height:var(--leading-section-title);letter-spacing:var(--tracking-section-title)}.view-all[data-astro-cid-n7gce2fu]{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--spacing-target);color:var(--text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-decoration:none}@media(hover:hover)and (pointer:fine){.view-all[data-astro-cid-n7gce2fu]:hover{color:var(--text-primary)}.view-all[data-astro-cid-n7gce2fu]:hover .label[data-astro-cid-n7gce2fu]{text-decoration:underline}.view-all[data-astro-cid-n7gce2fu]:hover .arrow[data-astro-cid-n7gce2fu]{transform:var(--nudge-internal)}}.view-all[data-astro-cid-n7gce2fu] .arrow[data-astro-cid-n7gce2fu]{display:inline-block}.featured-work[data-astro-cid-n7gce2fu]{display:grid;gap:var(--spacing-home-spread)}.work-spread[data-astro-cid-n7gce2fu]{display:grid;grid-template-columns:.85fr 1.6fr;align-items:center;gap:var(--spacing-section)}.work-spread[data-astro-cid-n7gce2fu]:nth-child(2n){grid-template-columns:1.6fr .85fr}.work-spread[data-astro-cid-n7gce2fu]:nth-child(2n) .work-copy[data-astro-cid-n7gce2fu]{order:1}.work-copy[data-astro-cid-n7gce2fu]{min-width:0}h3[data-astro-cid-n7gce2fu]{font-size:var(--font-size-project-title);font-weight:var(--font-weight-project-title);line-height:var(--leading-project-title);letter-spacing:var(--tracking-project-title);margin-bottom:.75rem}h3[data-astro-cid-n7gce2fu] a[data-astro-cid-n7gce2fu]{text-decoration:none;display:inline}h3[data-astro-cid-n7gce2fu] span[data-astro-cid-n7gce2fu]{display:inline-block;margin-left:.4em;color:var(--text-secondary);font-size:.65em}.work-copy[data-astro-cid-n7gce2fu] p[data-astro-cid-n7gce2fu]{color:var(--text-secondary);font-size:var(--font-size-summary);font-weight:var(--font-weight-summary);line-height:var(--leading-summary);letter-spacing:var(--tracking-summary)}.work-copy[data-astro-cid-n7gce2fu] .project-links:not(:empty){margin-top:1.25rem}.work-art[data-astro-cid-n7gce2fu]{min-width:0}.work-art[data-astro-cid-n7gce2fu] .project-preview{margin-bottom:0}@media(hover:hover)and (pointer:fine){h3[data-astro-cid-n7gce2fu] a[data-astro-cid-n7gce2fu]:hover span[data-astro-cid-n7gce2fu]{color:var(--text-primary);transform:var(--nudge-internal)}}@media(prefers-reduced-motion:no-preference){h3[data-astro-cid-n7gce2fu] span[data-astro-cid-n7gce2fu],.view-all[data-astro-cid-n7gce2fu] .arrow[data-astro-cid-n7gce2fu]{transition:transform var(--duration-fast) var(--ease-out)}}@media(max-width:767px){.featured-section[data-astro-cid-n7gce2fu]{margin-top:3rem}.featured-work[data-astro-cid-n7gce2fu]{gap:2.5rem}.work-spread[data-astro-cid-n7gce2fu],.work-spread[data-astro-cid-n7gce2fu]:nth-child(2n){grid-template-columns:1fr;gap:1.25rem}.work-copy[data-astro-cid-n7gce2fu],.work-spread[data-astro-cid-n7gce2fu]:nth-child(2n) .work-copy[data-astro-cid-n7gce2fu]{order:1}h3[data-astro-cid-n7gce2fu]{font-size:var(--font-size-project-title-mobile);font-weight:var(--font-weight-project-title-mobile);line-height:var(--leading-project-title-mobile);letter-spacing:var(--tracking-project-title-mobile)}.work-copy[data-astro-cid-n7gce2fu] p[data-astro-cid-n7gce2fu]{max-width:48ch}}.sky[data-astro-cid-ee4ysdtu]{min-width:0}.radar[data-astro-cid-ee4ysdtu]{position:relative;width:100%;max-width:440px;aspect-ratio:1;margin:.5rem auto .75rem}.radar-grid[data-astro-cid-ee4ysdtu]{width:100%;height:100%;color:var(--text-secondary);pointer-events:none;mask-image:radial-gradient(ellipse,#000 25%,transparent 72%)}.sky[data-astro-cid-ee4ysdtu]:not([data-map-ready]) .radar-grid[data-astro-cid-ee4ysdtu]{visibility:hidden}.radar-grid[data-astro-cid-ee4ysdtu] text[data-astro-cid-ee4ysdtu]{fill:var(--text-secondary);stroke:none;font-family:var(--mono)}.radar-land[data-astro-cid-ee4ysdtu]{fill:var(--text-primary);opacity:.06}.radar-lake[data-astro-cid-ee4ysdtu]{fill:none;stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.radar-grid[data-astro-cid-ee4ysdtu] .lake-label[data-astro-cid-ee4ysdtu]{font-size:var(--font-size-map-water);font-weight:var(--font-weight-map-water);line-height:var(--leading-map-water);letter-spacing:var(--tracking-map-water);fill:var(--text-tertiary)}.city-location[data-astro-cid-ee4ysdtu]{fill:var(--text-secondary)}.city-location[data-astro-cid-ee4ysdtu] text[data-astro-cid-ee4ysdtu]{font-size:var(--font-size-map-city);font-weight:var(--font-weight-map-city);line-height:var(--leading-map-city);letter-spacing:var(--tracking-map-city)}.airport-runway[data-astro-cid-ee4ysdtu]{stroke:var(--text-secondary);stroke-width:1.4}.aircraft-layer[data-astro-cid-ee4ysdtu]{position:absolute;inset:0;pointer-events:none;overflow:clip}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker{position:absolute;display:grid;place-items:center;width:var(--spacing-target);height:var(--spacing-target);padding:0;border:0;background:transparent;color:var(--text-secondary);left:0;top:0;pointer-events:auto;cursor:pointer;border-radius:var(--radius-marker)}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[hidden]{display:none}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-appearance{position:relative;display:grid;place-items:center;pointer-events:none}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-trail{display:none;position:absolute;left:50%;top:50%;pointer-events:none}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-trail span{position:absolute;left:0;top:-.625px;width:1px;height:1.25px;background:currentColor;opacity:.4;mask-image:linear-gradient(to right,rgb(0 0 0 / var(--trail-start)),rgb(0 0 0 / var(--trail-end)));transform-origin:left center}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-heading{position:relative;display:grid;place-items:center}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker svg{width:21px;height:21px;pointer-events:none;filter:drop-shadow(0 1px 1px var(--bg))}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-kind=heavy] svg{width:25px;height:25px}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-kind=propeller] svg{width:18px;height:18px}@media(max-width:600px){.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker svg{width:17px;height:17px}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-kind=heavy] svg{width:20px;height:20px}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-kind=propeller] svg{width:14px;height:14px}}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[aria-pressed=true]{z-index:var(--z-popover);color:var(--text-primary)}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker:focus-visible{outline:1px dashed var(--text-primary);outline-offset:-2px}.aircraft-label[data-astro-cid-ee4ysdtu]{position:absolute;z-index:var(--z-tooltip);width:max-content;max-width:min(260px,calc(100% - 24px));left:0;top:0;padding:.5rem .7rem;border-radius:var(--radius-panel);color:var(--text-primary);background:var(--bg);box-shadow:var(--shadow-tooltip);pointer-events:auto}.aircraft-label[data-astro-cid-ee4ysdtu] strong[data-astro-cid-ee4ysdtu]{display:block;font-size:var(--font-size-tooltip-title);font-weight:var(--font-weight-tooltip-title);line-height:var(--leading-tooltip-title);letter-spacing:var(--tracking-tooltip-title)}.aircraft-label[data-astro-cid-ee4ysdtu] span[data-astro-cid-ee4ysdtu]{display:block;font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption);color:var(--text-secondary)}.nearby-aircraft[data-astro-cid-ee4ysdtu]{position:absolute;z-index:var(--z-popover);left:50%;bottom:1rem;transform:translate(-50%);min-width:225px;max-width:90%;max-height:230px;overflow:auto;padding:.5rem;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-chooser)}.nearby-aircraft[data-astro-cid-ee4ysdtu][hidden]{display:none}.nearby-aircraft[data-astro-cid-ee4ysdtu] .nearby-label{display:block;padding:.25rem .5rem;color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption)}.nearby-aircraft[data-astro-cid-ee4ysdtu] button{display:block;width:100%;min-height:var(--spacing-target);padding:.5rem;border:0;background:transparent;text-align:left;font-size:var(--font-size-meta);font-weight:var(--font-weight-meta);line-height:var(--leading-meta);letter-spacing:var(--tracking-meta);cursor:pointer}.sky-status[data-astro-cid-ee4ysdtu]{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-caption);line-height:var(--leading-caption);letter-spacing:var(--tracking-caption);margin-top:.5rem}@media(hover:hover)and (pointer:fine){.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker:hover{color:var(--text-primary)}.nearby-aircraft[data-astro-cid-ee4ysdtu] button:hover{background:var(--bg)}}@media(prefers-reduced-motion:no-preference){.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker{transition:color var(--duration-fast) var(--ease-color)}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-entered=true] .aircraft-appearance{animation:aircraft-arrive .4s var(--ease-out) backwards}.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-entered=true] .aircraft-trail{animation:aircraft-trail-arrive .9s var(--ease-out) backwards}.sky[data-astro-cid-ee4ysdtu][data-active=false] .aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-appearance,.sky[data-astro-cid-ee4ysdtu][data-active=false] .aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-trail{animation-play-state:paused}}@media(min-width:601px)and (prefers-reduced-motion:no-preference){.aircraft-layer[data-astro-cid-ee4ysdtu] .aircraft-marker[data-moving=true] .aircraft-trail{display:block}}@keyframes aircraft-trail-arrive{0%{opacity:0}to{opacity:1}}@keyframes aircraft-arrive{0%{opacity:0;filter:blur(1.5px)}to{opacity:1;filter:blur(0)}}.home-hero[data-astro-cid-j7pv25f6]{--sky-bleed: clamp(0px, calc((100vw - 896px)/2 - 24px) , 160px);position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:3.5rem;min-height:520px;padding-block:2rem 3rem}.home-hero[data-astro-cid-j7pv25f6] .about{position:relative;z-index:var(--z-raised)}.home-hero[data-astro-cid-j7pv25f6] .sky{position:absolute;inset:-1rem calc(-1 * var(--sky-bleed)) 0;pointer-events:none}.home-hero[data-astro-cid-j7pv25f6] .radar{position:absolute;inset:0;width:100%;height:auto;max-width:none;aspect-ratio:auto;margin:0;pointer-events:none}.home-hero[data-astro-cid-j7pv25f6] .radar-grid{--map-shape: radial-gradient(ellipse at 58% 45%, #000 5%, #000a 38%, transparent 72%);opacity:.46;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 72%,transparent),var(--map-shape);mask-composite:intersect}.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker{color:var(--text-tertiary)}.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker[aria-pressed=true],.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker:hover,.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker:focus-visible{color:var(--text-primary)}.home-hero[data-astro-cid-j7pv25f6] .sky-status{position:absolute;bottom:0;left:var(--sky-bleed)}.home-hero[data-astro-cid-j7pv25f6] .nearby-aircraft{left:67%;bottom:1rem;pointer-events:auto}html:not([data-client-navigation]) #transition-wrapper:has(.home-hero){animation:none}@media(max-width:959px){.home-hero[data-astro-cid-j7pv25f6]{--sky-bleed: var(--gutter);grid-template-columns:1fr;min-height:380px;padding-block:3rem 4.5rem}.home-hero[data-astro-cid-j7pv25f6] .radar-grid{opacity:.3}.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker{color:color-mix(in srgb,var(--text-secondary) 30%,transparent)}.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker[aria-pressed=true],.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker:focus-visible{color:var(--text-primary)}.home-hero[data-astro-cid-j7pv25f6] .nearby-aircraft{left:50%}}@media(max-width:600px){.home-hero[data-astro-cid-j7pv25f6]{min-height:0;padding-block:1rem 2rem}.home-hero[data-astro-cid-j7pv25f6] .sky{--map-zoom: 1.35;--map-center-x: .8;--map-center-y: .44;--map-side-fade: linear-gradient(to right, transparent max(54%, 12rem), #000 88%);--map-fade: linear-gradient(to bottom, transparent 4rem, #000 7rem, #000 12rem, transparent 16rem);inset-block:-7rem auto;height:22rem}.home-hero[data-astro-cid-j7pv25f6] .airport-runway{display:none}.home-hero[data-astro-cid-j7pv25f6] .lake-label{text-anchor:end;transform:translate(-12px,-34px)}.home-hero[data-astro-cid-j7pv25f6] .radar-grid{opacity:.64;mask-image:var(--map-fade),var(--map-side-fade)}.home-hero[data-astro-cid-j7pv25f6] .aircraft-layer{mask-image:var(--map-fade),var(--map-side-fade);mask-composite:intersect}.home-hero[data-astro-cid-j7pv25f6] .aircraft-marker{color:color-mix(in srgb,var(--text-secondary) 44%,transparent)}}
