:root{--font-family:"Strawford",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ft--4:clamp(.422rem,.4109rem + .0444vw,.4608rem);--ft--3:clamp(.5064rem,.4865rem + .0796vw,.576rem);--ft--2:clamp(.6076rem,.5755rem + .1284vw,.72rem);--ft--1:clamp(.7292rem,.6804rem + .1952vw,.9rem);--ft-0:clamp(.875rem,.8036rem + .2857vw,1.125rem);--ft-1:clamp(1.05rem,.9482rem + .4071vw,1.4063rem);--ft-2:clamp(1.26rem,1.1178rem + .5689vw,1.7578rem);--ft-3:clamp(1.512rem,1.3162rem + .7832vw,2.1973rem);--ft-4:clamp(1.8144rem,1.5481rem + 1.0654vw,2.7466rem);--ft-5:clamp(2.1773rem,1.8184rem + 1.4354vw,3.4332rem);--ft-6:clamp(2.6127rem,2.1331rem + 1.9186vw,4.2915rem);--ft-7:clamp(3.1353rem,2.4984rem + 2.5476vw,5.3644rem);--ft-8:clamp(3.7623rem,2.9214rem + 3.3636vw,6.7055rem);--ft-9:clamp(4.5148rem,3.4099rem + 4.4195vw,8.3819rem);--spc-3xs:clamp(.25rem,.2315rem + .0717vw,.3125rem);--spc-2xs:clamp(.4375rem,.4004rem + .1434vw,.5625rem);--spc-xs:clamp(.6875rem,.6319rem + .2151vw,.875rem);--spc-s:clamp(.875rem,.8008rem + .2867vw,1.125rem);--spc-m:clamp(1.3125rem,1.2012rem + .4301vw,1.6875rem);--spc-l:clamp(1.75rem,1.6016rem + .5735vw,2.25rem);--spc-xl:clamp(2.625rem,2.4024rem + .8602vw,3.375rem);--spc-2xl:clamp(3.5rem,3.2032rem + 1.147vw,4.5rem);--spc-3xl:clamp(5.25rem,4.8048rem + 1.7204vw,6.75rem);--spc-4xl:clamp(6.25rem,5.5rem + 1.9vw,7.5rem);--spc-3xs-2xs:clamp(.25rem,.1573rem + .3584vw,.5625rem);--spc-2xs-xs:clamp(.4375rem,.3077rem + .5018vw,.875rem);--spc-xs-s:clamp(.6875rem,.5577rem + .5018vw,1.125rem);--spc-s-m:clamp(.875rem,.6339rem + .9319vw,1.6875rem);--spc-m-l:clamp(1.3125rem,1.0343rem + 1.0753vw,2.25rem);--spc-l-xl:clamp(1.75rem,1.2677rem + 1.8638vw,3.375rem);--spc-xl-2xl:clamp(2.625rem,2.0685rem + 2.1505vw,4.5rem);--spc-2xl-3xl:clamp(3.5rem,2.5355rem + 3.7276vw,6.75rem);--spc-s-l:clamp(.875rem,.4669rem + 1.5771vw,2.25rem)}:root,:root[data-color-mode=light]{--surface1:#e7eaf6;--surface2:#fff;--surface3:#1d1f20;--element1:#242424;--element1-accent:#525252;--element1-accent-2:#7a7a7a;--element2:#000;--brand:#06f;--brand-accent:#00a5dc;--brand-secondary:#8a98ff;--brand-secondary-accent:#a8a2d5;--alert:red;--warning:#ed881b;--success:#38a169;--border:#fff3;--gradientchrome:linear-gradient(180deg,#ffffff1a,#0000000f 40%,#ffffff0a);--gradient2:linear-gradient(180deg,#000c,#000004e6 90%,#000000e6);--boxinset1:inset 0 -.2em .8em #0003;--boxshadow1:0px 2px 8px #0003;--boxinsetbody:inset 0px 44vh 11vh #ffffffe6;--contrast:2px;--brandgradient:linear-gradient(60deg,#0d00ff,#0095ff);--gradient1:linear-gradient(60deg,#f79533,#f37055,#ef4e7b,#a166ab,#5073b8,#1098ad,#07b39b,#6fba82)}:root[data-color-mode=dark]{--surface1:#212529;--surface2:#000;--surface3:#fff;--element1:#fff;--element1-accent:#adadad;--element1-accent-2:#5c5c5c;--element2:#fff;--brand:#78e6d2;--brand-accent:#bee682;--brand-secondary:#98f3e7;--brand-secondary-accent:#e696c8;--border:#0000005c;--gradientchrome:linear-gradient(180deg,#ffffff1a,#0009 40%,#ffffff0a);--gradient2:linear-gradient(180deg,#ffffffe6,#fafafee6 90%,#fffffff2);--boxinset1:inset 0 -.2em .8em #000;--boxshadow1:0px 2px 8px #0003;--boxinsetbody:inset 0px 44vh 44vh -22vh #00000c99;--alert:#e53e3e;--warning:#ed881b;--success:#2bcc76;--contrast:1px;--brandgradient:linear-gradient(60deg,#0d00ff,#f0f);--gradient1:linear-gradient(90deg,#fe1 0%,#13ff6d 54%,#00d4ff 100%)}:root{--neu-offset:.2em;--neu-offset-outer:.15em;--neu-blur-dark:.5em;--neu-blur-light:.4em;--neu-blur-outer:.4em}:root[data-color-mode=dark]{--neu-dark:#0009;--neu-light:#ffffff1f;--neu-dark-outer:#0000004d;--neu-light-outer:#ffffff0a}:root[data-color-mode=light]{--neu-dark:#00000026;--neu-light:#ffffffb3;--neu-dark-outer:#0000001a;--neu-light-outer:#fffc}:root,:root[data-color-mode=dark],:root[data-color-mode=light]{--neu-inset:inset var(--neu-offset)var(--neu-offset)var(--neu-blur-dark)var(--neu-dark),inset calc(var(--neu-offset)*-1)calc(var(--neu-offset)*-1)var(--neu-blur-light)var(--neu-light);--neu-outer:calc(var(--neu-offset-outer)*-1)calc(var(--neu-offset-outer)*-1)var(--neu-blur-outer)var(--neu-light-outer),var(--neu-offset-outer)var(--neu-offset-outer)var(--neu-blur-outer)var(--neu-dark-outer);--neu-full:inset var(--neu-offset)var(--neu-offset)var(--neu-blur-dark)var(--neu-dark),inset calc(var(--neu-offset)*-1)calc(var(--neu-offset)*-1)var(--neu-blur-light)var(--neu-light),calc(var(--neu-offset-outer)*-1)calc(var(--neu-offset-outer)*-1)var(--neu-blur-outer)var(--neu-light-outer),var(--neu-offset-outer)var(--neu-offset-outer)var(--neu-blur-outer)var(--neu-dark-outer)}:root{--neu-text-offset-x:.04em;--neu-text-offset-y:.02em;--neu-text-blur-dark:.03em;--neu-text-blur-light:.005em}:root[data-color-mode=light]{--neu-text-dark:#00000059;--neu-text-light:#fff}:root[data-color-mode=dark]{--neu-text-dark:#000;--neu-text-light:#ffffff14}:root,:root[data-color-mode=dark],:root[data-color-mode=light]{--neu-text-engraved:var(--neu-text-offset-x)var(--neu-text-offset-y)var(--neu-text-blur-dark)var(--neu-text-dark),calc(var(--neu-text-offset-x)*-1)calc(var(--neu-text-offset-y)*-1)var(--neu-text-blur-light)var(--neu-text-light);--neu-text-embossed:calc(var(--neu-text-offset-x)*-1)calc(var(--neu-text-offset-y)*-1)var(--neu-text-blur-dark)var(--neu-text-dark),var(--neu-text-offset-x)var(--neu-text-offset-y)var(--neu-text-blur-light)var(--neu-text-light);--neu-text-subtle:0 var(--neu-text-offset-y)var(--neu-text-blur-dark)var(--neu-text-dark)}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-thin-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-thin-webfont.woff)format("woff");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-extralight-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-extralight-webfont.woff)format("woff");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-light-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-light-webfont.woff)format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-regular-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-regular-webfont.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-medium-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-medium-webfont.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-bold-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-bold-webfont.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Strawford;src:url(/assets/fonts/strawford-black-webfont.woff2)format("woff2"),url(/assets/fonts/strawford-black-webfont.woff)format("woff");font-weight:900;font-style:normal;font-display:swap}*{margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}:root[data-color-mode=dark] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-family);font-size:var(--ft-0);background-color:var(--surface1);box-shadow:var(--boxinsetbody);color:var(--element1-accent);line-height:1.6}img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:flex}picture{width:100%}h1,h2,h3,h4,h5,h6{color:var(--element1)}p{font-size:var(--ft-0)}svg path{fill:var(--element1)}html.theme-switching *{transition:none!important}::-moz-selection{background-color:var(--brand);color:var(--surface1);text-shadow:none}::selection{background-color:var(--brand);color:var(--surface1);text-shadow:none}.sr-only{clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.cursor{pointer-events:none;will-change:transform;display:none;position:fixed;top:0;left:0}@media (hover:hover) and (pointer:fine){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}.cursor{pointer-events:none;z-index:10000;opacity:0;width:0;height:0;transition:opacity .3s;display:block;position:fixed;top:0;left:0}.cursor.is-visible{opacity:1}.cursor.is-hidden{opacity:0}.cursor:before{content:"";border:1.5px solid var(--brand,#0095ff);background-color:#0000;border-radius:50%;width:32px;height:32px;transition:transform .25s cubic-bezier(.25,.46,.45,.94),width .25s,height .25s,border-radius .25s,border-color .25s,background-color .25s,opacity .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.cursor:after{content:"";background-color:var(--brand,#0095ff);border-radius:50%;width:4px;height:4px;transition:transform .2s,width .2s,height .2s,border-radius .2s,background-color .2s,opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cursor.is-hover:before{background-color:color-mix(in srgb,var(--brand,#0095ff)10%,transparent);transform:translate(-50%,-50%)scale(1)}.cursor.is-hover:after{transform:translate(-50%,-50%)scale(1.5)}.cursor.is-text:before{background-color:var(--brand,#0095ff);border:none;border-radius:1px;width:2px;height:24px;transform:translate(-50%,-50%)scale(1)}.cursor.is-text:after{opacity:0;transform:translate(-50%,-50%)scale(0)}.cursor.is-disabled:before{border-color:var(--alert);transform:translate(-50%,-50%)scale(.75)}.cursor.is-disabled:after{background-color:var(--alert);border-radius:1px;width:16px;height:2px;transform:translate(-50%,-50%)rotate(0)}.cursor.is-magnetic:before{transition-duration:.15s;transform:translate(-50%,-50%)scale(1.25)}.cursor.is-hidden:before,.cursor.is-hidden:after{transform:translate(-50%,-50%)scale(0)}.cursor.is-active:before,.cursor.is-active:after{transition-duration:.1s;transform:translate(-50%,-50%)scale(.8)}}footer .logo .icn[data-icn=logo]{height:var(--ft-2)}.footer__grid{gap:var(--spc-l);padding-block:var(--spc-xl)var(--spc-s);flex-direction:column;display:flex}.footer__col{gap:var(--spc-xs);flex-direction:column;display:flex}nav.footer__col{flex-direction:row}footer a[data-magnetic]{margin-left:calc(var(--spc-2xs)*-1)}@media (min-width:960px){.footer__grid{padding-left:var(--spc-2xl)}}@media (min-width:640px){.footer__grid{flex-flow:wrap}.footer__col{flex:45%}}@media (min-width:1024px){.footer__grid{flex-wrap:nowrap}.footer__col{flex:1}}h1{font-size:var(--ft-5)}h2{font-size:var(--ft-3)}hgroup{margin-bottom:var(--spc-xs);position:relative}label,.language-switcher,.menu a,footer a{color:var(--element1);font-size:var(--ft--1)}strong,b,.form__reset,.form__success-title,h1,h2,h3,h4,h5,h6,nav a,.card__metric,.form__error{color:var(--element1);letter-spacing:.02em;font-weight:500;line-height:1.16em}footer h4,p,dt,textarea,input,textarea{font-weight:300;font-size:var(--ft-0);letter-spacing:.04em}a:-moz-any-link{color:var(--element1);letter-spacing:.1em;font-weight:400;line-height:1.36em;text-decoration:none}a,a:any-link,dd,button,label,figcaption,.card__metric,.card__title,.card__eyebrow{color:var(--element1);letter-spacing:.1em;font-weight:400;line-height:1.36em;text-decoration:none}.card__eyebrow,.card__subtitle{color:var(--element1-accent);gap:var(--spc-xs);padding-block:var(--spc-3xs)}.card__metric{font-size:var(--ft-4);margin-bottom:var(--spc-2xs)}li{padding:0;list-style:none;display:flex;position:relative}.project-block__text ul{gap:var(--spc-2xs);flex-direction:column;display:flex}.project-block__text ul li{padding-left:1em}.project-block__text li:before{content:"·";font-weight:700;position:absolute;left:0}.project-block__text h2{margin-bottom:var(--spc-m-l)}p a{color:var(--brand);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--element1)}p a:hover{color:var(--brand-second)}.work-overview .header__section,.industries .header__section,.logo-wall .header__section,.milestones .header__section{text-align:center}.grid_contacttiles .card__eyebrow{font-size:var(--ft--1)}.grid_contacttiles .card__title{font-size:var(--ft-0)}.project-block__text ul li{margin-bottom:var(--spc-xs);font-weight:300;font-size:var(--ft--1);gap:var(--spc-3xs);flex-direction:column}.project-block__text ul li strong{font-weight:400;line-height:1.6em;display:block}.mag-teaser p.card__subtitle{font-size:var(--ft--1)}footer h4{color:var(--element1-accent)}.value-proposition .grid__value-proposition p{font-size:var(--ft-3);padding-bottom:var(--spc-2xl)}.master-media{width:100%;display:block;position:relative}.master-media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.index-hero-crop img,.index-hero-crop video{aspect-ratio:16/9}@media (orientation:portrait) and (max-width:480px){.index-hero-crop img,.index-hero-crop video{aspect-ratio:9/16}}@media (orientation:portrait) and (min-width:481px) and (max-width:768px){.index-hero-crop img,.index-hero-crop video{aspect-ratio:9/16}}@media (orientation:portrait) and (min-width:769px){.index-hero-crop img,.index-hero-crop video{aspect-ratio:3/5}}@media (orientation:landscape) and (min-width:481px) and (max-width:1024px){.index-hero-crop img,.index-hero-crop video{aspect-ratio:4/3}}.project-hero-crop img{aspect-ratio:16/9}@media (orientation:portrait) and (max-width:480px){.project-hero-crop img{aspect-ratio:9/16}}@media (orientation:portrait) and (min-width:481px) and (max-width:768px){.project-hero-crop img{aspect-ratio:9/16}}@media (orientation:portrait) and (min-width:769px){.project-hero-crop img{aspect-ratio:3/5}}@media (orientation:landscape) and (min-width:481px) and (max-width:1024px){.project-hero-crop img{aspect-ratio:4/3}}.index-teaser-crop img{aspect-ratio:3/5}@media (orientation:portrait) and (max-width:480px){.index-teaser-crop img{aspect-ratio:3/5}}@media (orientation:portrait) and (min-width:481px){.index-teaser-crop img{aspect-ratio:3/5}}@media (orientation:landscape) and (max-width:1024px){.index-teaser-crop img{aspect-ratio:1}}@media (orientation:landscape) and (min-width:1025px) and (max-width:1920px){.index-teaser-crop img{aspect-ratio:3/5}}@media (orientation:landscape) and (min-width:1921px){.index-teaser-crop img{aspect-ratio:1}}.teaser-grid{gap:var(--grid-gap,1.5rem);grid-template-columns:repeat(3,1fr);display:grid}@media (orientation:portrait) and (max-width:480px){.teaser-grid{grid-template-columns:1fr}}@media (orientation:portrait) and (min-width:481px){.teaser-grid{grid-template-columns:repeat(2,1fr)}}@media (orientation:landscape) and (max-width:1024px){.teaser-grid{grid-template-columns:repeat(2,1fr)}}@media (orientation:landscape) and (min-width:1025px) and (max-width:1920px){.teaser-grid{grid-template-columns:repeat(3,1fr)}}@media (orientation:landscape) and (min-width:1921px){.teaser-grid{grid-template-columns:repeat(2,1fr)}}.teaser-grid-bottom{gap:var(--grid-gap,1.5rem);grid-template-columns:repeat(2,1fr);display:grid}@media (orientation:portrait) and (max-width:480px){.teaser-grid-bottom{grid-template-columns:1fr}}figure{border-radius:var(--spc-xs);width:100%;position:relative;overflow:hidden}figure picture{width:100%;height:auto;overflow:hidden}figure picture img{width:100%;height:auto;display:block}figcaption{background-color:var(--surface2);padding:var(--spc-s)var(--spc-m)}input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.field-checkbox label{-webkit-user-select:none;user-select:none;gap:.75rem;position:relative;cursor:pointer!important}.field-checkbox label .checkbox-text{font-size:var(--ft--2);padding-top:var(--spc-3xs)}.field-checkbox input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--element1);flex-shrink:0;margin-top:.125rem}.field-checkbox input[type=checkbox]+.checkbox-text a{color:var(--element1);text-decoration:underline}.field-checkbox .is-invalid input[type=checkbox]+.checkbox-text{color:var(--alert)}.field-checkbox label:before{content:"";border:2px solid var(--element1);background-color:#0000;border-radius:.25rem;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.15rem;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s}.field-checkbox label:after{content:"";border:2px solid #0000;border-width:0 2px 2px 0;width:.35rem;height:.65rem;transition:transform .15s,border-color .15s;position:absolute;top:.4rem;left:.45rem;transform:rotate(45deg)scale(0)}.field-checkbox label:hover:before{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb,0,255,200),.1)}.field-checkbox input[type=checkbox]:focus-visible~label:before{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb,0,255,200),.2)}.field-checkbox label:has(.checkbox:focus-visible):before{border-color:var(--brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb,0,255,200),.2)}.field-checkbox label:has(.checkbox:checked):before{background-color:var(--brand);border-color:var(--brand)}.field-checkbox label:has(input[type=checkbox]:checked):after{border-color:var(--surface2);transform:rotate(45deg)scale(1)}.field-checkbox label:has(input[type=checkbox]:checked):hover:before{background-color:var(--brand-accent);border-color:var(--brand-accent)}.field-checkbox.is-invalid label:before{border-color:var(--alert)}.field-checkbox.is-valid input[type=checkbox]:before{border-color:var(--brand)}.field-checkbox input[type=checkbox]+.checkbox-text a:hover{color:var(--brand-accent)}@media (prefers-reduced-motion:reduce){label:before,label:after{transition:none}}dl{flex-flow:wrap;display:flex}.language-switcher{position:relative}.language-switcher ul li{padding-left:0}.language-switcher ul li:before{display:none}.language-switcher__toggle{align-items:center;gap:.375rem;text-decoration:none}.language-switcher__toggle[aria-expanded=true] .icn{transform:rotate(180deg)}.language-switcher__dropdown{background-color:var(--surface2);border-radius:var(--spc-2xs);min-width:120px;box-shadow:var(--boxshadow1);opacity:0;visibility:hidden;z-index:1000;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;transform:translateY(-.5rem)}.language-switcher__dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0)}.language-switcher__dropdown a{width:100%;padding:var(--spc-s)var(--spc-s-m);color:var(--element1);text-decoration:none;transition:background-color .15s;display:flex}.language-switcher__dropdown a:hover{background-color:var(--surface1)}.language-switcher__dropdown a[aria-current=page]{color:var(--brand);pointer-events:none;text-decoration:none}.icn{vertical-align:middle;aspect-ratio:1;-webkit-mask-image:var(--icn);-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-image:var(--icn);mask-image:var(--icn);width:var(--ft-0,16px);height:var(--ft-0,16px);background:currentColor;flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icn[data-icn=logo]{--icn:url(../icons/logo.svg)}.icn[data-icn=linkedin]{--icn:url(../icons/linkedin.svg)}.icn[data-icn="16-arrow-right"]{--icn:url(../icons/16-arrow-right.svg)}.icn[data-icn="16-arrow-left"]{--icn:url(../icons/16-arrow-left.svg)}.icn[data-icn="24-arrow-top-right"]{--icn:url(../icons/24-arrow-top-right.svg)}.icn[data-icn="16-grid-layout"]{--icn:url(../icons/16-grid-layout.svg)}.icn[data-icn="16-send"]{--icn:url(../icons/16-send.svg)}.icn[data-icn="24-send"]{--icn:url(../icons/24-send.svg)}.icn[data-icn="16-gantt"]{--icn:url(../icons/16-gantt.svg)}.icn[data-icn="24-log-in"]{--icn:url(../icons/24-log-in.svg)}.icn[data-icn="24-eye-open"]{--icn:url(../icons/24-eye-open.svg)}.icn[data-icn="24-eye-closed"]{--icn:url(../icons/24-eye-closed.svg)}.icn[data-icn="24-chevron-down"]{--icn:url(../icons/24-chevron-down.svg)}.icn[data-icn="24-moon"]{--icn:url(../icons/24-moon.svg)}.icn[data-icn="24-sun"]{--icn:url(../icons/24-sun.svg)}[data-magnetic]:not([data-magnetic^=link]).theme-button-wrapper{z-index:999;cursor:pointer;border-radius:1.4rem;position:fixed;bottom:20px;right:24px}[data-magnetic]:not([data-magnetic^=link]).theme-button-wrapper .mag-content{padding:var(--spc-3xs)var(--spc-2xs);border-radius:1.3rem}.theme-button-wrapper button{z-index:999;opacity:0;cursor:pointer;background-color:#0000;border:none;width:100%;height:100%;position:absolute}.theme-button{background-color:var(--surface2);border-radius:inherit;gap:var(--spc-3xs);flex-direction:row;width:100%;height:100%;display:flex;position:relative}.theme-button:after{content:"";width:var(--ft-0);height:var(--ft-0);background-color:var(--element2);border-radius:50%;transition:left .2s ease-out,background-color .12s ease-in,transform .12s ease-out;display:inline-block;position:absolute;bottom:0;transform:translateY(0%);box-shadow:0 1px 3px #0000004d}:root[data-color-mode=light] .theme-button:after,:root:not([data-color-mode]) .theme-button:after{left:0}:root[data-color-mode=dark] .theme-button:after{right:0}:root[data-color-mode=light] .theme-button:after{left:0}:root[data-color-mode=light] .theme-button-wrapper .icn[data-icn="24-moon"],:root[data-color-mode=dark] .theme-button-wrapper .icn[data-icn="24-sun"]{opacity:0}.theme-icon{display:flex}.mag-content .theme-icon span.icn{width:var(--ft-1);height:var(--ft-1)}:root[data-color-mode=light] .light--hidden,:root:not([data-color-mode]) .light--hidden,:root[data-color-mode=dark] .dark--hidden{display:none}[data-magnetic],[data-ripple]{-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}[data-magnetic]>:not(.ripple){z-index:1;position:relative}[data-magnetic]{box-shadow:var(--boxshadow1);box-sizing:border-box;background:var(--gradientchrome);border:1px solid var(--border);padding:2px;transition:transform .2s,box-shadow .2s;display:flex}[data-magnetic] .mag-content{background-color:var(--surface2);flex-grow:1;align-items:stretch;display:flex;overflow:hidden}[data-magnetic] .mag-content .teaser__content{flex:auto;min-width:0;display:flex;overflow:hidden}.teaser-nav{gap:var(--spc-m);margin-inline:var(--spc-m);display:flex;position:relative}.teaser-nav.teaser-nav_next{flex-direction:row-reverse}.grid__teaser .teaser-nav{gap:var(--spc-2xl)}.teaser-nav.teaser-nav_next .card_next{direction:ltr;flex-direction:row-reverse}.teaser-nav .card__arrow-link{text-align:center;border-radius:100%;align-content:center;align-self:center;align-items:center}.teaser-nav .card__arrow-link .mag-content{width:var(--ft-5);height:var(--ft-5);border-radius:100%;padding:0}.teaser-nav [data-magnetic] .teaser_directionlabel{white-space:nowrap;text-overflow:ellipsis;background:var(--surface2);text-align:center;padding:var(--ft--4)var(--ft-0);margin-top:var(--spc-xs);border-radius:20px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}a[data-magnetic^=linknav]{box-shadow:none;background:0 0;border:#0000;border-radius:.85rem;flex:0 auto}[data-magnetic^=linknav] .mag-content{box-shadow:none;padding:var(--spc-2xs);background:0 0;border-radius:.7rem;justify-content:center;align-items:center}a[data-magnetic^=linknav]:hover{background-color:var(--surface1)}a[data-magnetic^=linknav]:hover .mag-content{background-color:var(--surface2)}[data-magnetic^=button]{border-radius:1.1rem}[data-magnetic^=button] .mag-content{padding:var(--spc-2xs)var(--spc-xs);gap:var(--spc-2xs);font-size:var(--ft-0);border-radius:.9rem;justify-content:center;align-items:center}[data-magnetic^=button] .mag-content .form__submit-text{padding:var(--spc-2xs)var(--spc-s-m);gap:var(--spc-2xs);display:flex}[data-magnetic^=button] .mag-content .icn{width:var(--ft-0);height:var(--ft-0)}[data-magnetic^=thumbnail]{pointer-events:auto;border-radius:1.9rem;transition:transform .2s,box-shadow .2s,width .35s cubic-bezier(.4,0,.2,1)}[data-magnetic^=thumbnail] .mag-content{border-radius:1.8rem;flex-shrink:0;align-items:center;width:240px;min-width:0}[data-magnetic^=thumbnail] .teaser__content{flex-direction:column}.project-nav [data-magnetic^=button].card__arrow-link{position:relative}[data-magnetic^=thumbnail] .teaser_directionlabel{font-size:var(--ft--1)}[data-magnetic^=thumbnail] .teaser__content{transition:opacity .25s}[data-magnetic^=thumbnail]:hover .teaser__content{opacity:1;transition:opacity .3s .1s}.project-nav{pointer-events:none;z-index:100;justify-content:space-between;transition:opacity .3s,visibility .3s;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.project-nav a,.project-nav [data-magnetic]{pointer-events:auto}@media (min-width:768px){.project-nav{display:flex}}[data-magnetic^=tile]{border-radius:1.28rem}[data-magnetic^=tile] .mag-content{padding:var(--spc-m)var(--spc-m);gap:var(--spc-2xs);border-radius:1.2rem;justify-content:space-between}[data-magnetic^=tile] .mag-content .teaser__content{flex-direction:row;flex:auto;min-width:0;display:flex;overflow:hidden}[data-magnetic^=teaser]{border-radius:1.8rem;flex:1 1 0}[data-magnetic^=teaser] .mag-content{border-radius:1.6rem;flex:1 1 0}[data-magnetic^=teaser] .mag-content .teaser__content{flex-direction:column;min-width:0;display:flex;overflow:hidden}[data-magnetic^=teaser] .mag-content .teaser__content .card__text{padding:var(--spc-m)var(--spc-m)var(--spc-s)}[data-magnetic^=teaser] .mag-content .teaser__content .card__text .card__title{margin-bottom:var(--spc-2xs)}.keystroke-echo{pointer-events:none;z-index:9999;transform-origin:50%;font-weight:600;animation:.35s ease-out forwards keystrokeGlow;position:fixed}@keyframes keystrokeGlow{0%{opacity:1;color:var(--brand);text-shadow:0 0 6px var(--brand);transform:translate(0)scale(1.05)}25%{opacity:.9;color:var(--brand-accent);text-shadow:0 0 8px var(--brand-accent);transform:translate(0)scale(1)}80%{opacity:.8;color:var(--brand-accent);text-shadow:0 0 16px var(--brand-accent);transform:translate(0)scale(1)}to{opacity:0;color:var(--brand);text-shadow:0 0 #0000;transform:translate(0)scale(1)}}@property --gradient-angle{syntax:"<angle>";inherits:false;initial-value:68deg}a .icn:before,button .icn:before{content:"";background-image:linear-gradient(var(--gradient-angle),var(--brand),var(--brand-accent),var(--brand-secondary),var(--brand-secondary-accent));opacity:0;pointer-events:none;width:168%;height:168%;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}a:hover .icn,button:hover .icn{background-color:#0000}a:hover .icn:before,button:hover .icn:before{opacity:1;animation:2s linear infinite spin-gradient}p a:hover,nav.menu a:hover span.gradientText,footer a:hover span.gradientText,nav.menu button:hover span.gradientText nav.menu button:hover span.gradientText{color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(var(--gradient-angle),var(--brand),var(--brand-accent),var(--brand-secondary),var(--brand-secondary-accent));-webkit-background-clip:text;background-clip:text;animation:2s linear infinite spin-gradient}.grid__value-proposition p{color:var(--element1-accent-2);font-weight:200}.grid__value-proposition p strong{color:var(--element1);-webkit-text-fill-color:transparent;background-image:linear-gradient(var(--gradient-angle),var(--brand),var(--brand-accent),var(--brand-secondary-accent));-webkit-background-clip:text;background-clip:text;font-weight:300;animation:4s linear infinite spin-gradient}@keyframes spin-gradient{0%{--gradient-angle:68deg}to{--gradient-angle:428deg}}:root{--animate-in-xs:.38s;--animate-out-xs:.28s;--animate-in-sm:.42s;--animate-out-sm:.34s;--animate-in-md:.49s;--animate-out-md:.36s;--animate-in-lg:.55s;--animate-out-lg:.45s;--animate-in-xl:.64s;--animate-out-xl:.52s;--animate-in-xxl:.8s;--animate-out-xxl:.6s}[data-animate],[data-magnetic],[data-ripple]{--animate-in:.4s;--animate-out:.3s;--animate-ease-in:ease-out;--animate-ease-out:ease-in}[data-animate$=-xs],[data-magnetic$=-xs],[data-ripple$=-xs]{--animate-in:var(--animate-in-xs);--animate-out:var(--animate-out-xs)}[data-animate$=-sm],[data-magnetic$=-sm],[data-ripple$=-sm]{--animate-in:var(--animate-in-sm);--animate-out:var(--animate-out-sm)}[data-animate$=-md],[data-magnetic$=-md],[data-ripple$=-md]{--animate-in:var(--animate-in-md);--animate-out:var(--animate-out-md)}[data-animate$=-lg],[data-magnetic$=-lg],[data-ripple$=-lg]{--animate-in:var(--animate-in-lg);--animate-out:var(--animate-out-lg)}[data-animate$=-xl],[data-magnetic$=-xl],[data-ripple$=-xl]{--animate-in:var(--animate-in-xl);--animate-out:var(--animate-out-xl)}[data-animate$=-xxl],[data-magnetic$=-xxl],[data-ripple$=-xxl]{--animate-in:var(--animate-in-xxl);--animate-out:var(--animate-out-xxl)}.headline{transition-property:opacity,transform}.headline[data-animate^=true]{opacity:0;transform:translateY(20px)}h1[data-animate^=true]{opacity:0;transform:translateY(.5em)}@media (prefers-reduced-motion:reduce){[data-animate],[data-magnetic],[data-ripple]{--animate-in:0s;--animate-out:0s}.ripple--entering,.ripple--leaving{animation:none!important}}[data-animate^=true]{transition-duration:var(--animate-out);transition-timing-function:var(--animate-ease-out)}[data-animate^=false]{transition-duration:var(--animate-in);transition-timing-function:var(--animate-ease-in)}.project-nav[data-animate^=true] .teaser-nav{opacity:1;visibility:visible;transition:opacity .3s var(--ease-out,ease-out),transform .3s var(--ease-out,ease-out),visibility 0s 0s}.project-nav[data-animate^=false] .teaser-nav{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-out,ease-out),transform .3s var(--ease-out,ease-out),visibility 0s .3s}.project-nav[data-animate^=false] .teaser-nav_prev{transform:translateX(calc(var(--spc-xs)*-1))}.project-nav[data-animate^=false] .teaser-nav_next{transform:translateX(calc(var(--spc-xs)*1))}.project-nav .teaser-nav .card__arrow-link+.card_prev,.project-nav .teaser-nav .card__arrow-link+.card_next{visibility:hidden;opacity:0;transition:opacity .36s var(--ease-out,ease-out),transform .36s var(--ease-out,ease-out),visibility 0s .36s}.project-nav .teaser-nav .card__arrow-link+.card_prev{transform:translateX(calc(var(--spc-xs)*-1))}.project-nav .teaser-nav .card__arrow-link+.card_next{transform:translateX(calc(var(--spc-xs)*1))}.project-nav .teaser-nav .card__arrow-link:hover+.card_prev,.project-nav .teaser-nav .card__arrow-link:hover+.card_next,.project-nav .teaser-nav .card__arrow-link+.card_prev:hover,.project-nav .teaser-nav .card__arrow-link+.card_next:hover{visibility:visible;opacity:1;transition:opacity .3s var(--ease-out,ease-out),transform .3s var(--ease-out,ease-out),visibility 0s 0s}.teaser-nav .card__arrow-link+.card_prev,.teaser-nav .card__arrow-link+.card_next{transition:background-color .3s var(--ease-out,ease-out);background-color:#0000}.teaser-nav .card__arrow-link:hover+.card_prev,.teaser-nav .card__arrow-link:hover+.card_next{background-color:var(--brand);transition:background-color .3s var(--ease-out,ease-out).12s}.header__section[data-animate^=true]{opacity:0}.header__section[data-animate^=false]{opacity:1}.header__section[data-animate^=true] .title_eyebrow{opacity:0;transform:translateY(calc(var(--spc-2xs)*-1))}.header__section[data-animate^=true] .subheadline{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}.header__section[data-animate^=false] .title_eyebrow{opacity:1;transition:opacity .6s var(--ease-out,ease-out).3s,transform .6s var(--ease-out,ease-out).3s;transform:translateY(0)}.header__section[data-animate^=false] .subheadline{opacity:1;transition:opacity .6s var(--ease-out,ease-out).48s,transform .6s var(--ease-out,ease-out).48s;transform:translateY(0)}.grid__teaser li[data-animate^=true]{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}.grid__teaser li[data-animate^=false]{opacity:1;transition:opacity .6s var(--ease-out,ease-out).48s,transform .6s var(--ease-out,ease-out).48s;transform:translateY(0)}.grid__teaser li[data-animate^=true] .card__subtitle{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}.grid__teaser li[data-animate^=false] .card__subtitle{opacity:1;transition-delay:.14s;transition:opacity .6s var(--ease-out,ease-out).48s,transform .6s var(--ease-out,ease-out).48s;transform:translateY(0)}hgroup[data-animate^=true] .card__subtitle{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}hgroup[data-animate^=true]{opacity:0}hgroup[data-animate^=false]{opacity:1}hgroup[data-animate^=false] .card__subtitle{opacity:1;transition-delay:.14s;transition:opacity .6s var(--ease-out,ease-out),transform .6s var(--ease-out,ease-out);transform:translateY(0)}hgroup[data-animate^=true]+p{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}hgroup[data-animate^=false]+p{opacity:1;transition-delay:.14s;transition:opacity .6s var(--ease-out,ease-out).48s,transform .6s var(--ease-out,ease-out).48s;transform:translateY(0)}hgroup[data-animate^=true]~dl .wrap-item{opacity:0;transform:translateX(calc(var(--spc-2xs)*1))}hgroup[data-animate^=false]~dl .wrap-item{opacity:1;transition-delay:.14s;transition:opacity .6s var(--ease-out,ease-out).48s,transform .6s var(--ease-out,ease-out).48s;transform:translate(0)}.project-block__text[data-animate^=true]{opacity:0}.project-block__text[data-animate^=false]{opacity:1}.project-block__text[data-animate^=true] h2{opacity:0}.project-block__text[data-animate^=false] h2{opacity:1}.project-block__text[data-animate^=true] ul{opacity:0;transform:translateY(calc(var(--spc-2xs)*1))}.project-block__text[data-animate^=false] ul{opacity:1;transition:opacity .88s var(--ease-out,ease-out).48s,transform .88s var(--ease-out,ease-out).48s;transform:translateY(0)}.grid__value-proposition[data-animate^=true] p{opacity:0;color:#0000;transform:translateY(calc(var(--spc-2xs)*1))}.grid__value-proposition[data-animate^=false] p{opacity:1;color:var(--element1-accent);-webkit-text-fill-color:transparent;background-image:linear-gradient(var(--gradient-angle),var(--brand),var(--brand-accent),var(--brand-secondary),var(--brand-secondary-accent));transition-delay:.48s;transition:opacity .6s var(--ease-out,ease-out),transform .6s var(--ease-out,ease-out),color .6s var(--ease-out,ease-out);animation-name:valuePropColorFade;animation-duration:.6s;animation-delay:.48s;animation-timing-function:var(--ease-out,ease-out);-webkit-background-clip:text;background-clip:text;animation-fill-mode:forwards;transform:translateY(0)}@keyframes valuePropColorFade{0%{--gradient-angle:68deg;-webkit-text-fill-color:transparent;color:#0000}to{--gradient-angle:428deg;-webkit-text-fill-color:var(--element1-accent);color:var(--element1-accent)}}.scroll-down{--scroll-animation-duration:6.8s;--scroll-animation-timing:ease-in-out;--scroll-animation-height:9em;bottom:var(--spc-l);padding-top:var(--scroll-animation-height);z-index:10;height:var(--scroll-animation-height);--starglow:0 0 8px 2px var(--brand),0 0 16px 4px var(--brand-accent),0 0 24px 6px var(--brand-secondary),0 0 32px 8px var(--brand-secondary-accent);--starglow-fade:0 0 0px 0px var(--brand),0 0 4px 1px var(--brand-secondary),0 0 20px 0px var(--brand),0 0 12px 0px var(--brand-accent);flex-direction:column;align-content:flex-end;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-down:before,.scroll-down:after{content:"";transform:translateX(-50%)translateY(calc(var(--scroll-animation-height)*-1));transform-origin:bottom;border-radius:var(--contrast);position:absolute;bottom:0;left:50%}.scroll-down:after{width:var(--contrast);height:var(--scroll-animation-height);background-color:var(--brand-secondary-accent);animation:switch-background var(--scroll-animation-duration)var(--scroll-animation-timing)infinite,grow-bar var(--scroll-animation-duration)var(--scroll-animation-timing)infinite;will-change:transform,transform-origin,background-color;display:block;transform:translate(-50%)scaleY(0)}@keyframes grow-bar{0%,18%{transform-origin:top}18.01%,to{transform-origin:bottom}0%,36%,to{transform:translate(-50%)scaleY(0)}18%{transform:translate(-50%)scaleY(1)}}@keyframes switch-background{0%,to{background-color:var(--surface2)}10%{background-color:var(--surface2)}17.4%{background-color:var(--brand-secondary-accent)}17.6%{background-color:var(--brand-accent)}17.8%{background-color:var(--brand)}18%{background-color:var(--brand-secondary)}}.scroll-down:before{width:var(--contrast);height:var(--contrast);border-radius:var(--contrast);box-shadow:var(--starglow);opacity:0;transform:translateX(-50%)translateY(calc(var(--scroll-animation-height)*-1));will-change:transform,opacity,box-shadow;animation:switch-background var(--scroll-animation-duration)var(--scroll-animation-timing)infinite,direction-move var(--scroll-animation-duration)var(--scroll-animation-timing)infinite,dot-shadow var(--scroll-animation-duration)var(--scroll-animation-timing)infinite,dot-opacity var(--scroll-animation-duration)var(--scroll-animation-timing)infinite;background-color:#ff0}@keyframes direction-move{18%,36%,50%{transform:translate(-50%)translateY(0)}}@keyframes dot-opacity{0%,37.5%,to{opacity:0}18%,34%{opacity:1}}@keyframes dot-shadow{0%,46%,to{box-shadow:none}18%{box-shadow:var(--starglow)}36%,40%{box-shadow:var(--starglow-fade)}}@media (prefers-reduced-motion:reduce){.scroll-down,.scroll-down:before,.scroll-down:after{animation:none}.scroll-down:after{clip-path:inset(0);opacity:.8}.scroll-down{color:var(--brand);opacity:.8}}label{align-items:flex-start;gap:var(--spc-3xs);display:flex;position:relative}.password-form label{padding-bottom:var(--spc-xs)}.contact-form label:after{content:" ";background-color:var(--surface2);z-index:10;pointer-events:none;height:4px;display:block;position:absolute;bottom:-2px;left:0;right:0}textarea,input{width:100%;padding:var(--spc-xs-s);border-radius:inherit;box-sizing:border-box;box-shadow:none;background-image:none;border:none}textarea{resize:vertical;min-height:150px}textarea:focus,input:focus{box-shadow:none;border:none;outline:none}input::autofill{background-color:var(--brand-accent);color:#000;background-image:none}input::-webkit-autofill-strong-password{background-color:var(--brand-accent);color:#000;background-image:none}input::-webkit-autofill-strong-password-viewable{background-color:var(--brand-accent);color:#000;background-image:none}input::-webkit-autofill-and-obscured{background-color:var(--brand-accent);color:#000;background-image:none}.contact-form [data-ripple] input,.contact-form [data-ripple] textarea{padding-left:0;padding-right:0}.input-wrapper{padding-bottom:1px}.input-wrapper[data-ripple]{-webkit-tap-highlight-color:transparent;box-sizing:border-box;border-radius:var(--spc-2xs);box-shadow:none;flex:1 1 0;padding:2px;display:flex;position:relative;overflow:hidden}.contact-form .input-wrapper[data-ripple]{border-radius:0;padding:0 0 1px}.input-wrapper[data-ripple] input,.input-wrapper[data-ripple] textarea{z-index:1;border-radius:inherit;flex-grow:1;display:flex;position:relative;overflow:hidden}.ripple{pointer-events:none;z-index:0;will-change:transform,opacity;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.form__field .form__error,.form__field .form__counter{min-height:var(--spc--3xs);font-size:var(--ft--1);margin-top:.375rem;font-weight:400;transition:opacity .2s,color .2s;display:block}.password-toggle{cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:2rem;height:2rem;transition:opacity .2s,color .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.form__toggle-password .icn[data-icn="24-eye-closed"],.form__toggle-password.is-visible .icn[data-icn="24-eye-open"]{display:none}.form__toggle-password.is-visible .icn[data-icn="24-eye-closed"]{display:inline-block}@media (hover:none){.input-wrapper[data-ripple],[data-magnetic]{transform:none!important}}.input-wrapper[data-ripple]{--state-empty-bg:var(--element1-accent-2);--state-empty-text:var(--element1);--state-empty-placeholder:var(--element1-accent-2);--state-empty-hover-bg:var(--element1-accent-2);--state-empty-hover-text:var(--element1);--state-empty-hover-placeholder:var(--element1-accent);--state-empty-focus-bg:var(--brand-accent);--state-empty-focus-text:var(--element1);--state-empty-focus-placeholder:var(--element1);--state-value-bg:var(--brand);--state-value-text:var(--element1);--state-value-hover-bg:var(--brand-accent);--state-value-hover-text:var(--element1);--state-value-focus-bg:var(--brand-secondary);--state-value-focus-text:var(--element1);--state-invalid-bg:var(--alert);--state-invalid-text:var(--element1);--state-invalid-hover-bg:var(--warning,#f44);--state-invalid-hover-text:var(--element1-accent);--state-invalid-focus-bg:var(--alert);--state-invalid-focus-text:var(--element1);--state-valid-bg:var(--success);--state-valid-text:var(--element1-accent);--state-valid-hover-bg:var(--success-accent,#48bb78);--state-valid-hover-text:var(--element1);--state-valid-focus-bg:var(--success);--state-valid-focus-text:var(--element1);--state-disabled-bg:var(--element1);--state-disabled-text:var(--element1-accent-2);--state-disabled-placeholder:var(--element1-accent);--state-empty-ripple-start:var(--element1-accent-2);--state-empty-ripple-end:var(--brand);--state-empty-hover-ripple-start:var(--element1-accent-2);--state-empty-hover-ripple-end:var(--brand);--state-empty-focus-ripple-start:var(--element1-accent);--state-empty-focus-ripple-end:var(--brand-accent);--state-value-ripple-start:var(--brand-secondary);--state-value-ripple-end:var(--brand);--state-value-hover-ripple-start:var(--brand);--state-value-hover-ripple-end:var(--brand-accent);--state-value-focus-ripple-start:var(--brand);--state-value-focus-ripple-end:var(--brand-secondary);--state-invalid-ripple-start:var(--brand);--state-invalid-ripple-end:var(--alert);--state-invalid-hover-ripple-start:var(--alert);--state-invalid-hover-ripple-end:var(--warning,#f44);--state-invalid-focus-ripple-start:var(--alert);--state-invalid-focus-ripple-end:var(--alert);--state-valid-ripple-start:var(--brand);--state-valid-ripple-end:var(--success);--state-valid-hover-ripple-start:var(--success);--state-valid-hover-ripple-end:var(--success-accent,#48bb78);--state-valid-focus-ripple-start:var(--success);--state-valid-focus-ripple-end:var(--success);--state-disabled-ripple-start:var(--element1);--state-disabled-ripple-end:var(--element1);background-color:var(--state-empty-bg);--ripple-color-start:var(--state-empty-ripple-start);--ripple-color-end:var(--state-empty-ripple-end)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:not(:focus):hover){background-color:var(--state-empty-hover-bg);--ripple-color-start:var(--state-empty-hover-ripple-start);--ripple-color-end:var(--state-empty-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:not(:focus):hover){background-color:var(--state-empty-hover-bg);--ripple-color-start:var(--state-empty-hover-ripple-start);--ripple-color-end:var(--state-empty-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:placeholder-shown:not(:focus):hover){background-color:var(--state-empty-hover-bg);--ripple-color-start:var(--state-empty-hover-ripple-start);--ripple-color-end:var(--state-empty-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:not(:focus):hover){background-color:var(--state-empty-hover-bg);--ripple-color-start:var(--state-empty-hover-ripple-start);--ripple-color-end:var(--state-empty-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:focus){background-color:var(--state-empty-focus-bg);--ripple-color-start:var(--state-empty-focus-ripple-start);--ripple-color-end:var(--state-empty-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:focus){background-color:var(--state-empty-focus-bg);--ripple-color-start:var(--state-empty-focus-ripple-start);--ripple-color-end:var(--state-empty-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:placeholder-shown:focus){background-color:var(--state-empty-focus-bg);--ripple-color-start:var(--state-empty-focus-ripple-start);--ripple-color-end:var(--state-empty-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:focus){background-color:var(--state-empty-focus-bg);--ripple-color-start:var(--state-empty-focus-ripple-start);--ripple-color-end:var(--state-empty-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown)){background-color:var(--state-value-bg);--ripple-color-start:var(--state-value-ripple-start);--ripple-color-end:var(--state-value-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown)){background-color:var(--state-value-bg);--ripple-color-start:var(--state-value-ripple-start);--ripple-color-end:var(--state-value-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown)){background-color:var(--state-value-bg);--ripple-color-start:var(--state-value-ripple-start);--ripple-color-end:var(--state-value-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown)){background-color:var(--state-value-bg);--ripple-color-start:var(--state-value-ripple-start);--ripple-color-end:var(--state-value-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-value-hover-bg);--ripple-color-start:var(--state-value-hover-ripple-start);--ripple-color-end:var(--state-value-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-value-hover-bg);--ripple-color-start:var(--state-value-hover-ripple-start);--ripple-color-end:var(--state-value-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-value-hover-bg);--ripple-color-start:var(--state-value-hover-ripple-start);--ripple-color-end:var(--state-value-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-value-hover-bg);--ripple-color-start:var(--state-value-hover-ripple-start);--ripple-color-end:var(--state-value-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown):focus){background-color:var(--state-value-focus-bg);--ripple-color-start:var(--state-value-focus-ripple-start);--ripple-color-end:var(--state-value-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown):focus){background-color:var(--state-value-focus-bg);--ripple-color-start:var(--state-value-focus-ripple-start);--ripple-color-end:var(--state-value-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown):focus){background-color:var(--state-value-focus-bg);--ripple-color-start:var(--state-value-focus-ripple-start);--ripple-color-end:var(--state-value-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown):focus){background-color:var(--state-value-focus-bg);--ripple-color-start:var(--state-value-focus-ripple-start);--ripple-color-end:var(--state-value-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown)){background-color:var(--state-invalid-bg);--ripple-color-start:var(--state-invalid-ripple-start);--ripple-color-end:var(--state-invalid-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown)){background-color:var(--state-invalid-bg);--ripple-color-start:var(--state-invalid-ripple-start);--ripple-color-end:var(--state-invalid-ripple-end)}.form__field.is-invalid .input-wrapper[data-ripple]{background-color:var(--state-invalid-bg);--ripple-color-start:var(--state-invalid-ripple-start);--ripple-color-end:var(--state-invalid-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown)){background-color:var(--state-invalid-bg);--ripple-color-start:var(--state-invalid-ripple-start);--ripple-color-end:var(--state-invalid-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown)){background-color:var(--state-invalid-bg);--ripple-color-start:var(--state-invalid-ripple-start);--ripple-color-end:var(--state-invalid-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.form__field.is-invalid .input-wrapper[data-ripple]:has(input:not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.form__field.is-invalid .input-wrapper[data-ripple]:has(textarea:not(:focus):hover){background-color:var(--state-invalid-hover-bg);--ripple-color-start:var(--state-invalid-hover-ripple-start);--ripple-color-end:var(--state-invalid-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown):focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown):focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown):focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown):focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.form__field.is-invalid .input-wrapper[data-ripple]:has(input:focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.form__field.is-invalid .input-wrapper[data-ripple]:has(textarea:focus){background-color:var(--state-invalid-focus-bg);--ripple-color-start:var(--state-invalid-focus-ripple-start);--ripple-color-end:var(--state-invalid-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown)){background-color:var(--state-valid-bg);--ripple-color-start:var(--state-valid-ripple-start);--ripple-color-end:var(--state-valid-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown)){background-color:var(--state-valid-bg);--ripple-color-start:var(--state-valid-ripple-start);--ripple-color-end:var(--state-valid-ripple-end)}.form__field.is-valid .input-wrapper[data-ripple]{background-color:var(--state-valid-bg);--ripple-color-start:var(--state-valid-ripple-start);--ripple-color-end:var(--state-valid-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown)){background-color:var(--state-valid-bg);--ripple-color-start:var(--state-valid-ripple-start);--ripple-color-end:var(--state-valid-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown)){background-color:var(--state-valid-bg);--ripple-color-start:var(--state-valid-ripple-start);--ripple-color-end:var(--state-valid-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown):not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown):not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.form__field.is-valid .input-wrapper[data-ripple]:has(input:not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.form__field.is-valid .input-wrapper[data-ripple]:has(textarea:not(:focus):hover){background-color:var(--state-valid-hover-bg);--ripple-color-start:var(--state-valid-hover-ripple-start);--ripple-color-end:var(--state-valid-hover-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown):focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown):focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown):focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown):focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.form__field.is-valid .input-wrapper[data-ripple]:has(input:focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.form__field.is-valid .input-wrapper[data-ripple]:has(textarea:focus){background-color:var(--state-valid-focus-bg);--ripple-color-start:var(--state-valid-focus-ripple-start);--ripple-color-end:var(--state-valid-focus-ripple-end)}.form__field.is-disabled .input-wrapper[data-ripple]{background-color:var(--state-disabled-bg);opacity:.5;pointer-events:none;--ripple-color-start:var(--state-disabled-ripple-start);--ripple-color-end:var(--state-disabled-ripple-end)}.input-wrapper[data-ripple]:has(input:disabled){background-color:var(--state-disabled-bg);opacity:.5;pointer-events:none;--ripple-color-start:var(--state-disabled-ripple-start);--ripple-color-end:var(--state-disabled-ripple-end)}.input-wrapper[data-ripple]:has(textarea:disabled){background-color:var(--state-disabled-bg);opacity:.5;pointer-events:none;--ripple-color-start:var(--state-disabled-ripple-start);--ripple-color-end:var(--state-disabled-ripple-end)}.input-wrapper[data-ripple] input,.input-wrapper[data-ripple] textarea{color:var(--state-empty-text);background-color:var(--surface2)}.input-wrapper[data-ripple] input::-moz-placeholder{color:var(--state-empty-placeholder)}.input-wrapper[data-ripple] textarea::-moz-placeholder{color:var(--state-empty-placeholder)}.input-wrapper[data-ripple] input::placeholder,.input-wrapper[data-ripple] textarea::placeholder{color:var(--state-empty-placeholder)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:not(:focus):hover) input{color:var(--state-empty-hover-text)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:not(:focus):hover) textarea{color:var(--state-empty-hover-text)}.input-wrapper[data-ripple]:has(input:placeholder-shown:not(:focus):hover) input{color:var(--state-empty-hover-text)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:not(:focus):hover) textarea{color:var(--state-empty-hover-text)}.input-wrapper[data-ripple]:has(input:placeholder-shown:not(:focus):hover) input::-moz-placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:not(:focus):hover) textarea::-moz-placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:not(:focus):hover) input::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(input:placeholder-shown:not(:focus):hover) input::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:not(:focus):hover) textarea::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:not(:focus):hover) textarea::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(input:placeholder-shown:not(:focus):hover) input::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:not(:focus):hover) textarea::placeholder{color:var(--state-empty-hover-placeholder)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:focus) input{color:var(--state-empty-focus-text)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:focus) textarea{color:var(--state-empty-focus-text)}.input-wrapper[data-ripple]:has(input:placeholder-shown:focus) input{color:var(--state-empty-focus-text)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:focus) textarea{color:var(--state-empty-focus-text)}.input-wrapper[data-ripple]:has(input:placeholder-shown:focus) input::-moz-placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:focus) textarea::-moz-placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(input:-moz-placeholder-shown:focus) input::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(input:placeholder-shown:focus) input::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(textarea:-moz-placeholder-shown:focus) textarea::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:focus) textarea::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(input:placeholder-shown:focus) input::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(textarea:placeholder-shown:focus) textarea::placeholder{color:var(--state-empty-focus-placeholder)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown)) input{color:var(--state-value-text)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown)) textarea{color:var(--state-value-text)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown)) input{color:var(--state-value-text)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown)) textarea{color:var(--state-value-text)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown):not(:focus):hover) input{color:var(--state-value-hover-text)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown):not(:focus):hover) textarea{color:var(--state-value-hover-text)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown):not(:focus):hover) input{color:var(--state-value-hover-text)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown):not(:focus):hover) textarea{color:var(--state-value-hover-text)}.input-wrapper[data-ripple]:has(input:not(:-moz-placeholder-shown):focus) input{color:var(--state-value-focus-text)}.input-wrapper[data-ripple]:has(textarea:not(:-moz-placeholder-shown):focus) textarea{color:var(--state-value-focus-text)}.input-wrapper[data-ripple]:has(input:not(:placeholder-shown):focus) input{color:var(--state-value-focus-text)}.input-wrapper[data-ripple]:has(textarea:not(:placeholder-shown):focus) textarea{color:var(--state-value-focus-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown)) input{color:var(--state-invalid-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown)) textarea{color:var(--state-invalid-text)}.form__field.is-invalid .input-wrapper[data-ripple] input,.form__field.is-invalid .input-wrapper[data-ripple] textarea{color:var(--state-invalid-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown)) input{color:var(--state-invalid-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown)) textarea{color:var(--state-invalid-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown):not(:focus):hover) input{color:var(--state-invalid-hover-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown):not(:focus):hover) textarea{color:var(--state-invalid-hover-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown):not(:focus):hover) input{color:var(--state-invalid-hover-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown):not(:focus):hover) textarea{color:var(--state-invalid-hover-text)}.form__field.is-invalid .input-wrapper[data-ripple]:has(input:not(:focus):hover) input{color:var(--state-invalid-hover-text)}.form__field.is-invalid .input-wrapper[data-ripple]:has(textarea:not(:focus):hover) textarea{color:var(--state-invalid-hover-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:-moz-placeholder-shown):focus) input{color:var(--state-invalid-focus-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:-moz-placeholder-shown):focus) textarea{color:var(--state-invalid-focus-text)}.input-wrapper[data-ripple]:has(input:invalid:not(:placeholder-shown):focus) input{color:var(--state-invalid-focus-text)}.input-wrapper[data-ripple]:has(textarea:invalid:not(:placeholder-shown):focus) textarea{color:var(--state-invalid-focus-text)}.form__field.is-invalid .input-wrapper[data-ripple]:has(input:focus) input{color:var(--state-invalid-focus-text)}.form__field.is-invalid .input-wrapper[data-ripple]:has(textarea:focus) textarea{color:var(--state-invalid-focus-text)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown)) input{color:var(--state-valid-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown)) textarea{color:var(--state-valid-text)}.form__field.is-valid .input-wrapper[data-ripple] input,.form__field.is-valid .input-wrapper[data-ripple] textarea{color:var(--state-valid-text)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown)) input{color:var(--state-valid-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown)) textarea{color:var(--state-valid-text)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown):not(:focus):hover) input{color:var(--state-valid-hover-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown):not(:focus):hover) textarea{color:var(--state-valid-hover-text)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown):not(:focus):hover) input{color:var(--state-valid-hover-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown):not(:focus):hover) textarea{color:var(--state-valid-hover-text)}.form__field.is-valid .input-wrapper[data-ripple]:has(input:not(:focus):hover) input{color:var(--state-valid-hover-text)}.form__field.is-valid .input-wrapper[data-ripple]:has(textarea:not(:focus):hover) textarea{color:var(--state-valid-hover-text)}.input-wrapper[data-ripple]:has(input:valid:not(:-moz-placeholder-shown):focus) input{color:var(--state-valid-focus-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:-moz-placeholder-shown):focus) textarea{color:var(--state-valid-focus-text)}.input-wrapper[data-ripple]:has(input:valid:not(:placeholder-shown):focus) input{color:var(--state-valid-focus-text)}.input-wrapper[data-ripple]:has(textarea:valid:not(:placeholder-shown):focus) textarea{color:var(--state-valid-focus-text)}.form__field.is-valid .input-wrapper[data-ripple]:has(input:focus) input{color:var(--state-valid-focus-text)}.form__field.is-valid .input-wrapper[data-ripple]:has(textarea:focus) textarea{color:var(--state-valid-focus-text)}.form__field.is-disabled .input-wrapper[data-ripple] input,.form__field.is-disabled .input-wrapper[data-ripple] textarea{color:var(--state-disabled-text)}.input-wrapper[data-ripple]:has(input:disabled) input{color:var(--state-disabled-text)}.input-wrapper[data-ripple]:has(textarea:disabled) textarea{color:var(--state-disabled-text)}.input-wrapper[data-ripple]:has(input:disabled) input::-moz-placeholder{color:var(--state-disabled-placeholder)}.input-wrapper[data-ripple]:has(textarea:disabled) textarea::-moz-placeholder{color:var(--state-disabled-placeholder)}.form__field.is-disabled .input-wrapper[data-ripple] input::-moz-placeholder{color:var(--state-disabled-placeholder)}.form__field.is-disabled .input-wrapper[data-ripple] textarea::-moz-placeholder{color:var(--state-disabled-placeholder)}.form__field.is-disabled .input-wrapper[data-ripple] input::placeholder,.form__field.is-disabled .input-wrapper[data-ripple] textarea::placeholder{color:var(--state-disabled-placeholder)}.input-wrapper[data-ripple]:has(input:disabled) input::placeholder{color:var(--state-disabled-placeholder)}.input-wrapper[data-ripple]:has(textarea:disabled) textarea::placeholder{color:var(--state-disabled-placeholder)}@keyframes ripple-in{0%{background-color:var(--ripple-color-start);opacity:0;transform:translate(-50%,-50%)scale(0)}to{background-color:var(--ripple-color-end);opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ripple-out{0%{background-color:var(--ripple-color-end);opacity:1;transform:translate(-50%,-50%)scale(1)}to{background-color:var(--ripple-color-start);opacity:0;transform:translate(-50%,-50%)scale(0)}}.input-wrapper[data-ripple] .ripple--entering,[data-magnetic] .ripple--entering{animation-name:ripple-in;animation-duration:var(--animate-in);animation-timing-function:var(--animate-ease-in);animation-fill-mode:forwards}.input-wrapper[data-ripple] .ripple--leaving,[data-magnetic] .ripple--leaving{animation-name:ripple-out;animation-duration:var(--animate-out);animation-timing-function:var(--animate-ease-out);animation-fill-mode:forwards}[data-magnetic]{--ripple-color-start:var(--brand-secondary);--ripple-color-end:var(--brand)}[data-magnetic]:disabled,[data-magnetic][aria-disabled=true],[data-magnetic].is-disabled{--ripple-color-start:var(--warning);--ripple-color-end:var(--alert)}[data-magnetic].is-success{--ripple-color-start:var(--success);--ripple-color-end:var(--success-accent,#48bb78)}[data-magnetic].is-warning{--ripple-color-start:var(--warning);--ripple-color-end:var(--warning-accent,#f6a623)}label .required,.field-checkbox input[type=checkbox]+.checkbox-text .required{color:var(--alert)}.form__field .form__error{color:var(--element1-accent-2)}.form__field:has(input:invalid:not(:-moz-placeholder-shown)) .form__error{color:var(--alert)}.form__field.is-invalid .form__error{color:var(--alert)}.form__field:has(input:invalid:not(:placeholder-shown)) .form__error{color:var(--alert)}.form__counter.is-warning{color:var(--warning)}.form__counter.is-success{color:var(--success)}.form__counter.is-error{color:var(--alert)}button.form__submit:disabled{background-color:var(--surface1);pointer-events:auto;cursor:not-allowed}button.form__submit:disabled span{color:var(--element1-accent-2)}button.form__submit:not([disabled]){opacity:1;cursor:pointer;pointer-events:auto;background-color:var(--brand-accent)}[data-state=idle] .form__submit,[data-state=error] .form__submit{cursor:not-allowed}[data-state=submitting] .form__submit{pointer-events:none}[data-state=submitting] .form__submit-text{display:none}[data-state=submitting] .form__submit-loading{display:inline}.password-form-wrapper[data-state=submitting]{pointer-events:none}.password-form-wrapper[data-state=submitting] .form__submit{opacity:.7}.password-toggle{color:var(--element1);opacity:.6}.password-toggle:hover{opacity:1;color:var(--brand)}.password-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.header{z-index:999;padding:var(--spc-m)var(--spc-l);flex-wrap:wrap;justify-content:space-between;margin-left:0;margin-right:0;display:flex;position:absolute;left:0;right:0}header.header{pointer-events:none}header.header>*{pointer-events:auto}.logo{--logo-height:clamp(28px,1.25vw,36px);--logo-ratio:113/30;align-items:center;gap:var(--spc-2xs,.4rem);cursor:pointer;line-height:1;display:inline-flex}.logo .icn[data-icn=logo]{height:var(--logo-height);aspect-ratio:var(--logo-ratio);flex:none;width:auto;display:block;position:relative}nav{align-items:center;gap:var(--spc-m);display:flex}nav a{display:flex}nav a[aria-current]{color:var(--brand)}.social{gap:.8rem;display:flex}.header{position:fixed;top:0;left:0;right:0}.header:before{content:"";height:calc(100% + var(--spc-l));width:calc(100% + var(--spc-s));clip-path:polygon(-1% -1%,101% -1%,101% 101%,-1% 101%);filter-backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0003;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000000e6 0%,#0000 100%);mask-image:linear-gradient(#000000e6 0%,#0000 100%)}.cardtransparent{flex-direction:column;display:flex}.cardtransparent picture{aspect-ratio:5/4;overflow:hidden}.cardtransparent picture img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.cardtransparent h3{margin-top:var(--spc-s);margin-bottom:var(--spc-xs)}.logo-wall{overflow:hidden}.logo-wall__container{width:100%;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000)}.logo-wall__track{gap:var(--spc-l);width:-webkit-max-content;width:max-content;animation:scroll var(--animation-duration,60s)linear infinite;display:flex}.logo-wall__track:hover{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.logo-wall__item{flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-wall__item a{padding:var(--spc-2xs);justify-content:center;align-items:center;text-decoration:none;display:flex}.logo-wall__logo{height:var(--spc-xl);-o-object-fit:contain;object-fit:contain;opacity:.6;width:auto;max-width:max(100px,min(12vw,180px));transition:opacity .3s}.logo-wall__logo svg{height:var(--spc-xl);width:auto;max-width:max(100px,min(12vw,180px))}.logo-wall__item:hover .logo-wall__logo{opacity:1}.logo-wall__logo svg,.logo-wall__logo svg path,.logo-wall__logo svg polygon,.logo-wall__logo svg rect,.logo-wall__logo svg circle{fill:var(--element1);transition:fill .3s}@media (min-width:768px){.logo-wall__track{gap:var(--spc-xl)}.logo-wall__logo,.logo-wall__logo svg{height:var(--spc-2xl)}}@media (min-width:1200px){.logo-wall__track{gap:var(--spc-2xl)}}@media (prefers-reduced-motion:reduce){.logo-wall__track{animation:none}}.card__text{z-index:2;padding:var(--spc-s);flex-direction:column;flex-grow:1;display:flex;position:relative}.card__eyebrow{justify-content:space-between;align-items:center;display:flex}.card__metric{order:1}.card__title>.icn{order:2}.card__title-text{order:3;width:100%}.milestones .card__title{flex-direction:column;display:flex}.card__subtitle{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.card__subtitle .icn{margin-bottom:var(--spc-3xs);margin-right:var(--spc-3xs);align-self:flex-end}.milestones .card__text{border-radius:var(--spc-m);padding:var(--spc-m-l);box-shadow:inset 3px 3px 8px #0009,inset -3px -3px 6px #ffffff1f;box-shadow:var(--neu-full);font-size:var(--ft--1)}.milestones .card__text .card__subtitle{font-size:var(--ft--1)}.milestones .card__metric{text-shadow:var(--neu-text-engraved)}.milestones .card__title>.icn,.milestones .card__title-text,.milestones .card__subtitle,.milestones .card__subtitle .icn{text-shadow:var(--neu-text-embossed)}.grid__projectassets{gap:var(--spc-l);grid-template-columns:1fr;grid-template-areas:"text""images";display:grid}.project-block__text{grid-area:text}.project-block__images{grid-area:images}@media (min-width:768px){.grid__projectassets{-moz-column-gap:var(--spc-2xl);column-gap:var(--spc-2xl);row-gap:var(--spc-s-m);grid-template:"text images"/9fr 23fr;align-items:start}.project-block__images{align-self:stretch}}.project-block__images{gap:var(--spc-m);flex-direction:column;display:flex}ul.project-block__images li{padding:0}ul.project-block__images li:before{display:none}.hero-text-wall{pointer-events:none;z-index:1;flex-direction:column;gap:max(1rem,min(6vw,1.75rem));width:100%;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hero-text-row{white-space:nowrap;font-family:var(--font-family);text-transform:uppercase;letter-spacing:-.02em;color:var(--surface2);-webkit-text-stroke:2px var(--border);font-size:max(5.5rem,min(8vw,9rem));font-weight:700;line-height:.98;display:flex}.hero-text-row span{padding:0 var(--spc-m)}.hero-text-row--1{animation:50s linear infinite heroScrollRight}.hero-text-row--2{animation:40s linear infinite heroScrollLeft}.hero-text-row--3{animation:55s linear infinite heroScrollRight}@keyframes heroScrollRight{0%{transform:translate(-50%)}to{transform:translate(0%)}}@keyframes heroScrollLeft{0%{transform:translate(0%)}to{transform:translate(-50%)}}.hero-canvas{pointer-events:none;width:100%;height:100%;box-shadow:var(--boxinsetbody);position:absolute;top:0;left:0}.hero-canvas--mask{z-index:2}.hero-canvas--glow{z-index:3}.touch-device .hero-canvas,.touch-device .hero-text-wall{display:none}@media (prefers-reduced-motion:reduce){.hero-text-row--1,.hero-text-row--2,.hero-text-row--3{animation:none}}.hero-reveal{z-index:1!important}.hero__portrait-inline{background-color:var(--surface2);width:var(--spc-l-xl);height:var(--spc-l-xl);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:block;overflow:hidden}.hero--index{width:100%;height:100vh;flex-direction:column;height:100dvh;margin-left:calc(50% - 50vw);display:flex;position:relative;overflow:hidden}.hero--index .hero__image{z-index:3;width:100%;height:100%;position:absolute;top:0;left:0}.form__wrapper{box-sizing:border-box;position:relative}.contact-form-wrapper{overflow:visible}form{border-radius:var(--spc-2xs);background-color:var(--surface2);padding:var(--spc-m);gap:var(--spc-s)var(--spc-m);box-sizing:border-box;grid-template-columns:1fr 1fr;display:grid;position:relative}.password-form-wrapper{text-align:center;min-height:100vh;padding-inline:var(--spc-s);flex-direction:column;justify-content:center;align-items:center;display:flex}.password-form{flex-direction:column;width:100%;max-width:400px;display:flex}.password-form .input-wrapper[data-ripple]{grid-template-columns:1fr -webkit-min-content;grid-template-columns:1fr min-content;gap:2px;display:grid}.password-form .input-wrapper[data-ripple] input{border-top-right-radius:0;border-bottom-right-radius:0}.password-form .input-wrapper[data-ripple] button.form__toggle-password{background-color:var(--surface2);border-radius:inherit;aspect-ratio:1;z-index:1;border-color:#0000;border-top-left-radius:0;border-bottom-left-radius:0}.contact-form{z-index:-4;padding-bottom:var(--spc-l);transform:translateY(1.05rem)}.form__success{z-index:1;position:relative}.form__typewriter{z-index:0;position:relative}.contact-section{margin:0 auto}@media (max-width:600px){.contact-form{grid-template-columns:1fr}}div[data-field=company],div[data-field=message],div[data-field=privacy]{grid-column:1/-1}.form__honeypot{opacity:0;pointer-events:none;position:absolute;left:-9999px}.contact-form [data-ripple]{flex-direction:row;align-items:stretch}.form__textarea-footer{justify-content:space-between;align-items:flex-start;display:flex}.form__counter{color:var(--element1-accent-2);margin-left:auto}.form__availability{color:var(--element1-accent);text-align:center;margin-top:var(--spc-2xs);display:none}.submit-wrapper{cursor:pointer;z-index:12;flex-direction:column;align-content:center;align-items:center;margin:0 auto;display:flex;position:absolute;top:12%;left:0;right:0}button.form__submit-loading,.contact-form.is-loading button.form__submit-text{display:none}.contact-form.is-loading button.form__submit-loading{display:inline}.form__success{text-align:center;padding:3rem var(--spc-m)}.form__success-icon{width:4rem;height:4rem;margin:0 auto var(--spc-m);color:#38a169;background:#38a1691a;border-radius:50%;justify-content:center;align-items:center;display:flex}.form__success-title{color:var(--element1);margin-bottom:.5rem}.form__success-text{margin-bottom:var(--spc-s)}.form__reset{padding:.75rem var(--spc-m);color:var(--element1);border:2px solid var(--element1);cursor:pointer;background:0 0;border-radius:.5rem;font-family:inherit;transition:background-color .2s}.form__reset:hover{background-color:var(--surface2)}.form__submit-loading{display:none}.contact-form.is-loading .form__submit-text{text-align:center;display:none}.contact-form.is-loading .form__submit-loading{display:inline}@media (prefers-reduced-motion:reduce){.form__submit{transition:opacity .3s!important;animation:none!important}}.form__paper{isolation:isolate;z-index:1;transform:translateY(var(--spc-xs));border-radius:.38rem;margin:0 auto;padding:.8rem 0;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000003}.form__paper:before{content:"";clip-path:polygon(-12% 0%,112% 0%,116% 100%,-16% 100%);background-image:linear-gradient(90deg,var(--brand)0%,var(--brand-accent)25%,var(--brand-secondary)50%,var(--brand-secondary-accent)75%,var(--brand)100%);filter:blur(20px);opacity:.5;z-index:-1;pointer-events:none;background-size:200% 100%;height:24px;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 88%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 88%,#000 100%)}.form__paper:after{content:"";background-image:linear-gradient(90deg,var(--brand-secondary)0%,var(--brand-secondary-accent)25%,var(--brand)50%,var(--brand-accent)75%,var(--brand-secondary)100%);filter:blur(11px);opacity:.95;z-index:-1;pointer-events:none;background-size:200% 100%;border-radius:50%;width:55%;height:80px;position:absolute;bottom:-76px;left:50%}.form__paper:before{animation:8s linear infinite trapezoidColorCycle}@keyframes trapezoidColorCycle{0%{background-position:0%}to{background-position:200%}}.form__paper:after{animation:8s linear infinite ovalColorCycle,15s ease-in-out infinite ovalMove}@keyframes ovalColorCycle{0%{background-position:0%}to{background-position:200%}}@keyframes ovalMove{0%,to{transform:translate(-50%)translate(-115%)}50%{transform:translate(-50%)translate(115%)}}[data-state=idle] .form__paper:before{opacity:.5;filter:blur(20px)}[data-state=idle] .form__paper:after{opacity:.95;filter:blur(11px)}[data-state=valid] .form__paper .contact-form{animation:3s ease-in-out infinite paperFloat}[data-state=valid] .form__paper:before{clip-path:polygon(1% 0%,99% 0%,95% 100%,5% 100%);background-image:linear-gradient(90deg,var(--brand)0%,var(--brand-accent)25%,var(--brand-secondary)50%,var(--brand-secondary-accent)75%,var(--brand)100%);-webkit-mask-image:linear-gradient(#0000 0%,#000 88%,#000 100%);filter:blur(24px);opacity:.5;z-index:-1;pointer-events:none;opacity:.7;background-size:200% 100%;animation:6s linear infinite trapezoidColorCycle;mask-image:linear-gradient(#0000 40%,#000 96%,#000 100%)}[data-state=valid] .form__paper:after{opacity:1;filter:blur(14px);animation:6s linear infinite ovalColorCycle,12s ease-in-out infinite ovalMove,2s ease-in-out infinite ovalPulseReady}@keyframes paperFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ovalPulseReady{0%,to{opacity:1}50%{opacity:.8}}[data-state=error] .form__paper:before{opacity:.6;background-image:linear-gradient(90deg,var(--brand-secondary-accent)0%,#ff6b6b 25%,#ee5a5a 50%,var(--brand-secondary-accent)75%,var(--brand-secondary-accent)100%);background-size:200% 100%;animation:4s linear infinite trapezoidColorCycle}[data-state=error] .form__paper:after{opacity:.8;background-image:linear-gradient(90deg,#ff6b6b 0%,#ee5a5a 25%,var(--brand-secondary-accent)50%,#ff6b6b 75%,#ff6b6b 100%);background-size:200% 100%}[data-state=submitting] .form__paper:before{opacity:.8;animation:3s linear infinite trapezoidColorCycle,1s ease-in-out infinite trapezoidPulse}[data-state=submitting] .form__paper:after{opacity:1;animation:3s linear infinite ovalColorCycle,1.5s ease-in-out infinite ovalSubmitting}@keyframes trapezoidPulse{0%,to{opacity:.6;filter:blur(20px)}50%{opacity:.9;filter:blur(28px)}}@keyframes ovalSubmitting{0%,to{opacity:.8;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.15)}}[data-state=success] .form__paper{animation:.6s ease-out forwards paperSuccess}[data-state=success] .form__paper:before{animation:4s linear infinite trapezoidColorCycle,.8s ease-out forwards glowSuccess}[data-state=success] .form__paper:after{animation:4s linear infinite ovalColorCycle,.8s ease-out forwards ovalSuccess}[data-state=success] .form__submit{opacity:0;pointer-events:none;transform:translateY(10px)}@keyframes paperSuccess{0%{transform:translateY(0)}30%{transform:translateY(-12px)}to{transform:translateY(0)}}@keyframes glowSuccess{0%{opacity:.7;filter:blur(24px)}30%{opacity:1;filter:blur(40px)}to{opacity:.4;filter:blur(20px)}}@keyframes ovalSuccess{0%{opacity:1;transform:translate(-50%)scale(1)}30%{opacity:1;transform:translate(-50%)scale(1.5)}to{opacity:.6;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.form__paper,.form__paper:before,.form__paper:after,.form__submit{transition:opacity .3s!important;animation:none!important}[data-state=valid] .form__paper{transform:none}.form__paper:before,.form__paper:after{background-position:50%;animation:none}.form__paper:after{transform:translate(-50%)}}.contact-form-wrapper>.form__typewriter{--overflow-left:69%;--overflow-right:69%;z-index:10;width:calc(100% + var(--overflow-left) + var(--overflow-right));margin-left:calc(var(--overflow-left)*-1);margin-right:calc(var(--overflow-right)*-1);pointer-events:none;margin-top:calc(var(--spc-xs)*-1);display:block;position:relative}.grid__contact{flex-direction:column;display:flex;overflow:hidden}.contact-section>.header__section{order:1}.grid_contacttiles{order:3}@media (min-width:768px){.grid__contact{grid-template-rows:auto 1fr;grid-template-columns:repeat(12,1fr);display:grid}.grid__contact>.header__section{grid-area:1/1/auto/5}.grid_contacttiles{grid-area:2/1/auto/5;align-self:end}.contact-form-wrapper{grid-area:1/6/3/12}}.language-switcher__toggle svg{transition:transform .2s}.form__paper:before,.form__paper:after{background-image:.6s ease;transition:opacity .6s,filter .6s,transform .6s}.form__submit{transition:opacity .3s,transform .3s,box-shadow .3s}button.form__submit .mag-content{transition:background-color .3s}.form__paper{transition:transform .4s,box-shadow .4s}.form__submit.is-rejected,.password-form-wrapper .form__field.is-invalid input{animation:.4s ease-out buttonShake}.password-form-wrapper .form__field.is-invalid input,.form__submit.is-rejected .mag-content{animation:.4s ease-out flashRed}@keyframes buttonShake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes flashRed{0%{background-color:#0000}to{background-color:#0000}}@keyframes inputFlash{0%,to{border-color:var(--alert)}50%{border-color:var(--alert);box-shadow:0 0 0 5px #ff6b6b4d}}textarea,input{transition:border-color .2s,background-color .2s}@media (prefers-reduced-motion:reduce){.form__paper,.form__paper:before,.form__paper:after,.form__submit,.keystroke-echo{transition:opacity .3s!important;animation:none!important}[data-state=valid] .form__paper{transform:none}body,a,button{cursor:auto!important}}.milestones .card__text{transform-origin:bottom;transition:box-shadow 1.3s var(--ease-out,ease-out),opacity .8s var(--ease-out,ease-out),transform .8s var(--ease-out,ease-out)}.milestones[data-animate^=true] .card__text{box-shadow:none;opacity:0;transform:translateY(var(--spc-xs))scale(.8)}.milestones .card__text .card__metric,.milestones .card__text .card__title-text,.milestones .card__text .card__subtitle{transition:opacity .8s var(--ease-out,ease-out),transform .6s var(--ease-out,ease-out);transition-delay:.8s}.milestones[data-animate^=true] .card__text .card__metric,.milestones[data-animate^=true] .card__text .card__title-text{opacity:0;transform:translateY(var(--ft-0))}.milestones[data-animate^=true] .card__text .card__subtitle{box-shadow:none;opacity:0;transform:translateY(var(--ft-0))}@keyframes ta-metric-sweep{0%{color:var(--brand-secondary-accent)}25%{color:var(--brand-secondary)}50%{color:var(--brand-accent)}75%{color:var(--brand)}to{color:var(--element1)}}.card__metric.is-counting{animation:ta-metric-sweep .78s var(--ta-easing)forwards}.project-block__figure{transition:opacity .62s var(--ease-out,ease-out),transform .62s var(--ease-out,ease-out)}.project-block__figure[data-animate^=true]{transform:translateY(var(--ft-3))scale(.9);opacity:0}.hero__image img{transform-origin:bottom;animation:scaleImage .68s var(--ta-easing)forwards}@keyframes scaleImage{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btnOverview{transform-origin:top;animation:buttonBackoverview .48s var(--ta-easing)forwards}@keyframes buttonBackoverview{0%{transform:scale(.95)translateY(calc(var(--spc-xs)*-1));opacity:0}to{opacity:1;transform:scale(1)translateY(0)}}.grid__full,.grid__off{box-sizing:border-box;display:grid}.grid__full{padding-inline:var(--spc-s-m)}.grid__off{padding-inline:var(--spc-l-xl)}.grid__teaser{gap:var(--spc-m)var(--spc-s-l);grid-template-columns:1fr;display:grid}.grid__teaser li>*{flex:1;min-height:0}@media (orientation:landscape) and (max-width:480px){.grid__teaser{grid-template-columns:repeat(2,1fr)}}@media (orientation:portrait) and (min-width:481px){.grid__teaser{grid-template-columns:repeat(1,1fr)}}@media (orientation:landscape) and (min-width:481px) and (max-width:1024px){.grid__teaser{grid-template-columns:repeat(2,1fr)}}@media (orientation:landscape) and (min-width:1025px) and (max-width:1366px){.grid__teaser{grid-template-columns:repeat(2,1fr)}}@media (orientation:landscape) and (min-width:1367px) and (max-width:1920px){.grid__teaser{grid-template-columns:repeat(2,1fr)}}@media (orientation:landscape) and (min-width:1921px){.grid__teaser{grid-template-columns:repeat(2,1fr)}}.grid__milestones{gap:var(--spc-m)var(--spc-s-l);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:960px){.grid__milestones{grid-template-columns:repeat(4,1fr)}}.grid_contacttiles{gap:var(--spc-m)var(--spc-s-l);grid-template-columns:1fr;display:grid}@media (min-width:480px){.grid_contacttiles{grid-template-columns:1fr 1fr}}@media (min-width:768px){.grid_contacttiles{grid-template-columns:1fr;align-self:center}}@media (min-width:1360px){.grid_contacttiles{grid-template-columns:1fr 1fr}}.grid__indexintro{z-index:5;align-content:center;width:100%;height:100%}.grid__indexintro>hgroup{grid-area:1/2/auto/12;display:block}.grid__indexintro>p{grid-area:2/2/auto/10;max-width:768px}.grid__indexintro .card__subtitle{place-content:center start}.grid__projectintro{padding-block:var(--spc-2xl)var(--spc-xl);flex-wrap:wrap;display:flex}.grid__projectintro>hgroup{order:1;width:100%}.grid__projectintro>dl{gap:var(--spc-xs)var(--spc-m);width:100%;padding-bottom:var(--spc-m);order:2}.grid__projectintro>p{order:3;width:100%}@media (min-width:768px){.grid__projectintro{-moz-column-gap:var(--spc-xl);row-gap:0;column-gap:var(--spc-xl);grid-template-rows:auto auto 1fr;grid-template-columns:repeat(12,1fr);display:grid}.grid__projectintro>hgroup{width:unset;grid-area:1/1/auto/10}.grid__projectintro>p{width:unset;grid-area:2/1/auto/10}.grid__projectintro>dl{width:unset;flex-direction:column;grid-area:1/10/-1/13}.grid__indexintro hgroup{max-width:68%}}.grid__industries{gap:var(--spc-m)var(--spc-s-l);grid-template-columns:repeat(1,1fr);display:grid}@media (min-width:960px){.grid__industries{grid-template-columns:repeat(2,1fr)}}main section{padding-block:var(--spc-2xl)var(--spc-xl)}.header__section{gap:var(--spc-s);padding-bottom:var(--spc-xl);display:grid}@media (min-width:960px){.project .grid__projectintro{padding-inline:var(--spc-4xl)}.project section{padding-inline:var(--spc-2xl)}}:root{--ta-duration:.6s;--ta-easing:cubic-bezier(.25,.1,.25,1);--ta-easing-out:cubic-bezier(.16,1,.3,1);--ta-color-scramble:var(--brand-secondary-accent);--ta-color-landed:var(--element1);--ta-lift:.06em;--ta-settle:.01em}@keyframes text-reveal{0%{opacity:0;transform:translateY(var(--ta-lift))}50%{opacity:.6;transform:translateY(-.5em)}60%{opacity:.8}to{opacity:1;transform:translateY(0)}}@keyframes text-color-sweep{0%{color:var(--brand-secondary-accent)}33%{color:var(--brand-secondary)}66%{color:var(--brand-accent)}to{color:var(--brand)}}@keyframes ta-bloom{0%{color:var(--brand)}50%{color:var(--brand-accent)}to{color:var(--element1)}}@keyframes ta-arrive{0%{transform:translateY(calc(var(--ta-settle)*-1))}60%{transform:translateY(calc(var(--ta-settle)*.3))}to{transform:translateY(0)}}.is-animating{-webkit-user-select:none;user-select:none}.is-animating .char{opacity:0;color:var(--ta-color-scramble);will-change:opacity,transform,color;display:inline-block}.is-animating .word{white-space:nowrap;display:inline-block}.is-animating .space{display:inline}.is-animating .char.is-scrambling{animation:text-reveal var(--ta-duration)var(--ta-easing-out)forwards,text-color-sweep .36s var(--ta-easing)forwards}.is-animating .char.is-landed{opacity:1;animation:ta-bloom .8s var(--ta-easing)forwards,ta-arrive .3s var(--ta-easing-out);transform:translateY(0)}.is-animated .char,.is-animated .word,.is-animated .space{opacity:1;color:inherit;will-change:auto;animation:none;display:inline;transform:none}[data-color-mode=dark]{--ta-color-scramble:var(--brand-secondary-accent);--ta-color-landed:var(--element1)}[data-color-mode=dark] .is-animating .char.is-scrambling{text-shadow:0 0 .3em #ffffff14}@media (prefers-reduced-motion:reduce){.is-animating .char,.is-animating .char.is-scrambling,.is-animating .char.is-landed{opacity:1;color:var(--ta-color-landed);animation:none;transform:none}}.transition-overlay{pointer-events:none;z-index:9998;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.transition-circle{pointer-events:none;will-change:transform;background-color:var(--surface1,#1a1a1a);box-shadow:0 0 20px 5px var(--transition-glow-color,var(--brand,#0095ff)),0 0 40px 10px var(--transition-glow-color,var(--brand,#0095ff)),0 0 80px 20px color-mix(in srgb,var(--transition-glow-color,var(--brand,#0095ff))50%,transparent);border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.transition-circle--expanding{animation:.6s cubic-bezier(.23,1,.32,1) forwards circle-expand}.transition-circle--contracting{animation:.5s cubic-bezier(.25,.46,.45,.94) forwards circle-contract;transform:translate(-50%,-50%)scale(1)}@keyframes circle-expand{0%{transform:translate(-50%,-50%)scale(0)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes circle-contract{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(0)}}.transition-circle--glow-animate{animation:.6s cubic-bezier(.23,1,.32,1) forwards circle-expand,2s ease-in-out infinite glow-color-cycle}.transition-circle--contracting.transition-circle--glow-animate{animation:.5s cubic-bezier(.25,.46,.45,.94) forwards circle-contract,2s ease-in-out infinite glow-color-cycle}@keyframes glow-color-cycle{0%,to{--transition-glow-color:var(--brand,#0095ff);box-shadow:0 0 20px 5px var(--brand,#0095ff),0 0 40px 10px var(--brand,#0095ff),0 0 80px 20px color-mix(in srgb,var(--brand,#0095ff)50%,transparent)}25%{--transition-glow-color:var(--brand-accent,#00d4ff);box-shadow:0 0 20px 5px var(--brand-accent,#00d4ff),0 0 40px 10px var(--brand-accent,#00d4ff),0 0 80px 20px color-mix(in srgb,var(--brand-accent,#00d4ff)50%,transparent)}50%{--transition-glow-color:var(--brand-secondary,#ff6b00);box-shadow:0 0 20px 5px var(--brand-secondary,#ff6b00),0 0 40px 10px var(--brand-secondary,#ff6b00),0 0 80px 20px color-mix(in srgb,var(--brand-secondary,#ff6b00)50%,transparent)}75%{--transition-glow-color:var(--brand-secondary-accent,#ff9500);box-shadow:0 0 20px 5px var(--brand-secondary-accent,#ff9500),0 0 40px 10px var(--brand-secondary-accent,#ff9500),0 0 80px 20px color-mix(in srgb,var(--brand-secondary-accent,#ff9500)50%,transparent)}}.transition-loader{z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.transition-loader.is-visible{opacity:1}.transition-loader svg{width:113px;height:30px;display:block}.transition-loader svg path{fill:var(--brand,#0095ff);animation:2s ease-in-out infinite logo-color-cycle}@keyframes logo-color-cycle{0%,to{fill:var(--brand,#0095ff)}25%{fill:var(--brand-accent,#00d4ff)}50%{fill:var(--brand-secondary,#ff6b00)}75%{fill:var(--brand-secondary-accent,#ff9500)}}.is-transitioning-out main,.is-transitioning-out .hero,.is-transitioning-out .work-overview{opacity:1;transition:opacity .2s ease-out}.is-transitioning-out.content-hidden main,.is-transitioning-out.content-hidden .hero,.is-transitioning-out.content-hidden .work-overview{opacity:0}@supports (view-transition-name:none){::view-transition-old(header){mix-blend-mode:normal;animation:none}::view-transition-new(header){mix-blend-mode:normal;animation:none}}html.is-transitioning{overflow:hidden}@media (prefers-reduced-motion:reduce){.transition-circle{display:none!important}.transition-loader svg path{animation:none!important}.is-transitioning-out main,.is-transitioning-in main{transition:none!important}}.project .mstrm{border-radius:var(--spc-m);display:block;position:relative;overflow:hidden}.project .mstrm:after{content:"";box-shadow:var(--neu-inset);border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.project .project-block .mstrm{border-bottom-right-radius:0;border-bottom-left-radius:0}.contact-section[data-animate=true]{content-visibility:hidden}.contact-section{content-visibility:visible}