@font-face{font-family:Lato;src:url(/assets/lato-regular-DtRploVp.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;ascent-override:98.7%;descent-override:21.3%;line-gap-override:0%}@font-face{font-family:Lato;src:url(/assets/lato-medium-TGsJGCcI.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;ascent-override:98.7%;descent-override:21.3%;line-gap-override:0%}@font-face{font-family:Lato;src:url(/assets/lato-semibold-BKq3NIS9.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;ascent-override:98.7%;descent-override:21.3%;line-gap-override:0%}@font-face{font-family:Lato;src:url(/assets/lato-bold-DH8pOjvv.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;ascent-override:98.7%;descent-override:21.3%;line-gap-override:0%}:root{--black: #0e0e0e;--white: #ffffff;--red: #e40000;--outline: #d8d8d8;--link-grey: #d2d2d2;--pipe: rgba(217, 217, 217, .3);--chevron-disabled: #c8c8c8;--image-shadow: 0 0 40px rgba(0, 0, 0, .2);--tile-shadow: 0 0 40px rgba(0, 0, 0, .2);--frame-w: 1320px;--sidebar-w: 220px;--content-w: 1100px;--gutter: 60px;--measure: 980px;--scale: 1;--ease-out: cubic-bezier(.2, .7, .3, 1);--fw-heading: 700;--fw-label: 700;--fw-menu: 500;--fw-body: 500;--fw-link: 500;--fw-tile: 500;--fw-card: 600;--fw-text: 500;--fw-a-text: 500;--fw-a-link: 500;--fw-skill: 700;--fw-p-banner: 500;--fw-p-title: 600;--fw-p-text: 500;--fw-p-link: 500;--fw-p-meta: 600;--fw-p-label: 400;--ls-heading: -.0029em;--ls-label: -.0029em;--ls-menu: .0017em;--ls-body: .0017em;--ls-link: .0017em;--ls-tile: 0em;--ls-card: 0em;--ls-text: -.0015em;--ls-a-text: .0017em;--ls-a-link: .0017em;--ls-skill: 0em;--ls-p-banner: .0017em;--ls-p-title: 0em;--ls-p-text: .0017em;--ls-p-link: .0017em;--ls-p-meta: 0em;--ls-p-label: 0em}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--black)}body{font-family:Lato,system-ui,sans-serif;font-weight:500;color:var(--black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}img{display:block}:focus-visible{outline:2px solid #2f6fe4;outline-offset:3px}html:not(.kbd) :focus-visible:not(input,textarea){outline:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.weight-panel{position:fixed;left:12px;bottom:12px;z-index:1000;padding:8px 10px;background:#fffffff5;color:#111;border-radius:6px;box-shadow:0 2px 12px #00000059;font:12px/1.3 system-ui,sans-serif;display:flex;flex-direction:column;gap:4px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.weight-panel button{font:inherit;cursor:pointer}.weight-panel button,.width-badge button,.fade-tuner button{color:#111}.weight-panel[hidden]{display:none}.width-badge{position:fixed;right:12px;bottom:12px;z-index:1000;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 10px;background:#fffffff5;color:#111;border-radius:6px;box-shadow:0 2px 12px #00000059;font:12px/1.3 system-ui,sans-serif}.width-badge__read{font-variant-numeric:tabular-nums;font-weight:700}.width-badge button{font:inherit;cursor:pointer;padding:3px 7px;border:1px solid #bbb;border-radius:3px;background:#f4f4f4}.width-badge .width-badge__fonts[aria-pressed=true]{background:#111;color:#fff;border-color:#111}.width-badge.is-hidden{padding:0;background:none;box-shadow:none;opacity:.45}.width-badge.is-hidden:hover,.width-badge.is-hidden:focus-within{opacity:1}.fade-tuner{position:fixed;right:12px;bottom:52px;z-index:1000;display:grid;gap:4px;width:220px;padding:8px 10px;background:#fffffff5;color:#111;border-radius:6px;box-shadow:0 2px 12px #00000059;font:12px/1.3 system-ui,sans-serif}.fade-tuner:has(>.fade-tuner__toggle[aria-expanded=false]){width:auto}.fade-tuner .fade-tuner__toggle{border:0;background:none;padding:0;font:inherit;font-weight:700;text-align:left;cursor:pointer}.fade-tuner label{display:grid;grid-template-columns:26px 1fr 48px;align-items:center;gap:6px}.fade-tuner input{width:100%;margin:0}.fade-tuner label.fade-tuner__check{display:flex;gap:6px;margin-top:2px;cursor:pointer}.fade-tuner__check input{width:auto}.fade-tuner__ease{color:#555}.fade-tuner__head{margin-top:6px;padding-top:6px;border-top:1px solid #ddd}.fade-tuner__seg{display:flex}.fade-tuner .fade-tuner__seg button{flex:1;padding:3px 0;border-radius:0}.fade-tuner .fade-tuner__seg button+button{border-left:0}.fade-tuner .fade-tuner__seg button[aria-checked=true]{background:#111;border-color:#111;color:#fff}.fade-tuner output{text-align:right;font-variant-numeric:tabular-nums}.fade-tuner__foot{display:flex;justify-content:space-between;align-items:center;color:#555;font-variant-numeric:tabular-nums}.fade-tuner button{font:inherit;cursor:pointer;padding:1px 6px;border:1px solid #bbb;border-radius:3px;background:#f4f4f4}.weight-panel__toggle{border:0;background:none;padding:0;font-weight:700!important;text-align:left}.weight-panel__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.weight-panel__label{white-space:nowrap}.weight-panel__opts{display:flex;gap:2px}.weight-panel__opts button{min-width:38px;padding:3px 4px;border:1px solid #bbb;border-radius:3px;background:#fff}.weight-panel__opts button[aria-pressed=true]{background:#111;color:#fff;border-color:#111}.weight-panel__opts button{position:relative}.weight-panel__opts button.is-build:after,.weight-panel__dot{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#d22}.weight-panel__opts button.is-build:after{position:absolute;left:50%;bottom:-3px;margin-left:-2.5px;box-shadow:0 0 0 1.5px #fff}.weight-panel__key{color:#666}.weight-panel__dot{vertical-align:1px}.weight-panel__section{display:flex;flex-direction:column;gap:4px;padding-top:4px;border-top:1px solid #e2e2e2}.weight-panel__head{font-weight:700;color:#666;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.weight-panel__changed{font-weight:400;color:#d22}.weight-panel__all{padding-top:4px;border-top:1px solid #e2e2e2}.weight-panel__reset:disabled{opacity:.45;cursor:default}.weight-panel__reset{margin-top:2px;padding:3px 4px;border:1px solid #bbb;border-radius:3px;background:#f4f4f4}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 14px;background:var(--white);color:var(--black)}.skip-link:focus{top:8px}.frame{width:var(--frame-w);margin:0 auto;font-size:calc(16px * var(--tz, 1));display:grid;grid-template-columns:var(--sidebar-w) var(--content-w)}.topbar{display:none}.has-topbar .topbar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:50;height:64px;padding-right:10px;color:var(--white)}.has-topbar body{padding-top:55px}.has-topbar .content{padding-top:calc(9px / var(--scale, 1))}@property --n1y{syntax: "<length>"; inherits: false; initial-value: 9px;}@property --n2y{syntax: "<length>"; inherits: false; initial-value: 9px;}@property --n3y{syntax: "<length>"; inherits: false; initial-value: 9px;}@property --n4y{syntax: "<length>"; inherits: false; initial-value: 9px;}.topbar:before{--tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='9'%3E%3Cpath d='M9 0 18 9H0z'/%3E%3C/svg%3E");--tri-w: 18px;content:"";position:absolute;inset:0;z-index:-1;background:var(--black);-webkit-mask-image:var(--tri),var(--tri),var(--tri),var(--tri),linear-gradient(#000 0 0);-webkit-mask-repeat:no-repeat;-webkit-mask-size:var(--tri-w) 9px,var(--tri-w) 9px,var(--tri-w) 9px,var(--tri-w) 9px,100% 100%;-webkit-mask-position:calc(var(--n1x, -40px) - var(--tri-w) / 2) calc(100% + var(--n1y)),calc(var(--n2x, -40px) - var(--tri-w) / 2) calc(100% + var(--n2y)),calc(var(--n3x, -40px) - var(--tri-w) / 2) calc(100% + var(--n3y)),calc(var(--n4x, -40px) - var(--tri-w) / 2) calc(100% + var(--n4y)),0 0;-webkit-mask-composite:xor;mask-image:var(--tri),var(--tri),var(--tri),var(--tri),linear-gradient(#000 0 0);mask-repeat:no-repeat;mask-size:var(--tri-w) 9px,var(--tri-w) 9px,var(--tri-w) 9px,var(--tri-w) 9px,100% 100%;mask-position:calc(var(--n1x, -40px) - var(--tri-w) / 2) calc(100% + var(--n1y)),calc(var(--n2x, -40px) - var(--tri-w) / 2) calc(100% + var(--n2y)),calc(var(--n3x, -40px) - var(--tri-w) / 2) calc(100% + var(--n3y)),calc(var(--n4x, -40px) - var(--tri-w) / 2) calc(100% + var(--n4y)),0 0;mask-composite:exclude;transition:--n1y .3s ease-in,--n2y .3s ease-in,--n3y .3s ease-in,--n4y .3s ease-in}.notch-sharp .topbar:before{--tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9'%3E%3Cpath d='M8 0 16 9H0z'/%3E%3C/svg%3E");--tri-w: 16px}.topbar[data-active="0"]:before{--n1y: 0px;transition-timing-function:var(--ease-out),ease-in,ease-in,ease-in}.topbar[data-active="1"]:before{--n2y: 0px;transition-timing-function:ease-in,var(--ease-out),ease-in,ease-in}.topbar[data-active="2"]:before{--n3y: 0px;transition-timing-function:ease-in,ease-in,var(--ease-out),ease-in}.topbar[data-active="3"]:before{--n4y: 0px;transition-timing-function:ease-in,ease-in,ease-in,var(--ease-out)}.notch-sync .topbar:before{transition:--n1y var(--notch-leave),--n2y var(--notch-leave),--n3y var(--notch-leave),--n4y var(--notch-leave)}.notch-sync .topbar[data-active="0"]:before{transition:--n1y var(--notch-enter),--n2y var(--notch-leave),--n3y var(--notch-leave),--n4y var(--notch-leave)}.notch-sync .topbar[data-active="1"]:before{transition:--n1y var(--notch-leave),--n2y var(--notch-enter),--n3y var(--notch-leave),--n4y var(--notch-leave)}.notch-sync .topbar[data-active="2"]:before{transition:--n1y var(--notch-leave),--n2y var(--notch-leave),--n3y var(--notch-enter),--n4y var(--notch-leave)}.notch-sync .topbar[data-active="3"]:before{transition:--n1y var(--notch-leave),--n2y var(--notch-leave),--n3y var(--notch-leave),--n4y var(--notch-enter)}.topbar__wordmark{flex:none;display:block;width:220px;height:64px;color:var(--white)}.topbar__wordmark svg{display:block;width:220px;height:64px}.topbar__nav{display:flex;height:64px}.topbar__link{position:relative;display:flex;align-items:center;padding:0 11px;font-size:calc(16px * var(--tz, 1));font-weight:var(--fw-menu);color:var(--white)}.topbar__menu-btn{display:none;flex:none;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--white);cursor:pointer}.menu-icon{overflow:visible}.menu-icon path{transform-box:view-box;transform-origin:10px 10px;transition:transform .3s ease-in,opacity .3s ease-in}.topbar.is-open .menu-icon path{transition-timing-function:var(--ease-out)}.topbar.is-open .menu-icon__top{transform:rotate(45deg) translateY(9px) scaleX(1.2728)}.topbar.is-open .menu-icon__mid{opacity:0;transform:scaleX(.2)}.topbar.is-open .menu-icon__bot{transform:rotate(-45deg) translateY(-9px) scaleX(1.2728)}.topbar__menu{position:fixed;top:64px;right:0;bottom:0;z-index:1;width:133px;display:flex;flex-direction:column;gap:10px;padding-top:21px;background:var(--black);transform:translate(100%);visibility:hidden}.topbar.is-open .topbar__menu{transform:none;visibility:visible}@property --d1{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --d2{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --d3{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --d4{syntax: "<length>"; inherits: false; initial-value: 0px;}.topbar__menu{--slope: 1;--c1: 37px;--c2: 79px;--c3: 121px;--c4: 163px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 calc(var(--c4) + var(--d4) * var(--slope)),var(--d4) var(--c4),0 calc(var(--c4) - var(--d4) * var(--slope)),0 calc(var(--c3) + var(--d3) * var(--slope)),var(--d3) var(--c3),0 calc(var(--c3) - var(--d3) * var(--slope)),0 calc(var(--c2) + var(--d2) * var(--slope)),var(--d2) var(--c2),0 calc(var(--c2) - var(--d2) * var(--slope)),0 calc(var(--c1) + var(--d1) * var(--slope)),var(--d1) var(--c1),0 calc(var(--c1) - var(--d1) * var(--slope)))}.notch-sharp .topbar__menu{--slope: .8335}.topbar .topbar__menu{transition:transform .3s ease-in,visibility 0s linear .3s,--d1 .3s ease-in,--d2 .3s ease-in,--d3 .3s ease-in,--d4 .3s ease-in}.topbar.is-open .topbar__menu{transition:transform .3s var(--ease-out),visibility 0s,--d1 .3s ease-in,--d2 .3s ease-in,--d3 .3s ease-in,--d4 .3s ease-in}.topbar[data-active="0"] .topbar__menu{--d1: 10px}.topbar[data-active="1"] .topbar__menu{--d2: 10px}.topbar[data-active="2"] .topbar__menu{--d3: 10px}.topbar[data-active="3"] .topbar__menu{--d4: 10px}.notch-sync .topbar.is-open[data-active="0"] .topbar__menu{transition:transform .3s var(--ease-out),visibility 0s,--d1 var(--notch-enter),--d2 var(--notch-leave),--d3 var(--notch-leave),--d4 var(--notch-leave)}.notch-sync .topbar.is-open[data-active="1"] .topbar__menu{transition:transform .3s var(--ease-out),visibility 0s,--d1 var(--notch-leave),--d2 var(--notch-enter),--d3 var(--notch-leave),--d4 var(--notch-leave)}.notch-sync .topbar.is-open[data-active="2"] .topbar__menu{transition:transform .3s var(--ease-out),visibility 0s,--d1 var(--notch-leave),--d2 var(--notch-leave),--d3 var(--notch-enter),--d4 var(--notch-leave)}.notch-sync .topbar.is-open[data-active="3"] .topbar__menu{transition:transform .3s var(--ease-out),visibility 0s,--d1 var(--notch-leave),--d2 var(--notch-leave),--d3 var(--notch-leave),--d4 var(--notch-enter)}.topbar.is-open[data-active="0"] .topbar__menu{transition-timing-function:var(--ease-out),linear,var(--ease-out),ease-in,ease-in,ease-in}.topbar.is-open[data-active="1"] .topbar__menu{transition-timing-function:var(--ease-out),linear,ease-in,var(--ease-out),ease-in,ease-in}.topbar.is-open[data-active="2"] .topbar__menu{transition-timing-function:var(--ease-out),linear,ease-in,ease-in,var(--ease-out),ease-in}.topbar.is-open[data-active="3"] .topbar__menu{transition-timing-function:var(--ease-out),linear,ease-in,ease-in,ease-in,var(--ease-out)}.topbar__menu-item{flex:none;height:32px;padding-left:32px;font-size:calc(19.25px * var(--tz, 1));line-height:32px;font-weight:var(--fw-menu);letter-spacing:var(--ls-menu);color:var(--white)}.topbar,.topbar *{-webkit-tap-highlight-color:transparent}.topbar__menu-item:focus-visible{outline-offset:-3px}.topbar__scrim{position:fixed;inset:64px 0 0;background:rgb(255 255 255 / var(--menu-veil, 0));opacity:0;pointer-events:none;transition:opacity .3s ease-in}.topbar.is-open .topbar__scrim{opacity:1;pointer-events:auto;transition:opacity .3s var(--ease-out)}@media(max-width:539px){.topbar__nav{display:none}.has-topbar .topbar:before{-webkit-mask-position:-100px 0,-100px 0,-100px 0,-100px 0,0 0;mask-position:-100px 0,-100px 0,-100px 0,-100px 0,0 0}.topbar__menu-btn{display:flex}}@media(min-width:540px){.topbar__menu,.topbar__scrim{display:none}}@media(prefers-reduced-motion:reduce){.topbar .topbar__menu,.topbar.is-open .topbar__menu,.topbar__scrim,.topbar.is-open .topbar__scrim,.menu-icon path,.topbar.is-open .menu-icon path,.notch-sync .topbar.is-open[data-active] .topbar__menu{transition:none}}.is-locked{overflow:hidden}.is-topnav .frame{width:var(--content-w);grid-template-columns:var(--content-w)}.is-topnav .sidebar,.is-mobile .sidebar{display:none}.is-topnav .content,.is-mobile .content{margin-left:0;padding-left:0}.sidebar{position:relative;z-index:2}.sidebar__inner{position:sticky;top:0;height:var(--frame-vh, 100vh);display:flex;flex-direction:column;overflow:hidden}.sidebar__band{background:var(--black);flex:none}.sidebar__band--top{height:211px}.sidebar__band--bottom{flex:1 0 0}.wordmark{position:absolute;top:64px;left:50%;width:146px;height:99px;margin-left:-73px;color:var(--white)}.wordmark svg{display:block;width:146px;height:99px}.menu{flex:none;display:flex;flex-direction:column}.menu__gap{height:16px}.menu__item{position:relative;display:block;height:32px;padding-right:40px;font-size:calc(22px * var(--tz, 1));line-height:32px;font-weight:var(--fw-menu);letter-spacing:var(--ls-menu);text-align:right;color:var(--white)}.menu__item:focus-visible{outline-offset:-3px}@property --notch{syntax: "<length>"; inherits: false; initial-value: 0px;}.menu__item:before{--tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='22'%3E%3Cpath d='M11 0 0 11 11 22H13V0z'/%3E%3C/svg%3E");--tri-h: 22px;content:"";position:absolute;inset:-1px 0;background:var(--black);-webkit-mask-image:var(--tri),linear-gradient(#000 0 0);-webkit-mask-repeat:no-repeat;-webkit-mask-size:13px var(--tri-h),100% 100%;-webkit-mask-position:calc(100% + 13px - var(--notch)) 50%,0 0;-webkit-mask-composite:xor;mask-image:var(--tri),linear-gradient(#000 0 0);mask-repeat:no-repeat;mask-size:13px var(--tri-h),100% 100%;mask-position:calc(100% + 13px - var(--notch)) 50%,0 0;mask-composite:exclude;transition:--notch .3s ease-in}.notch-sharp .menu__item:before{--tri: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='18.34'%3E%3Cpath d='M11 0 0 9.17 11 18.34H13V0z'/%3E%3C/svg%3E");--tri-h: 18.34px}.menu__item.is-active:before{--notch: 11px;transition-timing-function:var(--ease-out)}.notch-sync{--notch-leave: var(--pf-out, .2s) var(--pf-out-ease, ease-out);--notch-enter: var(--pf-in, .4s) var(--pf-in-ease, ease-in) var(--pf-out, .2s)}.notch-sync .menu__item:before{transition:--notch var(--notch-leave)}.notch-sync .menu__item.is-active:before{transition:--notch var(--notch-enter)}.menu__label{position:relative}.content{position:relative;margin-left:-20px;padding-left:20px;background:var(--white);overflow:clip}.page-host{position:relative}.page{padding-bottom:80px}.measure{width:var(--measure);margin:0 auto}.stub{padding-top:60px}.stub h1{font-size:calc(32px * var(--tz, 1));line-height:38px;font-weight:var(--fw-heading);letter-spacing:var(--ls-heading);padding-bottom:20px}.stub p{font-size:calc(18px * var(--tz, 1));line-height:26px;font-weight:400;color:#555}.build-tag{position:absolute;font-size:calc(10px * var(--tz, 1));line-height:12px;letter-spacing:.02em;color:#8a8a8a;white-space:nowrap;pointer-events:none}.sidebar__build{top:172px;left:0;right:0;text-align:center}.topbar__build{left:204px;bottom:12px}.scale-tf .frame:not(.is-intro){background:var(--white)}.proto{position:fixed;inset:0;background:var(--white)}.proto__stage{position:absolute;inset:0}.proto__frame{display:block;width:100%;height:100%;border:0}.proto__restart{display:none}@media(hover:none)and (pointer:coarse){.proto__restart{position:absolute;left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#0e0e0ebf;color:var(--white);box-shadow:0 0 12px #0003;-webkit-tap-highlight-color:transparent;cursor:pointer}.proto__restart:active{background:var(--black)}}.proto__missing{margin:0;padding:40px 20px;color:var(--black);font-size:18px}:root{--intro-ease: cubic-bezier(.42, 0, 1, 1)}.is-intro .wordmark{animation:intro-fade 1s var(--intro-ease) both}.is-intro .content{animation:intro-wipe .7s var(--intro-ease) calc(1s + var(--shift, 0ms)) both}.is-intro .menu__label{animation:intro-fade .7s var(--intro-ease) calc(1.9s + var(--shift, 0ms)) both}.is-intro .menu__row:nth-child(2) .menu__label{animation-delay:calc(2s + var(--shift, 0ms))}.is-intro .menu__row:nth-child(3) .menu__label{animation-delay:calc(2.1s + var(--shift, 0ms))}.is-intro .menu__row:nth-child(4) .menu__label{animation-delay:calc(2.2s + var(--shift, 0ms))}.is-intro .menu__item.is-active:before{animation:intro-notch .3s var(--intro-ease) calc(2.95s + var(--shift, 0ms)) both}.is-intro .page-host{animation:intro-fade .65s var(--intro-ease) calc(3.3s + var(--shift, 0ms)) both}@keyframes intro-fade{0%{opacity:0}to{opacity:1}}@keyframes intro-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes intro-notch{0%{--notch: 0px}to{--notch: 11px}}.is-intro-top .topbar__wordmark{animation:intro-fade 1s var(--intro-ease) both}.is-intro-top .content{animation:intro-wipe-down .7s var(--intro-ease) calc(1s + var(--shift, 0ms)) both}.is-intro-top .topbar__link,.is-intro-top .topbar__menu-btn{animation:intro-fade .7s var(--intro-ease) calc(1.9s + var(--shift, 0ms)) both}.is-intro-top .topbar__link:nth-child(2){animation-delay:calc(2s + var(--shift, 0ms))}.is-intro-top .topbar__link:nth-child(3){animation-delay:calc(2.1s + var(--shift, 0ms))}.is-intro-top .topbar__link:nth-child(4){animation-delay:calc(2.2s + var(--shift, 0ms))}.is-intro-top .topbar[data-active="0"]:before{animation:intro-notch-up-1 .3s var(--intro-ease) calc(2.95s + var(--shift, 0ms)) both}.is-intro-top .topbar[data-active="1"]:before{animation:intro-notch-up-2 .3s var(--intro-ease) calc(2.95s + var(--shift, 0ms)) both}.is-intro-top .topbar[data-active="2"]:before{animation:intro-notch-up-3 .3s var(--intro-ease) calc(2.95s + var(--shift, 0ms)) both}.is-intro-top .topbar[data-active="3"]:before{animation:intro-notch-up-4 .3s var(--intro-ease) calc(2.95s + var(--shift, 0ms)) both}.is-intro-top .page-host{animation:intro-fade .65s var(--intro-ease) calc(3.3s + var(--shift, 0ms)) both}:root{--write: 3s;--write-pre: 1s;--write-post: 1s}.intro-write.is-intro-full{--shift: calc(var(--write-pre) + var(--write) + .47s + var(--write-post) - 1s)}.intro-write .is-intro .wordmark,.intro-write.is-intro-top .topbar__wordmark{animation:none}.intro-write.is-intro-full .wm-pen{stroke-dasharray:1 2;animation:intro-write calc(var(--write) * var(--l)) cubic-bezier(.45,0,.55,1) calc(var(--write-pre) + var(--write) * var(--s)) both}.intro-write.is-intro-full .wm-dot{transform-box:fill-box;transform-origin:center;animation:intro-dot .35s cubic-bezier(.3,1.6,.5,1) calc(var(--write-pre) + var(--write) + .12s) both}@keyframes intro-write{0%{stroke-dashoffset:1;stroke-opacity:0}0.1%{stroke-opacity:1}to{stroke-dashoffset:0;stroke-opacity:1}}@keyframes intro-dot{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes intro-wipe-down{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes intro-notch-up-1{0%{--n1y: 9px}to{--n1y: 0px}}@keyframes intro-notch-up-2{0%{--n2y: 9px}to{--n2y: 0px}}@keyframes intro-notch-up-3{0%{--n3y: 9px}to{--n3y: 0px}}@keyframes intro-notch-up-4{0%{--n4y: 9px}to{--n4y: 0px}}.employer{display:flex;flex-direction:column;align-items:center}.employer__title{width:var(--measure);padding:60px 0 30px;font-size:calc(32px * var(--tz, 1));line-height:40px;font-weight:var(--fw-heading);letter-spacing:var(--ls-heading)}.employer+.employer .employer__title{padding-top:45px}.employer__tiles{display:flex;gap:40px;width:var(--content-w);padding:0 var(--gutter)}.tile{position:relative;display:block;width:300px;height:300px;flex:none;background:var(--outline);box-shadow:var(--tile-shadow)}.tile:after{content:"";position:absolute;inset:0;border:1px solid var(--outline);pointer-events:none}.tile img{width:100%;height:100%;object-fit:cover}.tile__band{position:absolute;left:0;right:0;bottom:0;z-index:1;height:100px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease-in}.tile__band:before{content:"";position:absolute;inset:0;z-index:-1;background:#0e0e0ecc;clip-path:inset(100% 0 0 0);transition:clip-path .15s ease-in}.tile__name{width:230px;font-size:calc(24px * var(--tz, 1));line-height:32px;font-weight:var(--fw-tile);letter-spacing:var(--ls-tile);text-align:center;color:var(--white);text-shadow:0 0 10px #000}.kbd .tile:focus-visible .tile__band{opacity:1;transition:opacity .25s var(--ease-out)}@media(hover:hover){.tile:hover .tile__band{opacity:1;transition:opacity .25s var(--ease-out)}}.kbd .tile:focus-visible .tile__band:before{clip-path:inset(0 0 0 0);transition:clip-path .25s var(--ease-out)}@media(hover:hover){.tile:hover .tile__band:before{clip-path:inset(0 0 0 0);transition:clip-path .25s var(--ease-out)}}.proj-head__title-row{display:flex;align-items:center;justify-content:space-between;padding:60px 0 30px}.proj-head__title{width:720px;font-size:calc(32px * var(--tz, 1));line-height:40px;font-weight:var(--fw-heading);letter-spacing:var(--ls-heading)}.chevrons{display:flex;justify-content:space-between;width:84px;margin-right:-14px}.chevron{display:block;width:41px;height:40px;color:var(--black)}.chevron svg{display:block}.chevron[aria-disabled=true]{color:var(--chevron-disabled);cursor:default}.proj-head__bar{display:flex;gap:20px;align-items:flex-start;padding:20px 30px;background:var(--black);color:var(--white);box-shadow:var(--image-shadow)}.proj-head__text{width:600px;padding:6px 0;font-size:calc(16px * var(--tz, 1));line-height:22px;font-weight:var(--fw-body);letter-spacing:var(--ls-body);display:flex;flex-direction:column;gap:18px}.proj-head__pipe{align-self:stretch;width:2px;padding:6px 0;flex:none}.proj-head__pipe:before{content:"";display:block;height:100%;background:var(--pipe)}.proj-head__links{width:278px;display:flex;flex-direction:column}.ext-link{position:relative;display:flex;width:fit-content;align-items:center;gap:8px;height:32px;padding:6px 10px 4px;font-size:calc(16px * var(--tz, 1));line-height:22px;font-weight:var(--fw-link);letter-spacing:var(--ls-link);color:var(--link-grey);white-space:nowrap;transition:color .1s ease-in}.ext-link:after{content:"";position:absolute;inset:0 -8px}.ext-link svg{flex:none;transition:color .1s ease-in,transform .1s ease-in}.kbd a.ext-link:focus-visible{color:var(--white);transition-timing-function:ease-out}@media(hover:hover){a.ext-link:hover{color:var(--white);transition-timing-function:ease-out}}.kbd a.ext-link:focus-visible svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}@media(hover:hover){a.ext-link:hover svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}}.ext-link--pending{opacity:.45;cursor:default}.row-band{margin-left:-20px;padding-left:20px}.row-band--tint{background:#f5f5f5}.row__label{padding:30px 0 20px;font-size:calc(24px * var(--tz, 1));line-height:32px;font-weight:var(--fw-label);letter-spacing:var(--ls-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row--screens{margin-left:-20px}.row--screens .row__track{padding-left:calc(var(--gutter) + 20px)}.row__scroller{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}.row__scroller::-webkit-scrollbar{display:none}.row__scroller.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.row__scroller.is-dragging *{pointer-events:none}.row__scroller:focus-visible{outline:none}.row__scroller.is-tab-focus{outline:2px solid #2f6fe4;outline-offset:-3px}.row__track{position:relative;display:flex;gap:calc(var(--gap) * 1px);align-items:flex-start;width:max-content;padding:0 var(--gutter) 40px}.row__item{flex:none;display:flex;flex-direction:column;min-width:0}.row__images{display:flex;gap:calc(var(--gap) * 1px);align-items:flex-start}.row__overlay{position:absolute;top:0;left:0;pointer-events:none}.row--fixed{width:var(--measure);margin:0 auto;padding-bottom:40px}.row--fixed .row__images{justify-content:space-between}.row__spacer{height:40px}.row-band:not(.row-band--tint)+.row-band:not(.row-band--tint) .row__spacer{display:none}.shot{position:relative;flex:none;width:calc(var(--w) * 1px);height:calc(var(--h) * 1px);box-shadow:var(--image-shadow);background:#f2f2f2}.shot__open,.shot__full{display:none}.shot:after{content:"";position:absolute;inset:0;border:1px solid var(--outline);pointer-events:none}.shot img{width:100%;height:100%;object-fit:cover;object-position:top left;-webkit-user-drag:none}.shot--bare{box-shadow:none;background:none}.shot--bare:after{content:none}.shot--placeholder{display:flex;align-items:flex-start;justify-content:center;background:repeating-linear-gradient(-45deg,#f4f4f4 0 14px,#ececec 14px 28px)}.shot__ph-label{position:sticky;top:40px;margin-top:40px;padding:8px 12px;background:#ffffffe6;font-size:calc(14px * var(--tz, 1));line-height:18px;font-weight:500;color:#666;text-align:center;max-width:80%}html{-webkit-text-size-adjust:none;text-size-adjust:none}*,*:before,*:after{-webkit-text-size-adjust:none!important;text-size-adjust:none!important}.is-mobile{--image-shadow: 0 0 24px rgba(0, 0, 0, .18);--tile-shadow: 0 0 24px rgba(0, 0, 0, .18)}.is-mobile .frame{width:100%;grid-template-columns:minmax(0,1fr)}.is-mobile .page{padding-bottom:40px}.is-mobile .measure{width:auto;margin:0 var(--m)}.is-mobile .stub{padding-top:52.5px}.is-mobile .employer__tiles,.is-mobile .row__scroller{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--m);scrollbar-width:none;cursor:auto}.is-mobile .employer__tiles::-webkit-scrollbar{display:none}.is-mobile .employer{display:block}.is-mobile .employer__title{width:auto;padding:calc(32.5px * var(--t, 1)) var(--m) 0;font-size:calc(calc(28px * var(--t, 1)) * var(--tz, 1));line-height:calc(35px * var(--t, 1))}.is-mobile .employer:first-of-type .employer__title{padding-top:calc(52.5px * var(--t, 1))}.is-mobile .employer+.employer .employer__title{padding-top:calc(19.375px * var(--t, 1))}.is-mobile .employer__tiles{width:auto;gap:var(--tile-gap);padding:calc(26.25px * var(--t, 1)) var(--m) 20px}.is-mobile .tile{width:var(--tile);height:var(--tile);scroll-snap-align:start}.is-mobile .tile__band{height:100px}.is-mobile .tile__name{width:auto;padding:0 16px;font-size:calc(21px * var(--tz, 1));line-height:28px}@media(hover:none){.tile__band{opacity:1}.tile__band:before{clip-path:none}}.m-head__meta{display:flex;align-items:center;justify-content:space-between;padding:18px calc(var(--m) - 16px) 0 var(--m)}.m-head__label{font-size:calc(13px * var(--tz, 1));line-height:44px;letter-spacing:.08em;text-transform:uppercase;color:#5c5c5c}.m-head__chevrons{display:flex}.m-head__chevrons .chevron{width:44px;height:44px;display:flex;align-items:center;justify-content:center}.m-head__chevrons .chevron svg{width:35.875px;height:35px}.m-head__title{margin:2px var(--m) calc(20px * var(--t, 1));font-size:calc(calc(28px * var(--t, 1)) * var(--tz, 1));line-height:1.25;font-weight:var(--fw-heading);letter-spacing:var(--ls-heading)}.m-head__panel{margin:0 var(--m);padding:16px 20px;background:var(--black);color:var(--white);box-shadow:var(--image-shadow);display:flex;flex-direction:column;gap:calc(14px * var(--tb, 1))}.m-head__panel:not(:has(.ext-link)){padding-bottom:calc(19px * var(--tb, 1))}.m-head__panel p{font-size:calc(calc(14px * var(--tb, 1)) * var(--tz, 1));line-height:1.375;font-weight:var(--fw-body);letter-spacing:var(--ls-body)}.m-head__panel .proj-head__links{width:auto;margin-top:calc(-5.25px * var(--tb, 1))}.m-head__panel .ext-link{height:calc(28px * var(--tb, 1));padding:calc(5.25px * var(--tb, 1)) calc(8.75px * var(--tb, 1)) calc(3.5px * var(--tb, 1)) 0;gap:calc(7px * var(--tb, 1));font-size:calc(calc(14px * var(--tb, 1)) * var(--tz, 1));line-height:1.375}.m-head__panel .ext-link svg{width:calc(6.125px * var(--tb, 1));height:calc(19.25px * var(--tb, 1))}.m-head__panel a.ext-link:active{color:var(--white)}.m-head__panel a.ext-link:active svg{color:var(--red);transform:translate(2px)}.is-mobile .row-band{margin-left:0;padding-left:0}.is-mobile .row--screens{margin-left:0}.is-mobile .row__track,.is-mobile .row--screens .row__track{gap:var(--m);padding:0 var(--m) calc(35px * var(--t, 1))}.is-mobile .row__item{width:min-content;scroll-snap-align:start}.is-mobile .row__label{padding:calc(26.25px * var(--t, 1)) 0 calc(17.5px * var(--t, 1));font-size:calc(calc(21px * var(--t, 1)) * var(--tz, 1));line-height:calc(28px * var(--t, 1));white-space:normal}.is-mobile .row__images{gap:calc(var(--gap) * var(--s) * 1px)}.is-mobile .row--screens .shot{width:calc(var(--w) * var(--s) * 1px);height:calc(var(--h) * var(--s) * 1px)}.is-mobile .row__overlay{display:none}.is-mobile .row--screens .shot--tall{height:min(calc(var(--w) * var(--s) * 1.765px),700px);background:transparent}.is-mobile .shot--tall img,.is-mobile .shot--tall:after{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 170px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 170px),transparent)}.is-mobile .shot--tall img{object-position:top center}.is-mobile .shot__open{position:absolute;right:8px;bottom:8px;z-index:1;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:22px;background:#0e0e0ecc;color:var(--white);cursor:pointer}.is-mobile .shot__full{position:absolute;left:50%;bottom:18px;z-index:1;transform:translate(-50%);height:48px;display:flex;align-items:center;gap:10px;padding:0 22px;border:0;border-radius:24px;background:var(--black);color:var(--white);font:inherit;font-size:calc(16px * var(--tz, 1));white-space:nowrap;cursor:pointer}.is-mobile .row--fixed{width:auto;margin:0 var(--m);padding-bottom:calc(35px * var(--t, 1))}.is-mobile .row__spacer{height:calc(35px * var(--t, 1))}.is-mobile .row--fixed .row__images{justify-content:flex-start;gap:calc(var(--gap) * var(--fs) * 1px)}.is-mobile .row--fixed .shot{width:calc(var(--w) * var(--fs) * 1px);height:calc(var(--h) * var(--fs) * 1px)}.viewer{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:var(--black);color:var(--white);touch-action:manipulation}.viewer__bar{flex:none;height:60px;display:flex;align-items:center;padding:0 6px 0 20px}.viewer__title{flex:1;min-width:0;font-size:calc(16px * var(--tz, 1));font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer__btn{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;color:var(--white);cursor:pointer}.viewer__pan{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;background:var(--black)}.viewer__pan img{margin:auto;max-width:none}.viewer__pan.is-tall img{margin-top:0}.viewer__pan.is-fit img{width:100%;height:auto}.viewer__hint{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);padding:9px 16px;border-radius:18px;background:#0e0e0ed9;font-size:calc(14px * var(--tz, 1));white-space:nowrap;pointer-events:none;transition:opacity .4s ease-in}.viewer__hint.is-gone{opacity:0}.analysis,.about{--pv: 1;--pb: 1}.analysis{padding-bottom:calc(60px * var(--pv))}.analysis__group,.analysis__cards{display:flex;flex-direction:column;align-items:center}.analysis__cards{gap:calc(30px * var(--pv))}.analysis__group+.analysis__group .analysis__heading{padding-top:45px}.a-card__title{margin:0}.a-card{width:var(--measure);display:flex;align-items:flex-start;gap:20px;padding:20px;background:var(--black);color:var(--white);box-shadow:var(--image-shadow)}.a-card__img{flex:none;width:340px;height:190px;object-fit:cover}.a-card__img-link{flex:none;display:block;line-height:0}.a-card:has(.a-card__img-link:active) a.ext-link{color:var(--white);transition-timing-function:ease-out}@media(hover:hover){.a-card:has(.a-card__img-link:hover) a.ext-link{color:var(--white);transition-timing-function:ease-out}}.a-card:has(.a-card__img-link:active) a.ext-link svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}@media(hover:hover){.a-card:has(.a-card__img-link:hover) a.ext-link svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}}.a-card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.a-card__text{display:flex;flex-direction:column;gap:10px;padding:0 10px}.a-card__title{margin:0;font-size:calc(24px * var(--tz, 1));line-height:38px;font-weight:var(--fw-card);letter-spacing:var(--ls-card);white-space:nowrap}.a-card__desc{margin:0;white-space:pre-wrap;font-size:calc(16px * var(--tz, 1));line-height:22px;font-weight:var(--fw-a-text);letter-spacing:var(--ls-a-text)}.a-card__links{margin:0;padding:0;list-style:none}.a-card .ext-link{font-weight:var(--fw-a-link);letter-spacing:var(--ls-a-link)}.about{width:600px;margin:0 auto;padding-bottom:calc(60px * var(--pv));color:var(--black)}.about__photo{padding-top:calc(60px * var(--pv))}.about__photo img,.about__photo-empty{display:block;width:calc(200px * var(--pv));height:calc(200px * var(--pv));border-radius:50%;object-fit:cover}.about__photo-empty{background:#e4e4e4}.about__photo img{box-shadow:0 0 40px #0003}.about__heading{margin:0;padding:calc(45px * var(--pv)) 0 calc(30px * var(--pv));font-size:calc(calc(32px * var(--pv)) * var(--tz, 1));line-height:calc(40px * var(--pv));font-weight:var(--fw-heading);letter-spacing:var(--ls-heading)}.about__headline{padding-top:calc(30px * var(--pv))}.about__paras{display:flex;flex-direction:column;gap:calc(24px * var(--pb))}.about__paras p{margin:0;font-size:calc(calc(18px * var(--pb)) * var(--tz, 1));line-height:calc(25px * var(--pb));font-weight:var(--fw-text);letter-spacing:var(--ls-text)}.about__skills{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:calc(30px * var(--pv))}.skill{display:flex;flex-direction:column;align-items:flex-start;gap:calc(8px * var(--pb))}.skill__icon{display:block;width:calc(48px * var(--pb));height:calc(48px * var(--pb));color:var(--black)}.skill__title{margin:0;font-size:calc(calc(18px * var(--pb)) * var(--tz, 1));line-height:calc(22px * var(--pb));font-weight:var(--fw-skill);letter-spacing:var(--ls-skill)}.skill__text{margin:0;font-size:calc(calc(16px * var(--pb)) * var(--tz, 1));line-height:calc(22px * var(--pb));font-weight:var(--fw-text);letter-spacing:var(--ls-text)}.about__logos{margin:calc(8px * var(--pv)) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,180px);justify-content:space-between;row-gap:30px}.about__logos img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;box-shadow:0 0 40px #0003}.about__contact{padding-top:calc(8px * var(--pv));scroll-margin-top:80px}.contact{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:calc(16px * var(--pb))}.contact a,.contact li>span{display:flex;width:fit-content;align-items:center;gap:calc(20px * var(--pb));font-size:calc(calc(20px * var(--pb)) * var(--tz, 1));line-height:calc(28px * var(--pb));font-weight:var(--fw-text);letter-spacing:var(--ls-text);color:var(--black);text-decoration:none}.contact__icon{flex:none;display:block;width:calc(30px * var(--pb));height:calc(30px * var(--pb))}.contact__icon svg{display:block;width:100%;height:100%}.kbd .contact a:focus-visible{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}@media(hover:hover){.contact a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}}.is-mobile .analysis,.is-mobile .about{--pv: calc(.875 * var(--t, 1));--pb: calc(.875 * var(--tb, 1))}.is-mobile .about{--pb: var(--tb, 1)}.is-mobile .analysis{padding-bottom:40px}.is-mobile .analysis__group,.is-mobile .analysis__cards{align-items:stretch}.is-mobile .analysis__heading{width:min(560px,100% - 2 * var(--m));margin:0 auto;padding:calc(52.5px * var(--t, 1)) 0 calc(26.25px * var(--t, 1))}.is-mobile .analysis__group+.analysis__group .analysis__heading{padding-top:calc(39.375px * var(--t, 1))}.is-mobile.analysis-side .analysis__heading{width:auto;margin:0 var(--m)}.is-mobile .a-card{container-type:inline-size;width:min(560px,100% - 2 * var(--m));margin:0 auto;display:block;padding:20px 20px 16px}.a-card__inner{display:contents}.is-mobile .a-card__inner{display:flex;flex-direction:column}.is-mobile .a-card__img{width:100%;height:auto;aspect-ratio:340 / 190}.is-mobile .a-card__img-link{width:100%}.is-mobile .a-card__main{gap:0}.is-mobile .a-card__text{padding:0;gap:calc(12.5px * var(--tb, 1));margin-top:calc(20.5px * var(--tb, 1))}.is-mobile .a-card__title{font-size:calc(calc(21px * var(--t, 1)) * var(--tz, 1));line-height:calc(28px * var(--t, 1));white-space:normal}.is-mobile .a-card__desc{font-size:calc(calc(14px * var(--tb, 1)) * var(--tz, 1));line-height:1.375;white-space:normal}.is-mobile.analysis-side .a-card{width:auto;margin:0 var(--m)}@container (min-width: 520px){.is-mobile.analysis-side .a-card__inner{flex-direction:row;align-items:flex-start;gap:20px}.is-mobile.analysis-side .a-card__img-link{flex:none;width:calc(100% * 340 / 940)}.is-mobile.analysis-side .a-card__text{margin-top:0}}.is-mobile .a-card__links{margin-top:calc((14px - 5.25px) * var(--tb, 1))}.is-mobile .a-card .ext-link{height:calc(28px * var(--tb, 1));padding:calc(5.25px * var(--tb, 1)) calc(8.75px * var(--tb, 1)) calc(3.5px * var(--tb, 1)) 0;gap:calc(7px * var(--tb, 1));font-size:calc(calc(14px * var(--tb, 1)) * var(--tz, 1));line-height:1.375}.is-mobile .a-card .ext-link svg{width:calc(6.125px * var(--tb, 1));height:calc(19.25px * var(--tb, 1))}.is-mobile .a-card a.ext-link:active{color:var(--white)}.is-mobile .a-card a.ext-link:active svg{color:var(--red);transform:translate(2px)}.is-mobile .about{width:min(560px,100% - 2 * var(--m));margin:0 auto;padding-bottom:40px}.is-mobile.about-600 .about{width:min(600px,100% - 2 * var(--m))}.is-mobile .about__photo{padding-top:calc(40px * var(--pv))}.is-mobile .about__skills{column-gap:30px}@media(max-width:599.98px){.is-mobile .about__skills{grid-template-columns:minmax(0,1fr)}}.is-mobile .about__logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:min(var(--m),30px)}.is-mobile .about__logos img,.is-mobile .about__photo img{box-shadow:var(--tile-shadow)}.is-mobile .contact{gap:0}.is-mobile .contact a,.is-mobile .contact li>span{min-height:44px}.is-mobile .contact a:active{text-decoration:underline}.p-banner{container-type:inline-size;width:var(--measure);display:flex;align-items:center;column-gap:12px;padding:calc(16px * var(--pb));background:#e9f1fd;color:#4d6dac;font-size:calc(calc(16px * var(--pb)) * var(--tz, 1));line-height:calc(22px * var(--pb));font-weight:var(--fw-p-banner);letter-spacing:var(--ls-p-banner)}.p-banner__icon{flex:none;width:calc(24px * var(--pb));height:calc(24px * var(--pb))}.p-banner__text{flex:1 1 auto;min-width:0;margin:0;white-space:nowrap}.p-banner__text,.p-banner__label{transform:translateY(-.035em)}.p-banner__link{flex:none;margin-left:auto;display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.p-banner__link svg{width:calc(24px * var(--pb));height:calc(24px * var(--pb));transition:transform .1s ease-in}.kbd .p-banner__link:focus-visible{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}@media(hover:hover){.p-banner__link:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}}.kbd .p-banner__link:focus-visible svg{transform:translate(2px);transition-timing-function:ease-out}@media(hover:hover){.p-banner__link:hover svg{transform:translate(2px);transition-timing-function:ease-out}}.p-banner__short{display:none}@container (max-width: 489.98px){.p-banner__link{display:none}}@container (max-width: 341.98px){.p-banner__full{display:none}.p-banner__short{display:inline}}.p-card{background:var(--white);color:var(--black);box-shadow:var(--image-shadow),inset 0 0 0 1px #0000001f}.p-card .a-card__main{justify-content:space-between;align-self:stretch}.p-card .a-card__title{font-weight:var(--fw-p-title);letter-spacing:var(--ls-p-title)}.p-card__title-link{color:inherit;text-decoration:none}.p-card .a-card__desc{font-weight:var(--fw-p-text);letter-spacing:var(--ls-p-text)}.p-card .a-card__img{width:500px;height:281px}.p-card__img--empty{display:block;background:#e4e4e4}.p-card__details{display:flex;width:fit-content;max-width:100%;column-gap:calc(20em / 14);margin-top:calc(10px * var(--pv));padding:calc(12em / 14) calc(20em / 14);background:#f4f4f4;font-size:calc(calc(14px * var(--pb)) * var(--tz, 1));line-height:calc(24px * var(--pb));font-weight:var(--fw-p-meta);letter-spacing:var(--ls-p-meta)}.p-card__col{flex:none;margin:0;display:grid;grid-template-columns:auto auto;column-gap:calc(10em / 14)}.p-card__pair{display:contents}.p-card__pair dt{color:#868686;font-weight:var(--fw-p-label);letter-spacing:var(--ls-p-label)}.p-card__pair dd{margin:0;color:var(--black)}.p-card .ext-link{color:#868686;font-weight:var(--fw-p-link);letter-spacing:var(--ls-p-link)}.kbd .p-card a.ext-link:focus-visible{color:var(--black)}@media(hover:hover){.p-card a.ext-link:hover,.p-card:has(.p-card__img-link:hover) a.ext-link,.p-card:has(.p-card__title-link:hover) a.ext-link{color:var(--black)}}@media(hover:hover){.p-card:has(.p-card__img-link:hover) a.ext-link svg,.p-card:has(.p-card__title-link:hover) a.ext-link svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}}.p-card a.ext-link:active,.p-card:has(.p-card__img-link:active) a.ext-link,.p-card:has(.p-card__title-link:active) a.ext-link{color:var(--black)}.p-card:has(.p-card__img-link:active) a.ext-link svg,.p-card:has(.p-card__title-link:active) a.ext-link svg{color:var(--red);transform:translate(2px)}.process__note{width:var(--measure);margin:0;font-size:calc(18px * var(--tz, 1));line-height:26px;color:#555}.process__back{width:var(--measure)}.process__back .ext-link{color:#868686;font-weight:var(--fw-p-link);letter-spacing:var(--ls-p-link);padding-left:0}@media(hover:hover){.process__back a.ext-link:hover{color:var(--black)}}.process__back a.ext-link:active{color:var(--black)}.is-mobile .p-banner,.is-mobile .process__note,.is-mobile .process__back{width:min(560px,100% - 2 * var(--m));margin:0 auto}.is-mobile .p-card__img-link{order:-1}.is-mobile .p-card .a-card__img{width:100%;height:auto;aspect-ratio:500 / 281}.is-mobile .p-card__details{margin-top:calc(4px * var(--tb, 1))}.p-card__details.is-single{display:grid;grid-template-columns:auto auto;column-gap:calc(10em / 14)}.p-card__details.is-single .p-card__col{display:contents}.is-mobile .p-card a.ext-link:active{color:var(--black)}.page-host{transition:filter .9s var(--ease-out)}.is-gated .page-host{filter:blur(14px) opacity(.7);transition:none;-webkit-user-select:none;user-select:none}.is-gated,.is-gated body{overflow:hidden}.gate{position:fixed;top:0;bottom:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;padding:0 20px 24px;animation:intro-gate-in .5s var(--ease-out) both}.is-intro-full .gate{animation:intro-gate-in .6s var(--intro-ease) calc(3.8s + var(--shift, 0ms)) both}.gate.is-leaving{opacity:0;transition:opacity .3s ease-in;animation:none;pointer-events:none}@keyframes intro-gate-in{0%{opacity:0}to{opacity:1}}.gate{--gs: var(--scale, 1)}.is-mobile .gate{--gs: calc(.875 * var(--t, 1))}.gate__form{display:flex;flex-direction:column;align-items:flex-start;width:min(calc(384px * var(--gs)),100%);margin-top:calc(-26px * var(--gs));padding:calc(26px * var(--gs)) calc(32px * var(--gs)) calc(22px * var(--gs));background:#ffffffbf}.gate__label{margin-bottom:calc(12px * var(--gs));font-size:calc(22px * var(--gs));line-height:calc(28px * var(--gs));font-weight:var(--fw-heading);letter-spacing:var(--ls-heading);color:var(--black)}.gate__row{display:flex;width:100%}.gate__row[data-shake]{animation:gate-shake .36s ease-out}@keyframes gate-shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@font-face{font-family:Password Dots;src:url(data:font/woff2;base64,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) format("woff2");font-display:block}.gate__input{flex:1;min-width:0;height:max(40px,calc(48px * var(--gs)));padding:0 calc(14px * var(--gs));border:1px solid var(--black);border-right:0;border-radius:0;background:var(--white);font:inherit;font-family:Password Dots,Lato,system-ui,sans-serif;-webkit-text-security:disc;font-size:max(16px,calc(18px * var(--gs)));letter-spacing:.08em;color:var(--black);-webkit-tap-highlight-color:transparent}.gate__input:focus{outline:none}.kbd .gate__input:focus{box-shadow:inset 0 0 0 1px var(--black)}.gate,.gate *{-webkit-tap-highlight-color:transparent}.gate__go{flex:none;width:max(40px,calc(48px * var(--gs)));height:max(40px,calc(48px * var(--gs)));display:grid;place-items:center;padding:0;border:0;background:var(--black);color:var(--white);cursor:pointer}.gate__go svg{width:max(34px,calc(41px * var(--gs)));height:max(33px,calc(40px * var(--gs)));transition:transform .1s ease-in}.kbd .gate__go:focus-visible svg{transform:translate(2px);transition-timing-function:ease-out}@media(hover:hover){.gate__go:hover svg{transform:translate(2px);transition-timing-function:ease-out}}.gate__go:focus-visible{outline:2px solid var(--red);outline-offset:2px}.gate__go:disabled{cursor:default}.gate__ask{display:flex;align-items:center;gap:calc(8px * var(--gs));min-height:24px;margin-top:calc(18px * var(--gs));font-size:max(13px,calc(16px * var(--gs)));line-height:calc(22px * var(--gs));font-weight:var(--fw-text);letter-spacing:var(--ls-text);color:#5c5c5c;text-decoration:none;white-space:nowrap;transition:color .1s ease-in}.gate__ask svg{flex:none;width:max(6px,calc(7px * var(--gs)));height:max(19px,calc(22px * var(--gs)));transition:color .1s ease-in,transform .1s ease-in}.kbd .gate__ask:focus-visible{color:var(--black);transition-timing-function:ease-out}@media(hover:hover){.gate__ask:hover{color:var(--black);transition-timing-function:ease-out}}.kbd .gate__ask:focus-visible svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}@media(hover:hover){.gate__ask:hover svg{color:var(--red);transform:translate(2px);transition-timing-function:ease-out}}.gate__ask:focus-visible{outline:2px solid var(--red);outline-offset:2px}.gate-soft .gate__form{position:relative;isolation:isolate;background:none}.gate-soft .gate__form:before{--f: calc(40px * var(--gs));content:"";position:absolute;inset:calc(-24px * var(--gs));z-index:-1;background:#ffffffbf;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--f),#000 calc(100% - var(--f)),transparent),linear-gradient(to bottom,transparent,#000 var(--f),#000 calc(100% - var(--f)),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 var(--f),#000 calc(100% - var(--f)),transparent),linear-gradient(to bottom,transparent,#000 var(--f),#000 calc(100% - var(--f)),transparent);mask-composite:intersect}
