*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-ExtraLight.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-ExtraLightItalic.woff2)format("woff2");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-LightItalic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-MediumItalic.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Epilogue;src:url(../webfonts/Epilogue-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--color-ink:#0a0a0a;--color-paper:#fafafa;--gutter-wrapper-inline:var(--space-l);--wrapper-max-width:1080px;--button-padding-inline:.5rem;--button-padding-block-start:.25rem;--button-padding-block-end:.15rem;--step--2:clamp(.7813rem, .7736rem + .0341vw, .8rem);--step--1:clamp(.9375rem, .9119rem + .1136vw, 1rem);--step-0:clamp(1.125rem, 1.0739rem + .2273vw, 1.25rem);--step-1:clamp(1.35rem, 1.2631rem + .3864vw, 1.5625rem);--step-2:clamp(1.62rem, 1.4837rem + .6057vw, 1.9531rem);--step-3:clamp(1.944rem, 1.7405rem + .9044vw, 2.4414rem);--step-4:clamp(2.3328rem, 2.0387rem + 1.3072vw, 3.0518rem);--step-5:clamp(2.7994rem, 2.384rem + 1.8461vw, 3.8147rem);--space-3xs:clamp(.3125rem, .3125rem + 0vw, .3125rem);--space-2xs:clamp(.5625rem, .5369rem + .1136vw, .625rem);--space-xs:clamp(.875rem, .8494rem + .1136vw, .9375rem);--space-s:clamp(1.125rem, 1.0739rem + .2273vw, 1.25rem);--space-m:clamp(1.6875rem, 1.6108rem + .3409vw, 1.875rem);--space-l:clamp(2.25rem, 2.1477rem + .4545vw, 2.5rem);--space-xl:clamp(3.375rem, 3.2216rem + .6818vw, 3.75rem);--space-3xs-2xs:clamp(.3125rem, .1847rem + .5682vw, .625rem);--space-2xs-xs:clamp(.5625rem, .4091rem + .6818vw, .9375rem);--space-xs-s:clamp(.875rem, .7216rem + .6818vw, 1.25rem);--space-s-m:clamp(1.125rem, .8182rem + 1.3636vw, 1.875rem);--space-m-l:clamp(1.6875rem, 1.3551rem + 1.4773vw, 2.5rem);--space-l-xl:clamp(2.25rem, 1.6364rem + 2.7273vw, 3.75rem);--space-s-l:clamp(1.125rem, .5625rem + 2.5vw, 2.5rem)}html{height:100%}body{background-color:var(--color-paper);color:var(--color-ink);font-family:Epilogue,sans-serif;font-size:var(--step-0);grid-template-rows:auto 1fr;min-height:100vh;display:grid}a{color:var(--color-paper)}.wrapper{grid-template-columns:1fr min(100% - var(--gutter-wrapper-inline) * 2, var(--wrapper-max-width)) 1fr;display:grid}.wrapper>*{grid-column:2}.wrapper[data-wrapper=content]{grid-template-rows:auto auto 1fr}.wrapper[data-wrapper=content]:after{content:" ";background-color:var(--color-ink);grid-column:2/4}.wrapper[data-wrapper=content]>*{grid-column:2/4}.grid{gap:var(--grid-gutter,var(--space-s-l));align-items:var(--grid-vertical-alignment,stretch);display:grid}.grid[data-grid-layout=halves]{--grid-placement:auto-fit;--grid-vertical-alignment:baseline;--grid-gutter:var(--space-3xs) var(--space-s-l)}@media screen and (width>=48em){.grid[data-grid-layout=halves]{grid-template-columns:repeat(2,1fr)}}.site-header{--grid-gutter:0 var(--space-s-l);--site-header-name-padding:var(--space-s);--site-header-profile-padding:var(--space-s);min-height:40vh;padding-bottom:var(--space-s);align-items:end;line-height:1.3}@media screen and (width>=48em){.site-header{--site-header-name-padding:0;--site-header-profile-padding:var(--button-padding-inline);min-height:50vh}}.site-header_name{font-size:var(--step-4);padding-left:var(--site-header-name-padding)}.site-header_profile{font-size:var(--step-2);padding-left:var(--site-header-profile-padding)}.site-content[data-content=homepage]{margin-top:50vh;margin-left:auto}.site-footer{width:100%;height:30vh}.section{padding-top:var(--space-xl);padding-left:var(--space-s);padding-right:max(var(--gutter-wrapper-inline), (100vw - var(--wrapper-max-width)) / 2);background-color:var(--color-ink);color:var(--color-paper);position:relative}.section:last-child{padding-bottom:var(--space-xl)}.section .grid{--grid-vertical-alignment:center}@media screen and (width>=48em){.section{padding-left:0}}.section_header{font-size:var(--step-2)}@media screen and (width>=48em){.section_header{justify-self:end}}.button{border-color:var(--button-border-color,var(--color-paper));border-radius:var(--button-radius,4px);border-style:var(--button-border-style,solid);border-width:var(--button-border-width,2px);display:var(--button-display,inline-flex);justify-content:var(--button-justify-content,center);align-items:var(--button-align-items,center);gap:var(--button-gap,var(--space-xs));font-family:inherit;font-size:var(--button-font-size,var(--step-0));padding:var(--button-padding,.25rem .5rem .15rem);cursor:pointer;background-color:transparent;text-decoration:none}.button[data-button-variant=icon-anim]{--button-padding:0;position:relative;overflow:hidden}.button[data-button-variant=icon-anim] .icon{width:100%;animation:.2s cubic-bezier(.215,.61,.355,1) forwards enterFromLeft;position:absolute;left:0;transform:translate(-100%)}.button[data-button-variant=icon-anim] span{padding:var(--button-padding-block-start) var(--button-padding-inline) var(--button-padding-block-end);animation:.2s cubic-bezier(.215,.61,.355,1) forwards exitRight}.button[data-button-variant=icon-anim]:not(:hover) .icon{animation:.2s cubic-bezier(.215,.61,.355,1) forwards exitRight}.button[data-button-variant=icon-anim]:not(:hover) span{animation:.2s cubic-bezier(.215,.61,.355,1) forwards enterFromLeft}.items-baseline{align-items:baseline}@keyframes exitRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes enterFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}