@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}:root{--color-primary-bg:#0d042b;--color-primary-bg-2:#0d042b;--color-primary-text:#fdfcf9;--color-base-bg:#fdfcf9;--color-base-bg-2:#f7f6ed;--color-base-bg-3:#faebd7;--color-base-text:#0d042b;--color-base-text-2:#3b364c;--color-error-text:#b3261e;--color-logo-text:#0d042b;--color-header-text:#0d042b;--color-menu-text:#0d042b;--font-family-base:var(--font-dm-sans);--font-family-heading:var(--font-dm-sans);--font-family-logo:var(--font-dm-sans);--font-family-monospace:var(--font-fira-mono);--header-height:60px;--section-padding:80px;--card-border-radius:5px;--button-border-radius:5px;--font-system-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-system-mono:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{flex-wrap:wrap;margin-top:0;margin-left:-15px;margin-right:-15px;display:flex}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:15px;padding-right:15px}.col-12{flex:none;width:100%}.order-1{order:1}.order-2{order:2}@media (width>=768px){.col-md{flex:1 0}.col-md-auto{flex:none;width:auto}.col-md-4{flex:none;width:33.3333%}.col-md-5{flex:none;width:41.6667%}.col-md-6{flex:none;width:50%}.col-md-7{flex:none;width:58.3333%}.order-md-1{order:1}.order-md-2{order:2}}@media (width>=992px){.col-lg-4{flex:none;width:33.3333%}.col-lg-8{flex:none;width:66.6667%}.col-lg-10{flex:none;width:83.3333%}}.mt-gutter{margin-top:30px!important}.mt-0{margin-top:0!important}.mt-4{margin-top:40px!important}.mt-6{margin-top:60px!important}.pt-0{padding-top:0!important}.mb-gutter{margin-bottom:30px!important}.mb-0{margin-bottom:0!important}.mb-3{margin-bottom:30px!important}.mb-4{margin-bottom:40px!important}.mb-5{margin-bottom:50px!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}.align-items-center{align-items:center!important}.text-center{text-align:center!important}@media (width>=768px){.mt-md-0{margin-top:0!important}}.ratio{width:100%;position:relative}.ratio:before{padding-top:var(--ratio-aspect,100%);content:"";display:block}.ratio>*{width:100%;height:100%;position:absolute;top:0;left:0}.ratio-16x9{--ratio-aspect:56.25%}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:10;background:var(--color-primary-bg);color:var(--color-primary-text);padding:10px 15px;font-weight:500;position:absolute;top:-100px;left:10px}.skip-link:focus{top:10px}:root{--bs-body-bg:#212529;--bs-body-color:#dee2e6;--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-border-color:#495057;--bs-border-radius:.375rem;--bs-border-width:1px;--bs-code-color:#0d6efd;--bs-font-monospace:var(--font-system-mono);--bs-font-sans-serif:var(--font-system-sans);--bs-heading-color:inherit;--bs-highlight-bg:#664d03;--bs-highlight-color:#dee2e6;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-secondary-color:#dee2e6bf}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;margin:0}hr{color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25;margin:1rem 0}h6,h5,h4,h3,h2,h1{color:var(--bs-heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (width>=1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (width>=1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (width>=1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (width>=1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;text-decoration-skip-ink:none;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg);padding:.1875em}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{margin-top:0;margin-bottom:1rem;font-size:.875em;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{color:var(--bs-code-color);word-wrap:break-word;font-size:.875em}a>code{color:inherit}kbd{color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem;padding:.1875rem .375rem;font-size:.875em}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--bs-secondary-color);text-align:left;padding-top:.5rem;padding-bottom:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:left;width:100%;margin-bottom:.5rem;padding:0;font-size:calc(1.275rem + .3vw)}@media (width>=1200px){legend{font-size:1.5rem}}legend{line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-text{padding:0}::-webkit-datetime-edit-minute{padding:0}::-webkit-datetime-edit-hour-field{padding:0}::-webkit-datetime-edit-day-field{padding:0}::-webkit-datetime-edit-month-field{padding:0}::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}body{font-family:var(--font-family-base);color:var(--color-base-text);background:var(--color-base-bg);flex-direction:column;min-height:100vh;margin:0;font-size:18px;display:flex}.page .wrapper{flex:1}h1{font-family:var(--font-family-heading);margin:0;font-size:42px;font-weight:400;line-height:1.2}@media (width>=768px){h1{font-size:48px;font-weight:400}}h2{font-family:var(--font-family-heading);margin:0;font-size:32px;font-weight:400;line-height:1.2}@media (width>=768px){h2{font-size:34px;font-weight:400;line-height:1.4}}h3{font-family:var(--font-family-heading);margin:0;font-size:24px;font-weight:400;line-height:1.4}@media (width>=768px){h3{font-size:24px}}h4{font-family:var(--font-family-heading);margin:0;font-size:20px;font-weight:400;line-height:1.4}@media (width>=768px){h4{font-size:20px}}h5{font-family:var(--font-family-heading);margin:0;font-size:18px;font-weight:700;line-height:1.3}@media (width>=768px){h5{font-size:18px}}p{font-family:var(--font-family-base);line-height:1.5}a{color:var(--color-primary-bg)}a:hover{text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}:is(ul,ol) li{margin:0;padding:0}img{vertical-align:bottom;margin:0;padding:0}.content{font-size:19px;font-family:var(--font-family-base);color:var(--color-base-text-2)}.content h1,.content h2,.content h3,.content h4,.content h5{color:var(--color-base-text);font-family:var(--font-family-heading)}.content h1{margin-top:60px;margin-bottom:15px;font-size:36px;font-weight:400}.content h2{margin-top:40px;margin-bottom:15px;font-size:28px;font-weight:500}.content h3{font-family:var(--font-family-base);margin-top:30px;margin-bottom:15px;font-size:22px;font-weight:600}.content h4{margin-top:20px;margin-bottom:15px;font-size:16px;font-weight:700}:is(.content>h1,.content>h2,.content>h3,.content>h4):first-child{margin-top:0}.content p{line-height:1.56;font-family:var(--font-family-base);color:var(--color-base-text-2);margin-bottom:20px}.content ul{margin:20px;list-style:outside}.content ol{margin:20px;list-style:decimal}.content li{margin-left:20px;line-height:1.5}.content a{color:var(--color-primary-bg);text-decoration:underline 2px;-webkit-text-decoration-color:var(--color-primary-bg);text-decoration-color:var(--color-primary-bg)}.content a:hover{opacity:.8;color:var(--color-primary-bg)}.content img{max-width:100%;height:auto;margin:40px 0}@media (width>=768px){.content img{margin:20px 0}}.content img+img{margin-top:0}.content figure{margin:40px 0}.content figure figcaption{margin-top:10px;font-size:14px}.content figure figcaption h4{font-size:14px;font-weight:400;font-family:var(--font-family-base);margin:0}.content figure figcaption p{font-size:14px;font-weight:700;font-family:var(--font-family-base);margin:0}.content figure a{display:block}.content figure img{margin:0}.content code,.content pre{font-family:var(--font-family-monospace)}.content blockquote{border-left:4px solid var(--color-base-text);margin:40px 0;padding:30px 20px}.content blockquote:before,.content blockquote:after{content:""}.content blockquote p{color:var(--color-base-text);font-family:var(--font-family-base);letter-spacing:1px;margin:0;font-size:24px;font-weight:400;line-height:1.6}.content table{border-spacing:1px;border-collapse:collapse;border-radius:var(--card-border-radius);width:100%;margin:0 auto;position:relative;overflow:hidden}.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding);background-repeat:no-repeat}.header{color:var(--color-header-text)}.header .container{height:var(--header-height);justify-content:flex-end;align-items:center;display:flex}.header .container .logos{margin-right:auto}.header a{color:var(--color-header-text)}.footer{color:var(--color-base-text);font-size:15px}.footer a{color:inherit;padding:4px 0;text-decoration:none}@media (width>=768px){.footer a{padding:2px 0}}.footer a:hover{text-decoration:underline}.footer .social{margin-top:20px}.footer .footer-menu{flex-wrap:wrap;column-gap:24px;margin-top:20px;display:flex}@media (width>=768px){.footer .footer-menu{justify-content:flex-end}}.logos a{opacity:1;display:flex}.logos a:hover{opacity:.7}.logos .logo{justify-content:flex-start;align-items:center;display:flex}.logos .logo .logo-text{font-size:26px;font-weight:500;font-family:var(--font-family-logo);color:var(--color-logo-text)}.logos .logo .logo-text a{color:var(--color-logo-text)}.logos .logo-desktop{display:flex}.menu-main{color:var(--color-menu-text);font-family:var(--font-family-base);letter-spacing:0;display:block}.menu-main ul{height:inherit;justify-content:flex-start;align-items:center;margin:0;padding:0;list-style:none;display:flex}.menu-main ul li{height:inherit;margin:0;padding:0;list-style:none;position:relative}.menu-main ul li:last-of-type{margin:0}.menu-main ul li>a{height:inherit;text-transform:capitalize;color:inherit;padding:6px 10px;font-weight:400;text-decoration:none;display:block}.menu-main ul li>a:hover{text-decoration:underline}@media (width>=992px){.menu-main ul li>a{padding:6px 10px}}.menu-main ul li.active a{font-weight:700}form{font-size:16px}form .form-group{margin-bottom:24px;display:block}form .form-group label{letter-spacing:.02em;color:var(--color-base-text);margin-bottom:8px;font-size:14px;font-weight:600;display:block}form .form-group input,form .form-group textarea{font-size:16px;font-family:var(--font-family-base);color:var(--color-base-text);appearance:none;border-radius:var(--card-border-radius);border:1px solid var(--color-base-bg-3);background-color:var(--color-base-bg-2);width:100%;padding:12px 14px;transition:border-color .2s,box-shadow .2s;display:block}:is(form .form-group input,form .form-group textarea)::placeholder{color:var(--color-base-text-2);opacity:.5}:is(form .form-group input,form .form-group textarea):focus{border-color:var(--color-primary-bg);outline:none;box-shadow:0 0 0 3px #2b3af71a}form .form-group textarea{resize:vertical;min-height:200px}form .form-group input[aria-invalid=true],form .form-group textarea[aria-invalid=true]{border-color:var(--color-error-text)}form .form-group .form-error{margin:8px 0 0}form button[type=submit]{-webkit-appearance:none;cursor:pointer}form button[type=submit]:disabled{opacity:.6;cursor:progress}form .form-error{color:var(--color-error-text);font-size:14px}form .form-status{margin:16px 0 0}form .form-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-done h2{margin-top:0}.form-done p:last-child{margin-bottom:0}.grid-header{flex-direction:column;justify-content:flex-start;margin-bottom:16px;display:flex}.grid-header h2{text-transform:uppercase;color:var(--color-base-text);font-size:20px;font-weight:500;font-family:var(--font-family-base)}.heading .heading-heading h1{letter-spacing:-1px;font-size:36px;font-weight:700;line-height:1.1;font-family:var(--font-family-heading)}@media (width>=768px){.heading .heading-heading h1{letter-spacing:-2px;font-size:46px;line-height:1}}.social{flex-wrap:wrap;justify-content:flex-start;align-items:center;margin:0 -8px;font-size:24px;display:flex}.social a{color:inherit;padding:8px;display:block}.social a:hover{opacity:.8}.social svg{vertical-align:-.125em}.button{white-space:nowrap;background:var(--color-primary-bg);color:var(--color-primary-text);border-radius:var(--button-border-radius);letter-spacing:.025em;border:1px solid #0000;outline:none;align-items:center;padding:8px 28px 9px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.button:hover{background-color:var(--color-primary-bg-2);color:var(--color-primary-text);text-decoration:none;box-shadow:0 7px 14px #32325d1a,0 3px 6px #00000014}.page-project lite-youtube{width:100%;max-width:none}.page-project lite-youtube:before{display:none}.gallery-video lite-youtube{padding-bottom:var(--gallery-video-ratio,56.25%)}.page-project .content figure{margin:30px 0}.page-project .content figure img,.page-project .content figure video,.page-project .content figure iframe,.page-project .content figure lite-youtube{border-radius:4px}.page-project .content figure video{width:100%;height:auto;display:block}.page-project .content figure figcaption{margin-top:10px}.page-project .content figure figcaption h3{font-size:15px;font-weight:600;font-family:var(--font-family-base);color:var(--color-base-text);margin:0 0 4px}.page-project .content figure figcaption p{color:var(--color-base-text-2);margin:0;font-size:13px;font-weight:400;line-height:1.5}@media (width>=768px){.page-project .content .figure-full{margin-left:-15px;margin-right:-15px}}.page-project-right .content{margin-bottom:50px}.hero-intro .hero-intro-photo{padding-right:2rem}@media (width<=767px){.hero-intro .hero-intro-photo{margin-bottom:1.5rem;padding-right:12px}}.hero-intro .about-headshot{object-fit:cover;border:3px solid var(--color-primary-bg);border-radius:50%;width:140px;height:140px;box-shadow:0 0 0 6px #0d042b0f}@media (width>=768px){.hero-intro .about-headshot{width:160px;height:160px}}.hero-intro .hero-intro-text h1{letter-spacing:-1px;font-size:32px;font-weight:700;line-height:1.1;font-family:var(--font-family-heading);margin-bottom:.5rem}@media (width>=768px){.hero-intro .hero-intro-text h1{letter-spacing:-2px;font-size:42px}}.hero-intro .hero-intro-text .hero-tagline{letter-spacing:-.5px;font-size:20px;line-height:1.4;font-family:var(--font-family-base);color:var(--color-base-text-2);margin-bottom:0}@media (width>=768px){.hero-intro .hero-intro-text .hero-tagline{font-size:24px}}.hero-intro .hero-intro-text .hero-tagline a{color:var(--color-base-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-primary-bg);text-decoration-color:var(--color-primary-bg);text-underline-offset:3px;text-decoration-thickness:2px;transition:text-decoration-color .2s}.hero-intro .hero-intro-text .hero-tagline a:hover{-webkit-text-decoration-color:var(--color-base-text-2);text-decoration-color:var(--color-base-text-2)}.hero-intro .hero-intro-text .hero-tagline code{font-family:var(--font-family-monospace);color:var(--color-primary-bg);background:0 0;padding:0;font-size:.9em}.hero-intro .hero-bio{border-top:1px solid #0d042b14;margin-top:2rem;padding-top:1.5rem}.hero-intro .hero-bio p{color:var(--color-base-text-2);margin-bottom:0;font-size:17px;line-height:1.65}#background-canvas{opacity:.2;z-index:-99;width:100%;height:100vh;position:fixed;top:0;left:0}.page-keynote .keynote-video-wrapper{background:#000;border-radius:8px;overflow:hidden}.page-keynote .keynote-meta{margin-top:4px}.page-keynote .keynote-meta .keynote-meta-item{margin-bottom:6px;font-size:16px;line-height:1.4}.page-keynote .keynote-meta .keynote-meta-item strong{width:80px;font-weight:600;display:inline-block}.page-keynote .keynote-meta .keynote-meta-item span{color:var(--color-base-text-2);font-weight:400;display:inline-block}
