/* The interaction layer: light field, title glitches and page morphs. */
.brand__dot{color:#729912}.footer-brand>.brand__dot{font-size:1em;margin:0;color:#729912}
.geometry-mark{display:inline-block;flex:none;overflow:visible;fill:none;stroke:none;color:var(--ink);animation:none;vertical-align:middle}
.geometry-mark [data-geometry-plane]{fill:none;stroke:currentColor;stroke-width:var(--mark-stroke,1.7px);vector-effect:non-scaling-stroke;stroke-linejoin:miter;stroke-miterlimit:4}
.brand__symbol{--mark-stroke:1.35px}
.studio__symbol,.workshop__symbol{--mark-stroke:1.9px}
.brand__symbol{width:37px;height:37px;margin-left:9px;color:var(--ink)}
.footer__symbol{width:.68em;height:.68em;margin-left:.13em;vertical-align:3%}
.hero__symbol{width:.62em;height:.62em;margin-left:.14em;vertical-align:7%}
.studio__symbol{display:block;width:160px;height:160px}
.workshop__symbol{display:block;width:230px;height:230px}
.lab__symbol{display:block;width:min(100%,470px);height:auto;color:var(--ink)}
.hero--immersive{position:relative;isolation:isolate;display:block;min-height:min(900px,calc(100svh - 98px));height:max(690px,calc(100svh - 98px));max-height:1080px;padding-block:42px 48px;background:var(--paper);color:var(--ink);overflow:hidden}
.hero--immersive::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.12) 53%,transparent 80%);pointer-events:none}
.hero--immersive .hero__intro{position:relative;z-index:2;min-height:100%;width:100%;pointer-events:none}
.hero--immersive .hero__intro a{pointer-events:auto}
.hero--immersive h1{font-size:clamp(100px,10.4vw,195px);margin-top:48px;line-height:.93;text-shadow:none}
.hero--immersive .hero__bottom{width:43%;max-width:670px;padding-top:30px;margin-top:auto;align-items:center}
.hero--immersive .hero__bottom p{font-size:15px}
.hero--immersive .round-link{border-color:var(--ink);color:var(--ink)}
.hero--immersive .round-link:hover{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.hero--immersive .hero__experiment{position:absolute;inset:0;z-index:0;height:100%;min-height:0;width:100%;background:var(--paper)}
.hero--immersive .signal-field{opacity:1}
.hero--immersive .field-top{top:43px;right:var(--pad);left:auto;gap:45px;color:var(--ink);font-size:12px;z-index:3}
.hero--immersive .field-bottom{bottom:43px;right:var(--pad);left:auto;display:flex;align-items:end;gap:28px;z-index:3;color:var(--ink);pointer-events:none}
.field-instructions{display:flex;gap:12px;align-items:start;font-size:12px;line-height:1.6}
.field-instructions .status-dot{background:var(--ink);color:var(--ink);margin-top:4px}
.hero-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;max-width:360px;padding:14px 17px;border:1px solid rgba(23,25,22,.25);background:rgba(255,255,255,.65);backdrop-filter:blur(12px);font-size:12px;pointer-events:auto}
.hero-controls button{font:inherit;color:inherit;padding:4px 0;border-bottom:1px solid rgba(23,25,22,.3)}
.hero-controls button:hover{color:#658800}
.hero-intensity{display:flex;align-items:center;gap:13px;width:100%;font-size:12px;cursor:pointer}
.hero-intensity input{min-width:70px;width:130px;accent-color:var(--ink);cursor:pointer;height:15px}
.hero-intensity output{min-width:20px;color:#658800}
.hero--immersive+.hero-baseline{margin-top:0;padding-top:18px}
.project-card__open,.project-card__index{z-index:4}.featured-project__top,.featured-project__bottom{z-index:4}
.project-card__open{transition:transform .38s cubic-bezier(.2,.8,.2,1),background .2s}.project-card__link:hover .project-card__open{background:var(--signal)}
.project-card__caption h3{transition:transform .4s}.project-card__link:hover .project-card__caption h3{transform:translateX(5px)}
.round-link,.pill-link,.contact-strip__arrow{will-change:transform}
.magnetic-active{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.project-title-text{font-size:inherit;margin:0}
.glitch-title{position:relative;isolation:isolate}
.glitch-title::before,.glitch-title::after{content:attr(data-glitch-text);position:absolute;inset:0;pointer-events:none;opacity:0;letter-spacing:inherit;font:inherit;line-height:inherit;white-space:inherit;overflow:hidden}
.glitch-title::before{color:#00b5ee;z-index:2;mix-blend-mode:multiply}
.glitch-title::after{color:#ed31b3;z-index:3;mix-blend-mode:multiply}
.glitch-title.is-glitching{animation:pb-title-reform 340ms steps(1,end) both}
.glitch-title.is-glitching::before{animation:pb-glitch-cyan 340ms steps(1,end) both}
.glitch-title.is-glitching::after{animation:pb-glitch-magenta 340ms steps(1,end) both}
@keyframes pb-title-reform{0%,100%{transform:none;filter:none}8%{transform:skewX(-4deg) translateX(-2px)}20%{transform:skewX(4deg) scaleX(1.015);filter:contrast(1.8)}36%{transform:translateX(2px) skewX(-3deg)}52%{transform:skewX(2deg);filter:none}68%{transform:translateX(-1px)}82%{transform:none}}
@keyframes pb-glitch-cyan{0%,100%{opacity:0;clip-path:inset(0);transform:none}6%{opacity:1;clip-path:inset(12% 0 67%);transform:translate(4px,-1px) skewX(-4deg)}19%{opacity:.9;clip-path:inset(52% 0 21%);transform:translate(-6px,1px)}33%{opacity:1;clip-path:inset(28% 0 49%);transform:translate(5px,0) scaleX(1.02)}49%{opacity:.7;clip-path:inset(70% 0 9%);transform:translate(-3px,0)}67%{opacity:.4;clip-path:inset(16% 0 78%);transform:translate(2px,0)}84%{opacity:0;transform:none}}
@keyframes pb-glitch-magenta{0%,100%{opacity:0;clip-path:inset(0);transform:none}10%{opacity:1;clip-path:inset(61% 0 12%);transform:translate(-4px,1px) skewX(5deg)}24%{opacity:.9;clip-path:inset(17% 0 65%);transform:translate(6px,-1px)}39%{opacity:1;clip-path:inset(44% 0 35%);transform:translate(-4px,0) scaleX(.98)}55%{opacity:.6;clip-path:inset(24% 0 57%);transform:translate(3px,0)}73%{opacity:.3;clip-path:inset(75% 0 8%);transform:translate(-2px,0)}87%{opacity:0;transform:none}}
@view-transition{navigation:auto}
.brand{view-transition-name:studio-brand}
::view-transition-group(*){animation-duration:430ms;animation-timing-function:cubic-bezier(.2,.75,.2,1)}
::view-transition-old(root){animation:pb-page-out 220ms cubic-bezier(.2,.7,.2,1) both}
::view-transition-new(root){animation:pb-page-in 430ms cubic-bezier(.2,.75,.2,1) both}
::view-transition-group(project-photo){z-index:5;animation-duration:600ms}
::view-transition-old(project-photo),::view-transition-new(project-photo){height:100%;width:100%;object-fit:cover;mix-blend-mode:normal;animation-duration:600ms}
::view-transition-old(project-photo){animation-name:pb-photo-out}
::view-transition-new(project-photo){animation-name:pb-photo-in}
::view-transition-group(studio-brand){z-index:10}
@keyframes pb-page-out{to{opacity:0;transform:scale(.99) translateY(-4px);filter:none}}
@keyframes pb-page-in{from{opacity:0;transform:scale(1.018) translateY(10px);filter:none}to{opacity:1;transform:none;filter:none}}
@keyframes pb-photo-out{from{opacity:1}to{opacity:0}}
@keyframes pb-photo-in{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.hero--immersive{min-height:700px;height:calc(100svh - 98px)}.hero--immersive h1{font-size:12vw}.hero--immersive .hero__bottom{width:44%}.hero--immersive .hero__bottom p{font-size:13px}.hero--immersive .field-bottom{flex-direction:column;gap:17px}.hero-controls{max-width:300px}.hero--immersive .field-top{gap:20px}}
@media(max-width:760px){.hero--immersive{padding-block:30px;min-height:780px;height:calc(100svh - 80px);max-height:1000px}.hero--immersive h1{font-size:clamp(75px,15.5vw,115px);margin-top:55px;line-height:.96}.hero--immersive .hero__bottom{width:100%;margin-top:35px;padding-top:0;align-items:center}.hero--immersive .hero__intro{min-height:0}.hero--immersive::before{background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 62%,rgba(255,255,255,.4))}.hero--immersive .hero__experiment{height:100%;min-height:0}.hero--immersive .field-top{top:auto;bottom:160px;left:var(--pad);right:var(--pad);font-size:12px}.hero--immersive .field-bottom{bottom:25px;left:var(--pad);right:var(--pad);align-items:stretch;flex-direction:row;gap:16px}.field-instructions{max-width:125px;font-size:12px;align-self:end;padding-bottom:7px}.hero-controls{max-width:270px;flex:1;min-width:0;gap:8px 13px;padding:12px;font-size:12px}.hero-intensity{gap:9px;font-size:12px}.hero-intensity input{width:100%;min-width:30px}.hero-intensity output{min-width:15px}.hero-controls button{font-size:12px}.hero--immersive .eyebrow{font-size:12px}.hero--immersive .round-link{width:43px;height:43px}.footer-brand{font-size:64px}.footer-top{gap:20px}.back-top{font-size:12px}.hero--immersive h1 .hero__last{white-space:normal}}
@media(max-width:760px){.brand__symbol{width:31px;height:31px;margin-left:7px}.hero__symbol{width:.55em;height:.55em}.studio__symbol{width:100px;height:100px}.workshop__symbol{width:120px;height:120px}.lab__symbol{width:300px;max-width:100%}}
@media(max-width:380px){.hero--immersive{min-height:730px}.hero--immersive h1{font-size:74px}.field-instructions{max-width:95px;font-size:12px;gap:8px}.hero-controls{padding:10px}.hero--immersive .hero__bottom p{font-size:12px}.footer-brand{font-size:55px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.brand{view-transition-name:none}.magnetic-active{transform:none!important}.project-card__link:hover .project-card__caption h3{transform:none}.glitch-title::before,.glitch-title::after{display:none}.glitch-title.is-glitching{animation:none}}
