*,
*::before,
*::after{
  box-sizing:border-box;
}
html{
  -moz-text-size-adjust:none;
  -webkit-text-size-adjust:none;
  text-size-adjust:none;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd{
  margin:0;
}
ul[role='list'],
ol[role='list']{
  list-style:none;
}
body{
  min-height:100vh;
  line-height:1.5;
}
h1,
h2,
h3,
h4,
button,
input,
label{
  line-height:1.1;
}
h1,
h2,
h3,
h4{
  text-wrap:balance;
}
a:not([class]){
  text-decoration-skip-ink:auto;
  color:currentColor;
}
img,
picture{
  max-width:100%;
  display:block;
}
input,
button,
textarea,
select{
  font:inherit;
}
textarea:not([rows]){
  min-height:10em;
}
:target{
  scroll-margin-block:5ex;
}
:root{
  --color-primary-50:#F1F8FE;
  --color-primary-100:#E2F0FC;
  --color-primary-200:#BFDFF8;
  --color-primary-300:#87C7F2;
  --color-primary-400:#47A9E9;
  --color-primary-500:#1F8FD8;
  --color-primary-600:#1171B8;
  --color-primary-700:#0F5A95;
  --color-primary-800:#114D7B;
  --color-primary-900:#144166;
  --color-primary-950:#0D2944;
  --color-secondary-50:#FFFAEB;
  --color-secondary-100:#FDF0C8;
  --color-secondary-200:#FAE18D;
  --color-secondary-300:#F8CC51;
  --color-secondary-400:#F6B629;
  --color-secondary-500:#F09816;
  --color-secondary-600:#D4710B;
  --color-secondary-700:#B04F0D;
  --color-secondary-800:#8F3D11;
  --color-secondary-900:#763311;
  --color-secondary-950:#431805;
  --color-neutral-50:#F6F6F6;
  --color-neutral-100:#E7E7E7;
  --color-neutral-200:#D1D1D1;
  --color-neutral-300:#B0B0B0;
  --color-neutral-400:#808080;
  --color-neutral-500:#6D6D6D;
  --color-neutral-600:#5D5D5D;
  --color-neutral-700:#4F4F4F;
  --color-neutral-800:#454545;
  --color-neutral-900:#3D3D3D;
  --color-neutral-950:#262626;
  --color-neutral-black:#000000;
  --color-neutral-white:#FFFFFF;
  --color-status-success-50:#F0FDF1;
  --color-status-success-100:#DDFBE1;
  --color-status-success-200:#BCF6C4;
  --color-status-success-300:#88ED99;
  --color-status-success-400-default:#4FDB66;
  --color-status-success-500:#26C140;
  --color-status-success-600:#19A030;
  --color-status-success-700:#177E29;
  --color-status-success-800:#186325;
  --color-status-success-900:#155221;
  --color-status-success-950:#062D0E;
  --color-status-warning-50:#FDFBE9;
  --color-status-warning-100:#FAF6C7;
  --color-status-warning-200:#F6EA92;
  --color-status-warning-300:#F1D853;
  --color-status-warning-400-default:#EBC42A;
  --color-status-warning-500:#DBAB17;
  --color-status-warning-600:#BD8511;
  --color-status-warning-700:#976011;
  --color-status-warning-800:#7D4D16;
  --color-status-warning-900:#6B3F18;
  --color-status-warning-950:#3E210A;
  --color-status-danger-50:#FEF3EE;
  --color-status-danger-100:#FDE4D7;
  --color-status-danger-200:#F9C6AF;
  --color-status-danger-300:#F59E7C;
  --color-status-danger-400:#F06C47;
  --color-status-danger-500-default:#ED4E2B;
  --color-status-danger-600:#DE2F18;
  --color-status-danger-700:#B82016;
  --color-status-danger-800:#921C1A;
  --color-status-danger-900:#761A18;
  --color-status-danger-950:#400A0A;
  --space-3xs:clamp(0.25rem, 0.23rem + 0.09vw, 0.31rem);
  --space-2xs:clamp(0.50rem, 0.48rem + 0.09vw, 0.56rem);
  --space-xs:clamp(0.69rem, 0.62rem + 0.28vw, 0.88rem);
  --space-s:clamp(0.94rem, 0.87rem + 0.28vw, 1.13rem);
  --space-m:clamp(1.44rem, 1.35rem + 0.38vw, 1.69rem);
  --space-l:clamp(1.88rem, 1.74rem + 0.56vw, 2.25rem);
  --space-xl:clamp(2.81rem, 2.61rem + 0.85vw, 3.38rem);
  --space-2xl:clamp(3.75rem, 3.49rem + 1.13vw, 4.50rem);
  --space-3xl:clamp(5.63rem, 5.23rem + 1.69vw, 6.75rem);
  --space-4xl:clamp(7.06rem, 6.58rem + 2.07vw, 8.44rem);
  --space-3xs-2xs:clamp(0.25rem, 0.16rem + 0.38vw, 0.50rem);
  --space-2xs-xs:clamp(0.50rem, 0.43rem + 0.28vw, 0.69rem);
  --space-xs-s:clamp(0.69rem, 0.60rem + 0.38vw, 0.94rem);
  --space-xs-l:clamp(0.69rem, 0.27rem + 1.78vw, 1.88rem);
  --space-s-m:clamp(0.94rem, 0.76rem + 0.75vw, 1.44rem);
  --space-m-l:clamp(1.44rem, 1.28rem + 0.66vw, 1.88rem);
  --space-l-xl:clamp(1.88rem, 1.54rem + 1.41vw, 2.81rem);
  --space-xl-2xl:clamp(2.81rem, 2.48rem + 1.41vw, 3.75rem);
  --space-2xl-3xl:clamp(3.75rem, 3.09rem + 2.82vw, 5.63rem);
  --space-2xl-4xl:clamp(3.75rem, 2.58rem + 4.98vw, 7.06rem);
  --space-3xl-4xl:clamp(5.63rem, 5.12rem + 2.16vw, 7.06rem);
  --size-step--2:clamp(0.74rem, 0.73rem + 0.06vw, 0.78rem);
  --size-step--1:clamp(0.83rem, 0.80rem + 0.16vw, 0.94rem);
  --size-step-0:clamp(0.94rem, 0.87rem + 0.28vw, 1.13rem);
  --size-step-1:clamp(1.05rem, 0.95rem + 0.44vw, 1.35rem);
  --size-step-2:clamp(1.19rem, 1.03rem + 0.65vw, 1.62rem);
  --size-step-3:clamp(1.33rem, 1.12rem + 0.91vw, 1.94rem);
  --size-step-4:clamp(1.50rem, 1.21rem + 1.25vw, 2.33rem);
  --size-step-5:clamp(1.69rem, 1.30rem + 1.67vw, 2.80rem);
  --size-step-6:clamp(1.90rem, 1.39rem + 2.19vw, 3.36rem);
  --size-step-7:clamp(2.14rem, 1.47rem + 2.84vw, 4.03rem);
  --size-step-8:clamp(2.41rem, 1.55rem + 3.65vw, 4.84rem);
  --size-step-9:clamp(2.71rem, 1.62rem + 4.66vw, 5.80rem);
  --size-step-10:clamp(3.04rem, 1.66rem + 5.89vw, 6.97rem);
  --leading-micro:0.85;
  --leading-flat:1;
  --leading-fine:1.2;
  --leading-standard:1.4;
  --leading-loose:1.7;
  --font-base:georgiapro,serif;
  --font-heading:lft-etica,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;
  --font-mono:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;
  --font-regular:400;
  --font-medium:500;
  --font-bold:700;
  --font-black:900;
}
:root{
    --gutter:var(--space-m-l);
    --section-gap:var(--space-2xl-3xl);
    --outer-page-margin:var(--space-xl-2xl);
    --transition-base:250ms ease;
    --transition-movement:200ms linear;
    --transition-fade:300ms ease;
    --transition-bounce:500ms cubic-bezier(0.5, 0.05, 0.2, 1.5);
    --stroke-width:1px;
    --stroke:var(--stroke-width) dashed var(--color-neutral-300);
    --stroke-solid:var(--stroke-width) solid var(--color-neutral-300);
    --radius-0:0;
    --radius-s:0.2rem;
    --radius-m:0.75rem;
    --radius-l:2.5rem;
    --button-kerning:0.05ch;
    --uppercase-kerning:0.04ch;
    --indent-size:var(--space-xs-l);
    --wrapper-max-width:1360px;
    --prose-max-chars:60ch;
    --focus-color:var(--color-primary-500);
    --profile-img-size-xs:var(--size-step--2);
    --profile-img-size-s:var(--size-step-5);
    --profile-img-size-m:var(--size-step-8);
    --profile-img-size-l:160px;
    --code-color-background:#f5f2f0;
  }
@view-transition{
  navigation:auto;
}
body{
  background:var(--color-neutral-white);
  color:var(--color-primary-900);
  font-size:var(--size-step-1);
  font-family:var(--font-base);
  line-height:var(--leading-standard);
  margin:0;
}
:is(h1, h2, h3, h4, h5, h6){
  font-family:var(--font-heading);
}
:is(h1, h2, h3, h4){
  font-weight:var(--font-bold);
  line-height:var(--leading-fine);
  text-wrap:balance;
}
h1{
  font-size:var(--size-step-9);
  max-width:20ch;
}
h2{
  font-size:var(--size-step-8);
  max-width:35ch;
}
h3{
  font-size:var(--size-step-7);
  max-width:35ch;
}
h4{
  font-size:var(--size-step-5);
  max-width:35ch;
}
h5{
  font-size:var(--size-step-3);
  max-width:35ch;
}
h6{
  font-size:var(--size-step-1);
  max-width:35ch;
}
:is(h1, h2, h3, h4):where(
    [class*='text-step-10'],
    [class*='text-step-11'],
    [class*='text-step-12']
  ){
  line-height:var(--leading-micro);
  font-weight:var(--font-black);
}
small{
  font-size:var(--size-step-0);
}
ins{
  text-decoration:none;
  background:var(--color-primary-600);
  color:var(--color-primary-900);
  padding-inline:0.3em;
}
:is(code, kbd, samp){
  font-family:var(--font-mono);
  padding:0.2em 0.2em 0.05em 0.2em;
  hyphens:none;
  tab-size:2;
  text-align:left;
  word-spacing:normal;
  word-break:normal;
  word-wrap:normal;
  box-decoration-break:clone;
}
@supports not (font-size-adjust: from-font){
  :is(code, kbd, samp){
    font-size:0.8em;
  }
}
pre:has(code){
  width:max-content;
  max-width:100%;
  overflow-x:auto;
}
pre code{
  border:none;
  background:none;
  padding:0;
}
kbd{
  border:1px solid;
  border-radius:0.2em;
  background:var(--color-neutral-50);
  padding-block-end:0.1em;
  margin-inline:0.2em;
  font-size:0.9em;
}
var{
  font-style:normal;
  font-weight:var(--font-medium);
}
q{
  font-style:italic;
}
ul:not([class]){
  padding-inline-start:1.7ch;
  list-style-type:disc;
}
ul:not([class]) > li{
  padding-inline-start:var(--space-xs);
}
ul ::marker{
  font-size:0.8lh;
}
ol ::marker{
  font-size:1em;
  font-weight:var(--font-bold);
}
dt{
  font-weight:var(--font-medium);
}
dt + dd{
  margin-block-start:var(--space-xs);
}
dd + dt{
  margin-block-start:var(--space-s);
}
dd{
  margin-inline-start:1.5ch;
}
blockquote{
  margin-inline:0;
  font-style:italic;
}
blockquote footer{
  margin-block-start:var(--space-s);
  font-size:var(--size-step-0);
}
blockquote q{
  font-style:normal;
}
:is(video, iframe[src*='youtube'], iframe[src*='vimeo']){
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
}
img{
  height:auto;
  max-width:100%;
  display:block;
}
figcaption{
  padding-block-start:0.5em;
  font-size:var(--size-step-0);
  font-family:monospace;
}
a:not([class]):hover{
  text-underline-offset:0.2lh;
}
:is(h1, h2, h3, h4) a:not([class]){
  text-decoration-thickness:0.1ex;
  text-underline-offset:0.2ex;
}
:is(h1, h2, h3, h4) a:not([class]):hover{
  text-underline-offset:0.3ex;
}
:focus{
  outline:none;
}
:focus-visible{
  outline:2px solid var(--focus-color, currentColor);
  outline-offset:var(--focus-offset, 0.2lh);
}
@supports (-moz-appearance: none){
  :root{
    --focus-offset:0.08em;
  }
}
:target{
  scroll-margin-block:5lh;
}
::selection{
  color:var(--color-neutral-white);
  background:var(--color-primary-800);
}
hr{
  border:none;
  border-block-start:var(--hr-stroke, var(--stroke));
  margin-block:var(--flow-space, var(--space-xl));
}
svg:not([class]){
  width:auto;
  height:1lh;
}
svg{
  flex-shrink:0;
}
svg[role='img'][width][height]{
  width:revert;
  height:revert;
  background:var(--color-neutral-white);
  padding:var(--space-xs);
}
form > * + *{
  margin-top:var(--flow-space, 1rem);
}
input,
button,
textarea,
select{
  font:inherit;
}
:is(input, select, textarea){
  accent-color:var(--color-primary-500);
  font-family:var(--font-heading);
}
:is(input:not([type='checkbox'], [type='radio'], [type='color']), select, textarea){
  padding:0.5em 0.8em;
  border-radius:var(--radius-s);
  border:var(--stroke-solid);
  background:var(--color-neutral-white);
  color:var(--color-neutral-700);
  width:100%;
}
:is(input:not([type='checkbox'],[type='radio'],[type='color']),select,textarea)::placeholder{
    color:var(--color-neutral-300);
    opacity:1;
  }
textarea{
  resize:vertical;
}
label{
  line-height:var(--leading-fine);
  font-family:var(--font-heading);
  font-weight:var(--font-medium);
}
label::after{
  content:'\A';
  white-space:pre;
}
label:has(input){
  display:flex;
  align-items:baseline;
  gap:var(--space-s);
  font-weight:var(--font-normal);
}
label:has(input) + label:has(input){
  --flow-space:var(--space-s-m);
}
label:has(input) input{
  transform:translateY(-0.1ex);
}
input:disabled{
  background:var(--color-neutral-300);
}
input:disabled,
label input:disabled + *{
  cursor:not-allowed;
}
fieldset{
  border:var(--stroke);
  padding:var(--space-s);
}
legend{
  font-weight:var(--font-medium);
  padding-inline:var(--space-xs);
}
summary{
  font-weight:var(--font-bold);
  cursor:pointer;
}
details[open] summary{
  margin-block-end:var(--space-s);
}
s{
  color:var(--color-neutral-300);
  text-decoration-color:var(--color-primary-900);
}
header.wrapper, 
main > .wrapper,
footer.wrapper{
    --gutter:var(--outer-page-margin);
}
main > section{
    margin-block-start:var(--section-gap);
}
main > section:first-of-type{
  margin-block-start:0;
}
main > section:last-of-type{
    margin-block-end:var(--section-gap);
}
.tablewrapper{
    overflow:auto;
}
.constrain-to-prose{
	max-width:var(--prose-max-width, 60ch);
}
table{
	--default-text-align:start;
	border-collapse:collapse;
	width:100%;
	table-layout:fixed;
}
th,
caption{
	text-align:var(--default-text-align, start);
}
caption{
	margin-block:0.75rem;
}
td{
	text-align:var(--default-text-align, start);
}
thead{
	border-block-end:2px solid var(--color-neutral-400);
}
thead th{
  padding-block:var(--space-s);
  vertical-align:bottom;
}
tfoot{
	border-block:2px solid;
	background:whitesmoke;
}
th,
td{
	border:1px solid lightgrey;
	padding:var(--space-xs) var(--space-l);
	vertical-align:baseline;
}
td{
	font-family:var(--font-heading, sans-serif);
	font-size:0.75em;
}
thead th,
tfoot th{
	background:var(--color-neutral-100, whitesmoke);
}
tbody th[scope="row"]{
	background:var(--color-neutral-50, whitesmoke);
}
.fixed-first-column th:first-of-type{
		width:3rem;
		padding-inline:var(--space-xs, 1 rem);
	}
.fixed-first-column th:first-child{
		position:sticky;
		inset-inline-start:0;
		border-inline-end:none;
	}
.fixed-first-column td:first-of-type,.fixed-first-column :where(thead,tfoot) th:nth-child(2){
		border-inline-start:none;
	}
.fixed-first-column th:first-child::after{
		content:'';
		position:absolute;
		inset-block-start:0;
		inset-inline-end:0;
		width:1px;
		height:100%;
		background:lightgrey;
	}
.default-align-start{
  --default-text-align:start;
}
.default-align-center{
  --default-text-align:center;
}
.default-align-end{
  --default-text-align:end;
}
.align-col-1-start th:nth-child(1), .align-col-1-start td:nth-child(1){
  text-align:start;
}
.align-col-1-center th:nth-child(1), .align-col-1-center td:nth-child(1){
  text-align:center;
}
.align-col-1-end th:nth-child(1), .align-col-1-end td:nth-child(1){
  text-align:end;
}
.align-col-2-start th:nth-child(2), .align-col-2-start td:nth-child(2){
  text-align:start;
}
.align-col-2-center th:nth-child(2), .align-col-2-center td:nth-child(2){
  text-align:center;
}
.align-col-2-end th:nth-child(2), .align-col-2-end td:nth-child(2){
  text-align:end;
}
.align-col-3-start th:nth-child(3), .align-col-3-start td:nth-child(3){
  text-align:start;
}
.align-col-3-center th:nth-child(3), .align-col-3-center td:nth-child(3){
  text-align:center;
}
.align-col-3-end th:nth-child(3), .align-col-3-end td:nth-child(3){
  text-align:end;
}
.align-col-4-start th:nth-child(4), .align-col-4-start td:nth-child(4){
  text-align:start;
}
.align-col-4-center th:nth-child(4), .align-col-4-center td:nth-child(4){
  text-align:center;
}
.align-col-4-end th:nth-child(4), .align-col-4-end td:nth-child(4){
  text-align:end;
}
.align-col-5-start th:nth-child(5), .align-col-5-start td:nth-child(5){
  text-align:start;
}
.align-col-5-center th:nth-child(5), .align-col-5-center td:nth-child(5){
  text-align:center;
}
.align-col-5-end th:nth-child(5), .align-col-5-end td:nth-child(5){
  text-align:end;
}
.align-col-6-start th:nth-child(6), .align-col-6-start td:nth-child(6){
  text-align:start;
}
.align-col-6-center th:nth-child(6), .align-col-6-center td:nth-child(6){
  text-align:center;
}
.align-col-6-end th:nth-child(6), .align-col-6-end td:nth-child(6){
  text-align:end;
}
.align-col-7-start th:nth-child(7), .align-col-7-start td:nth-child(7){
  text-align:start;
}
.align-col-7-center th:nth-child(7), .align-col-7-center td:nth-child(7){
  text-align:center;
}
.align-col-7-end th:nth-child(7), .align-col-7-end td:nth-child(7){
  text-align:end;
}
.align-col-8-start th:nth-child(8), .align-col-8-start td:nth-child(8){
  text-align:start;
}
.align-col-8-center th:nth-child(8), .align-col-8-center td:nth-child(8){
  text-align:center;
}
.align-col-8-end th:nth-child(8), .align-col-8-end td:nth-child(8){
  text-align:end;
}
.align-col-9-start th:nth-child(9), .align-col-9-start td:nth-child(9){
  text-align:start;
}
.align-col-9-center th:nth-child(9), .align-col-9-center td:nth-child(9){
  text-align:center;
}
.align-col-9-end th:nth-child(9), .align-col-9-end td:nth-child(9){
  text-align:end;
}
.align-col-10-start th:nth-child(10), .align-col-10-start td:nth-child(10){
  text-align:start;
}
.align-col-10-center th:nth-child(10), .align-col-10-center td:nth-child(10){
  text-align:center;
}
.align-col-10-end th:nth-child(10), .align-col-10-end td:nth-child(10){
  text-align:end;
}
.about-profile{
  --gutter:0;
  --repel-justify-content:center;
  --wrapper-max-width:1070px;
}
.about-profile__bio{
  flex:1 1 var(--prose-max-chars, 60ch);
}
.about-profile__card{
  flex-basis:clamp(15ch, 30%, 30rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  align-self:flex-end;
  gap:var(--space-s);
}
.about-profile__card > p{
  font-size:var(--step-1);
  font-weight:600;
  margin-bottom:0;
}
.about-profile__card .circle{
  width:var(--profile-img-size-l);
  height:var(--profile-img-size-l);
  border-radius:50%;
  object-fit:cover;
}
.about-profile__card a img{
  max-width:calc(var(--profile-img-size-l) * 0.9);
  margin-bottom:var(--space-l);
}
.about-profile__bio blockquote{
  position:relative;
  padding-top:0.25em;
}
.about-profile__bio blockquote::before{
  content:'"';
  position:absolute;
  left:0;
  top:0;
  font-size:2em;
  line-height:1;
}
.about-profile__bio blockquote p:first-of-type{
  text-indent:1.5em;
}
.sidebar{
  text-align:end;
  line-height:var(--leading-loose);
}
.sidebar-item{
  display:flex;
  flex-wrap:nowrap;
  flex-direction:column;
  align-items:flex-end;
  margin-top:var(--gutter);
  font-size:var(--size-step--1);
}
.sidebar > :first-child{
  margin-top:0;
}
.sidebar-item h1{
  font-size:var(--size-step-6);
}
.sidebar-item h2{
  font-size:var(--size-step-5);
}
.sidebar-item h3{
  font-size:var(--size-step-3);
}
.sidebar-item h4{
  font-size:var(--size-step-1);
}
.sidebar-item h5{
  font-size:var(--size-step-0);
}
.sidebar-item h6{
  font-size:var(--size-step-0);
}
.sidebar-item p{
  font-size:var(--size-step--1);
}
.sidebar-item ul{
    --flow-space:var(--space-2xs);
    font-size:var(--size-step--1);
    list-style-type:none;
    padding-inline-start:0;
}
.sidebar-item li{
    max-width:100ch;
}
.sidebar-item a{
  text-decoration:none;
  text-underline-offset:0.1lh;
}
.sidebar-item a:hover{
  text-underline-offset:0.2lh;
}
.sidebar-item__mvp{
  max-width:250px;
  text-wrap:balance;
}
.sidebar-item__mvp img{
    margin-bottom:var(--space-s);
    margin-left:auto;
    max-width:220px;
  }
.button{
    --button-bg:var(--color-primary-600);
    --button-text:var(--color-neutral-white);
    --button-x-padding:1.1em;
    --button-y-padding:1.1em;
    --button-gutter:0.5ch;
    --focus-color:var(--color-primary-600);

    display:inline-flex;
    gap:var(--button-gutter);
    align-items:center;
    line-height:var(--leading-flat);
    position:relative;
    border:none;
    cursor:pointer;
    background:var(--button-bg);
    color:var(--button-text);
    padding:var(--button-y-padding) var(--button-x-padding);
    text-transform:uppercase;
    letter-spacing:var(--button-kerning);
    text-decoration:none;
    font-family:var(--font-heading);
    font-size:var(--size-step-0);
    font-weight:var(--font-regular);
}
.button:hover{
    filter:brightness(110%);
}
.button:active{
    transform:scale(99%);
}
.button[data-button-variant='secondary']{
    --button-bg:var(--color-primary-800);
    --button-text:var(--color-primary-600);
    --focus-color:var(--color-primary-900);
}
.card{
    --focus-color:var(--color-primary-600);
  
    border:var(--stroke);
    border-radius:var(--radius-l);
    padding:var(--space-l);
    position:relative;
  }
.card__heading{
    font-size:var(--size-step--1);
    text-transform:uppercase;
    letter-spacing:var(--uppercase-kerning);
    color:var(--color-neutral-white);
  }
.card__meta{
    --flow-space:var(--space-s);
  
    font-size:var(--size-step-2);
    line-height:var(--leading-flat);
  }
.card__content{
    margin-block-start:var(--space-l);
  }
.card__alert{
    --flow-space:0;
  
    display:grid;
    place-items:center;
    width:10em;
    height:10em;
    background:var(--color-neutral-white);
    color:var(--color-primary-900);
    text-transform:uppercase;
    letter-spacing:var(--uppercase-kerning);
    font-size:var(--size-step--2);
    font-weight:bold;
    position:absolute;
    clip-path:polygon(0 0, 100% 0, 100% 100%);
    z-index:1;
    top:calc(var(--stroke-width, 1px) * -1);
    right:calc(var(--stroke-width, 1px) * -1);
  }
.card__alert > span{
    transform:rotate(45deg) translateY(-1lh);
    line-height:var(--leading-flat);
  }
.card img{
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:var(--radius-m);
  }
.card .button{
    --flow-space:var(--space-l);
  }
.card:has([href]:hover){
    background:rgb(from var(--color-neutral-white) r g b / 5%);
    transition:background var(--transition-fade);
  }
.vs-logo{
  display:block;
  width:auto;
  height:2.25lh;
}
.vs-logo .vs-logo-main{
  fill:var(--color-primary-900, #474747);
}
.vs-logo .vs-logo-eyes{
  fill:var(--color-primary-400, #474747);
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}
.form-group label{
  font-weight:var(--font-weight-bold);
  color:var(--color-neutral-700);
}
.form-status{
  padding:var(--space-s, 1rem);
  border-radius:var(--radius-s);
  font-weight:var(--font-weight-bold);
}
.form-status.success{
  background-color:var(--color-status-success-50, #DDFBE1);
  color:var(--color-status-success-800, #177E29);
  border:1px solid var(--color-status-success-700, #186325);
}
.form-status.error{
  background-color:var(--color-status-danger-200, #fef2f2);
  color:var(--color-status-danger-800, #b91c1c);
  border:1px solid var(--color-status-danger-800, #fca5a5);
}
button[type="submit"]:disabled{
  opacity:0.6;
  cursor:not-allowed;
}
.masthead{
    display:grid;
    grid-template-columns:1fr 23%;
    gap:0 1.5vi;
    grid-template-rows:repeat(4, auto);
  }
.masthead__heading{
    grid-row:2;
    grid-column:1/3;
    font-size:var(--size-step-10);
    margin-block-start:var(--space-2xl-3xl);
    margin-block-end:0;
    line-height:var(--leading-flat);
  }
@media screen(lg){
    .masthead{
      grid-template-rows:repeat(3, auto);
    }
    .masthead__heading{
      grid-row:2;
      grid-column:2;
    }
  
    .masthead__meta{
      grid-row:3;
      grid-column:2;
      text-align:left;
      margin-block-start:var(--space-s);
    }
  
    .masthead__location{
      grid-row:3;
      grid-column:1;
      margin-block-start:var(--space-s);
    }
  }
dialog:modal{
	border:0;
	padding:var(--space-l-xl);
	color:var(--color-primary-900);
	box-shadow:0 0 1em rgb(0 0 0 / 0.3);
	width:min(90vw, var(--prose-max-chars) + var(--space-m-l) * 2);
	min-width:20ch;
}
::backdrop{
	background-color:rgba(0, 0, 0, 0.5);
}
.modal__header{
	display:flex;
	justify-content:space-between;
	align-content:center;
	padding:0 0 var(--size-step-0) 0;
}
.modal__header .close{
		margin:var(--size-step-0) 0 var(--size-step-0) auto;
	}
.modal__header .modal-title{
		margin-block-start:0;
		align-self:center;
	}
.close{
	font-size:var(--size-step-3);
	font-weight:var(--font-bold);
	line-height:1;
	color:var(--color-neutral-500);
	opacity:0.5;
}
.close:focus,
.close:hover{
	color:#000;
	text-decoration:none;
	opacity:0.75;
}
.close:not(:disabled):not(.disabled){
	cursor:pointer;
}
button.close{
	padding:0;
	background-color:transparent;
	border:0;
}
.modal__body{
	position:relative;
	flex:1 1 auto;
	padding:0 1rem;
}
.modal__footer{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	padding:var(--size-step-0) 0 0 0;
}
.nav{
    --flow-space:var(--space-m);
    --gutter:var(--space-s) var(--space-s-m);

    text-transform:none;
    letter-spacing:normal;  
    font-size:var(--size-step-0);
    font-weight:var(--font-regular);
    line-height:var(--leading-flat);
  }
.nav > ul{
  padding-inline-start:0;
}
.nav__item{
   position:relative;
   display:block;
   padding:0.5em;
   text-decoration:none;
}
.nav__item::before{
  position:absolute;
  left:0;
  right:100%;
  height:3px;
  bottom:0px;
  content:"";
  background-color:transparent;
  transition:height 0.3s ease, background-color 0.3s ease;
  z-index:-1;
}
.nav__item:hover::before{
  right:0;
  height:100%;
  background-color:var(--color-primary-400);
  color:var(--color-neutral-white);
}
.nav__item[aria-current="page"]::before{
  right:0;
  background-color:var(--color-primary-400);
}
.nav__item.external::after{
  content:"↗";
  margin-right:0.25rem;
  font-size:0.8em;
  opacity:0.7;
}
.nav a:link,
.nav a:visited{
    color:var(--color-primary-900);
  }
.nav a:hover{
  color:var(--color-neutral-white);
}
.page-header{
  margin-block:var(--space-2xl-3xl);
}
.page-header h1{
    font-size:var(--size-step-10);
    line-height:var(--leading-flat);
    margin-block-end:0;
    hyphens:manual;
  }
.blog-post .page-header,
.blog-archive .page-header{
    margin-block:var(--space-xl-2xl);
}
:is(.blog-post .page-header) h1{
        font-size:var(--size-step-9);
    }
:is(.blog-post .page-header) hr{
        --hr-stroke:1px solid var(--color-neutral-300);
        margin-block:var(--space-l-xl, 0px);
    }
:is(.blog-archive .page-header) h1{
        font-size:var(--size-step-8);
    }
.blog-archive > .page-header > h1{
        margin-block-end:var(--space-l-xl, 0px);
}
.person-block{
  display:flex;
  flex-direction:row;
  
  align-items:center;
  text-align:center;
  align-self:flex-start;
  gap:var(--space-s);  
}
.person-block .circle{
  width:var(--profile-img-size-s);
  height:var(--profile-img-size-s);
  border-radius:50%;
  object-fit:cover;
}
.prose{
    --flow-space:var(--space-l);
    line-height:var(--leading-loose);
  }
.prose :is(h1, h2, h3){
  overflow-wrap:anywhere;
}
.prose :is(p, li, dl, figcaption, blockquote, aside){
    max-width:var(--prose-max-chars, 60ch);
    text-wrap:pretty;
  }
.prose :is(h1, h2, h3, h4) + *:not([class]){
    --flow-space:var(--space-m);
  }
.prose :is(figure, table),
.prose :is(figure, table) + *{
  --flow-space:var(--space-xl);
}
.prose * + :is(h1, h2, h3, h4):not([class]){
  --flow-space:var(--space-xl);
}
.prose :is(ul, ol):not([class]) li + li,
.prose :is(ul, ol):not([class]) li > :is(ol, ul){
  --flow-space:var(--space-xs);
  margin-block-start:var(--flow-space, 1em);
}
.prose li > *{
  margin-block-start:var(--flow-space, 1em);
}
.prose li:first-child{
  margin-block-start:0;
}
.prose hr{
  --flow-space:var(--space-2xl);
}
.prose :is(img, picture, video){
  border:0;
}
.prose a:not([class]){
  text-underline-offset:0.1lh;
}
.prose a:not([class]):hover{
  text-underline-offset:0.2lh;
}
.site-foot{
}
.site-foot__background{
  background:var(--color-primary-100);
  padding:var(--space-xl);
  padding-bottom:var(--space-m);
}
.footer-items{
  font-size:var(--size-step--1);
  line-height:var(--leading-standard);
  --repel-justify-content:flex-start;
  --repel-vertical-alignment:flex-start;
  --gutter:var(--space-m);
  margin-block-start:var(--space-m);
  margin-inline-start:var(--space-m);
}
.footer-item{
  flex:1 0 auto;
}
.footer-item > * + *{
  margin-left:var(--space-s);
}
.footer-item :where(h4, h5, h6){
  margin-block-end:0.4em;
}
.site-foot__logo{
  margin-left:auto;
  margin-right:auto;
}
.site-foot__logo > a{
  display:block;
  text-decoration:none;
  margin-left:auto;
  margin-right:auto;
}
.site-foot__logo .vs-logo{
  height:var(--size-step-3);
}
.site-foot__logo .vs-logo-eyes{
  fill:var(--color-primary-600,#474747);
}
.site-foot__social{
  --repel-justify-content:flex-start;
  --gutter:var(--space-s);
}
.social-icon{
  font-size:var(--size-step-3);
  color:var(--color-primary-900, #474747);
}
.copyright{
  text-align:center;
  margin-block-start:var(--space-m);
  font-size:var(--size-step--2);
  line-height:var(--leading-standard);
}
.site-head{
    text-transform:uppercase;
    letter-spacing:var(--uppercase-kerning);
    line-height:var(--leading-flat);
    font-size:var(--size-step--1);
    font-weight:var(--font-bold);
    padding-block-start:var(--space-xl);
}
.site-head .repel{
    --gutter:var(--space-xs);
}
.site-head__brand{
    container-type:inline-size;
    container-name:site-head-brand;
    flex-basis:clamp(15ch, 40%, 30rem);
    flex-grow:1;
}
.site-head__brand a:not(:hover){
    text-decoration:none;
}
@container site-head-brand (68vi <= width <= 50rem){
    .site-head__brand a{
        color:var(--color-neutral-white);
    }
}
.skip-link{
	display:inline-block;
	padding:0.7rem 1rem 0.5rem 1rem;
	background:var(--color-light);
	color:var(--color-primary);
	text-decoration:none;
	font-weight:700;
	text-transform:uppercase;
	position:absolute;
	top:1rem;
	left:1rem;
}
.skip-link:hover{
	background:var(--color-primary-tint);
	color:var(--color-tertiary);
}
.skip-link:not(:focus){
	border:0;
	clip:rect(0 0 0 0);
	height:auto;
	margin:0;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
	white-space:nowrap;
}
.tag-container{
    --gutter:var(--space-s) var(--space-xs);

    text-transform:uppercase;
    letter-spacing:var(--button-kerning); 
    font-size:var(--size-step--2);
    font-family:var(--font-heading);
    font-weight:var(--font-regular);
    line-height:var(--leading-flat);
    padding-inline-start:0;
}
a.tag-pill{
    --focus-color:var(--color-primary-600);
    margin-block-start:0;
    position:relative;
    display:block;
    padding:0.75em;
    border:none;
    cursor:pointer;
    color:var(--color-neutral-white);
    background:var(--color-neutral-100);
    
    text-decoration:none;
}
a.tag-pill:link,a.tag-pill:visited{
        color:var(--color-primary-900);
    }
a.tag-pill:hover{
        background-color:var(--color-primary-400);
        color:var(--color-neutral-white);
    }
#workcards{
  justify-items:center;
  --grid-min-item-size:clamp(16rem, 33%, 18rem);
}
.workcard{
  max-width:400px;
  --focus-color:var(--color-primary-600);
  background:var(--color-primary-700);
  border:0;
  border-radius:var(--radius-0);
  padding:0;
  position:relative;
  color:var(--color-neutral-white);
  display:flex;
  flex-direction:column;
  height:100%;
}
.workcard__content{
  margin:var(--space-xl) var(--space-xl) 0;
  flex:1;
}
.workcard__heading{
  font-size:var(--size-step-5); 
  line-height:var(--leading-flat);   
}
.workcard__body{
  --flow-space:var(--space-m);  
  font-size:var(--size-step-1);
  line-height:var(--leading-fine);
}
.workcard__alert{
  --flow-space:0;

  display:grid;
  place-items:center;
  width:10em;
  height:10em;
  background:var(--color-secondary-400);
  color:var(--color-primary-900);
  text-transform:uppercase;
  letter-spacing:var(--uppercase-kerning);
  font-size:var(--size-step--2);
  font-weight:bold;
  position:absolute;
  clip-path:polygon(0 0, 100% 0, 100% 100%);
  z-index:1;
  top:calc(var(--stroke-width, 1px) * -1);
  right:calc(var(--stroke-width, 1px) * -1);
  filter:drop-shadow(5px 5px);
}
.workcard__alert > span{
  transform:rotate(45deg) translateY(-1lh);
  line-height:var(--leading-flat);
}
.workcard img{
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:var(--radius-0);
  border:0;
}
.workcard__button{
  text-align:right;
  margin:var(--space-m) 0 0 auto;
}
.workcard .button{
  --flow-space:var(--space-l);
  --button-bg:var(--color-status-success-600);
  font-size:var(--size-step-1); 
}
.cluster{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gutter, var(--space-m));
  justify-content:var(--cluster-horizontal-alignment, flex-start);
  align-items:var(--cluster-vertical-alignment, center);
}
.flow > * + *{
  margin-block-start:var(--flow-space, 1em);
}
.grid{
  display:grid;
  grid-template-columns:repeat(
    var(--grid-placement, auto-fill),
    minmax(var(--grid-min-item-size, 16rem), 1fr)
  );
  gap:var(--gutter, var(--space-l));
}
.grid[data-layout='50-50']{
  --grid-placement:auto-fit;
  --grid-min-item-size:clamp(16rem, 50vw, 33rem);
}
.grid[data-layout='thirds']{
  --grid-placement:auto-fit;
  --grid-min-item-size:clamp(16rem, 33%, 20rem);
}
.repel{
  display:flex;
  flex-wrap:wrap;
  justify-content:var(--repel-justify-content, space-between);
  align-items:var(--repel-vertical-alignment, center);
  gap:var(--gutter, var(--space-m));
}
.repel[data-nowrap]{
  flex-wrap:nowrap;
}
.repel[data-wrap-reverse]{
  flex-wrap:wrap-reverse;
}
.sidebar-container{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gutter, var(--space-s-l));
}
.sidebar-container:not([data-direction]) > :first-child{
  flex-basis:var(--sidebar-target-width, 20rem);
  flex-grow:1;
}
.sidebar-container:not([data-direction]) > :last-child{
  flex-basis:0;
  flex-grow:999;
  min-width:var(--sidebar-content-min-width, 50%);
}
.sidebar-container[data-reversed]{
  flex-direction:row-reverse;
}
.sidebar-container[data-direction='rtl'] > :first-child{
  flex-basis:0;
  flex-grow:999;
  min-width:var(--sidebar-content-min-width, 50%);
}
.sidebar-container[data-direction='rtl'] > :last-child{
  flex-basis:var(--sidebar-target-width, 20rem);
  flex-grow:0;
}
.sidebar-container[data-direction='rtl'] .sidebar{
  margin-left:auto;
}
.switcher{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gutter, var(--space-l));
  align-items:var(--switcher-vertical-alignment, flex-start);
}
.switcher > *{
  flex-grow:1;
  flex-basis:calc((var(--switcher-target-container-width, 40rem) - 100%) * 999);
}
.switcher > :nth-child(n + 3){
  flex-basis:100%;
}
.wrapper{
  margin-inline:auto;
  max-width:var(--wrapper-max-width, 1360px);
  padding-left:var(--gutter);
  padding-right:var(--gutter);
  position:relative;
}
.flow-space-3xs{
  --flow-space:clamp(0.25rem, 0.23rem + 0.09vw, 0.31rem);
}
.flow-space-2xs{
  --flow-space:clamp(0.50rem, 0.48rem + 0.09vw, 0.56rem);
}
.flow-space-xs{
  --flow-space:clamp(0.69rem, 0.62rem + 0.28vw, 0.88rem);
}
.flow-space-s{
  --flow-space:clamp(0.94rem, 0.87rem + 0.28vw, 1.13rem);
}
.flow-space-m{
  --flow-space:clamp(1.44rem, 1.35rem + 0.38vw, 1.69rem);
}
.flow-space-l{
  --flow-space:clamp(1.88rem, 1.74rem + 0.56vw, 2.25rem);
}
.flow-space-xl{
  --flow-space:clamp(2.81rem, 2.61rem + 0.85vw, 3.38rem);
}
.flow-space-2xl{
  --flow-space:clamp(3.75rem, 3.49rem + 1.13vw, 4.50rem);
}
.flow-space-3xl{
  --flow-space:clamp(5.63rem, 5.23rem + 1.69vw, 6.75rem);
}
.flow-space-4xl{
  --flow-space:clamp(7.06rem, 6.58rem + 2.07vw, 8.44rem);
}
.flow-space-3xs-2xs{
  --flow-space:clamp(0.25rem, 0.16rem + 0.38vw, 0.50rem);
}
.flow-space-2xs-xs{
  --flow-space:clamp(0.50rem, 0.43rem + 0.28vw, 0.69rem);
}
.flow-space-xs-s{
  --flow-space:clamp(0.69rem, 0.60rem + 0.38vw, 0.94rem);
}
.flow-space-xs-l{
  --flow-space:clamp(0.69rem, 0.27rem + 1.78vw, 1.88rem);
}
.flow-space-s-m{
  --flow-space:clamp(0.94rem, 0.76rem + 0.75vw, 1.44rem);
}
.flow-space-m-l{
  --flow-space:clamp(1.44rem, 1.28rem + 0.66vw, 1.88rem);
}
.flow-space-l-xl{
  --flow-space:clamp(1.88rem, 1.54rem + 1.41vw, 2.81rem);
}
.flow-space-xl-2xl{
  --flow-space:clamp(2.81rem, 2.48rem + 1.41vw, 3.75rem);
}
.flow-space-2xl-3xl{
  --flow-space:clamp(3.75rem, 3.09rem + 2.82vw, 5.63rem);
}
.flow-space-2xl-4xl{
  --flow-space:clamp(3.75rem, 2.58rem + 4.98vw, 7.06rem);
}
.flow-space-3xl-4xl{
  --flow-space:clamp(5.63rem, 5.12rem + 2.16vw, 7.06rem);
}
.gutter-3xs{
  --gutter:clamp(0.25rem, 0.23rem + 0.09vw, 0.31rem);
}
.gutter-2xs{
  --gutter:clamp(0.50rem, 0.48rem + 0.09vw, 0.56rem);
}
.gutter-xs{
  --gutter:clamp(0.69rem, 0.62rem + 0.28vw, 0.88rem);
}
.gutter-s{
  --gutter:clamp(0.94rem, 0.87rem + 0.28vw, 1.13rem);
}
.gutter-m{
  --gutter:clamp(1.44rem, 1.35rem + 0.38vw, 1.69rem);
}
.gutter-l{
  --gutter:clamp(1.88rem, 1.74rem + 0.56vw, 2.25rem);
}
.gutter-xl{
  --gutter:clamp(2.81rem, 2.61rem + 0.85vw, 3.38rem);
}
.gutter-2xl{
  --gutter:clamp(3.75rem, 3.49rem + 1.13vw, 4.50rem);
}
.gutter-3xl{
  --gutter:clamp(5.63rem, 5.23rem + 1.69vw, 6.75rem);
}
.gutter-4xl{
  --gutter:clamp(7.06rem, 6.58rem + 2.07vw, 8.44rem);
}
.gutter-3xs-2xs{
  --gutter:clamp(0.25rem, 0.16rem + 0.38vw, 0.50rem);
}
.gutter-2xs-xs{
  --gutter:clamp(0.50rem, 0.43rem + 0.28vw, 0.69rem);
}
.gutter-xs-s{
  --gutter:clamp(0.69rem, 0.60rem + 0.38vw, 0.94rem);
}
.gutter-xs-l{
  --gutter:clamp(0.69rem, 0.27rem + 1.78vw, 1.88rem);
}
.gutter-s-m{
  --gutter:clamp(0.94rem, 0.76rem + 0.75vw, 1.44rem);
}
.gutter-m-l{
  --gutter:clamp(1.44rem, 1.28rem + 0.66vw, 1.88rem);
}
.gutter-l-xl{
  --gutter:clamp(1.88rem, 1.54rem + 1.41vw, 2.81rem);
}
.gutter-xl-2xl{
  --gutter:clamp(2.81rem, 2.48rem + 1.41vw, 3.75rem);
}
.gutter-2xl-3xl{
  --gutter:clamp(3.75rem, 3.09rem + 2.82vw, 5.63rem);
}
.gutter-2xl-4xl{
  --gutter:clamp(3.75rem, 2.58rem + 4.98vw, 7.06rem);
}
.gutter-3xl-4xl{
  --gutter:clamp(5.63rem, 5.12rem + 2.16vw, 7.06rem);
}
.indent{
    border-inline-start:var(--indent-size, var(--space-xs-l)) solid var(--indent-color, currentColor);
  }
img.circle{
    border-radius:50%;
}
img.inline-icon{
    display:inline;
    height:1.5em;
    margin:0 0.1em;
    vertical-align:middle;
}
.region{
  padding-block:var(--region-space, var(--space-m));
  position:relative;
}
.sticky-footer{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.sticky-footer main{
  flex:1;
}
.sticky-footer > header,
.sticky-footer > footer{
  width:100%;
  flex-shrink:0;
}
.visually-hidden{
  border:0;
  clip:rect(0 0 0 0);
  height:0;
  margin:0;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  white-space:nowrap;
}
ul.blog-archive-list{
    font-size:var(--size-step--1);
    padding-inline-start:var(--space-xl);
    list-style-type:disc;
}
.blog-archive-list > li{    
    padding-inline-start:var(--space-xs);
    line-height:var(--leading-loose);
    max-width:100ch;
}
.blog-archive-list > li:not(:first-child){
    padding-top:var(--space-xs);
}
.blog-archive-list a{
  text-underline-offset:0.1lh;
  text-decoration-color:var(--color-neutral-200);
}
.blog-archive-list a:hover{
  text-underline-offset:0.2lh;
  text-decoration-color:var(--color-primary-900);
}