.BookingForm-module__fOdxqG__days,.BookingForm-module__fOdxqG__times{gap:.5rem;display:grid}.BookingForm-module__fOdxqG__days{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr))}.BookingForm-module__fOdxqG__times{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.BookingForm-module__fOdxqG__slot{border:1px solid var(--color-fg);text-align:center;cursor:pointer;min-height:2.75rem;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;padding:.65rem .4rem;display:flex;position:relative}.BookingForm-module__fOdxqG__slotInput{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.BookingForm-module__fOdxqG__slot:has(.BookingForm-module__fOdxqG__slotInput:focus-visible){outline:2px solid var(--color-fg);outline-offset:3px}.BookingForm-module__fOdxqG__slot:has(.BookingForm-module__fOdxqG__slotInput:checked){background-color:var(--color-fg);color:var(--color-bg)}@media (hover:hover){.BookingForm-module__fOdxqG__slot:hover:not(:has(.BookingForm-module__fOdxqG__slotInput:checked)){background-color:var(--color-accent);color:var(--color-on-accent)}}.BookingForm-module__fOdxqG__weekday,.BookingForm-module__fOdxqG__month{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.BookingForm-module__fOdxqG__date{letter-spacing:-.02em;font-size:1.5rem;font-weight:640;line-height:1}.BookingForm-module__fOdxqG__time{letter-spacing:-.01em;font-size:1.05rem;font-weight:560}[data-invalid] .BookingForm-module__fOdxqG__slot{border-width:2px}.BookingForm-module__fOdxqG__chosen{border:1px solid var(--color-fg);align-items:center;gap:.75rem;margin:1.25rem 0 0;padding:.9rem 1rem;font-weight:560;line-height:1.35;display:flex}.BookingForm-module__fOdxqG__chosen:before{content:"";background-color:var(--color-accent);flex:none;width:.5rem;height:.5rem}.BookingForm-module__fOdxqG__note{max-width:44ch;color:var(--color-muted);margin:0;font-size:.9375rem;line-height:1.45}.BookingForm-module__fOdxqG__actions{flex-wrap:wrap;gap:1rem 1.25rem;display:flex}
.Booking-module__3zIlxG__booking{min-height:var(--viewport-height-small);border-bottom:1px solid var(--color-line);background-color:var(--color-bg);position:relative}.Booking-module__3zIlxG__booking:focus{outline:none}.Booking-module__3zIlxG__inner{padding:calc(clamp(6.5rem, 4rem + 6svh, 9rem) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) calc(clamp(4rem, 2rem + 6svh, 7rem) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));gap:clamp(2rem,1rem + 4vw,4rem);display:grid}@media (min-width:64em){.Booking-module__3zIlxG__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;column-gap:clamp(2rem,1rem + 3vw,5rem)}.Booking-module__3zIlxG__intro{top:calc(clamp(6.5rem, 4rem + 6svh, 9rem) + var(--safe-top));position:sticky}}.Booking-module__3zIlxG__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin:0 0 1.25rem;padding-inline-start:.2em}.Booking-module__3zIlxG__heading{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,1.2rem + 5.6vw,6.5rem);font-weight:700;line-height:.95}.Booking-module__3zIlxG__sentence{letter-spacing:-.01em;max-width:34ch;margin:clamp(1.25rem,1rem + 1vw,2rem) 0 0;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);line-height:1.35}.Booking-module__3zIlxG__note{background-color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-accent);align-items:center;gap:.75rem;margin:clamp(1.25rem,1rem + 1vw,2rem) 0 0;padding:.55rem .9rem;display:inline-flex}
.ArtworkReveal-module__2JJ4jW__root{z-index:0;-webkit-tap-highlight-color:transparent;position:absolute;inset:0;overflow:hidden}@media (hover:hover) and (pointer:fine){.ArtworkReveal-module__2JJ4jW__root[data-hover]{cursor:none}}.ArtworkReveal-module__2JJ4jW__painting{width:var(--painting-w,0px);height:var(--painting-h,0px);will-change:transform;position:absolute;top:0;left:0}.ArtworkReveal-module__2JJ4jW__surface{background-image:var(--art);background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.ArtworkReveal-module__2JJ4jW__lens{width:var(--lens-size,0px);height:var(--lens-size,0px);visibility:hidden;transform-origin:0 0;-webkit-mask-image:var(--mask,linear-gradient(transparent, transparent));-webkit-mask-image:var(--mask,linear-gradient(transparent, transparent));mask-image:var(--mask,linear-gradient(transparent, transparent));-webkit-mask-size:var(--mask-size,0px) var(--mask-size,0px);-webkit-mask-size:var(--mask-size,0px) var(--mask-size,0px);mask-size:var(--mask-size,0px) var(--mask-size,0px);will-change:transform;position:absolute;top:0;left:0;overflow:hidden;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ArtworkReveal-module__2JJ4jW__lensInner{width:var(--stage-w,100vw);height:var(--stage-h,100vh);transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.ArtworkReveal-module__2JJ4jW__ring{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.ArtworkReveal-module__2JJ4jW__ring>span{border:1px solid var(--color-ring);opacity:0;width:4.25rem;height:4.25rem;transition:opacity var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@media (hover:hover) and (pointer:fine){.ArtworkReveal-module__2JJ4jW__root[data-hover] .ArtworkReveal-module__2JJ4jW__ring>span{opacity:1}}
.Backdrop-module__s_7hnW__layer{z-index:0;position:absolute;inset:0;overflow:hidden}
.ConnectionThread-module__jIOX_G__connection{--label:clamp(1.15rem, .25rem + 1.8vw, 2.1rem);--core:clamp(2.1rem, .8rem + 2.6vw, 3.8rem);--stem:clamp(.75rem, .4rem + 1.2vw, 1.5rem);--dot:.8rem;--word:var(--core);--gap:calc(var(--word) * .25);--descent:.1656;min-height:var(--viewport-height-small);padding:calc(clamp(6.5rem, 4rem + 6svh, 9rem) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) calc(clamp(2rem, 1rem + 4svh, 3.5rem) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));flex-direction:column;display:flex;position:relative;overflow:hidden}.ConnectionThread-module__jIOX_G__thread{column-gap:var(--gap);grid-template-rows:0;grid-template-columns:auto minmax(0,1fr);height:0;margin-block:auto;display:grid;position:relative}.ConnectionThread-module__jIOX_G__word{margin:0 0 calc(var(--word) * var(--descent) * -1);font-family:var(--font-display);font-size:var(--word);letter-spacing:-.05em;white-space:nowrap;color:var(--color-fg);align-self:end;font-weight:640;line-height:1}.ConnectionThread-module__jIOX_G__run{height:0;position:relative}.ConnectionThread-module__jIOX_G__line{background-color:var(--color-fg);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.ConnectionThread-module__jIOX_G__dot{width:var(--dot);height:var(--dot);margin:calc((1px - var(--dot)) / 2) 0 0 calc(var(--dot) / -2);background-color:var(--color-accent);border-radius:50%;position:absolute;top:0;left:100%}.ConnectionThread-module__jIOX_G__stops{margin:0;padding:0;list-style:none;display:contents}.ConnectionThread-module__jIOX_G__stop,.ConnectionThread-module__jIOX_G__core{bottom:var(--stem);color:var(--color-fg);margin:0;padding:0;position:absolute}.ConnectionThread-module__jIOX_G__stop:after,.ConnectionThread-module__jIOX_G__core:after{content:"";width:1px;height:var(--stem);background-color:currentColor;position:absolute;top:100%}.ConnectionThread-module__jIOX_G__stop{left:calc(var(--at) * 100%);justify-items:start;gap:.4rem;max-width:calc(25% - 1rem);display:grid}.ConnectionThread-module__jIOX_G__stop:after{left:0}.ConnectionThread-module__jIOX_G__index{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;color:var(--color-muted)}.ConnectionThread-module__jIOX_G__name{font-family:var(--font-display);font-size:var(--label);letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1.05}.ConnectionThread-module__jIOX_G__core{font-family:var(--font-display);font-size:var(--core);letter-spacing:-.055em;text-align:right;white-space:nowrap;font-weight:640;line-height:1;right:0}.ConnectionThread-module__jIOX_G__core:after{right:0}.ConnectionThread-module__jIOX_G__caption{top:calc(var(--dot) + 1rem);max-width:22rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;text-align:right;color:var(--color-muted);margin:0;position:absolute;right:0}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__word{visibility:hidden}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__line{transform:scaleX(0)}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__dot{opacity:0;left:0}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__stop,.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__core{color:var(--color-muted);opacity:0}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__caption{opacity:0}@media (orientation:landscape) and (max-height:32em){.ConnectionThread-module__jIOX_G__connection{--label:min(clamp(1.15rem, .25rem + 1.8vw, 2.1rem), 6svh);--core:min(clamp(2.1rem, .8rem + 2.6vw, 3.8rem), 10svh);--stem:.7rem;padding-top:calc(4.6rem + var(--safe-top));padding-bottom:calc(1.25rem + var(--safe-bottom))}}@media (orientation:landscape){.ConnectionThread-module__jIOX_G__core{top:var(--stem);bottom:auto}.ConnectionThread-module__jIOX_G__core:after{top:auto;bottom:100%}.ConnectionThread-module__jIOX_G__caption{top:calc(var(--stem) + var(--core) + .9rem)}}@media (orientation:portrait){.ConnectionThread-module__jIOX_G__connection{--label:min(6.6vw, 3.2rem);--core:min(12vw, 5.5rem);--stem:1.1rem;--gap:calc(var(--word) * .35);--lead:max(2.25rem, calc(var(--label) * 1.45));padding-top:calc(7.9rem + var(--word) * 1.1 + var(--safe-top));padding-bottom:calc(5.5rem + var(--safe-bottom))}.ConnectionThread-module__jIOX_G__thread{flex:auto;width:0;height:auto;min-height:16rem;margin-block:0;display:block}.ConnectionThread-module__jIOX_G__word{bottom:calc(100% + var(--gap) - var(--word) * var(--descent));width:max-content;margin:0;position:absolute;left:0}.ConnectionThread-module__jIOX_G__run{height:auto;position:absolute;inset:0}.ConnectionThread-module__jIOX_G__line{transform-origin:50% 0;width:1px;height:auto;bottom:0;right:auto}.ConnectionThread-module__jIOX_G__dot{margin:calc(var(--dot) / -2) 0 0 calc((1px - var(--dot)) / 2);top:100%;left:0}.ConnectionThread-module__jIOX_G__stop,.ConnectionThread-module__jIOX_G__core{top:calc(var(--lead) + var(--at) * (100% - var(--lead)));padding-left:calc(var(--stem) + .75rem);width:max-content;max-width:calc(100vw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));bottom:auto;left:0;right:auto;transform:translateY(-50%)}.ConnectionThread-module__jIOX_G__core{text-align:left}.ConnectionThread-module__jIOX_G__stop:after,.ConnectionThread-module__jIOX_G__core:after{width:var(--stem);height:1px;top:50%;left:0;right:auto}.ConnectionThread-module__jIOX_G__caption{top:calc(100% + var(--core) / 2 + 1rem);width:max-content;max-width:calc(100vw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));padding-left:calc(var(--stem) + .75rem);text-align:left;left:0;right:auto}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__line{transform:scaleY(0)}.ConnectionThread-module__jIOX_G__connection[data-staged] .ConnectionThread-module__jIOX_G__dot{top:0;left:0}}@media (forced-colors:active){.ConnectionThread-module__jIOX_G__line,.ConnectionThread-module__jIOX_G__stop:after,.ConnectionThread-module__jIOX_G__core:after,.ConnectionThread-module__jIOX_G__dot{forced-color-adjust:none}.ConnectionThread-module__jIOX_G__line,.ConnectionThread-module__jIOX_G__stop:after,.ConnectionThread-module__jIOX_G__core:after{background-color:canvastext}.ConnectionThread-module__jIOX_G__dot{background-color:highlight}}
.Footer-module__q7ZRWa__footer{--col-gap:clamp(.75rem, 1.6vw, 2rem);--content-w:calc(100cqw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));--em-phrase:8.1;--mq-size:min(clamp(4.5rem, 15cqw, 15rem), 34svh);--mq-duration:80s;border-top:1px solid var(--color-fg);background-color:var(--color-bg);position:relative;overflow-x:clip;container-type:inline-size}.Footer-module__q7ZRWa__top{gap:3rem var(--col-gap);padding:clamp(4rem, 2rem + 6vw, 7.5rem) calc(var(--gutter) + var(--safe-right)) clamp(3.5rem, 2rem + 5svh, 6rem) calc(var(--gutter) + var(--safe-left));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.Footer-module__q7ZRWa__group{min-width:0}.Footer-module__q7ZRWa__invitation,.Footer-module__q7ZRWa__top[data-socials] .Footer-module__q7ZRWa__group:nth-child(4){grid-column:1/-1}.Footer-module__q7ZRWa__heading{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.25rem);font-weight:640;line-height:1.02}.Footer-module__q7ZRWa__sentence{max-width:44ch;color:var(--color-muted);margin:1rem 0 0;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.4}.Footer-module__q7ZRWa__action{border:1px solid var(--color-fg);background-color:var(--color-fg);letter-spacing:-.01em;min-height:3.25rem;color:var(--color-bg);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:.75rem;margin-top:1.75rem;padding:.85rem 1.4rem;font-size:1.0625rem;font-weight:640;line-height:1.2;text-decoration:none;display:inline-flex}.Footer-module__q7ZRWa__action:focus-visible{outline-color:var(--color-fg)}.Footer-module__q7ZRWa__action:focus-visible,.Footer-module__q7ZRWa__action:active{background-color:var(--color-accent);color:var(--color-on-accent)}.Footer-module__q7ZRWa__arrow{width:1.1rem;height:1.1rem;transition:transform var(--duration-fast) var(--ease-out);flex:none}.Footer-module__q7ZRWa__note{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;text-wrap:balance;color:var(--color-muted);margin:.9rem 0 0;line-height:1.25rem}.Footer-module__q7ZRWa__mail{min-height:2.75rem;font-size:var(--text-base);overflow-wrap:anywhere;align-items:center;margin-top:.5rem;display:flex}.Footer-module__q7ZRWa__contactLines{margin:0;padding:0;list-style:none}.Footer-module__q7ZRWa__contactLine{flex-wrap:wrap;align-items:baseline;column-gap:1.25rem;display:flex}.Footer-module__q7ZRWa__contactLink{min-height:2.75rem;font-size:var(--text-base);white-space:nowrap;align-items:center;display:inline-flex}.Footer-module__q7ZRWa__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .5rem;line-height:1.25rem}.Footer-module__q7ZRWa__top>.Footer-module__q7ZRWa__group:first-child .Footer-module__q7ZRWa__label{position:relative}.Footer-module__q7ZRWa__top>.Footer-module__q7ZRWa__group:first-child .Footer-module__q7ZRWa__label:before{content:"";background-color:var(--color-accent);width:.5em;height:.5em;position:absolute;top:calc(50% - .25em);left:-1.1em}.Footer-module__q7ZRWa__list{margin:0;padding:0;list-style:none}.Footer-module__q7ZRWa__link,.Footer-module__q7ZRWa__plain{letter-spacing:-.01em;align-items:center;gap:.5em;min-height:2.75rem;font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);line-height:1.25;display:flex}.Footer-module__q7ZRWa__link{text-underline-offset:.22em;width:fit-content;font-weight:500;text-decoration:none;text-decoration-thickness:1px}.Footer-module__q7ZRWa__plain{color:var(--color-muted);padding-block:.4rem;font-weight:450}.Footer-module__q7ZRWa__socials{grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:.5rem;display:grid}@media (max-width:30em){.Footer-module__q7ZRWa__socials>li:last-child:nth-child(odd){grid-column:1/-1}}.Footer-module__q7ZRWa__social{border:1px solid var(--color-fg);letter-spacing:-.01em;min-height:2.75rem;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-items:center;gap:.65rem;padding:.5rem .9rem;font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem);font-weight:500;line-height:1.25;text-decoration:none;display:flex}.Footer-module__q7ZRWa__socialIcon{flex:none}.Footer-module__q7ZRWa__social:focus-visible,.Footer-module__q7ZRWa__social:active{background-color:var(--color-accent);color:var(--color-on-accent)}.Footer-module__q7ZRWa__smallLink:focus-visible,.Footer-module__q7ZRWa__pause:focus-visible{outline-color:var(--color-accent)}@media (hover:hover){.Footer-module__q7ZRWa__action:hover{background-color:var(--color-accent);color:var(--color-on-accent)}.Footer-module__q7ZRWa__action:hover .Footer-module__q7ZRWa__arrow{transform:translate(.25em)}.Footer-module__q7ZRWa__link:hover,.Footer-module__q7ZRWa__mail:hover,.Footer-module__q7ZRWa__contactLink:hover,.Footer-module__q7ZRWa__smallLink:hover,.Footer-module__q7ZRWa__pause:hover{text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px}.Footer-module__q7ZRWa__social:hover{background-color:var(--color-accent);color:var(--color-on-accent)}.Footer-module__q7ZRWa__smallLink:hover,.Footer-module__q7ZRWa__pause:hover{color:var(--color-accent)}}@media (min-width:48em){.Footer-module__q7ZRWa__top{grid-template-columns:repeat(12,minmax(0,1fr))}.Footer-module__q7ZRWa__group:nth-child(2){grid-column:span 3}.Footer-module__q7ZRWa__group:nth-child(3){grid-column:span 5}.Footer-module__q7ZRWa__top[data-socials] .Footer-module__q7ZRWa__group:nth-child(4){grid-column:span 4}}@media (min-width:64em){.Footer-module__q7ZRWa__top{align-items:start}.Footer-module__q7ZRWa__invitation{grid-column:1/span 5}.Footer-module__q7ZRWa__heading{font-size:clamp(1.75rem,3.1cqw,3.5rem)}.Footer-module__q7ZRWa__group:nth-child(2){grid-column:6/span 3}.Footer-module__q7ZRWa__group:nth-child(3){grid-column:9/span 4}.Footer-module__q7ZRWa__top[data-socials] .Footer-module__q7ZRWa__group:nth-child(2){grid-column:6/span 2}.Footer-module__q7ZRWa__top[data-socials] .Footer-module__q7ZRWa__group:nth-child(3){grid-column:8/span 3}.Footer-module__q7ZRWa__top[data-socials] .Footer-module__q7ZRWa__group:nth-child(4){grid-column:11/span 2}}.Footer-module__q7ZRWa__band{padding-top:clamp(1.5rem,1rem + 2vw,3rem)}.Footer-module__q7ZRWa__marquee{overflow:hidden}.Footer-module__q7ZRWa__band{isolation:isolate;position:relative}.Footer-module__q7ZRWa__backdrop{z-index:-1}.Footer-module__q7ZRWa__track{width:max-content;font-family:var(--font-display);font-size:var(--mq-size);letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;animation:Footer-module__q7ZRWa__marquee var(--mq-duration) linear infinite;will-change:transform;font-weight:800;line-height:.82;display:flex}.Footer-module__q7ZRWa__loop{flex:none;align-items:center;display:flex}.Footer-module__q7ZRWa__phrase{padding-block:.06em .04em;display:block}.Footer-module__q7ZRWa__dot{background-color:var(--color-accent);flex:none;width:.1em;height:.1em;margin-inline:.2em}.Footer-module__q7ZRWa__footer[data-idle] .Footer-module__q7ZRWa__track,.Footer-module__q7ZRWa__footer[data-paused] .Footer-module__q7ZRWa__track{animation-play-state:paused}@keyframes Footer-module__q7ZRWa__marquee{to{transform:translate(-50%)}}@media (max-width:47.99em){.Footer-module__q7ZRWa__footer{--mq-duration:40s}}.Footer-module__q7ZRWa__base{padding:.25rem calc(var(--gutter) + var(--safe-right)) calc(.25rem + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));border-top:1px solid var(--color-line);background-color:var(--color-bg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 2rem;margin-top:clamp(1rem,.75rem + 1.2vw,2rem);display:flex}.Footer-module__q7ZRWa__meta,.Footer-module__q7ZRWa__controls{flex-wrap:wrap;align-items:center;gap:0 1.75rem;min-width:0;display:flex}.Footer-module__q7ZRWa__copy{margin:0;padding-block:.75rem}.Footer-module__q7ZRWa__legal{flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;list-style:none;display:flex}.Footer-module__q7ZRWa__pause,.Footer-module__q7ZRWa__smallLink,.Footer-module__q7ZRWa__cookies{min-height:2.75rem;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;align-items:center;gap:.6em;text-decoration:none;display:inline-flex}.Footer-module__q7ZRWa__cookies{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.Footer-module__q7ZRWa__pauseIcon{flex:none}.Footer-module__q7ZRWa__toTop{color:var(--color-fg)}@media (max-width:47.99em){.Footer-module__q7ZRWa__controls{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.Footer-module__q7ZRWa__footer{--mq-size:calc(var(--content-w) / var(--em-phrase))}.Footer-module__q7ZRWa__marquee{padding-inline:calc(var(--gutter) + var(--safe-left)) calc(var(--gutter) + var(--safe-right))}.Footer-module__q7ZRWa__track{will-change:auto;width:auto;animation:none}.Footer-module__q7ZRWa__loop:not(:first-child),.Footer-module__q7ZRWa__loop>:nth-child(n+2),.Footer-module__q7ZRWa__pause{display:none}}
.HeroBento-module__p1zMmG__root{--gap:.5rem;--pad:clamp(1rem, .7rem + .9vw, 1.5rem);--title-em:3.5;--hero-top:calc(clamp(1rem, 3vh, 2rem) + clamp(2.75rem, 2.4rem + 1vw, 3.6rem) + var(--safe-top) + clamp(.75rem, 2.4vh, 1.5rem));z-index:1;padding:var(--hero-top) calc(var(--gutter) + var(--safe-right)) calc(var(--gutter) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));color:var(--color-fg);pointer-events:none;position:absolute;inset:0}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.HeroBento-module__p1zMmG__root:not([data-ready]){visibility:hidden}}.HeroBento-module__p1zMmG__grid{gap:var(--gap);height:100%;display:grid}.HeroBento-module__p1zMmG__tile{min-width:0;min-height:0;padding:var(--pad);position:relative;overflow:hidden}.HeroBento-module__p1zMmG__tile:before{content:"";border:1px solid var(--color-line);clip-path:inset(0 calc((1 - var(--draw,1)) * 100%) 0 0);pointer-events:none;position:absolute;inset:0}.HeroBento-module__p1zMmG__kicker,.HeroBento-module__p1zMmG__servicesLink,.HeroBento-module__p1zMmG__threadLabels,.HeroBento-module__p1zMmG__hint,.HeroBento-module__p1zMmG__note,.HeroBento-module__p1zMmG__number{font-family:var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.HeroBento-module__p1zMmG__titleTile{grid-template-rows:auto minmax(0,1fr);display:grid;container-type:size}.HeroBento-module__p1zMmG__kicker{font-size:var(--text-xs);letter-spacing:var(--tracking-label);padding-inline-start:.55em}.HeroBento-module__p1zMmG__title{font-family:var(--font-display);font-size:min(calc(100cqw / var(--title-em)), calc((100cqh - 2rem) / 1.8));letter-spacing:-.045em;align-self:end;font-weight:700}.HeroBento-module__p1zMmG__line{white-space:nowrap;margin-bottom:-.18em;line-height:1;display:block}.HeroBento-module__p1zMmG__word{display:inline-block}.HeroBento-module__p1zMmG__asterisk{vertical-align:.4em;width:.3em;height:.3em;margin-left:.08em;display:inline-block}.HeroBento-module__p1zMmG__asterisk svg{fill:none;stroke:currentColor;stroke-width:5.5px;width:100%;height:100%;display:block}.HeroBento-module__p1zMmG__chars{display:inline}.HeroBento-module__p1zMmG__wordBox{white-space:nowrap;display:inline-block}.HeroBento-module__p1zMmG__mask{clip-path:inset(-.14em -.08em -.3em);display:inline-block}.HeroBento-module__p1zMmG__ch{display:inline-block}.HeroBento-module__p1zMmG__statementTile{align-items:center;display:flex;container-type:inline-size}.HeroBento-module__p1zMmG__statement{letter-spacing:-.02em;justify-items:start;font-size:clamp(1.25rem,6vw,1.75rem);line-height:1.12;display:grid}.HeroBento-module__p1zMmG__statementLine{margin-block:-.08em;padding-block:.08em;display:block;overflow:hidden}.HeroBento-module__p1zMmG__servicesTile{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"link link""list list""segments segments";align-items:start;display:grid}.HeroBento-module__p1zMmG__servicesLink{min-height:2.75rem;margin-block:calc(-1 * var(--pad)) 0;font-size:var(--text-xs);letter-spacing:var(--tracking-label);pointer-events:auto;transition:color var(--duration-fast) var(--ease-out);grid-area:link;justify-self:start;align-items:center;gap:.6rem;padding-block-start:calc(var(--pad) - .5rem);text-decoration:none;display:inline-flex}.HeroBento-module__p1zMmG__linkArrow,.HeroBento-module__p1zMmG__callArrow{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:square;width:1rem;height:1rem;transition:transform var(--duration-fast) var(--ease-out);flex:none}.HeroBento-module__p1zMmG__servicesLink:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.HeroBento-module__p1zMmG__listWrap{--i:0;--count:6;grid-area:list;align-self:stretch;min-height:0;position:relative}.HeroBento-module__p1zMmG__marker{width:0;height:calc(100% / var(--count));pointer-events:none;transform:translateY(calc(var(--i) * 100%));transition:transform .7s cubic-bezier(.19,1,.22,1);position:absolute;top:0;left:0}.HeroBento-module__p1zMmG__marker:before{content:"";background-color:var(--color-accent);width:.5rem;height:.5rem;margin-top:-.25rem;position:absolute;top:50%;left:-.875rem}.HeroBento-module__p1zMmG__list{grid-template-rows:repeat(var(--count), minmax(0, 1fr));border-bottom:1px solid var(--color-line);height:100%;padding:0;list-style:none;display:grid}.HeroBento-module__p1zMmG__item{border-top:1px solid var(--color-line);letter-spacing:-.01em;color:var(--color-muted);transition:color .45s var(--ease-out);grid-template-columns:3rem minmax(0,1fr);align-items:center;font-size:1.25rem;font-weight:500;line-height:1.1;display:grid}.HeroBento-module__p1zMmG__item[data-active]{color:var(--color-fg)}.HeroBento-module__p1zMmG__number{font-size:var(--text-xs);letter-spacing:.06em;font-weight:400}.HeroBento-module__p1zMmG__name{min-width:0;margin-block:-.14em;padding-block:.14em;overflow:hidden}:root[data-lens-open] .HeroBento-module__p1zMmG__item{color:var(--color-fg)}.HeroBento-module__p1zMmG__segments{grid-area:segments;display:none}.HeroBento-module__p1zMmG__threadTile{grid-template-rows:auto minmax(2rem,1fr) auto;grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.HeroBento-module__p1zMmG__threadLabels{z-index:1;font-size:var(--text-xs);letter-spacing:var(--tracking-label);grid-area:1/1;grid-template-columns:1fr auto 1fr;gap:1rem;display:grid;position:relative}.HeroBento-module__p1zMmG__threadLabels>span:last-child{justify-self:end}.HeroBento-module__p1zMmG__stringRow{grid-area:1/1/-1/-1;min-height:0;position:relative}.HeroBento-module__p1zMmG__staticLine{border-top:1px solid var(--color-fg);position:absolute;top:50%;left:.28rem;right:.28rem}.HeroBento-module__p1zMmG__threadTile[data-live] .HeroBento-module__p1zMmG__staticLine{display:none}.HeroBento-module__p1zMmG__node{border:1px solid var(--color-fg);border-radius:50%;width:.5625rem;height:.5625rem;margin-top:-.28125rem;position:absolute;top:50%}.HeroBento-module__p1zMmG__ring{border:1px solid var(--color-fg);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-1px}.HeroBento-module__p1zMmG__nodeFrom{left:0}.HeroBento-module__p1zMmG__nodeTo{background-color:var(--color-fg);right:0}.HeroBento-module__p1zMmG__string{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.HeroBento-module__p1zMmG__stringPath{fill:none;stroke:var(--color-fg);stroke-width:1.25px;stroke-dasharray:1;stroke-dashoffset:0}.HeroBento-module__p1zMmG__strand{fill:none;stroke:var(--color-fg);stroke-width:1px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:0}.HeroBento-module__p1zMmG__start{fill:none;stroke:var(--color-fg);stroke-width:1px;opacity:0}.HeroBento-module__p1zMmG__knot{opacity:0}.HeroBento-module__p1zMmG__knot path{fill:none;stroke:var(--color-fg);stroke-width:1.6px;stroke-linecap:square}.HeroBento-module__p1zMmG__threadTile[data-live] .HeroBento-module__p1zMmG__strand{opacity:.8}.HeroBento-module__p1zMmG__threadTile[data-live] .HeroBento-module__p1zMmG__start,.HeroBento-module__p1zMmG__threadTile[data-live] .HeroBento-module__p1zMmG__knot{opacity:1}.HeroBento-module__p1zMmG__threadTile[data-live] .HeroBento-module__p1zMmG__nodeFrom{display:none}.HeroBento-module__p1zMmG__echo{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;opacity:0}.HeroBento-module__p1zMmG__threadTile[data-motion] .HeroBento-module__p1zMmG__echo{opacity:.9}.HeroBento-module__p1zMmG__hint{z-index:1;letter-spacing:.12em;grid-area:3/1;font-size:.6875rem;position:relative}.HeroBento-module__p1zMmG__touchHint{display:none}@media (scripting:none){.HeroBento-module__p1zMmG__hint{display:none}}@media (hover:none) and (pointer:coarse){.HeroBento-module__p1zMmG__pointerHint{display:none}.HeroBento-module__p1zMmG__touchHint{display:inline}}.HeroBento-module__p1zMmG__callTile{background-color:var(--color-accent);color:var(--color-on-accent);pointer-events:auto;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);align-content:space-between;gap:.75rem;text-decoration:none;display:grid}.HeroBento-module__p1zMmG__callTile:before{display:none}.HeroBento-module__p1zMmG__callRow{letter-spacing:-.02em;justify-content:space-between;align-items:flex-end;gap:1rem;font-size:clamp(1.5rem,7vw,2.125rem);font-weight:640;line-height:1;display:flex}.HeroBento-module__p1zMmG__callArrow{stroke-width:1.6px;width:.7em;height:.7em}.HeroBento-module__p1zMmG__callLabel{margin-block:-.12em -.22em;padding-block:.12em .22em;display:inline-block;overflow:hidden}@media (prefers-reduced-motion:no-preference){.HeroBento-module__p1zMmG__callArrow{animation:HeroBento-module__p1zMmG__nudge 3.2s var(--ease-out) infinite}.HeroBento-module__p1zMmG__callTile:hover .HeroBento-module__p1zMmG__callArrow,.HeroBento-module__p1zMmG__callTile:focus-visible .HeroBento-module__p1zMmG__callArrow{animation:none}}@keyframes HeroBento-module__p1zMmG__nudge{0%,62%,to{transform:translate(0)}74%{transform:translate(.32em)}86%{transform:translate(0)}}.HeroBento-module__p1zMmG__note{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:inherit;opacity:.8;order:-1}.HeroBento-module__p1zMmG__callTile:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}.HeroBento-module__p1zMmG__callTile:focus-visible .HeroBento-module__p1zMmG__callArrow,.HeroBento-module__p1zMmG__servicesLink:focus-visible .HeroBento-module__p1zMmG__linkArrow{transform:translate(.25em)}.HeroBento-module__p1zMmG__callTile:active{background-color:var(--color-fg);color:var(--color-bg)}@media (hover:hover){.HeroBento-module__p1zMmG__callTile:hover{background-color:var(--color-fg);color:var(--color-bg)}.HeroBento-module__p1zMmG__callTile:hover .HeroBento-module__p1zMmG__callArrow,.HeroBento-module__p1zMmG__servicesLink:hover .HeroBento-module__p1zMmG__linkArrow{transform:translate(.25em)}.HeroBento-module__p1zMmG__servicesLink:hover{color:var(--color-fg)}}@media not all and (min-width:48em) and (orientation:landscape){.HeroBento-module__p1zMmG__grid{grid-template-rows:minmax(0,1fr) repeat(4,auto);grid-template-columns:minmax(0,1fr)}.HeroBento-module__p1zMmG__titleTile{grid-row:1}.HeroBento-module__p1zMmG__statementTile{grid-row:2}.HeroBento-module__p1zMmG__servicesTile{grid-row:3;grid-template-columns:minmax(0,1fr);grid-template-areas:"link""list""segments";align-items:center;row-gap:.125rem;padding-block:.25rem .875rem}.HeroBento-module__p1zMmG__servicesLink{grid-area:link;justify-self:start;margin-block:0;padding-block:0}.HeroBento-module__p1zMmG__threadLabels,.HeroBento-module__p1zMmG__hint,.HeroBento-module__p1zMmG__note{letter-spacing:.08em;font-size:.625rem}.HeroBento-module__p1zMmG__threadLabels{white-space:nowrap}.HeroBento-module__p1zMmG__listWrap{grid-area:list;align-self:center}.HeroBento-module__p1zMmG__marker{display:none}.HeroBento-module__p1zMmG__list{border-bottom:0;display:block}.HeroBento-module__p1zMmG__item{border-top:0;grid-template-columns:2.25rem minmax(0,1fr);min-height:2rem;font-size:clamp(1rem,4.7vw,1.25rem)}.HeroBento-module__p1zMmG__item:not([data-active]){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.HeroBento-module__p1zMmG__item[data-active]{animation:HeroBento-module__p1zMmG__lit .6s var(--ease-out)}.HeroBento-module__p1zMmG__segments{gap:.25rem;display:flex}.HeroBento-module__p1zMmG__segments i{background-color:var(--color-line);height:2px;transition:background-color .45s var(--ease-out);flex:1}.HeroBento-module__p1zMmG__segments i[data-active]{background-color:var(--color-accent)}.HeroBento-module__p1zMmG__threadTile{grid-row:4;padding-block:.875rem}.HeroBento-module__p1zMmG__callTile{grid-row:5}}@keyframes HeroBento-module__p1zMmG__lit{0%{opacity:0;transform:translateY(.4em)}}@media (max-height:47em) and (max-width:47.99em),(max-height:47em) and (orientation:portrait){.HeroBento-module__p1zMmG__grid{grid-template-rows:minmax(0,1fr) repeat(3,auto)}.HeroBento-module__p1zMmG__threadTile{display:none}.HeroBento-module__p1zMmG__callTile{grid-row:4}}@media (max-height:36em) and (max-width:47.99em),(max-height:36em) and (orientation:portrait){.HeroBento-module__p1zMmG__grid{grid-template-rows:minmax(0,1fr) repeat(2,auto)}.HeroBento-module__p1zMmG__servicesTile{display:none}.HeroBento-module__p1zMmG__callTile{grid-row:3}}@media (min-width:48em) and (orientation:landscape){.HeroBento-module__p1zMmG__root{--gap:.75rem}.HeroBento-module__p1zMmG__grid{grid-template-rows:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);grid-template-columns:repeat(12,minmax(0,1fr))}.HeroBento-module__p1zMmG__titleTile{grid-area:1/1/4/9}.HeroBento-module__p1zMmG__statementTile{grid-area:1/9/2/13;container-type:size}.HeroBento-module__p1zMmG__statement{font-size:min(2.125rem,28.5714cqh,11cqw)}.HeroBento-module__p1zMmG__servicesTile{grid-area:2/9/4/13;grid-template-rows:auto minmax(0,1fr);container-type:size}.HeroBento-module__p1zMmG__item{font-size:min(1.375rem,7.69231cqh,5.88235cqw)}.HeroBento-module__p1zMmG__threadTile{grid-area:4/1/5/9}.HeroBento-module__p1zMmG__callTile{grid-area:4/9/5/13;container-type:size}.HeroBento-module__p1zMmG__callRow{font-size:min(3.125rem,12cqw,28cqh);line-height:.95}.HeroBento-module__p1zMmG__note{letter-spacing:.08em;font-size:.6875rem}}@media (orientation:landscape) and (max-height:32em){.HeroBento-module__p1zMmG__root{--hero-top:calc(4.75rem + var(--safe-top));padding-bottom:calc(1rem + var(--safe-bottom))}.HeroBento-module__p1zMmG__grid{--gap:.5rem;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr))}.HeroBento-module__p1zMmG__titleTile{grid-area:1/1/3/8}.HeroBento-module__p1zMmG__statementTile{grid-area:1/8/2/13;container-type:size}.HeroBento-module__p1zMmG__statement{font-size:min(1.375rem,28.5714cqh,11cqw)}.HeroBento-module__p1zMmG__note{letter-spacing:.08em;font-size:.625rem}.HeroBento-module__p1zMmG__callTile{grid-area:2/8/3/13;container-type:size}.HeroBento-module__p1zMmG__callRow{font-size:min(1.5rem,7cqw,40cqh)}.HeroBento-module__p1zMmG__servicesTile,.HeroBento-module__p1zMmG__threadTile,.HeroBento-module__p1zMmG__kicker{display:none}}
.Hero-module__7HnD1W__hero{height:var(--viewport-height-small);isolation:isolate;background-color:var(--color-bg);min-height:20rem;position:relative;overflow:hidden}
.Projects-module__qVqNQW__projects{--dwell:45svh;background-color:var(--color-bg);position:relative}.Projects-module__qVqNQW__list{margin:0;padding:0;list-style:none}.Projects-module__qVqNQW__project{container-type:inline-size}.Projects-module__qVqNQW__panel{--col-gap:clamp(.75rem, 1.6vw, 2rem);--pad-top:calc(clamp(6.5rem, 4rem + 6svh, 9rem) + var(--safe-top));--pad-bottom:calc(clamp(2rem, 1rem + 4svh, 3.5rem) + var(--safe-bottom));--row-gap:clamp(.9rem, 2.2svh, 1.6rem);--meta-h:1.25rem;--title-em:6.3;--number-scale:1;--content-w:calc(100cqw - 2 * var(--gutter) - var(--safe-left) - var(--safe-right));--title-room:var(--content-w);--title-size:min(calc(var(--content-w) / var(--title-em)), 12svh);--stage-w:var(--content-w);--fig-max-h:56svh;row-gap:var(--row-gap);padding:var(--pad-top) calc(var(--gutter) + var(--safe-right)) var(--pad-bottom) calc(var(--gutter) + var(--safe-left));background-color:var(--color-bg);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.Projects-module__qVqNQW__project+.Projects-module__qVqNQW__project .Projects-module__qVqNQW__panel{border-top:1px solid var(--color-line)}.Projects-module__qVqNQW__panel{isolation:isolate}.Projects-module__qVqNQW__backdrop{z-index:-1}.Projects-module__qVqNQW__meta>span{padding-block:.3em}.Projects-module__qVqNQW__details{margin:-.8rem;padding:.8rem}.Projects-module__qVqNQW__meta{min-height:var(--meta-h);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--meta-h);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem 1.25em;margin:0;display:flex}.Projects-module__qVqNQW__meta>span{white-space:nowrap}.Projects-module__qVqNQW__meta>span:first-child{position:relative}.Projects-module__qVqNQW__meta>span:first-child:before{content:"";background-color:var(--color-accent);width:.5em;height:.5em;position:absolute;top:calc(50% - .25em);left:-1.1em}.Projects-module__qVqNQW__status{color:var(--color-fg)}.Projects-module__qVqNQW__number,.Projects-module__qVqNQW__title{font-family:var(--font-display);margin:0;line-height:.94}.Projects-module__qVqNQW__number{font-size:calc(var(--title-size) * var(--number-scale));font-variant-numeric:tabular-nums;letter-spacing:-.05em;justify-self:start;font-weight:450}.Projects-module__qVqNQW__title{font-size:min(var(--title-size), calc(var(--title-room) / var(--title-ems,var(--title-em))));letter-spacing:-.045em;white-space:nowrap;align-self:end;font-weight:640}.Projects-module__qVqNQW__figure{margin:0}.Projects-module__qVqNQW__frame{--fig-w:min(var(--stage-w), calc(var(--fig-max-h) * var(--ratio)));width:var(--fig-w);aspect-ratio:var(--ratio);background-color:var(--tone,var(--color-line));position:relative;overflow:hidden}.Projects-module__qVqNQW__image{object-fit:cover}.Projects-module__qVqNQW__visit{color:inherit;cursor:pointer;display:block;position:absolute;inset:0}.Projects-module__qVqNQW__visit:after{content:"Visit site ↗";background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);padding:.5em .8em;position:absolute;top:.9rem;right:.9rem}.Projects-module__qVqNQW__visit:focus-visible:after,.Projects-module__qVqNQW__visit:hover:after{opacity:1;background-color:var(--color-accent)}@media (hover:none){.Projects-module__qVqNQW__visit:after{opacity:1}}.Projects-module__qVqNQW__placeholder{border:1px dashed var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-align:center;text-transform:uppercase;color:var(--color-muted);place-items:center;margin:0;padding:1rem;display:grid;position:absolute;inset:0}.Projects-module__qVqNQW__text{flex-direction:column;justify-content:space-between;gap:1.75rem;display:flex}.Projects-module__qVqNQW__summary{max-inline-size:34ch;color:var(--color-muted);margin:0;font-size:clamp(1rem,.85rem + .35vw,1.25rem);line-height:1.4}.Projects-module__qVqNQW__details{gap:1rem;margin:0;display:grid}.Projects-module__qVqNQW__details>div{flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;display:flex}.Projects-module__qVqNQW__details dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);flex:0 0 5.5rem}.Projects-module__qVqNQW__details dd{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;flex:9rem;margin:0;line-height:1.45}.Projects-module__qVqNQW__details a{text-underline-offset:.25em;align-items:center;min-height:2.75rem;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex}.Projects-module__qVqNQW__details a:hover{text-decoration-thickness:2px}.Projects-module__qVqNQW__serviceList{margin:0;padding:0;list-style:none}.Projects-module__qVqNQW__veil{background-color:var(--color-bg);opacity:0;pointer-events:none;position:absolute;inset:0}@media (orientation:landscape){.Projects-module__qVqNQW__panel{--title-room:calc(.75 * var(--content-w) - .25 * var(--col-gap));--title-size:min(calc((.75 * var(--content-w) - .25 * var(--col-gap)) / var(--title-em)), 17svh);--stage-w:calc((2 * var(--content-w) - var(--col-gap)) / 3);--fig-max-h:calc(100svh - var(--pad-top) - var(--pad-bottom) - var(--meta-h) - var(--title-size) * .94 - 2 * var(--row-gap));column-gap:var(--col-gap);grid-template-rows:auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));align-content:start;min-height:100svh}.Projects-module__qVqNQW__meta{grid-area:1/1/auto/-1}.Projects-module__qVqNQW__title{grid-area:2/1/auto/span 9}.Projects-module__qVqNQW__number{grid-area:2/10/auto/-1;justify-self:end}.Projects-module__qVqNQW__figure{grid-area:3/5/auto/-1}.Projects-module__qVqNQW__text{grid-area:3/1/auto/span 4}}@media (orientation:landscape) and (max-height:40em){.Projects-module__qVqNQW__panel{--pad-top:calc(4.6rem + var(--safe-top));--pad-bottom:calc(1.5rem + var(--safe-bottom));--title-size:min(calc((.75 * var(--content-w) - .25 * var(--col-gap)) / var(--title-em)), 26svh);--fig-max-h:62svh;min-height:0}}@media (orientation:landscape) and (min-width:48em) and (min-height:40em){.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__project{height:100svh;margin-bottom:var(--dwell);position:sticky;top:0}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__project:last-child{margin-bottom:0}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__list:after{content:"";height:calc(100svh + var(--dwell));display:block}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__panel{height:100%;overflow:hidden}}@media (orientation:portrait){.Projects-module__qVqNQW__projects[data-staged]{--dwell:30svh}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__project{margin-bottom:var(--dwell);position:sticky;top:0}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__project:last-child{margin-bottom:0}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__list:after{content:"";height:calc(var(--dwell) + 2px);display:block}.Projects-module__qVqNQW__projects[data-staged] .Projects-module__qVqNQW__panel{min-height:100svh}}
.Services-module__3v72JG__services{--tile:clamp(9rem, 30svh, 16rem);background-color:var(--color-bg);position:relative}.Services-module__3v72JG__inner{--em-heading:4;--head-size:min(calc(100cqw / var(--em-heading)), 14svh);--col-gap:clamp(.75rem, 1.6vw, 2rem);--index-w:2.75rem;--title-size:min(10cqw, 2.75rem);--row-pad:1.25rem;padding:clamp(4rem, 2rem + 6vw, 8rem) calc(var(--gutter) + var(--safe-right)) calc(clamp(4rem, 2rem + 6svh, 7rem) + var(--safe-bottom)) calc(var(--gutter) + var(--safe-left));container-type:inline-size}.Services-module__3v72JG__head{margin-bottom:clamp(2rem,1rem + 4cqw,4.5rem)}.Services-module__3v72JG__heading{font-family:var(--font-display);font-size:var(--head-size);letter-spacing:-.045em;margin:0;font-weight:640;line-height:.95}.Services-module__3v72JG__line{white-space:nowrap;margin:-.06em 0 -.14em;padding:.06em 0 .14em;display:block;overflow:hidden}.Services-module__3v72JG__lineInner{display:block}.Services-module__3v72JG__stop{background-color:var(--color-accent);width:.12em;height:.12em;margin-left:.06em;display:inline-block}.Services-module__3v72JG__list{border-bottom:1px solid var(--color-line);margin:0;padding:0;list-style:none}.Services-module__3v72JG__row{border-top:1px solid var(--color-line)}.Services-module__3v72JG__body{padding-block:var(--row-pad);transition:opacity var(--duration-fast) var(--ease-out);grid-template-columns:minmax(0,1fr);display:grid}.Services-module__3v72JG__title{font:inherit;margin:0}.Services-module__3v72JG__trigger{grid-template-columns:var(--index-w) minmax(0, 1fr);text-align:left;width:100%;min-height:2.75rem;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:baseline;padding:0 2.25rem 0 0;display:grid;position:relative}.Services-module__3v72JG__index{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-muted)}.Services-module__3v72JG__name{font-family:var(--font-display);font-size:var(--title-size);letter-spacing:-.045em;font-weight:640;line-height:1.02}.Services-module__3v72JG__summary{max-inline-size:calc(var(--index-w) + 34ch);padding-left:var(--index-w);font-size:var(--text-sm);color:var(--color-muted);margin:.5rem 0 0;line-height:1.5}.Services-module__3v72JG__icon{top:calc(var(--title-size) * .5 - .575rem);width:1.15rem;height:1.15rem;transition:background-color var(--duration-fast) var(--ease-expo);position:absolute;right:0}.Services-module__3v72JG__icon:before,.Services-module__3v72JG__icon:after{content:"";background-color:currentColor;position:absolute}.Services-module__3v72JG__icon:before{height:1.5px;top:calc(50% - .75px);left:0;right:0}.Services-module__3v72JG__icon:after{width:1.5px;transition:transform var(--duration-fast) var(--ease-expo);top:0;bottom:0;left:calc(50% - .75px)}.Services-module__3v72JG__trigger[aria-expanded=true] .Services-module__3v72JG__icon{background-color:var(--color-accent)}.Services-module__3v72JG__trigger[aria-expanded=true] .Services-module__3v72JG__icon:after{transform:scaleY(0)}.Services-module__3v72JG__panel{visibility:hidden;transition:grid-template-rows var(--duration-fast) var(--ease-expo), visibility 0s linear var(--duration-fast);grid-template-rows:0fr;display:grid}.Services-module__3v72JG__row[data-open] .Services-module__3v72JG__panel{visibility:visible;transition:grid-template-rows var(--duration-fast) var(--ease-expo), visibility 0s;grid-template-rows:1fr}.Services-module__3v72JG__panelInner{min-height:0;overflow:hidden}.Services-module__3v72JG__figure{width:min(16rem, calc(100% - var(--index-w)));aspect-ratio:1;margin:1rem 0 0 var(--index-w);background-color:var(--color-accent);position:relative}.Services-module__3v72JG__image{object-fit:contain;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.Services-module__3v72JG__image[data-loaded]{opacity:1}.Services-module__3v72JG__tile{z-index:5;width:var(--tile);height:var(--tile);pointer-events:none;display:none;position:fixed;top:0;left:0}.Services-module__3v72JG__tileBox{background-color:var(--color-accent);opacity:0;visibility:hidden;width:100%;height:100%;position:relative}.Services-module__3v72JG__tileBox img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;inset:0}.Services-module__3v72JG__tileBox img[data-on]{opacity:1}@media (min-width:48em){.Services-module__3v72JG__inner{--index-w:4rem;--title-size:min(5.4cqw, 3.25rem);--row-pad:1.5rem}}@media (min-width:64em){.Services-module__3v72JG__inner{--index-w:5rem;--title-size:min(4.6cqw, 6rem);--summary-w:clamp(16rem, 26cqw, 24rem);--row-pad:clamp(1.25rem, 2.4cqw, 2.25rem)}.Services-module__3v72JG__body{grid-template-columns:minmax(0, 1fr) var(--summary-w);column-gap:var(--col-gap);align-items:baseline}.Services-module__3v72JG__summary{grid-area:1/2;max-inline-size:none;margin:0;padding-left:0}.Services-module__3v72JG__panel{grid-area:2/1}}@media (hover:hover) and (pointer:fine){.Services-module__3v72JG__tile{display:block}.Services-module__3v72JG__icon{display:none}.Services-module__3v72JG__trigger{padding-right:0}.Services-module__3v72JG__trigger:before{content:"";top:calc(var(--title-size) * .5 - .25rem);background-color:var(--color-accent);width:.5rem;height:.5rem;transition:transform var(--duration-fast) var(--ease-expo);position:absolute;left:-1rem;transform:scale(0)}.Services-module__3v72JG__row[data-active] .Services-module__3v72JG__trigger:before,.Services-module__3v72JG__trigger:focus-visible:before{transform:scale(1)}.Services-module__3v72JG__list[data-hover] .Services-module__3v72JG__row:not([data-active],[data-open],:has(:focus-visible)) .Services-module__3v72JG__body{opacity:.35}}
.LegalPage-module__bHW_4a__page{--col-gap:clamp(.75rem, 1.6vw, 2rem);padding:calc(clamp(7rem, 5rem + 8vw, 11rem) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) clamp(4rem, 3rem + 6vw, 8rem) calc(var(--gutter) + var(--safe-left));background-color:var(--color-bg)}.LegalPage-module__bHW_4a__article{grid-template-columns:minmax(0,1fr);row-gap:clamp(2.5rem,2rem + 3vw,4.5rem);display:grid}@media (min-width:64em){.LegalPage-module__bHW_4a__article{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.LegalPage-module__bHW_4a__head{grid-column:1/6}.LegalPage-module__bHW_4a__sections{grid-column:6/-1}}.LegalPage-module__bHW_4a__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);position:relative}.LegalPage-module__bHW_4a__label:before{content:"";background-color:var(--color-accent);width:.5em;height:.5em;position:absolute;top:calc(50% - .25em);left:-1.1em}.LegalPage-module__bHW_4a__title{font-family:var(--font-display);letter-spacing:-.045em;margin-top:1.25rem;font-size:clamp(2.75rem,1.6rem + 5vw,6rem);font-weight:640;line-height:.95}.LegalPage-module__bHW_4a__updated{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-top:1.5rem}.LegalPage-module__bHW_4a__intro{max-width:28rem;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-.015em;margin-top:1.75rem}.LegalPage-module__bHW_4a__section{border-top:1px solid var(--color-fg);padding:1.75rem 0 2.25rem}.LegalPage-module__bHW_4a__section:first-child{border-top-color:var(--color-line)}.LegalPage-module__bHW_4a__heading{font-size:var(--text-lg);font-weight:560;line-height:var(--leading-snug);letter-spacing:-.02em;align-items:baseline;gap:1rem;display:flex}.LegalPage-module__bHW_4a__number{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);color:var(--color-muted)}.LegalPage-module__bHW_4a__body{max-width:40rem;font-size:var(--text-base);gap:1rem;margin-top:1.1rem;line-height:1.65;display:grid}.LegalPage-module__bHW_4a__body ul{gap:.5rem;padding-inline-start:1.25rem;display:grid}.LegalPage-module__bHW_4a__body a{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}
.AllProjects-module__zcF1tW__page{--col-gap:clamp(1rem, 2vw, 2.5rem);padding:calc(clamp(7rem, 5rem + 8vw, 11rem) + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) clamp(4rem, 3rem + 6vw, 8rem) calc(var(--gutter) + var(--safe-left));background-color:var(--color-bg)}.AllProjects-module__zcF1tW__head{max-width:44rem;display:grid}.AllProjects-module__zcF1tW__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);justify-self:start;position:relative}.AllProjects-module__zcF1tW__label:before{content:"";background-color:var(--color-accent);width:.5em;height:.5em;position:absolute;top:calc(50% - .25em);left:-1.1em}.AllProjects-module__zcF1tW__title{font-family:var(--font-display);letter-spacing:-.045em;margin-top:1.25rem;font-size:clamp(2.75rem,1.6rem + 5vw,6rem);font-weight:640;line-height:.95}.AllProjects-module__zcF1tW__intro{max-width:32rem;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-.015em;margin-top:1.75rem}.AllProjects-module__zcF1tW__count{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);align-items:center;gap:1rem;margin-top:1.75rem;display:flex}.AllProjects-module__zcF1tW__rule{background-color:var(--color-line);flex:0 0 2.5rem;height:1px}.AllProjects-module__zcF1tW__back{color:var(--color-fg);text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:1px}.AllProjects-module__zcF1tW__back:hover{text-decoration-thickness:2px}.AllProjects-module__zcF1tW__grid{gap:clamp(3rem, 2rem + 4vw, 5rem) var(--col-gap);grid-template-columns:minmax(0,1fr);margin:clamp(3rem,2rem + 4vw,6rem) 0 0;padding:0;list-style:none;display:grid}@media (min-width:48em){.AllProjects-module__zcF1tW__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80em){.AllProjects-module__zcF1tW__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.AllProjects-module__zcF1tW__card>article{align-content:start;row-gap:.9rem;display:grid}.AllProjects-module__zcF1tW__media{aspect-ratio:4/3;background-color:var(--tone,var(--color-line));position:relative;overflow:hidden}.AllProjects-module__zcF1tW__image{object-fit:cover}.AllProjects-module__zcF1tW__visit{color:inherit;cursor:pointer;display:block;position:absolute;inset:0}.AllProjects-module__zcF1tW__visit:after{content:"Visit site ↗";background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);padding:.5em .8em;position:absolute;top:.75rem;right:.75rem}.AllProjects-module__zcF1tW__visit:focus-visible:after,.AllProjects-module__zcF1tW__visit:hover:after{opacity:1;background-color:var(--color-accent)}@media (hover:none){.AllProjects-module__zcF1tW__visit:after{opacity:1}}@media (hover:hover){.AllProjects-module__zcF1tW__image{transition:transform var(--duration-slow) var(--ease-out)}.AllProjects-module__zcF1tW__visit:hover .AllProjects-module__zcF1tW__image{transform:scale(1.03)}}.AllProjects-module__zcF1tW__placeholder{border:1px dashed var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-align:center;text-transform:uppercase;color:var(--color-muted);place-items:center;margin:0;padding:1rem;display:grid;position:absolute;inset:0}.AllProjects-module__zcF1tW__meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem 1.25em;margin:0;line-height:1.25rem;display:flex}.AllProjects-module__zcF1tW__status{color:var(--color-fg)}.AllProjects-module__zcF1tW__name{font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;margin:0;font-size:clamp(2.25rem,1.7rem + 1.8vw,3.25rem);font-weight:640;line-height:.98}.AllProjects-module__zcF1tW__summary{max-inline-size:36ch;color:var(--color-muted);margin:0;font-size:clamp(1rem,.95rem + .2vw,1.125rem);line-height:1.45}.AllProjects-module__zcF1tW__details{gap:.75rem;margin:.4rem 0 0;display:grid}.AllProjects-module__zcF1tW__details>div{flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;display:flex}.AllProjects-module__zcF1tW__details dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);flex:0 0 5.5rem}.AllProjects-module__zcF1tW__details dd{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;flex:9rem;margin:0;line-height:1.45}.AllProjects-module__zcF1tW__details a{text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:1px}.AllProjects-module__zcF1tW__details a:hover{text-decoration-thickness:2px}.AllProjects-module__zcF1tW__serviceList{margin:0;padding:0;list-style:none}.AllProjects-module__zcF1tW__empty{font-size:var(--text-lg);color:var(--color-muted);margin-top:3rem}
