
html{scroll-behavior:smooth;scroll-padding-top:90px}
.onepager-section{position:relative;padding:144px 0 96px;scroll-margin-top:0;border-top:1px solid #a97fff30}
.onepager-section .service-hero,.onepager-section .p-hero,.onepager-section .work-archive{min-height:0!important;padding-top:0!important;padding-bottom:24px!important}
.onepager-section :is(.service-hero,.hero-z,.work-archive,.c-intro)>h2{font-size:clamp(2rem,4vw,3.5rem)!important;font-weight:500!important;line-height:1.1!important;letter-spacing:-.04em;max-width:26ch}
.onepager-section :is(.service-hero,.hero-z,.c-intro)>h2 strong{font-weight:500}
.onepager-section :is(.intro,.p-hero-sub,.c-sub){font-size:clamp(1rem,1.4vw,1.22rem)!important;line-height:1.65;max-width:60ch}
.onepager-section .block{padding:32px 0}.onepager-section .lead{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;line-height:1.15}
.onepager-section .service-details{padding-top:40px;padding-bottom:32px;gap:32px}
.onepager-section .section-contact{padding-top:24px;padding-bottom:24px}
.onepager-section .contact{min-height:0;padding:24px 0 48px}
.onepager-section .p-hero-bg{display:none}
.onepager-section .tag{margin-bottom:20px}.onepager-section .human-field:empty{display:none}
.onepager-section .btn-primary{display:inline-flex;padding:15px 25px;text-decoration:none}
.onepager-section .home-grid.access-map{display:block;width:100%}
@media(max-width:700px){.onepager-section{padding-top:88px;padding-bottom:64px}.onepager-section .service-details{gap:24px}.onepager-section .block{padding:24px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.onepager-section .section-contact .btn-primary{background:#8a4fff;color:#fff;border:1px solid #a77aff}
#about.onepager-section .p-hero{display:block}
#about.onepager-section .hero-z>.eyebrow{margin:0 0 2rem}
#about.onepager-section .hero-z>.t-hero{color:var(--text,#f4f2ee);margin:0;max-width:26ch}
#about.onepager-section .p-hero-sub{margin-top:2rem}
body[data-onepage] { background:transparent; }
body[data-onepage] #main { --muted:#b9b6c1; --muted-2:#8c849a; }
body[data-onepage] .lupixx-ambient {
 overflow:hidden;
 -webkit-mask-image:linear-gradient(to bottom,transparent var(--ambient-start,100vh),rgba(0,0,0,.028) calc(var(--ambient-start,100vh) + 4vh),rgba(0,0,0,.104) calc(var(--ambient-start,100vh) + 8vh),rgba(0,0,0,.216) calc(var(--ambient-start,100vh) + 12vh),rgba(0,0,0,.352) calc(var(--ambient-start,100vh) + 16vh),rgba(0,0,0,.5) calc(var(--ambient-start,100vh) + 20vh),rgba(0,0,0,.648) calc(var(--ambient-start,100vh) + 24vh),rgba(0,0,0,.784) calc(var(--ambient-start,100vh) + 28vh),rgba(0,0,0,.896) calc(var(--ambient-start,100vh) + 32vh),rgba(0,0,0,.972) calc(var(--ambient-start,100vh) + 36vh),#000 calc(var(--ambient-start,100vh) + 40vh));
 mask-image:linear-gradient(to bottom,transparent var(--ambient-start,100vh),rgba(0,0,0,.028) calc(var(--ambient-start,100vh) + 4vh),rgba(0,0,0,.104) calc(var(--ambient-start,100vh) + 8vh),rgba(0,0,0,.216) calc(var(--ambient-start,100vh) + 12vh),rgba(0,0,0,.352) calc(var(--ambient-start,100vh) + 16vh),rgba(0,0,0,.5) calc(var(--ambient-start,100vh) + 20vh),rgba(0,0,0,.648) calc(var(--ambient-start,100vh) + 24vh),rgba(0,0,0,.784) calc(var(--ambient-start,100vh) + 28vh),rgba(0,0,0,.896) calc(var(--ambient-start,100vh) + 32vh),rgba(0,0,0,.972) calc(var(--ambient-start,100vh) + 36vh),#000 calc(var(--ambient-start,100vh) + 40vh));
}
body[data-onepage] .lupixx-ambient .homepage-fractal { position:absolute; inset:0; }
body[data-onepage] #main { position:relative; z-index:1; }
body[data-onepage] .onepager-section :is(.block,.p-hero,.contact,.work-archive) { background:transparent; }
body[data-onepage] .onepager-section :is(.body,.intro,.p-hero-sub,.c-sub) { font-weight:300; color:var(--muted); }
body[data-onepage] .onepager-section :is(.p-hero-sub,.service-hero .intro,.c-sub) { font-size:var(--subpage-intro-size); line-height:1.65; }
body[data-onepage] .onepager-section :is(.lead,.engine-line) { font-size:clamp(1.75rem,3vw,2.75rem); font-weight:500; line-height:1.15; letter-spacing:-.035em; }
body[data-onepage] .onepager-section :is(.lead,.engine-line) strong { font-weight:inherit; color:inherit; }
body[data-onepage] .smooth-word { display:inline-block; transition:opacity .45s ease-out,transform .65s cubic-bezier(.2,.65,.25,1); }
body[data-onepage] [data-motion-ready] .onepage-reveal { opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease),transform 1s var(--ease); }
body[data-onepage] [data-motion-ready] .onepage-reveal.is-visible { opacity:1; transform:none; }
body[data-onepage] :is(.project-cover,.project-details a,.installation-pair) { border:1px solid #f4f2ee29; transition:border-color .65s,box-shadow .8s; }
body[data-onepage] :is(.project-cover,.project-details a):is(:hover,:focus-visible) { border-color:#c4a9ff66; box-shadow:0 0 18px 2px #8a4fff1c,0 0 48px 7px #8a4fff14; }
body[data-onepage] .project-cover img { transition:transform 1.2s var(--ease); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body[data-onepage] .project-cover:hover img { transform:scale(1.025); }
}
@media (prefers-reduced-motion:reduce) {
 body[data-onepage] [data-motion-ready] .onepage-reveal,
 body[data-onepage] .smooth-word { opacity:1!important; transform:none!important; transition:none; }
}
body[data-onepage] #main:not([data-motion-ready]) .reveal { opacity:1; transform:none; }
[data-title-effect] { position:relative; }
[data-title-effect] .title-ink { display:inline-block; }
.glitch-fragment { display:none; }
.installation-letter { display:inline-block; white-space:pre; }
@media(prefers-reduced-motion:no-preference) {
 [data-motion-ready] [data-title-effect] .title-ink { opacity:0; transition:opacity .65s ease; }
 [data-motion-ready] [data-title-effect].effect-visible .title-ink { opacity:1; }
 [data-title-effect="glitch"].effect-visible .glitch-fragment {
   display:block; position:absolute; inset:0; pointer-events:none; opacity:0;
   color:#c8b4ec; clip-path:inset(calc(var(--slice) * 16%) 0 calc(84% - var(--slice) * 16%) 0);
   animation:title-block-glitch .58s steps(1,end) both;
   animation-delay:calc(var(--slice) * 23ms);
 }
 [data-title-effect="glitch"] .glitch-fragment:nth-child(even) { clip-path:inset(calc(var(--slice) * 16%) 18% calc(84% - var(--slice) * 16%) 12%); }
 [data-title-effect="light"] .title-ink { display:inline-flex; flex-wrap:wrap; }
 [data-title-effect="light"].effect-visible .title-ink > span:first-child { animation:title-compose-left 1.6s cubic-bezier(.22,1,.36,1) both; }
 [data-title-effect="light"].effect-visible .title-ink > span:last-child { animation:title-compose-right 1.6s cubic-bezier(.22,1,.36,1) both; }
 [data-title-effect="tracking"].effect-visible .title-ink { backface-visibility:hidden; transform:perspective(1000px) translateZ(0) rotateY(0) rotateX(0); transform-origin:100% 50%; animation:title-track 1.8s cubic-bezier(.22,1,.36,1) both; }
 [data-title-effect="installation"].effect-visible .installation-letter {
   animation:title-assemble 1.3s cubic-bezier(.22,1,.36,1) both;
   animation-delay:calc(var(--letter) * 28ms);
 }
 .installation-letter { transition:transform .8s cubic-bezier(.22,1,.36,1),text-shadow .8s; transition-delay:calc(var(--letter) * 18ms); }
 [data-title-effect="installation"].effect-visible:hover .installation-letter { transform:translateY(-2px) rotateX(8deg); text-shadow:0 3px 18px #c8b4ec66; }
}
@keyframes title-block-glitch {
 0%,100% { opacity:0; transform:translateX(0); }
 12% { opacity:.85; transform:translateX(8px); }
 28% { opacity:0; transform:translateX(-5px); }
 46% { opacity:.6; transform:translateX(-7px); color:#e1dae9; }
 62% { opacity:0; }
 76% { opacity:.4; transform:translateX(3px); }
}
@keyframes title-compose-left {
 from { opacity:0; transform:translateY(-14px); clip-path:inset(0 0 100%); }
 to { opacity:1; transform:none; clip-path:inset(0); }
}
@keyframes title-compose-right {
 from { opacity:0; transform:translateY(14px); clip-path:inset(100% 0 0); }
 to { opacity:1; transform:none; clip-path:inset(0); }
}
@keyframes title-track {
 from { opacity:0; transform:perspective(1000px) translateZ(-90px) rotateY(13deg) rotateX(-3deg); }
 to { opacity:1; transform:perspective(1000px) translateZ(0) rotateY(0) rotateX(0); }
}
@keyframes title-assemble {
 from { opacity:0; translate:0 .35em; filter:blur(2px); }
 to { opacity:1; translate:0 0; filter:blur(0); }
}
body[data-onepage] #contact { border:0; padding:0 0 48px; background:#08080a; }
body[data-onepage] #contact .project-invitation { opacity:1; transform:none; margin:0; }
body[data-onepage] #contact .c-bg { display:none; }
body[data-onepage] #contact .contact { padding-top:clamp(2.5rem,5vw,4rem); }
.contact-return { padding-top:24px; }
.contact-return[hidden] { display:none; }
.contact-return button { border:1px solid currentColor; border-radius:999px; padding:10px 18px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
html:has(body[data-onepage]) { background:#08080a; color-scheme:dark; }
[data-title-effect].effect-static .title-ink,
[data-title-effect].effect-static .title-ink > span { animation:none!important; opacity:1!important; }
[data-title-effect].effect-static .glitch-fragment { display:none!important; }
