*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:clamp(15px,1.5vw + 14px,18px)}body{margin:0;font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;color:#111827;background-color:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:opacity .2s ease,color .2s ease}button{font-family:inherit;cursor:pointer}.nav{position:sticky;top:0;z-index:100;height:4rem;background:hsla(0,0%,100%,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,24,39,.08)}.nav__inner{display:flex;align-items:center;justify-content:space-between;max-width:75rem;margin:0 auto;padding:0 2rem;height:100%}.nav__brand{position:relative;display:flex;align-items:center;min-height:100%;transition:opacity .2s ease}.nav__brand:hover{opacity:.85}.nav__name-only{font-size:1.125rem;font-weight:800;letter-spacing:-0.02em;color:#111827;white-space:nowrap;transition:opacity .25s ease}.nav__logo{display:flex;align-items:center;gap:1rem;transition:opacity .3s ease,transform .3s ease}.nav__logo img{width:auto;height:auto;display:block}.nav__logo--compact{position:absolute;left:0;top:50%;transform:translateY(-50%) scale(0.92);opacity:0;pointer-events:none;display:flex;align-items:center}.nav__logo--compact img{width:2rem;height:2rem;flex-shrink:0;display:block;vertical-align:middle}.nav__name{font-size:1.125rem;font-weight:800;letter-spacing:-0.02em;color:#111827;white-space:nowrap}.nav.is-scrolled .nav__name-only{opacity:0;pointer-events:none}.nav.is-scrolled .nav__logo--compact{opacity:1;transform:translateY(-50%) scale(1);pointer-events:auto}.nav--compact-only .nav__name-only{position:absolute;left:0;opacity:0;pointer-events:none;visibility:hidden}.nav--compact-only .nav__logo--compact{position:relative;left:auto;top:auto;transform:none;opacity:1;pointer-events:auto}.nav__menu{display:flex;align-items:center;gap:2rem}.nav__link{font-weight:500;font-size:.95rem}.nav__link:hover{color:#d32f2f}.nav__link--lang{font-weight:800}.hero{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:75rem;margin:0 auto;padding:6rem 2rem;min-height:80vh}.hero__content{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.hero.is-visible .hero__content{opacity:1;transform:translateY(0)}.hero__logo{margin-bottom:2rem;transition:opacity .4s ease,transform .4s ease}.hero__logo img{max-width:8rem;width:100%;height:auto}.hero.is-scrolled .hero__logo{opacity:.35;transform:scale(0.7)}.hero__title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;margin:0 0 1.5rem;color:#111827}.hero__subtitle{font-size:1.125rem;font-weight:300;color:#4b5563;margin:0 0 3rem;max-width:28ch}.hero__cta{display:inline-block;padding:1rem 2rem;background:#d32f2f;color:#fff !important;font-weight:800;font-size:1rem;border-radius:.5rem;box-shadow:0 4px 14px rgba(211,47,47,.35);transition:box-shadow .3s ease,transform .2s ease}.hero__cta:hover{box-shadow:0 6px 20px rgba(211,47,47,.45);transform:translateY(-1px)}.hero__image-wrap{position:relative;opacity:0;transform:translateY(20px);transition:opacity .6s ease .15s,transform .6s ease .15s;mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%)}.hero__image-wrap::before{content:"";position:absolute;inset:0;border-radius:1.25rem;background:linear-gradient(135deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.7) 100%);z-index:0;pointer-events:none}.hero__image-wrap::after{content:"";position:absolute;inset:0;border-radius:1.25rem;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.5);z-index:1;pointer-events:none}.hero.is-visible .hero__image-wrap{opacity:1;transform:translateY(0)}.hero__image{position:relative;z-index:1;width:100%;border-radius:1.25rem;object-fit:cover;box-shadow:0 2px 16px rgba(17,24,39,.04);filter:saturate(0.94) contrast(1.02) brightness(1.03)}.projects{max-width:75rem;margin:0 auto;padding:6rem 2rem}.projects__heading{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;letter-spacing:-0.02em;margin:0 0 4rem;text-align:center;color:#111827;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.projects.is-visible .projects__heading{opacity:1;transform:translateY(0)}.projects__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem}.project-card{padding:3rem;background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:.75rem;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,box-shadow .3s ease}.project-card:hover{box-shadow:0 10px 40px rgba(17,24,39,.08)}.projects.is-visible .project-card{opacity:1;transform:translateY(0)}.projects.is-visible .project-card:nth-child(1){transition-delay:0.1s}.projects.is-visible .project-card:nth-child(2){transition-delay:0.2s}.projects.is-visible .project-card:nth-child(3){transition-delay:0.3s}.project-card__title{font-size:1.125rem;font-weight:800;letter-spacing:-0.01em;margin:0 0 1rem;color:#111827}.project-card__text{font-size:.9375rem;font-weight:300;color:#4b5563;margin:0;line-height:1.55}.contact{max-width:75rem;margin:0 auto;padding:6rem 2rem;width:100%}.contact__heading{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;letter-spacing:-0.02em;margin:0 0 3rem;text-align:center;color:#111827;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.contact.is-visible .contact__heading{opacity:1;transform:translateY(0)}.contact__form{display:flex;flex-direction:column;gap:1.5rem;max-width:32rem;width:100%;justify-self:center;opacity:0;transform:translateY(20px);transition:opacity .6s ease .1s,transform .6s ease .1s}.contact.is-visible .contact__form{opacity:1;transform:translateY(0)}.contact__hp,input[name=_gotcha]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact__form label{font-size:.875rem;font-weight:500;color:#111827}.contact__form input,.contact__form textarea{padding:1rem 1.5rem;font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;border:1px solid rgba(17,24,39,.2);border-radius:.5rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.contact__form input:focus,.contact__form textarea:focus{outline:none;border-color:#d32f2f;box-shadow:0 0 0 3px rgba(211,47,47,.15)}.contact__form textarea{min-height:8rem;resize:vertical}.contact__submit{margin-top:1rem;padding:1rem 2rem;background:#d32f2f;color:#fff;font-weight:800;font-size:1rem;border:none;border-radius:.5rem;box-shadow:0 4px 14px rgba(211,47,47,.35);transition:box-shadow .3s ease,transform .2s ease}.contact__submit:hover{box-shadow:0 6px 20px rgba(211,47,47,.45);transform:translateY(-1px)}.contact__privacy{margin:1rem 0 0;font-size:.8125rem;color:#4b5563}.contact__privacy a{color:#d32f2f;text-decoration:underline}.g-recaptcha--inline{margin:1rem 0 1.5rem;min-height:1px}.contact__success{margin:1.5rem 0 0;font-size:1.0625rem;font-weight:500;color:#16a34a;text-align:center}.contact__error{margin:1.5rem 0 0;font-size:.9375rem;color:#d32f2f}.contact__form input:disabled,.contact__form textarea:disabled{opacity:.7;cursor:not-allowed}.footer{padding:3rem 2rem;text-align:center;border-top:1px solid rgba(17,24,39,.08)}.footer__copy{margin:0;font-size:.875rem;font-weight:300;color:#4b5563}.footer__vat{margin:.5rem 0 0;font-size:.8125rem;font-weight:300;color:#4b5563}.footer__link{margin:1rem 0 0;font-size:.875rem;font-weight:300;color:#4b5563}.footer__link a{color:#d32f2f}.footer__link a:hover{text-decoration:underline}.legal-page{max-width:42rem;margin:0 auto;padding:6rem 3rem 6rem}.legal-page article{padding:0 1.5rem}.legal-page h1{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-0.02em;margin:0 0 1.5rem;color:#111827}.legal-page .legal-page__updated{font-size:.875rem;color:#4b5563;margin:0 0 3rem}.legal-page h2{font-size:1.25rem;font-weight:800;margin:3rem 0 1rem;color:#111827}.legal-page p,.legal-page ul{margin:0 0 1.5rem;font-size:1rem;line-height:1.65;color:#111827}.legal-page ul{padding-left:2rem}.legal-page a{color:#d32f2f;text-decoration:underline}.legal-page a:hover{opacity:.9}.lang-popup{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.lang-popup[hidden]{display:none !important}.lang-popup__backdrop{position:absolute;inset:0;background:rgba(17,24,39,.4);backdrop-filter:blur(4px)}.lang-popup__box{position:relative;background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 20px 60px rgba(17,24,39,.2);max-width:24rem;width:100%}.lang-popup__title{font-size:1.25rem;font-weight:800;letter-spacing:-0.02em;margin:0 0 1rem;color:#111827}.lang-popup__text{font-size:1rem;color:#4b5563;margin:0 0 2rem}.lang-popup__actions{display:flex;flex-direction:column;gap:1rem}.lang-popup__btn{display:block;text-align:center;padding:1rem 1.5rem;font-size:1rem;font-weight:500;border-radius:.5rem;border:none;cursor:pointer;transition:opacity .2s ease,box-shadow .2s ease}.lang-popup__btn--primary{background:#d32f2f;color:#fff !important;box-shadow:0 4px 14px rgba(211,47,47,.35)}.lang-popup__btn--primary:hover{opacity:.95;box-shadow:0 6px 20px rgba(211,47,47,.45)}.lang-popup__btn--secondary{background:rgba(0,0,0,0);color:#111827;border:1px solid rgba(17,24,39,.2)}.lang-popup__btn--secondary:hover{border-color:#111827;opacity:.9}@media(max-width: 1024px){.hero{grid-template-columns:1fr;text-align:center;padding:4rem 2rem;min-height:auto}.hero__subtitle{margin-left:auto;margin-right:auto}.contact__inner{grid-template-columns:1fr}.hero__image-wrap{order:-1;max-width:28rem;margin:0 auto}.projects__grid{grid-template-columns:1fr}}@media(max-width: 600px){.nav__inner{padding:0 1rem;min-width:0}.nav__brand{min-width:0}.nav__name-only,.nav__name{font-size:1rem}.nav__logo--compact img{width:1.75rem;height:1.75rem}.nav__menu{gap:1rem;flex-shrink:0}.nav__link{font-size:.8125rem}.hero{padding:2rem 1rem;min-height:0}.hero__content{display:flex;flex-direction:column;align-items:center;min-width:0}.hero__logo{margin-left:auto;margin-right:auto}.hero__title{font-size:clamp(1.5rem,5vw,2rem);text-align:center}.hero__subtitle{text-align:center}.hero__cta{align-self:center}.hero__image-wrap{max-width:100%;mask-image:none;-webkit-mask-image:none}.projects{padding:4rem 1rem}.projects__heading{font-size:1.375rem}.contact{padding:4rem 1rem}.contact__inner{grid-template-columns:1fr;gap:3rem;max-width:100%}.contact__form{max-width:100%}.contact__brand{justify-self:center}.footer{padding:2rem 1rem}.footer__copy,.footer__vat{font-size:.8125rem}.legal-page{padding:4rem 1.5rem 6rem}.legal-page article{padding:0 .5rem}}
