@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}:root{--color-spark: hsl(8 60 48);--color-rain: hsl(298 6 86);--color-moondust: hsl(8 3 86);--color-spark-10: hsl(from var(--color-spark) h s 98);--color-spark-20: hsl(from var(--color-spark) h s 94);--color-spark-30: hsl(from var(--color-spark) h s 90);--color-spark-40: hsl(from var(--color-spark) h s 86);--color-spark-50: hsl(from var(--color-spark) h s 82);--color-spark-60: hsl(from var(--color-spark) h s 78);--color-spark-70: hsl(from var(--color-spark) h s 72);--color-spark-80: hsl(from var(--color-spark) h s 66);--color-spark-90: hsl(from var(--color-spark) h s 60);--color-spark-100: hsl(from var(--color-spark) h s 54);--color-spark-110: hsl(from var(--color-spark) h s 48);--color-spark-120: hsl(from var(--color-spark) h s 42);--color-spark-130: hsl(from var(--color-spark) h s 36);--color-spark-140: hsl(from var(--color-spark) h s 32);--color-spark-150: hsl(from var(--color-spark) h s 28);--color-spark-160: hsl(from var(--color-spark) h s 24);--color-spark-170: hsl(from var(--color-spark) h s 20);--color-spark-180: hsl(from var(--color-spark) 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-moondust-10: hsl(from var(--color-moondust) h s 98);--color-moondust-20: hsl(from var(--color-moondust) h s 94);--color-moondust-30: hsl(from var(--color-moondust) h s 90);--color-moondust-40: hsl(from var(--color-moondust) h s 86);--color-moondust-50: hsl(from var(--color-moondust) h s 82);--color-moondust-60: hsl(from var(--color-moondust) h s 78);--color-moondust-70: hsl(from var(--color-moondust) h s 72);--color-moondust-80: hsl(from var(--color-moondust) h s 66);--color-moondust-90: hsl(from var(--color-moondust) h s 60);--color-moondust-100: hsl(from var(--color-moondust) h s 54);--color-moondust-110: hsl(from var(--color-moondust) h s 48);--color-moondust-120: hsl(from var(--color-moondust) h s 42);--color-moondust-130: hsl(from var(--color-moondust) h s 36);--color-moondust-140: hsl(from var(--color-moondust) h s 32);--color-moondust-150: hsl(from var(--color-moondust) h s 28);--color-moondust-160: hsl(from var(--color-moondust) h s 24);--color-moondust-170: hsl(from var(--color-moondust) h s 20);--color-moondust-180: hsl(from var(--color-moondust) h s 16)}:root{--color-background-1: var(--color-moondust-10);--color-background-2: var(--color-moondust-20);--color-background-3: var(--color-moondust-30);--color-background: var(--color-background-2);--color-background-contrast: var(--color-rain-180);--color-border: var(--color-moondust-40);--color-foreground-1: var(--color-rain-180);--color-foreground-2: var(--color-rain-150);--color-foreground-3: var(--color-rain-120);--color-foreground: var(--color-foreground-1);--color-foreground-contrast-1: var(--color-rain-10);--color-foreground-contrast-2: var(--color-rain-40);--color-foreground-contrast: var(--color-foreground-contrast-1);--color-primary-1: var(--color-spark-110);--color-primary-2: var(--color-spark-120)}:root{--font-family-title: "Raleway", sans-serif;--font-family-text: "Geist", sans-serif;--font-size-large-1: clamp(2.75rem, 6.67vw, 4rem);--font-size-large-2: clamp(2rem, 4.58vw, 2.75rem);--font-size-large-3: clamp(1.5rem, 3.33vw, 2rem);--font-size-large-4: clamp(1.25rem, 2.5vw, 1.5rem);--font-size-large-5: clamp(1.125rem, 2.25vw, 1.25rem);--font-size-regular: clamp(1rem, 1.875vw, 1.125rem);--font-size-small: clamp(.875rem, 2vw, 1rem);--font-size-xsmall: clamp(.75rem, 1.75vw, .875rem);--font-weight-emphasis: 400;--font-weight-text: 400;--font-weight-title: 600;--letter-spacing-title: 0;--letter-spacing-text: .5px;--letter-spacing-text-small: .75px;--line-height-title-1: 1.125;--line-height-title: 1.25;--line-height-text: 1.625;--line-height-text-small: 1.75}*{box-sizing:border-box;margin:0;padding:0}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);color:var(--color-foreground);font-family:var(--font-family-text);font-size:var(--font-size-regular);letter-spacing:var(--letter-spacing-text);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{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)}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}.max-lines-5{-webkit-line-clamp:5}.m-05{margin:.5rem}.m-1{margin:1rem}.m-15{margin:1.5rem}.m-2{margin:2rem}.mt-05{margin-top:.5rem}.mt-1{margin-top:1rem}.mt-15{margin-top:1.5rem}.mt-2{margin-top:2rem}.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: 600;--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}}.spark-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-xsmall);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;text-transform:uppercase;transition:.25s ease-in-out;white-space:nowrap}.spark-button:hover{background:hsl(from currentColor h s l / .06)}.spark-button>i,.spark-button>.icon{font-size:112.5%;line-height:.8;vertical-align:middle}.spark-button.outline{border:2px solid currentColor}.spark-button.primary{color:var(--color-primary-1)}.spark-button.primary:hover{color:var(--color-primary-2)}.spark-button.primary.solid{background:var(--color-primary-1);border:0;color:var(--color-foreground-contrast-1)}.spark-button.primary.solid:hover{background:var(--color-primary-2)}.spark-card{background:var(--color-background-2);border:1px solid var(--color-border);border-radius:1.5rem;display:flex;flex-direction:column;font-size:var(--font-size-small);overflow:hidden;transition:transform .25s ease-in-out,box-shadow .25s ease-in-out;width:100%}.spark-card.background-light{background:var(--color-background-1);color:var(--color-foreground-2)}.spark-card.background-primary{background:var(--color-background-primary);color:var(--color-foreground-contrast-2)}.spark-card-content{display:flex;flex-direction:column;padding:1.5rem 1.25rem;width:100%}.spark-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}.spark-link,.spark-link:hover{background:none;color:inherit}.spark-link>i,.spark-link>.icon{font-size:112.5%;line-height:.8;vertical-align:middle}.spark-link.primary{color:var(--color-primary-1)}.spark-link.primary:hover{color:var(--color-primary-2)}.spark-link.button{border:2px solid currentColor;border-radius:var(--button-border-radius);height:var(--button-height);line-height:1.25;padding:var(--button-padding)}.spark-link.button:hover{background:hsl(from currentColor h s l / .06)}.spark-link.button.outline{border:2px solid currentColor}.spark-link.button.primary.solid{background:var(--color-primary-1);border:0;color:var(--color-foreground-contrast-1)}.spark-link.button.primary.solid:hover{background:var(--color-primary-2)}.spark-stack{display:flex;width:100%}.spark-stack.flex-column{flex-direction:column}.spark-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:90rem;padding:clamp(2.5rem,8.33vw,5rem) clamp(1.25rem,4.17vw,2.5rem);width:100%}.page-footer{align-items:center;background:var(--color-background-contrast);color:var(--color-foreground-contrast);display:flex;flex-direction:column;font-size:var(--font-size-small);justify-content:center;width:100%}.page-footer-social-nav{display:flex;flex-direction:row;gap:clamp(1rem,2vw,1.25rem)}.page-footer-social-nav .icon{font-size:1.5rem;transition:scale .25s ease-in-out}.page-footer-social-nav-link:hover .icon{scale:1.2}.page-footer-logo-link{padding:.75rem 0}.page-footer-logo{display:block;height:auto;max-height:clamp(2rem,4.17vw,2.5rem);transition:max-height .25s ease-in-out,scale .25s ease-in-out;width:auto}.page-footer-logo-link:hover .page-footer-logo{scale:1.2}.page-header{align-items:center;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;top:0;width:100%}.page-header-content{align-items:center;justify-content:center;max-width:120rem;padding:1.25rem;text-align:center;transition:padding .25s ease-in-out}.page-header-grid{align-items:center;border-width:0;display:flex;flex-direction:row;justify-content:space-between;padding:0;position:relative;transition:.25s ease-in-out;width:100%}.page-header.compact .page-header-content{padding:0}.page-header.compact .page-header-grid{border:1px solid hsl(from var(--color-border) h s l / .75);border-radius:2.375rem;margin:.875rem;padding:.875rem;width:calc(100% - 1.75rem)}.page-header.compact .page-header-grid:before{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background:hsl(from var(--color-background-1) h s l / .75);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.page-header-logo{display:block;height:auto;max-height:clamp(3.25rem,8vw,4rem);transition:max-height .25s ease-in-out,scale .25s ease-in-out;width:auto}.page-header-logo:hover{scale:1.2}.page-header.compact .page-header-logo{max-height:3rem}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 .spark-link{color:inherit;font-size:var(--font-size-small);font-weight:var(--button-font-weight);font-weight:500;padding:1rem 2rem;width:100%}.page-header-nav .spark-link:not(.button){justify-content:start;height:2.5rem;position:relative}.page-header-nav .spark-link:not(.button):hover{color:var(--color-ink-50)}.page-header-nav .spark-link:not(.button) span{align-items:center;display:inline-flex;height:2.5rem;position:relative}.page-header-nav .spark-link:not(.button) span:before{background:currentColor;bottom:0;content:"";display:inline-block;height:.125rem;left:0;opacity:1;overflow:hidden;max-width:0;position:absolute;transition:max-width .25s ease-in-out;width:100%}.page-header-nav .spark-link:not(.button):hover span:before{max-width:100%}.page-header-nav .spark-link.button{align-self:center;color:inherit;margin:2rem 0 0;width:auto}.page-header-nav .spark-link.button>.icon{transition:transform .25s ease-in-out}.page-header-nav .spark-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-background-2) 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 .spark-link.primary{color:var(--color-primary-1);padding:0;width:auto}.page-header-nav .spark-link.primary:hover,.page-header-nav .spark-link:not(.button):hover{color:var(--color-primary-2)}.page-header-nav .spark-link.button{align-self:center;color:var(--color-foreground-contrast-1);margin:0;padding:1rem 2rem}.page-header-nav .spark-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);color:var(--color-foreground-1);display:flex;flex-direction:column;font-size:var(--font-size-large-5);justify-content:center;min-height:clamp(30rem,56vh,35rem);width:100%}.page-hero-content{align-items:center;justify-content:center;max-width:60rem;padding-bottom:clamp(3.5rem,11.67vw,7rem);padding-top:clamp(3.5rem,11.67vw,7rem);text-align:center}.page-hero-link{align-items:center;background:var(--color-primary-1);border-radius:1.875rem;color:var(--color-foreground-contrast);display:flex;flex-direction:row;font:inherit;font-weight:500;gap:.5rem;height:3.75rem;justify-content:center;letter-spacing:.75px;padding:.75rem 2rem;transition:background .25s ease-in-out;white-space:nowrap}.page-hero-link:hover>.icon{transition:transform .25s ease-in-out}.page-hero-link:hover{background:var(--color-primary-2);color:var(--color-foreground-contrast)}.page-hero-link:hover>.icon{transform:translate(.25rem)}.page-hero-text{display:flex;flex-direction:column;font:inherit;gap:1rem;margin:clamp(4rem,10vw,6rem) 0 clamp(2rem,5vw,3rem)}.page-hero-text h1{font-size:var(--font-size-large-1);font-weight:800;letter-spacing:-1px;line-height:1.2}.page-main{align-items:center;background:var(--color-background-2);color:var(--color-foreground-1);display:flex;flex-direction:column;min-height:0;width:100%}.page-main.background-light{background:var(--color-background-1);color:var(--color-foreground-1)}.page-section{background:var(--color-background-2);color:var(--color-foreground-1);display:flex;flex-direction:column;min-height:0;width:100%}.page-section.background-light{background:var(--color-background-1);color:var(--color-foreground-1)}.page-section-text{display:flex;flex-direction:column;font:inherit;gap:.25rem}.page-section-text p{margin:0 0 .25rem}.about-page-hero-content{max-width:90rem;text-align:left}.about-page .feature-page-section .page-section-text{margin:0 0 clamp(1.5rem,3.33vw,2rem)}:root{--color-error: hsl(355 40 40)}.contact-form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.contact-form .spark-button>.icon{transition:transform .25s ease-in-out}.contact-form .spark-button:hover>.icon{transform:translate(.1875rem)}.contact-form-input{background:var(--color-background-2);border:0;border-radius:.5rem;font:inherit;line-height:1.25;padding:1rem;width:100%}textarea.contact-form-input{height:7rem}.contact-form-input-group{display:flex;flex-direction:column;gap:.125rem;width:100%}.contact-form-input-label{color:var(--color-foreground-3);font:inherit;font-size:var(--font-size-small);font-weight:500;letter-spacing:.5px}.contact-page-hero-content .page-hero-text p{max-width:42rem}.landing-page>.landing-page-hero{min-height:clamp(45rem,75vh,60rem)}.landing-page-hero-content{max-width:54rem}.landing-page-hero-content .page-hero-text h1{max-width:40rem}.landing-page .about-page-section-grid{display:flex;flex-direction:column;gap:1rem}.landing-page .about-page-section-office{border-radius:1.5rem;height:auto;width:100%}.landing-page .feature-page-section .page-section-text{margin:0 0 clamp(1.5rem,3.33vw,2rem)}.landing-page .process-page-section-grid,.landing-page .projects-page-section-grid,.landing-page .services-page-section-grid{display:flex;flex-direction:column;gap:1rem;margin:1rem 0 0;width:100%}@media(min-width:60rem){.landing-page .about-page-section-grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr}.landing-page .process-page-section-grid,.landing-page .projects-page-section-grid,.landing-page .services-page-section-grid{flex-direction:row;gap:2rem;margin:2rem 0 0}}.process-page .feature-page-section .page-section-text{margin:0 0 clamp(1.5rem,3.33vw,2rem)}.process-page .process-page-section-grid{display:flex;flex-direction:column;gap:1rem;margin:1rem 0 0;width:100%}@media(min-width:60rem){.process-page .process-page-section-grid{flex-direction:row;gap:2rem;margin:2rem 0 0}}.projects-page .projects-page-section-grid{display:flex;flex-direction:column;gap:1rem;margin:1rem 0 0;width:100%}.projects-page .feature-page-section .page-section-text{margin:0 0 clamp(1.5rem,3.33vw,2rem)}@media(min-width:60rem){.projects-page .projects-page-section-grid{display:grid;gap:2rem;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}}.services-page .feature-page-section .page-section-text{margin:0 0 clamp(1.5rem,3.33vw,2rem)}.services-page .services-page-section-grid{display:flex;flex-direction:column;gap:1rem;margin:1rem 0 0;width:100%}@media(min-width:60rem){.services-page .services-page-section-grid{flex-direction:row;gap:2rem;margin:2rem 0 0}}
