.section{width:100%;margin:0 auto;padding:0 4vw}.section--narrow{max-width:calc(55rem + 8vw)}.section--wide{max-width:calc(75rem + 8vw)}.section--margin-top-2{margin-top:2rem}.section--margin-bottom-2{margin-bottom:2rem}.section--margin-top-4{margin-top:4rem}.section--margin-bottom-4{margin-bottom:4rem}.section--margin-top-8{margin-top:8rem}.section--margin-bottom-8{margin-bottom:8rem}.section--margin-top-16{margin-top:clamp(12rem,8vw + 10rem,16rem)}.section--margin-bottom-16{margin-bottom:clamp(12rem,8vw + 10rem,16rem)}.section__title{margin-bottom:3.5rem!important}
.heading{color:#0000;-webkit-text-fill-color:#0000;background-image:linear-gradient(135deg,#73e5cb,#9263f8);-webkit-background-clip:text;background-clip:text;width:fit-content;padding-bottom:.1em;font-family:Poppins,arial,sans-serif}.heading--h1{font-size:min(12vw,10rem);line-height:1.1}.heading--h2{margin-bottom:.4em;font-size:clamp(2rem,1vw + 1.75rem,2.5rem);line-height:1.12}.heading--h3{margin-bottom:.4em;font-size:clamp(1.2rem,.6vw + 1.05rem,1.5rem);line-height:1.12}
.hero{color:#0000;justify-content:center;align-items:center;height:100vh;font-family:Poppins,arial,sans-serif;font-size:160px;font-weight:700;display:flex}.hero__title-wrapper{transform-origin:50%;will-change:transform,opacity;transform-style:preserve-3d;backface-visibility:hidden;display:inline-block}.hero__title{letter-spacing:-.02em;text-align:center;color:#0000;-webkit-text-fill-color:#0000;background-image:linear-gradient(135deg,#73e5cb,#4a2993);-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,14vw - .5rem,10rem);line-height:1.1}
.paragraph{margin:1em 0}.paragraph--large{font-size:clamp(1.2rem,1.2vw + .9rem,1.8rem);line-height:1.5}.paragraph--small{font-size:clamp(.8rem,.4vw + .7rem,1rem)}.paragraph--center{text-align:center}.paragraph--whitespace-pre-line{white-space:pre-line}
.card{background-color:#3a3a3a;border-radius:1rem;padding:2rem}@media (min-width:500px){.card{padding:2rem 2rem 2rem clamp(3.3rem,3.4vw + 2.45rem,5rem)}.card__heading{position:relative}}.card__icon{font-size:clamp(1.7rem,.6vw + 1.55rem,2rem)}@media (min-width:500px){.card__icon{position:absolute;left:clamp(-3rem,-1.6vw - 1.8rem,-2.2rem)}}
.card-list{grid-template-columns:repeat(auto-fit,minmax(30rem,1fr));gap:4rem 6rem;display:grid}@media (max-width:550px){.card-list{grid-template-columns:1fr}}.card-list__item .card{height:100%}
.accordion{grid-template-columns:auto;gap:1rem 0;display:grid}.accordion__item{background-color:#3a3a3a;border-radius:1rem;padding-bottom:clamp(1rem,1vw + .75rem,1.5rem)}.accordion__trigger{all:unset;outline:revert;box-sizing:border-box;cursor:pointer;cursor:pointer;grid-template-columns:1fr auto;gap:0 2rem;width:100%;padding:clamp(1rem,1vw + .75rem,1.5rem) clamp(2rem,2vw + 1.5rem,3rem) 0;display:grid;position:relative}.accordion__trigger:after{content:"";height:1rem;display:block;position:absolute;bottom:-1rem;left:0;right:0}@media (min-width:400px){.accordion__trigger:after{height:1.5rem;bottom:-1.5rem}}.accordion__maintitle{grid-area:1/1/2/2}.accordion__subtitle{grid-area:2/1/3/1}.accordion__trigger-icon{grid-area:1/2/3/2;align-self:center}.accordion__trigger-icon svg{width:24px;height:24px}.accordion__trigger-icon svg path{fill:#73e5cb}.accordion__maintitle,.accordion__subtitle{margin:0}.accordion__content{max-width:36rem;padding:0 clamp(2rem,2vw + 1.5rem,3rem);overflow:hidden}.accordion__content>:first-child{margin-top:clamp(1rem,1vw + .75rem,1.5rem)}
.list{padding-left:1em}.list__item{margin-bottom:.5em}
.project-teaser{background-color:#3a3a3a;border-radius:1rem;grid-template-columns:auto;display:grid;overflow:hidden}@media (min-width:500px){.project-teaser{grid-template-columns:1fr 1fr}}.project-teaser__image img{width:100%;height:auto;display:block}.project-teaser__text{align-self:center;padding:clamp(1rem,6vw - .5rem,4rem) 2rem clamp(.5rem,3vw - .25rem,2rem) clamp(2rem,4vw + 1rem,4rem)}.project-teaser__title,.project-teaser__subtitle{margin:0}.project-teaser__link .link{margin-block:-1rem;padding-block:1rem}
.link{color:#0000;-webkit-text-fill-color:#0000;background-image:linear-gradient(135deg,#73e5cb,#4a2993);background-position-x:0;background-repeat:repeat;background-size:200%;-webkit-background-clip:text;background-clip:text;text-decoration:none;transition:background-position-x .3s ease-out}.link:hover{background-position-x:-200%}
.projects__list{gap:2rem 0;display:grid}
.button--button{all:unset;outline:revert;box-sizing:border-box;cursor:pointer}.button{cursor:pointer;border-radius:.5rem;outline:2px solid #0000;transition:outline-color .1s ease-out;display:inline-block}.button:focus-visible{outline-color:#73e5cb}.button--large{padding:1rem 3rem;font-size:clamp(1.2rem,.6vw + 1.05rem,1.5rem)}.button--small{padding:.5rem 1rem;font-size:clamp(1rem,.25vw + .9375rem,1.125rem)}.button--primary{color:#333;background-color:#3a3a3a;background-image:linear-gradient(135deg,#73e5cb,#9263f8,#73e5cb);background-size:200%;transition:background-position .5s cubic-bezier(.65,.05,.36,1)}.button--primary:hover{background-position:-200%}.button--secondary{color:#cbf5ec;outline-offset:-2px;outline:2px solid #cbf5ec;transition:color .1s ease-out,outline-color .1s ease-out}.button--secondary:hover{color:#73e5cb;outline-color:#73e5cb}.button--link{text-decoration:none}
.modal{z-index:110;color:#cbf5ec;background-color:#3a3a3a;border:0;border-radius:1rem;padding:3rem 2rem;position:fixed;top:50%;left:50%;translate:-50% -50%}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#33333380;position:fixed;inset:0}
.form-field{flex-direction:column;gap:.25rem;margin-bottom:2rem;display:flex}.form-field__label{order:1;font-size:1rem;transition:color .1s ease-out}.form-field__input{color:#333;border:0;border-radius:.5rem;outline:2px solid #0000;order:2;padding:.75rem 1rem;font-family:Montserrat,arial,sans-serif;font-size:clamp(1rem,.25vw + .9375rem,1.125rem);transition:outline-color .1s ease-out}.form-field__input:focus-visible{outline-color:#73e5cb}.form-field__input:focus+.form-field__label{color:#73e5cb}.form-field__input--textarea{resize:vertical;font-size:clamp(.8rem,.4vw + .7rem,1rem)}
.contact-form{width:90vw;max-width:400px}.contact-form__actions{flex-direction:row-reverse;justify-content:end;gap:1rem;display:flex}
.contact-form-messages{margin-bottom:2rem;padding-left:1rem;font-size:clamp(.8rem,.4vw + .7rem,1rem)}.contact-form-messages--success{list-style-type:"🎉"}.contact-form-messages--error{list-style-type:"❌"}.contact-form-messages li{margin-bottom:.5rem;padding-left:.75rem}
html,body{overflow-x:hidden}.hero{z-index:0;position:relative}.claim,.main-content{z-index:10;position:relative}
