.contact-cta{color:var(--color-snow-100);text-transform:uppercase;transform-style:preserve-3d;transition:transform .45s var(--elastic-ease-out);font-size:.75em;display:grid}.contact-cta:active{transform:scaleX(.955)scaleY(.955)}.contact_bg{transition:scale .45s var(--smooth-ease), background-color .2s var(--color-ease);background-color:var(--color-onyx-100);border-radius:.25em;grid-area:1/1;display:grid;overflow:clip}.contact_bg-inner{transition:translate .6s var(--smooth-ease);transition-delay:calc((var(--index) * -1) * 42ms);grid-area:1/1;width:120%;display:block;translate:0 100%}.contact_bg-inner.is-first{background-color:var(--color-sun-200)}.contact_bg-inner.is-second{background-color:var(--color-sun-100)}.contact_inner{z-index:1;grid-area:1/1;padding:.625rem;display:grid;overflow:clip}.contact_inner:after{content:attr(data-text);color:var(--color-onyx-100);transform-origin:0 0;transition:rotate .75s var(--elastic-ease-out), translate .75s var(--elastic-ease-out), opacity .2s ease-out;grid-area:1/1;display:block;translate:0 2em;rotate:8deg}.contact_text{transition:translate .75s var(--elastic-ease-out), opacity .2s ease-out, color .2s var(--color-ease);transform-origin:0 0;grid-area:1/1;display:block}@media screen and (min-width:768px){.contact-cta{font-size:.875em}}@media screen and (min-width:1024px){.contact_inner{padding:.75em 1em}}@media (hover:hover) and (pointer:fine){.contact-cta:is(:hover,:focus-visible) .contact_bg{scale:1.065 1.095}.contact-cta:is(:hover,:focus-visible) .contact_bg-inner{transition-delay:calc(var(--index) * .115s);translate:0}.contact-cta:is(:hover,:focus-visible) .contact_text{opacity:0;translate:0 -1em}.contact-cta:is(:hover,:focus-visible) .contact_inner:after{opacity:1;transition-delay:.1s;translate:0;rotate:none}}@media (hover:none) or (pointer:coarse){.contact-cta:active .contact_bg{background-color:var(--color-sun-100);transition-duration:0s}.contact-cta:active .contact_text{color:var(--color-onyx-100);transition-duration:0s}}
.menu-wrapper{z-index:60;color:var(--color-snow-100);pointer-events:none;align-items:flex-start;display:flex;position:fixed;top:0}.menu_blur-overlay{z-index:-2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;width:100%;height:100%;position:absolute;inset:0}.menu_nav-content{width:100%;padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-md);padding-inline:var(--spacing-sm);position:relative}.nav_menu-bg{z-index:-1;transform-origin:top;will-change:transform;width:100%;height:100%;position:absolute;inset:0;transform:scaleY(0)}.nav_menu-bg:first-child{background-color:var(--color-sun-200)}.nav_menu-bg:nth-child(2){background-color:var(--color-sun-100)}.nav_menu-bg:nth-child(3){background-color:var(--color-onyx-100)}
.hero-button{background-color:var(--color-onyx-100);width:100%;height:100%;transition:transform .45s var(--elastic-ease-out), background-color .2s var(--color-ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-button:active{transform:scaleX(.955)scaleY(.955)}.hero-button_blob{background-color:var(--color-sun-100);width:100%;height:150%;transition:top .5s var(--smooth-ease), width .5s var(--smooth-ease);border-radius:50%;position:absolute;top:100%}.hero-button_text{color:var(--color-snow-100);text-transform:uppercase;transition:color .4s var(--color-ease);font-size:.625em;font-weight:400;position:relative}@media screen and (min-width:1024px){.hero-button_text{font-size:.75em}}@media screen and (min-width:1440px){.hero-button_text{font-size:1em}}@media (hover:hover) and (pointer:fine){.hero-button:is(:hover,:focus-visible) .hero-button_blob{width:150%;top:-25%}.hero-button:is(:hover,:focus-visible) .hero-button_text{color:var(--color-onyx-100)}}@media (hover:none) or (pointer:coarse){.hero-button:active{background-color:var(--color-sun-100);transition-duration:0s}.hero-button:active .hero-button_text{color:var(--color-onyx-100);transition-duration:0s}}
.work-display{gap:var(--spacing-sm);flex-direction:column;display:flex}.work_media-container{aspect-ratio:1;position:relative;overflow:hidden}.work_thumbnail-wrapper{height:120%;position:absolute;inset:0}.work_thumbnail{object-fit:cover;transition:scale calc(var(--in-out-expo-duration) - .1s) var(--in-out-expo-ease)}.work_hover-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;width:100%;height:100%;transition:opacity var(--in-out-expo-duration) var(--in-out-expo-ease);place-items:center;display:grid;position:absolute;inset:0}.work_preview-container{aspect-ratio:16/9;transform-origin:bottom;clip-path:inset(100% 0% 0%);width:60%;transition:scale var(--in-out-expo-duration) var(--in-out-expo-ease), clip-path var(--in-out-expo-duration) var(--in-out-expo-ease);scale:.6}.work_details-container{justify-content:space-between;align-items:center;display:flex}.work_title,.work_services{transition:transform var(--in-out-expo-duration) var(--in-out-expo-ease), opacity var(--in-out-expo-duration) var(--in-out-expo-ease)}@media (hover:hover) and (pointer:fine){.work-display:is(:hover,:focus-visible) .work_thumbnail{scale:1.15}.work-display:is(:hover,:focus-visible) .work_hover-overlay{opacity:1}.work-display:is(:hover,:focus-visible) .work_preview-container{clip-path:inset(0%);scale:1}.work-display:is(:hover,:focus-visible) .work_title{opacity:.8;transform:translate(.4em)}.work-display:is(:hover,:focus-visible) .work_services{opacity:.8;transform:translate(-.4em)}}
.service-card{--offset:0px;--top-offset:calc((var(--index) + 1) * var(--offset));--margin-offset-b:calc((var(--total) - var(--index) - 1) * var(--offset))}@media screen and (min-width:768px){.service-card{--offset:var(--spacing-xl);top:var(--top-offset);margin-bottom:var(--margin-offset-b);position:sticky}}@media screen and (min-width:1024px){.service-card{--offset:var(--spacing-2xl)}}
.contact-link{transition:opacity var(--quart-duration) var(--quart-ease)}.contact-underline{transform-origin:0;transition:transform var(--quart-duration) var(--quart-ease);transform:scaleX(0)}.footer-link-span{opacity:.5;text-shadow:0px 1.5em 0px var(--color-snow-100);transition:opacity var(--quart-duration) var(--quart-ease)}@media (hover:none) or (pointer:coarse){.contact-link:active,.footer-link-wrapper:active .footer-link-span{opacity:1;transition-duration:0s}.contact-link:active .contact-underline{transition-duration:0s;transform:scaleX(1)}}@media (hover:hover) and (pointer:fine){.contact-link:is(:hover,:focus-visible),.footer-link-wrapper:is(:hover,:focus-visible) .footer-link-span{opacity:1}.contact-link:is(:hover,:focus-visible) .contact-underline{transform:scaleX(1)}}
