@import"https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap";@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}:root{--color-ink: hsl(230 20 32);--color-rain: hsl(230 7 85);--color-sand: hsl(320 4 85);--color-ink-10: hsl(from var(--color-ink) h s 98);--color-ink-20: hsl(from var(--color-ink) h s 94);--color-ink-30: hsl(from var(--color-ink) h s 90);--color-ink-40: hsl(from var(--color-ink) h s 86);--color-ink-50: hsl(from var(--color-ink) h s 82);--color-ink-60: hsl(from var(--color-ink) h s 78);--color-ink-70: hsl(from var(--color-ink) h s 72);--color-ink-80: hsl(from var(--color-ink) h s 66);--color-ink-90: hsl(from var(--color-ink) h s 60);--color-ink-100: hsl(from var(--color-ink) h s 54);--color-ink-110: hsl(from var(--color-ink) h s 48);--color-ink-120: hsl(from var(--color-ink) h s 42);--color-ink-130: hsl(from var(--color-ink) h s 36);--color-ink-140: hsl(from var(--color-ink) h s 32);--color-ink-150: hsl(from var(--color-ink) h s 28);--color-ink-160: hsl(from var(--color-ink) h s 24);--color-ink-170: hsl(from var(--color-ink) h s 20);--color-ink-180: hsl(from var(--color-ink) h s 16);--color-rain-10: hsl(from var(--color-rain) h s 98);--color-rain-20: hsl(from var(--color-rain) h s 94);--color-rain-30: hsl(from var(--color-rain) h s 90);--color-rain-40: hsl(from var(--color-rain) h s 86);--color-rain-50: hsl(from var(--color-rain) h s 82);--color-rain-60: hsl(from var(--color-rain) h s 78);--color-rain-70: hsl(from var(--color-rain) h s 72);--color-rain-80: hsl(from var(--color-rain) h s 66);--color-rain-90: hsl(from var(--color-rain) h s 60);--color-rain-100: hsl(from var(--color-rain) h s 54);--color-rain-110: hsl(from var(--color-rain) h s 48);--color-rain-120: hsl(from var(--color-rain) h s 42);--color-rain-130: hsl(from var(--color-rain) h s 36);--color-rain-140: hsl(from var(--color-rain) h s 32);--color-rain-150: hsl(from var(--color-rain) h s 28);--color-rain-160: hsl(from var(--color-rain) h s 24);--color-rain-170: hsl(from var(--color-rain) h s 20);--color-rain-180: hsl(from var(--color-rain) h s 16);--color-sand-10: hsl(from var(--color-sand) h s 98);--color-sand-20: hsl(from var(--color-sand) h s 94);--color-sand-30: hsl(from var(--color-sand) h s 90);--color-sand-40: hsl(from var(--color-sand) h s 86);--color-sand-50: hsl(from var(--color-sand) h s 82);--color-sand-60: hsl(from var(--color-sand) h s 78);--color-sand-70: hsl(from var(--color-sand) h s 72);--color-sand-80: hsl(from var(--color-sand) h s 66);--color-sand-90: hsl(from var(--color-sand) h s 60);--color-sand-100: hsl(from var(--color-sand) h s 54);--color-sand-110: hsl(from var(--color-sand) h s 48);--color-sand-120: hsl(from var(--color-sand) h s 42);--color-sand-130: hsl(from var(--color-sand) h s 36);--color-sand-140: hsl(from var(--color-sand) h s 32);--color-sand-150: hsl(from var(--color-sand) h s 28);--color-sand-160: hsl(from var(--color-sand) h s 24);--color-sand-170: hsl(from var(--color-sand) h s 20);--color-sand-180: hsl(from var(--color-sand) h s 16)}:root{--color-background-1: var(--color-sand-10);--color-background-2: var(--color-sand-20);--color-background-3: var(--color-sand-30);--color-background-contrast: var(--color-rain-180);--color-background-primary: var(--color-ink-150);--color-border: var(--color-sand-40);--color-foreground-1: var(--color-rain-180);--color-foreground-2: var(--color-rain-150);--color-foreground-3: var(--color-rain-120);--color-foreground-contrast-1: var(--color-rain-10);--color-foreground-contrast-2: var(--color-rain-40);--color-primary-1: var(--color-ink-140);--color-primary-2: var(--color-ink-150)}:root{--font-family-title: "Josefin Sans", sans-serif;--font-family-text: "Nunito Sans", sans-serif;--font-family-monospace: "Roboto Mono", monospace;--font-size-large-1: clamp(1.875rem, 5.5vw, 2.75rem);--font-size-large-2: clamp(1.5rem, 4vw, 2rem);--font-size-large-3: clamp(1.25rem, 3vw, 1.5rem);--font-size-large-4: clamp(1.125rem, 2.5vw, 1.25rem);--font-size-large-5: clamp(1rem, 2.25vw, 1.125rem);--font-size-regular: clamp(.875rem, 2vw, 1rem);--font-size-small: clamp(.75rem, 1.75vw, .875rem);--font-size-xsmall: clamp(.625rem, 1.5vw, .75rem)}*{border:0;box-sizing:border-box;margin:0;padding:0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}html,body,#root{min-height:100vh;min-width:22.5rem;overflow-x:hidden;width:100%}html{font: 16px sans-serif;line-height:1.625}body{background:var(--color-background-2);color:var(--color-foreground-2);font-family:var(--font-family-text);font-size:var(--font-size-regular);letter-spacing:.5px;line-height:inherit}a,button{color:inherit;cursor:pointer;display:inline-flex;flex-direction:row;font:inherit;gap:.5rem}a>i,button>i{font-size:112.5%;line-height:.8;vertical-align:middle}a{text-decoration:none}button{align-items:center;background:none;border:0;color:inherit;font-weight:700;gap:.5rem;line-height:1.25;padding:.875rem 1.75rem}caption,.caption{color:var(--color-foreground-3);font-size:var(--font-size-xsmall);letter-spacing:1px;text-transform:uppercase}h1,h2,h3,h4,h5,h6{color:var(--color-foreground-1);font-family:var(--font-family-title);letter-spacing:0;line-height:1.25}h1{font-size:var(--font-size-large-1);letter-spacing:-.75px;line-height:1.2}h2{font-size:var(--font-size-large-2);letter-spacing:-.375px}h3{font-size:var(--font-size-large-3)}h4{font-size:var(--font-size-large-4)}h5{font-size:var(--font-size-large-5)}h6{font-size:var(--font-size-regular)}@media(min-width:45rem){h1{line-height:1.15}}:root{--max-width-page-content: 90rem;--max-width-page-hero-content: 52rem;--padding-page-content-x: clamp(1.25rem, 4vw, 2rem);--padding-page-content-y: clamp(2.5rem, 6.25vw, 5rem);--padding-page-content: var(--padding-page-content-y) var(--padding-page-content-x)}img.responsive{display:block;height:auto;width:100%}.align-start{align-items:start}.align-center{align-items:center}.align-end{align-items:end}.align-stretch{align-items:stretch}.gap-0{gap:0}.gap-0125{gap:.125rem}.gap-025{gap:.25rem}.gap-0375{gap:.375rem}.gap-05{gap:.5rem}.gap-0625{gap:.625rem}.gap-075{gap:.75rem}.gap-0875{gap:.875rem}.gap-1{gap:1rem}.gap-125{gap:1.25rem}.gap-15{gap:1.5rem}.gap-175{gap:1.75rem}.gap-2{gap:2rem}.justify-start{justify-content:start}.justify-center{justify-content:center}.justify-end{justify-content:end}.justify-stretch{justify-content:stretch}.max-line-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[class*=max-lines-]{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.max-lines-2{-webkit-line-clamp:2}.max-lines-3{-webkit-line-clamp:3}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}:root{--button-border-radius: 1.5rem;--button-gap: .375rem;--button-font-weight: 700;--button-height: 2.875rem;--button-padding: .875rem 1.875rem;--button-color-light: var(--color-rain-10);--button-color-light-hover: var(--color-ink-50);--button-color-primary: var(--color-ink-110);--button-color-primary-hover: var(--color-ink-130)}@media(min-width:45rem){:root{--button-height: 3rem}}.ink-button{align-items:center;background:none;border:2px solid currentColor;border-radius:var(--button-border-radius);color:inherit;cursor:pointer;display:inline-flex;flex-direction:row;font:inherit;font-size:var(--font-size-regular);font-weight:var(--button-font-weight);height:var(--button-height);justify-content:center;gap:var(--button-gap);letter-spacing:.5px;line-height:1.25;padding:var(--button-padding);text-decoration:none;transition:.25s ease-in-out;white-space:nowrap}.ink-button:hover{background:hsl(from currentColor h s l / .06)}.ink-button>i,.ink-button>.icon{font-size:112.5%;line-height:.8;vertical-align:middle}.ink-button.outline{border:2px solid currentColor}.ink-button.primary{color:var(--color-primary-1)}.ink-button.primary:hover{color:var(--color-primary-2)}.ink-button.primary.solid{background:var(--color-primary-1);border:0;color:var(--color-foreground-contrast-1)}.ink-button.primary.solid:hover{background:var(--color-primary-2)}.ink-card{background:var(--color-background-2);border:1px solid var(--color-border);display:flex;flex-direction:column;font-size:var(--font-size-small);transition:transform .25s ease-in-out,box-shadow .25s ease-in-out;width:100%}.ink-card.background-light{background:var(--color-background-1);color:var(--color-foreground-2)}.ink-card.background-primary{background:var(--color-background-primary);color:var(--color-foreground-contrast-2)}.ink-card:hover{transform:translateY(-.25rem);box-shadow:0 .25rem .75rem hsl(from var(--color-border) h s l / .15)}@media(prefers-reduced-motion:reduce){.ink-card:hover{transform:none}}.ink-card-content{display:flex;flex-direction:column;padding:1.5rem 1.25rem;width:100%}.ink-carousel.embla{--slide-width: 75%;margin:auto;width:100%}.ink-carousel.embla .embla__viewport{width:100%}.ink-carousel.embla .embla__container{display:flex;flex-direction:row;gap:1.5rem;touch-action:pan-y pinch-zoom}.ink-carousel.embla .embla__slide{cursor:pointer;display:flex;flex:0 0 var(--slide-width);justify-content:start;min-width:0;transform:translateZ(0);-webkit-user-select:none;user-select:none}.ink-carousel.embla .embla__controls{display:flex;flex-direction:row;justify-content:center;margin:1.5rem 0 0;width:100%}.ink-carousel.embla .embla__dots{align-items:center;display:flex;flex-direction:row;gap:.125rem;justify-content:center}.ink-carousel.embla .embla__dot{-webkit-appearance:none;align-items:center;appearance:none;background-color:transparent;border:0;border-radius:50%;cursor:pointer;display:flex;justify-content:center;height:1.25rem;margin:0;padding:0;text-decoration:none;touch-action:manipulation;width:1.25rem}.ink-carousel.embla .embla__dot:after{background:var(--color-border);border-radius:50%;content:"";height:.3125rem;transition:background .25s ease-in-out,transform .25s ease-in-out;width:.3125rem}.ink-carousel.embla .embla__dot--selected:after{background:var(--color-primary-1);transform:scale(1.25)}@media(min-width:45rem){.ink-carousel.embla .embla__container{gap:2rem}}@media(min-width:60rem){.ink-carousel.embla .embla__dot{height:1.5rem;width:1.5rem}.ink-carousel.embla .embla__dot:after{height:.375rem;width:.375rem}}@media(prefers-reduced-motion:reduce){.ink-carousel.embla .embla__dot:after{transition:none}.ink-carousel.embla .embla__dot--selected:after{transform:none}}.ink-code{background:var(--color-background-2);display:inline-flex;flex-direction:row;font-family:var(--font-family-monospace);font-size:var(--font-size-small);padding:0 .25rem;width:auto}.ink-code.block{display:flex;flex-direction:column;padding:1.5rem 1.25rem;white-space:pre;width:100%}.ink-link{align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;font:inherit;font-size:var(--font-size-regular);font-weight:var(--button-font-weight);justify-content:center;gap:var(--button-gap);letter-spacing:.5px;text-decoration:none;transition:.25s ease-in-out;white-space:nowrap}.ink-link,.ink-link:hover{background:none;color:inherit}.ink-link>i,.ink-link>.icon{font-size:112.5%;line-height:.8;vertical-align:middle}.ink-link.primary{color:var(--color-primary-1)}.ink-link.primary:hover{color:var(--color-primary-2)}.ink-link.button{border:2px solid currentColor;border-radius:var(--button-border-radius);height:var(--button-height);line-height:1.25;padding:var(--button-padding)}.ink-link.button:hover{background:hsl(from currentColor h s l / .06)}.ink-link.button.outline{border:2px solid currentColor}.ink-link.button.primary.solid{background:var(--color-primary-1);border:0;color:var(--color-foreground-contrast-1)}.ink-link.button.primary.solid:hover{background:var(--color-primary-2)}.ink-stack{display:flex;width:100%}.ink-stack.flex-column{flex-direction:column}.ink-stack.flex-row{flex-direction:row}.page{background:var(--color-background-2);color:var(--color-foreground-2);display:grid;grid-template-rows:1fr auto;min-height:100vh;overflow:visible;position:relative;width:100%}.page.background-light{background:var(--color-background-1);color:var(--color-foreground-2)}.page-content{display:flex;flex-direction:column;max-width:var(--max-width-page-content);padding:var(--padding-page-content);width:100%}.page-feature-contact{background:var(--color-background-primary);color:var(--color-foreground-contrast-2)}.page-feature-contact-content{max-width:52rem}.page-feature-contact-button,.page-feature-contact-title{color:var(--color-foreground-contrast-1)}.page-feature-contact-button{align-self:center}.page-feature-contact-button>.icon{transition:transform .25s ease-in-out}.page-feature-contact-button:hover>.icon{transform:translate(.1875rem)}.page-feature-logos>.page-content{max-width:32rem;padding-bottom:2.5rem;padding-top:2.5rem}.page-feature-logos caption{color:var(--color-foreground-contrast-1);font-weight:700;letter-spacing:1.25px;white-space:nowrap}.page-feature-logos .feature-logo{display:block;height:1.75rem;width:auto}.page-feature-logos .feature-logo-grid{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem 4rem;justify-content:center;width:100%}.page-feature-logos .feature-logo-grid>*:nth-child(1){width:100%}@media(min-width:30rem){.page-feature-logos .feature-logo-grid>*:nth-child(1){width:auto}}@media(min-width:60rem){.page-feature-logos>.page-content{max-width:var(--max-width-page-content)}.page-feature-logos .feature-logo{height:clamp(1.75rem,2.7vw,2rem)}.page-feature-logos .feature-logo-grid{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:clamp(5rem,6.7vw,6rem);justify-content:center}}.page-footer{align-items:center;background:var(--color-background-contrast);color:var(--color-foreground-contrast-2);display:flex;flex-direction:column;font-size:var(--font-size-small);justify-content:stretch;min-width:0;width:100%}.page-footer-grid{display:flex;flex-direction:column;gap:2.5rem}.page-footer-logo{display:block;height:clamp(2.5rem,6.5vw,3.25rem);width:auto}.page-footer-nav{align-items:center;display:flex;flex-direction:row;gap:1.375rem;justify-content:center;width:100%}.page-footer-title{color:var(--color-foreground-contrast-1)}.page-footer-nav .ink-link{color:var(--color-foreground-contrast-1);position:relative;height:2.5rem}.page-footer-nav .ink-link:hover{color:var(--color-ink-70)}.page-footer-nav .ink-link span:before{background:var(--color-ink-70);bottom:0;content:"";display:inline-block;height:.125rem;left:50%;opacity:1;overflow:hidden;max-width:0%;position:absolute;transition:.25s ease-in-out;width:100%}.page-footer-nav .ink-link:hover span:before{left:0%;max-width:100%}.page-footer-nav.social{font-size:1.25rem;gap:1.75rem}.page-footer-nav.social a{color:var(--color-foreground-contrast-1);transition:.25s ease-in-out}.page-footer-nav.social a:hover{color:var(--color-ink-70)}@media(min-width:45rem){.page-footer-grid{gap:3rem}.page-footer-nav{gap:2.5rem}.page-footer-nav.social{font-size:1.5rem;gap:2.5rem}}@media(min-width:60rem){.page-footer-nav{gap:2.75rem}}:root{--page-header-height: calc(clamp(3.25rem, 8vw, 4rem) + calc(2 * var(--padding-page-content-x)))}.page-header{align-items:center;background:hsl(from var(--color-background-2) h s l/ .125);border-color:transparent;display:flex;flex-direction:column;justify-content:start;min-width:0;position:fixed;top:0;z-index:10;width:100%}.page-header.blur{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);border-bottom:1px solid hsl(from var(--color-background-2) h s l/ .5);transition:background .25s ease-in,backdrop-filter .25s ease-in,border-color .25s ease-in}.page-header>.page-content{max-width:150rem;padding:var(--padding-page-content-x)}.page-header-grid{align-items:center;display:flex;flex-direction:row;justify-content:space-between;width:100%}.page-header-logo{display:block;height:clamp(3.25rem,8vw,4rem);width:auto}html.freeze-mobile{overflow:hidden!important}.page-header-nav{align-items:start;background:var(--color-background-contrast);color:var(--color-foreground-contrast-1);display:flex;flex-direction:column;gap:1.25rem;height:100vh;justify-content:start;padding:10rem 0 2rem;position:fixed;right:-16rem;top:0;transition:right .25s ease-in;width:16rem;z-index:30}.page-header-nav.active{right:0}.page-header-nav .ink-link{color:inherit;padding:1rem 2rem;width:100%}.page-header-nav .ink-link:not(.button){justify-content:start;height:2.5rem;position:relative}.page-header-nav .ink-link:not(.button):hover{color:var(--color-ink-50)}.page-header-nav .ink-link:not(.button) span{align-items:center;display:inline-flex;height:2.5rem;position:relative}.page-header-nav .ink-link:not(.button) span:before{background:currentColor;bottom:0;content:"";display:inline-block;height:.125rem;left:50%;opacity:1;overflow:hidden;max-width:0%;position:absolute;transition:.25s ease-in-out;width:100%}.page-header-nav .ink-link:not(.button):hover span:before{left:0%;max-width:100%}.page-header-nav .ink-link.button{align-self:center;color:inherit;margin:2rem 0 0;width:auto}.page-header-nav .ink-link.button>.icon{transition:transform .25s ease-in-out}.page-header-nav .ink-link.button:hover>.icon{transform:translate(.1875rem)}.page-header-nav-backdrop{display:none}.page-header-nav-backdrop.active{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background:hsl(from var(--color-ink-120) h s l / .375);cursor:pointer;display:flex;height:100vh;position:fixed;left:0;top:0;width:100%;z-index:20}.page-header-nav-toggle{color:var(--color-primary-1);display:flex;flex-direction:column;gap:.375rem;justify-content:center;height:2rem;padding:0;position:relative;width:2.5rem}.page-header-nav-toggle:hover{color:var(--color-primary-2)}.page-header-nav-toggle>span{background:currentColor;border-radius:.1875rem;height:.1875rem;position:absolute;transition:.25s ease-in;width:100%}.page-header-nav-toggle>span:first-of-type{top:.625rem}.page-header-nav-toggle>span:last-of-type{top:1.1875rem}.page-header-nav-toggle.active{color:var(--color-foreground-contrast-1);position:fixed;right:1.25rem;z-index:40}.page-header-nav-toggle.active:hover{color:var(--color-ink-50)}.page-header-nav-toggle.active>span:first-of-type{top:.90625rem;transform:rotate(-45deg);transform-origin:center}.page-header-nav-toggle.active>span:last-of-type{top:.90625rem;transform:rotate(45deg);transform-origin:center}@media(min-width:45rem){.page-header-nav-toggle.active{right:1.5rem}}@media(min-width:60rem){.page-header-nav,.page-header-nav.active{align-items:center;background:none;color:var(--color-primary-1);display:flex;flex-direction:row;gap:3rem;height:auto;justify-content:end;padding:0;position:relative;right:auto;top:auto;width:auto}.page-header-nav .ink-link.primary{color:var(--color-primary-1);padding:0;width:auto}.page-header-nav .ink-link.primary:hover,.page-header-nav .ink-link:not(.button):hover{color:var(--color-primary-2)}.page-header-nav .ink-link.button{align-self:center;color:var(--color-foreground-contrast-1);margin:0;padding:1rem 2rem}.page-header-nav .ink-link.button:hover{color:var(--color-foreground-contrast-1)}.page-header-nav-backdrop,.page-header-nav-backdrop.active,.page-header-nav-toggle,.page-header-nav-toggle.active{display:none}}.page-hero{align-items:center;background:var(--color-background-2);display:flex;flex-direction:column;font-size:var(--font-size-large-5);justify-content:center;min-height:30rem;min-width:0;padding:var(--page-header-height) 0 2rem;width:100%}.page-hero-content{position:relative;max-width:var(--max-width-page-hero-content)}.page-hero{align-items:center;background:var(--color-background-2);display:flex;flex-direction:column;font-size:var(--font-size-large-5);justify-content:center;min-height:30rem;padding:var(--page-header-height) 0 2rem;width:100%}.page-hero>.page-content{position:relative}.page-hero-content{max-width:var(--max-width-page-hero-content)}.page-hero-text{animation:fadeInUp .5s ease-out .1s backwards}.page-hero-title{animation:fadeInUp .5s ease-out}.page-hero-dot-grid{--background-dot-color: var(--color-sand-40);--background-dot-hover-color: var(--color-sand-100);--background-dot-size: 1.5px;overflow:hidden;position:relative;width:100%}.page-section-hero-dots-base,.page-section-hero-dots-hover{background-size:32px 32px;inset:0;position:absolute}.page-section-hero-dots-base{background-image:radial-gradient(circle,var(--background-dot-color) var(--background-dot-size),transparent var(--background-dot-size))}.page-section-hero-dots-hover{-webkit-mask-image:radial-gradient(circle 160px at var(--mouse-x, -999px) var(--mouse-y, -999px),#fff 0%,rgba(255,255,255,.5) 50%,transparent 100%);mask-image:radial-gradient(circle 160px at var(--mouse-x, -999px) var(--mouse-y, -999px),#fff 0%,rgba(255,255,255,.5) 50%,transparent 100%);background-image:radial-gradient(circle,var(--background-dot-hover-color) var(--background-dot-size),transparent var(--background-dot-size))}.page-main{align-items:center;display:flex;flex-direction:column;justify-content:start;min-width:0;width:100%}.page-section{align-items:center;background:var(--color-background-2);color:var(--color-foreground-2);display:flex;flex-direction:column;justify-content:center;width:100%}.page-section.background-light{background:var(--color-background-1);color:var(--color-foreground-2)}.page-section.background-primary{background:var(--color-background-primary);color:var(--color-foreground-contrast-2)}.about-page .grid-certifications,.about-page .grid-education{font-size:var(--font-size-small)}.about-page .grid-certifications .logo,.about-page .grid-education .logo{height:auto;width:7rem}.about-page .hero-grid{align-items:start;display:flex;flex-direction:column;gap:2rem;justify-content:start}.about-page .link-resume{font-size:var(--font-size-regular)}@media(min-width:45rem){.about-page .hero-grid{flex-direction:column-reverse}.about-page .link-resume{align-self:end}}.contact-page .form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.contact-page .form-button-group{align-items:center;display:flex;flex-direction:row;justify-content:end;margin:1.25rem 0 0}.contact-page .form-input{background:var(--color-background);border:0;font:inherit;line-height:1.25;padding:1rem;width:100%}.contact-page .form-input-group{display:flex;flex-direction:column;gap:.125rem;width:100%}.contact-page .form-input-label{color:var(--color-foreground-subtle);font-size:var(--font-size-small);font-weight:700;letter-spacing:1px}.contact-page-hero>.page-content{max-width:58rem}:root{--color-error: hsl(355 40 48)}.contact-form-error{background:hsl(from var(--color-error) h s 96);border-top:2px solid hsl(from var(--color-error) h s 56);color:var(--color-error);display:flex;flex-direction:row;font-size:var(--font-size-small);font-weight:600;gap:.375rem;letter-spacing:1px;margin:-.25rem 0 0;padding:.375rem .75rem}.contact-form-error i,.contact-form-error .icon{font-size:112.5%}.contact-form-success,.contact-form-success-message{align-items:center!important}.contact-form-success-title{align-items:center;display:flex;flex-direction:row;gap:.625rem}.contact-form-success-title>i,.contact-form-success-title>.icon{font-size:112.5%;line-height:1.125}:root{--color-error: hsl(355 40 40)}.contact-page-input{background:var(--color-background-2);border:0;font:inherit;line-height:1.25;padding:1rem;width:100%}textarea.contact-page-input{height:7rem}.contact-page-input-group{display:flex;flex-direction:column;gap:.25rem;width:100%}.contact-page-input-label{color:var(--color-foreground-3);font:inherit;font-size:var(--font-size-small);font-weight:500;letter-spacing:1px}.contact-page-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.contact-page-form .ink-button>.icon{transition:transform .25s ease-in-out}.contact-page-form .ink-button:hover>.icon{transform:translate(.1875rem)}.journal-page .journal-post-grid{display:flex;flex-direction:column;gap:1.25rem;width:100%}@media(min-width:45rem){.journal-page .journal-post-card{align-items:center!important;display:grid!important;grid-auto-columns:2fr 3fr!important;grid-auto-flow:column!important}.journal-page .journal-post-grid{gap:1.5rem}}.css-relative-colors-codepen{border:0;height:30rem;margin:2rem 0;width:100%}.css-relative-colors-codepen+caption{margin:-3rem 0 0;text-align:right;width:100%}.journal-design-token-layers-page .design-token-grid{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0 0}.journal-design-token-layers-page .design-token-grid caption{display:block;padding:.25rem 0 0;text-align:center}.journal-design-token-layers-page .design-token-grid img{display:block;height:auto;width:100%}@media(min-width:45rem){.journal-design-token-layers-page .design-token-grid{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.landing-page .page-hero{height:60vh}.landing-page .page-hero-content{max-width:51rem}.landing-page .page-main{justify-content:start}.landing-page .section-link{align-items:center;align-self:start;display:flex;flex-direction:row;font-size:var(--font-size-xsmall);font-weight:700;gap:.25rem;letter-spacing:1px;text-transform:uppercase}.landing-page .section-link>.icon{transition:transform .25s ease-in-out}.landing-page .section-link:hover>.icon{transform:translate(.25rem)}.landing-page .projects-grid,.landing-page .projects-card-grid{display:flex;flex-direction:column}.landing-page .projects-grid{gap:1.5rem}.landing-page .projects-card-grid{gap:1.25rem}.landing-page .project-screenshot{display:block;height:auto;width:100%}@media(min-width:45rem){.landing-page .projects-card-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}@media(min-width:75rem){.landing-page .projects-grid{align-items:center;display:grid;gap:2rem;grid-auto-columns:1fr 2fr;grid-auto-flow:column}}.landing-page .service-section-grid,.landing-page .service-card-grid{display:flex;flex-direction:column;width:100%}.landing-page .service-section-grid{gap:1.5rem}.landing-page .service-card-grid{gap:1.25rem}.landing-page .service-card-grid .ink-card{transition:none}.landing-page .service-card-grid .ink-card:hover{transform:none;box-shadow:none}.landing-page .service-card-illustration{align-items:center;background:var(--color-ink-30);display:grid;justify-content:center;padding:1.25rem}.landing-page .service-card-illustration>img{height:5rem;width:auto}@media(min-width:45rem){.landing-page .service-card-grid{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.landing-page .service-card-illustration>img{height:6rem}}@media(min-width:75rem){.landing-page .service-section-grid{align-items:center;display:grid;gap:2rem;grid-auto-columns:1fr 2fr;grid-auto-flow:column}}.landing-page .journal-grid,.landing-page .journal-card-grid{display:flex;flex-direction:column}.landing-page .journal-grid{gap:1.5rem}.landing-page .journal-card-grid{gap:1.25rem}@media(min-width:45rem){.landing-page .journal-card-grid{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media(min-width:75rem){.landing-page .journal-grid{align-items:center;display:grid;gap:2rem;grid-auto-columns:1fr 2fr;grid-auto-flow:column}}@media(prefers-reduced-motion:reduce){.landing-page .section-link:hover>.icon{transform:none}}.project-alchemy-page .info-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:45rem){.project-alchemy-page .info-card{width:22rem}.project-alchemy-page .info-stack{flex-direction:row-reverse;gap:2rem}}.project-compass-page ul.list{display:flex;flex-direction:column;gap:.5rem;margin:0 0 0 1.5rem}.project-compass-page .info-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:45rem){.project-compass-page .info-card{width:22rem}.project-compass-page .info-stack{flex-direction:row-reverse;gap:2rem}}.project-jenevive-page .info-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.project-jenevive-page .design-process-illustration{align-items:center;display:flex;justify-content:center;padding:1rem 0;width:100%}.project-jenevive-page .design-process-illustration img{display:block;height:auto;max-width:47rem;width:100%}.project-jenevive-page .hifi-illustration{background:var(--color-background-2);border:1px solid var(--color-border);width:100%}.project-jenevive-page .hifi-illustration img{display:block;height:auto;width:100%}@media(min-width:45rem){.project-jenevive-page .info-card{width:22rem}.project-jenevive-page .info-stack{flex-direction:row-reverse;gap:2rem}}.project-jenevive-styleguide-carousel .styleguide-slide{--slide-width: 75%}.project-jenevive-styleguide-carousel .styleguide-slide img{height:auto;width:100%}@media(min-width:45rem){.project-jenevive-styleguide-carousel .styleguide-slide{--slide-width: 56%}}@media(min-width:60rem){.project-jenevive-styleguide-carousel .styleguide-slide{--slide-width: 50%}}.project-micasa-hifi-carousel .slide{--slide-width: 30%}.project-micasa-hifi-carousel .slide img{height:auto;width:100%}@media(min-width:45rem){.project-micasa-hifi-carousel .slide{--slide-width: 20%}.project-micasa-hifi-carousel .slide img{height:auto;width:100%}}.project-micasa-page .info-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:45rem){.project-micasa-page .info-card{width:22rem}.project-micasa-page .info-stack{flex-direction:row-reverse;gap:2rem}}.project-micasa-user-personas{display:flex;flex-direction:column;gap:1.5rem}.project-micasa-user-persona img{height:auto;width:100%}@media(min-width:45rem){.project-micasa-user-personas{flex-direction:row;gap:2rem}}.project-micasa-wireframe-carousel .slide{--slide-width: 30%}.project-micasa-wireframe-carousel .slide img{height:auto;width:100%}@media(min-width:45rem){.project-micasa-wireframe-carousel .slide{--slide-width: 20%}.project-micasa-wireframe-carousel .slide img{height:auto;width:100%}}.projects-page .project-grid{display:flex;flex-direction:column;gap:1.25rem;width:100%}.projects-page .project-screenshot{display:block;height:auto;width:100%}@media(min-width:45rem){.projects-page .project-card{align-items:center!important;display:grid!important;grid-auto-columns:2fr 3fr!important;grid-auto-flow:column!important}}.project-sabor-foundations-carousel .slide{--slide-width: 75%}.project-sabor-foundations-carousel .slide img{height:auto;width:100%}@media(min-width:45rem){.project-sabor-foundations-carousel .slide{--slide-width: 60%}}@media(min-width:60rem){.project-sabor-foundations-carousel .slide{--slide-width: 40%}}.project-sabor-page .info-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem}@media(min-width:45rem){.project-sabor-page .info-card{width:22rem}.project-sabor-page .info-stack{flex-direction:row-reverse;gap:2rem}}.services-page .service-card-grid{display:flex;flex-direction:column;gap:1.25rem;width:100%}.services-page .service-card-grid .ink-card{transition:none}.services-page .service-card-grid .ink-card:hover{transform:none;box-shadow:none}.services-page .service-card-illustration{align-items:center;background:var(--color-ink-30);display:grid;justify-content:center;padding:1.25rem}.services-page .service-card-illustration>img{height:5rem;width:auto}@media(min-width:45rem){.services-page .service-card-grid{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.services-page .service-card-illustration>img{height:6rem}}
