.hero-physics:where(.astro-gpmuo7x2){position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;padding:8rem 1.5rem 6rem}@media(min-width:768px){.hero-physics:where(.astro-gpmuo7x2){padding:8rem 3rem 6rem}}@media(min-width:1280px){.hero-physics:where(.astro-gpmuo7x2){padding:8rem 6rem 6rem}}.hero-physics__canvas:where(.astro-gpmuo7x2){position:absolute;inset:0;z-index:0;opacity:.8;cursor:none}.hero-physics__canvas:where(.astro-gpmuo7x2) canvas{display:block;width:100%;height:100%;pointer-events:auto;cursor:none!important}.hero-physics__content:where(.astro-gpmuo7x2){position:relative;z-index:10;width:100%;max-width:120rem;margin:0 auto;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}.hero-physics__line-wrap:where(.astro-gpmuo7x2){overflow:hidden}.hero-physics__title:where(.astro-gpmuo7x2){font-size:13vw;line-height:.8;font-family:var(--vdb-font-serif);color:var(--vdb-light);letter-spacing:-.05em;opacity:0;transform:translateY(5rem)}.hero-physics__title--italic:where(.astro-gpmuo7x2){color:#525252;font-style:italic;padding-right:1rem}.hero-physics__title-row:where(.astro-gpmuo7x2){display:flex;flex-direction:column;gap:1rem}@media(min-width:1280px){.hero-physics__title-row:where(.astro-gpmuo7x2){flex-direction:row;align-items:center;gap:3rem}}.hero-physics__divider:where(.astro-gpmuo7x2){height:1px;background:#fff3;width:0;margin-top:1rem;display:none}@media(min-width:768px){.hero-physics__divider:where(.astro-gpmuo7x2){display:block}}@media(min-width:1280px){.hero-physics__divider:where(.astro-gpmuo7x2){margin-top:1.5rem}}.hero-physics__grid:where(.astro-gpmuo7x2){display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1rem}@media(min-width:1280px){.hero-physics__grid:where(.astro-gpmuo7x2){grid-template-columns:repeat(12,1fr)}.hero-physics__projects:where(.astro-gpmuo7x2){grid-column:9 / 13;grid-row:1}.hero-physics__desc:where(.astro-gpmuo7x2){grid-column:9 / 13;grid-row:2}}.hero-interactive:where(.astro-gpmuo7x2){pointer-events:auto}.hero-physics__label:where(.astro-gpmuo7x2){font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.4em;color:var(--vdb-accent);margin-bottom:1rem;display:block}.project-hero-item:where(.astro-gpmuo7x2){display:flex;align-items:center;justify-content:space-between;padding:1rem .5rem;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;position:relative;overflow:hidden;opacity:.6;transition:opacity .4s ease;text-decoration:none;color:inherit}.project-hero-item:where(.astro-gpmuo7x2):first-child{border-top:1px solid rgba(255,255,255,.06)}.project-hero-item:where(.astro-gpmuo7x2):hover{opacity:1}.project-hero-item__left:where(.astro-gpmuo7x2){display:flex;align-items:baseline;gap:1rem}.project-hero-item__num:where(.astro-gpmuo7x2){font-family:var(--vdb-font-mono);font-size:10px;color:#737373}.project-hero-item__title:where(.astro-gpmuo7x2){font-size:1.5rem;font-family:var(--vdb-font-serif);color:#fff;letter-spacing:-.025em;transition:transform .6s cubic-bezier(.16,1,.3,1),letter-spacing .6s cubic-bezier(.16,1,.3,1)}@media(min-width:768px){.project-hero-item__title:where(.astro-gpmuo7x2){font-size:1.875rem}}.project-hero-item:where(.astro-gpmuo7x2):hover .project-hero-item__title:where(.astro-gpmuo7x2){transform:translate(24px);letter-spacing:.02em}.project-hero-item__right:where(.astro-gpmuo7x2){display:flex;align-items:center;gap:1rem}.project-hero-item__tags:where(.astro-gpmuo7x2){font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#737373;opacity:0;transform:translateY(10px);transition:all .4s ease-out}.project-hero-item:where(.astro-gpmuo7x2):hover .project-hero-item__tags:where(.astro-gpmuo7x2){opacity:1;transform:translateY(0)}.project-hero-item__arrow:where(.astro-gpmuo7x2){color:var(--vdb-accent);opacity:0;transform:translate(-20px) rotate(45deg);transition:all .5s cubic-bezier(.16,1,.3,1)}.project-hero-item:where(.astro-gpmuo7x2):hover .project-hero-item__arrow:where(.astro-gpmuo7x2){opacity:1;transform:translate(0) rotate(0)}.hero-physics__hover-reveal:where(.astro-gpmuo7x2){position:fixed;width:380px;height:480px;top:0;left:0;pointer-events:none;opacity:0;z-index:50;border-radius:8px;overflow:hidden;transform:translate(-50%,-50%) scale(.8) rotate(-3deg)}.hero-physics__hover-reveal-inner:where(.astro-gpmuo7x2){width:100%;height:100%;background-size:cover;background-position:center;transform:scale(1.15)}.hero-desc:where(.astro-gpmuo7x2){opacity:0}.hero-physics__text:where(.astro-gpmuo7x2){font-size:.875rem;font-weight:300;color:#a3a3a3;line-height:1.6;text-align:left;mix-blend-mode:plus-lighter;margin-bottom:1.5rem}@media(min-width:768px){.hero-physics__text:where(.astro-gpmuo7x2){font-size:1rem}}.hero-physics__cta:where(.astro-gpmuo7x2){display:inline-flex;align-items:center;gap:.5rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.25rem;text-transform:uppercase;font-family:var(--vdb-font-mono);font-size:.75rem;letter-spacing:.1em;transition:border-color .3s,color .3s;text-decoration:none}.hero-physics__cta:where(.astro-gpmuo7x2):hover{border-color:var(--vdb-accent);color:var(--vdb-accent)}.kinetic-text:where(.astro-urkjtulc){padding:8rem 0;overflow:hidden;background:#050505;position:relative;z-index:20;border-top:1px solid rgba(255,255,255,.05)}.kinetic-text__inner:where(.astro-urkjtulc){display:flex;flex-direction:column;align-items:center}.kinetic-text__line:where(.astro-urkjtulc){font-size:12vw;line-height:.85;font-family:var(--vdb-font-serif);font-weight:300;letter-spacing:-.05em;white-space:nowrap;will-change:transform}.kinetic-text__line--outline:where(.astro-urkjtulc){-webkit-text-stroke:1px rgba(255,255,255,.4);color:transparent}.kinetic-text__line--solid:where(.astro-urkjtulc){font-size:15vw;font-style:italic;color:#fff}.kinetic-text__line--accent:where(.astro-urkjtulc){color:var(--vdb-accent)}.skills-section:where(.astro-yjwhvsj7){display:block;padding:8rem 1.5rem;background:#050505;position:relative;z-index:20;overflow:hidden}@media(min-width:768px){.skills-section:where(.astro-yjwhvsj7){padding:8rem 3rem}}@media(min-width:1280px){.skills-section:where(.astro-yjwhvsj7){padding:8rem 6rem}}.skills-section__container:where(.astro-yjwhvsj7){max-width:120rem;margin:0 auto}.skills-section__header:where(.astro-yjwhvsj7){margin-bottom:6rem}.skills-section__label:where(.astro-yjwhvsj7){font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.4em;color:var(--vdb-accent);margin-bottom:1rem;display:block}.skills-section__title:where(.astro-yjwhvsj7){font-size:3.75rem;font-family:var(--vdb-font-serif);color:#fff;letter-spacing:-.05em}@media(min-width:768px){.skills-section__title:where(.astro-yjwhvsj7){font-size:6rem}}.skills-section__title-italic:where(.astro-yjwhvsj7){font-style:italic;color:#737373}.skills-container:where(.astro-yjwhvsj7){display:flex;flex-direction:column;gap:2rem;position:relative;width:100%;max-width:56rem;margin:0 auto}.skill-card:where(.astro-yjwhvsj7){width:100%;min-height:50vh;background:#141414!important;border:1px solid #2a2a2a!important;border-radius:32px;padding:4rem;display:flex;flex-direction:column;justify-content:center;box-shadow:0 -20px 40px -10px #0006,0 -40px 80px -20px #0009;transition:transform .6s cubic-bezier(.16,1,.3,1);will-change:transform;position:relative;overflow:hidden}.skill-card:where(.astro-yjwhvsj7):before,.skill-card:where(.astro-yjwhvsj7):after{display:none}.skill-card__icon:where(.astro-yjwhvsj7){position:absolute;top:2rem;right:2rem;color:var(--vdb-accent)}.skill-card__icon:where(.astro-yjwhvsj7) svg{width:2.5rem;height:2.5rem}.skill-card__category:where(.astro-yjwhvsj7){font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#737373;margin-bottom:1rem;display:block}.skill-card__title:where(.astro-yjwhvsj7){font-size:2.25rem;font-family:var(--vdb-font-serif);color:#fff;margin-bottom:1.5rem;margin-top:1rem}@media(min-width:768px){.skill-card__title:where(.astro-yjwhvsj7){font-size:3.75rem}}.skill-card__desc:where(.astro-yjwhvsj7){font-size:1.25rem;color:#a3a3a3;font-weight:300;line-height:1.6;margin-bottom:2rem;max-width:36rem}.skill-card__tags:where(.astro-yjwhvsj7){margin-bottom:3rem}.skill-card__tags:where(.astro-yjwhvsj7){display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:3rem}.skill-card__tag:where(.astro-yjwhvsj7){padding:.25rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:9999px;font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;color:var(--vdb-light)}.skill-card__link:where(.astro-yjwhvsj7){display:inline-flex;align-items:center;gap:1rem;width:fit-content;text-decoration:none;color:var(--vdb-light)}.skill-card__link:where(.astro-yjwhvsj7) span:where(.astro-yjwhvsj7){font-family:var(--vdb-font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(212,191,165,.3);transition:border-color .3s}.skill-card__link:where(.astro-yjwhvsj7):hover span:where(.astro-yjwhvsj7){border-color:var(--vdb-accent)}.skill-card__link:where(.astro-yjwhvsj7) svg:where(.astro-yjwhvsj7){transition:transform .3s}.skill-card__link:where(.astro-yjwhvsj7):hover svg:where(.astro-yjwhvsj7){transform:translate(4px)}.projects-showcase:where(.astro-v5pa7euu){position:relative;z-index:20;background:#050505;height:100vh;overflow:hidden}.projects-showcase__bgs:where(.astro-v5pa7euu){position:absolute;inset:0;z-index:0}.project-bg-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:transform 1.5s cubic-bezier(.16,1,.3,1),opacity .8s ease;transform:scale(1.1);display:block}.project-bg-slide.active{opacity:1;transform:scale(1)}.projects-showcase__ui:where(.astro-v5pa7euu){position:relative;z-index:10;width:100%;height:100%;display:flex;flex-direction:column;padding-top:8rem;padding-inline:1.5rem;pointer-events:none}@media(min-width:768px){.projects-showcase__ui:where(.astro-v5pa7euu){padding-inline:3rem}}@media(min-width:1280px){.projects-showcase__ui:where(.astro-v5pa7euu){padding-inline:6rem}}.projects-showcase__container:where(.astro-v5pa7euu){max-width:120rem;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column}.projects-showcase__top:where(.astro-v5pa7euu){display:flex;align-items:flex-end;justify-content:space-between;width:100%;margin-bottom:2rem}.projects-showcase__title:where(.astro-v5pa7euu){color:#fff;font-size:clamp(4rem,10vw,14rem);font-family:var(--vdb-font-serif);line-height:.8;letter-spacing:-.05em}.projects-showcase__explore:where(.astro-v5pa7euu){display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border:1px solid rgba(255,255,255,.2);border-radius:9999px;font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#fff;text-decoration:none;pointer-events:auto;transition:all .5s;margin-bottom:.5rem}.projects-showcase__explore:where(.astro-v5pa7euu):hover{background:#fff;color:#000}.projects-showcase__explore:where(.astro-v5pa7euu) svg:where(.astro-v5pa7euu){transition:transform .3s}.projects-showcase__explore:where(.astro-v5pa7euu):hover svg:where(.astro-v5pa7euu){transform:translate(4px)}.projects-showcase__separator:where(.astro-v5pa7euu){width:100%;height:2px;background:#fff;opacity:.4;margin-bottom:3rem}.projects-ticker-container{position:relative;clip-path:inset(0 0 -1000% 0);display:flex;flex-direction:column;justify-content:flex-start;flex:1}.projects-ticker-list{display:flex;flex-direction:column;gap:3rem;transition:transform .8s cubic-bezier(.16,1,.3,1);will-change:transform}.project-name-item{transition:all .6s cubic-bezier(.16,1,.3,1);cursor:pointer;pointer-events:auto}.project-name-item .project-tag{height:0;overflow:hidden;opacity:0;transition:all .6s cubic-bezier(.16,1,.3,1);font-family:var(--vdb-font-mono);font-style:italic;text-transform:uppercase;font-size:10px;margin-bottom:.25rem}.project-name-item.active{opacity:1;transform:translate(10px)}.project-name-item.active .project-tag{height:auto;opacity:.6;margin-bottom:.5rem}.project-name-item:not(.active){opacity:.3}.project-name-item h3:where(.astro-v5pa7euu){font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;font-family:var(--vdb-font-serif);color:#fff;letter-spacing:-.05em}.project-name-item a:where(.astro-v5pa7euu){display:block;text-decoration:none;color:inherit}.projets-scroll-spacer-v3:where(.astro-v5pa7euu){height:300vh}.faq-section:where(.astro-al2ca2vr){padding:8rem 1.5rem;background:#050505;position:relative;z-index:20;border-top:1px solid rgba(255,255,255,.05)}@media(min-width:768px){.faq-section:where(.astro-al2ca2vr){padding:8rem 3rem}}@media(min-width:1280px){.faq-section:where(.astro-al2ca2vr){padding:8rem 6rem}}.faq-section__container:where(.astro-al2ca2vr){max-width:120rem;margin:0 auto}.faq-section__grid:where(.astro-al2ca2vr){display:grid;grid-template-columns:1fr;gap:4rem}@media(min-width:1024px){.faq-section__grid:where(.astro-al2ca2vr){grid-template-columns:5fr 7fr}}.faq-section__label:where(.astro-al2ca2vr){font-family:var(--vdb-font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.4em;color:var(--vdb-accent);margin-bottom:1rem;display:block}.faq-section__title:where(.astro-al2ca2vr){font-size:clamp(3rem,8vw,6rem);font-family:var(--vdb-font-serif);color:#fff;letter-spacing:-.05em;margin-bottom:2rem;font-style:italic}.faq-section__desc:where(.astro-al2ca2vr){color:#a3a3a3;font-weight:300;max-width:24rem}.faq-item:where(.astro-al2ca2vr){border-bottom:1px solid rgba(255,255,255,.08);padding:2rem 0;cursor:pointer}.faq-item__header:where(.astro-al2ca2vr){display:flex;justify-content:space-between;align-items:center}.faq-item__question:where(.astro-al2ca2vr){font-size:clamp(1.25rem,3vw,1.875rem);font-family:var(--vdb-font-serif);color:#fff}.faq-icon:where(.astro-al2ca2vr){color:var(--vdb-accent);flex-shrink:0;transition:transform .3s ease}.faq-item:where(.astro-al2ca2vr).active .faq-icon:where(.astro-al2ca2vr){transform:rotate(45deg)}.faq-answer-wrapper:where(.astro-al2ca2vr){display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s ease-out}.faq-item:where(.astro-al2ca2vr).active .faq-answer-wrapper:where(.astro-al2ca2vr){grid-template-rows:1fr}.faq-answer:where(.astro-al2ca2vr){overflow:hidden;opacity:0;transition:opacity .3s ease-out}.faq-item:where(.astro-al2ca2vr).active .faq-answer:where(.astro-al2ca2vr){opacity:1;transition-delay:.2s}.faq-answer__inner:where(.astro-al2ca2vr){padding-top:1.5rem}.faq-answer__inner:where(.astro-al2ca2vr) p:where(.astro-al2ca2vr){color:#a3a3a3;font-weight:300;line-height:1.6}.contact-interactive:where(.astro-vnrpgxe2){padding:12rem 1.5rem;background:#000;position:relative;z-index:20;overflow:hidden;border-top:1px solid rgba(255,255,255,.05)}@media(min-width:768px){.contact-interactive:where(.astro-vnrpgxe2){padding:12rem 3rem}}@media(min-width:1280px){.contact-interactive:where(.astro-vnrpgxe2){padding:12rem 6rem}}.contact-interactive__container:where(.astro-vnrpgxe2){max-width:120rem;margin:0 auto}.contact-interactive__content:where(.astro-vnrpgxe2){display:flex;flex-direction:column;align-items:center;text-align:center}.contact-interactive__label:where(.astro-vnrpgxe2){font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.4em;color:var(--vdb-accent);margin-bottom:3rem}.contact-interactive__title:where(.astro-vnrpgxe2){font-size:8vw;font-family:var(--vdb-font-serif);line-height:.85;color:#fff;text-transform:uppercase;margin-bottom:1rem}.contact-interactive__title:where(.astro-vnrpgxe2):last-of-type{margin-bottom:5rem}@media(min-width:768px){.contact-interactive__title:where(.astro-vnrpgxe2){font-size:6vw}}.contact-interactive__title-italic:where(.astro-vnrpgxe2){font-style:italic}.contact-interactive__buttons:where(.astro-vnrpgxe2){display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;position:relative;width:100%;margin-top:3rem;margin-bottom:3rem;min-height:5rem}.contact-interactive__btn-oui:where(.astro-vnrpgxe2){z-index:10;padding:1.25rem 3rem;border-radius:9999px;font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;background:#fff;color:#000;border:none;font-weight:700;transition:transform .3s;cursor:pointer}.contact-interactive__btn-oui:where(.astro-vnrpgxe2):hover{transform:scale(1.05)}.contact-interactive__btn-non:where(.astro-vnrpgxe2){z-index:20;padding:1.25rem 3rem;border-radius:9999px;font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#737373;background:transparent;border:1px solid rgba(255,255,255,.1);transition:color .3s,border-color .3s;position:relative;cursor:pointer}.contact-interactive__btn-non:where(.astro-vnrpgxe2):hover{color:#fff}.contact-form-section:where(.astro-svshx33u){padding:8rem 1.5rem;background:#080808;position:relative;z-index:20;border-top:1px solid rgba(255,255,255,.05)}@media(min-width:768px){.contact-form-section:where(.astro-svshx33u){padding:8rem 3rem}}@media(min-width:1280px){.contact-form-section:where(.astro-svshx33u){padding:8rem 6rem}}.contact-form-section__container:where(.astro-svshx33u){max-width:120rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:4rem}@media(min-width:1024px){.contact-form-section__container:where(.astro-svshx33u){grid-template-columns:1fr 2fr}}.contact-form-section__title:where(.astro-svshx33u){font-size:3rem;font-family:var(--vdb-font-serif);color:#fff;letter-spacing:-.05em;margin-bottom:2rem}@media(min-width:768px){.contact-form-section__title:where(.astro-svshx33u){font-size:4.5rem}}.contact-form-section__title-muted:where(.astro-svshx33u){font-style:italic;color:#737373}.contact-form-section__desc:where(.astro-svshx33u){color:#a3a3a3;font-weight:300;max-width:28rem;line-height:1.6;margin-bottom:3rem;font-size:1rem}.contact-form-section__info:where(.astro-svshx33u){display:flex;flex-direction:column;gap:1.5rem}.contact-form-section__info-item:where(.astro-svshx33u){display:flex;align-items:center;gap:1rem;font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#737373;text-decoration:none;transition:color .3s}.contact-form-section__info-item:where(.astro-svshx33u):hover{color:var(--vdb-accent)}.contact-form-section__card:where(.astro-svshx33u){background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:2rem;border-radius:1.5rem;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;width:100%}@media(min-width:768px){.contact-form-section__card:where(.astro-svshx33u){padding:3rem}}.contact-form-section__card-accent:where(.astro-svshx33u){position:absolute;top:0;left:0;width:100%;height:.25rem;background:linear-gradient(to right,transparent,var(--vdb-accent),transparent);opacity:.5}.contact-form-section__form:where(.astro-svshx33u){display:flex;flex-direction:column;gap:2rem}.contact-form-section__row:where(.astro-svshx33u){display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.contact-form-section__row:where(.astro-svshx33u){grid-template-columns:1fr 1fr}}.contact-form-section__field:where(.astro-svshx33u){display:flex;flex-direction:column;gap:.5rem}.contact-form-section__field:where(.astro-svshx33u) label:where(.astro-svshx33u){font-family:var(--vdb-font-mono);font-size:10px;color:#737373;text-transform:uppercase;letter-spacing:.1em}.contact-form-section__field:where(.astro-svshx33u) input:where(.astro-svshx33u){background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);padding:.5rem;color:#fff;font-family:inherit;font-size:1rem;outline:none;transition:border-color .3s;width:100%}.contact-form-section__field:where(.astro-svshx33u) input:where(.astro-svshx33u):focus{border-color:var(--vdb-accent)}.contact-form-section__field:where(.astro-svshx33u) textarea:where(.astro-svshx33u){background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:.75rem;padding:1rem;color:#fff;font-family:inherit;font-size:1rem;outline:none;resize:none;transition:border-color .3s;width:100%;margin-top:.5rem}.contact-form-section__field:where(.astro-svshx33u) textarea:where(.astro-svshx33u):focus{border-color:var(--vdb-accent)}.contact-form-section__submit:where(.astro-svshx33u){display:flex;align-items:center;justify-content:center;gap:1rem;background:#fff;color:#000;padding:1rem 2rem;border-radius:9999px;font-family:var(--vdb-font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border:none;cursor:pointer;transition:background .3s;margin-top:1rem}.contact-form-section__submit:where(.astro-svshx33u):hover{background:var(--vdb-accent)}.contact-form-section__submit:where(.astro-svshx33u) svg:where(.astro-svshx33u){transition:transform .3s}.contact-form-section__submit:where(.astro-svshx33u):hover svg:where(.astro-svshx33u){transform:translate(4px)}
