.mobile-depth{pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0;overflow:visible}.header-scrolled .mobile-depth{display:block}.mobile-depth circle{stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:100;stroke-dashoffset:calc(100 * (1 - var(--page-depth,0)));stroke-linecap:round}.mobile-depth{transform:rotate(-90deg)}.nav-marker{z-index:-1;height:calc(100% - 2 * var(--nav-inset,7px));width:var(--marker-w,0);border-radius:var(--radius-button);background:var(--ink);pointer-events:none;opacity:var(--marker-on,0);translate:var(--marker-x,0) -50%;transition:translate .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),opacity .3s;position:absolute;top:50%;left:0}.nav-cutout[data-settling] .nav-marker{transition:none}.nav-cutout{gap:28px}.header-scrolled .nav-cutout a[data-current=true]{color:var(--paper)}@media (hover:hover) and (pointer:fine){.header-scrolled .nav-cutout a[data-current=true]:hover{color:var(--paper);opacity:1}}.header-actions{align-items:center;gap:20px;display:flex;position:absolute;top:50%;right:0;translate:0 -50%}.header-actions .portal-link{position:static;top:auto;right:auto;translate:none}.account-link{width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--foreground);color:var(--foreground);border-radius:50%;flex:none;place-items:center;transition:background-color .25s,color .25s;display:grid}.account-link:hover,.account-link:focus-visible{background:var(--foreground);color:var(--ink)}.portal-link{justify-content:flex-end;gap:8px;height:auto;top:50%;right:0;translate:0 -50%}.portal-link:before{display:none}.portal-fill{z-index:-1;border-radius:var(--radius-button);box-shadow:inset 0 0 0 1px var(--accent);opacity:1;background:0 0;transition:background-color .25s,box-shadow .25s;position:absolute;inset:0}.portal-link{color:var(--accent)}.portal-link .portal-content{isolation:isolate;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:14px;display:inline-flex;position:relative}.portal-link:focus-visible .portal-fill,.portal-link:hover .portal-fill{background:var(--accent)}.portal-link:focus-visible,.portal-link:hover{color:var(--ink)}.page-hero{margin:var(--page-gutter);padding:calc(var(--header-height) + 44px) 6% 76px;background:var(--ink);min-height:54svh;color:var(--foreground);border-radius:var(--radius) 0 var(--radius) var(--radius);flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;display:flex}.page-hero h1,.page-hero-tag{letter-spacing:-.05em;font-size:clamp(2.9rem,5.8vw,5.2rem);font-weight:500;line-height:1.02}.page-hero h1 em{color:var(--accent)}.page-hero .section-label{color:var(--on-dark-muted)}.page-hero-tag{font-family:var(--font-serif);color:var(--accent);margin-top:-20px;font-style:italic}.page-hero-lead{max-width:56ch;color:var(--on-dark-muted);font-size:17px;line-height:1.65}.page-hero-lead em{font-family:var(--font-serif);color:var(--foreground)}.page-hero-actions{flex-wrap:wrap;gap:28px;margin-top:8px;display:flex}@media (max-width:640px){.page-hero-actions{flex-direction:column;align-items:flex-start;gap:23px}[data-align=center] .page-hero-actions{align-items:center}}.page-crumbs{text-transform:uppercase;color:var(--on-dark-muted);align-items:center;gap:10px;display:flex}.page-crumbs ol{align-items:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.page-crumbs li{align-items:center;gap:10px;display:flex}.page-crumbs li+li:before{content:"/";color:color-mix(in srgb, var(--background) 32%, transparent)}.page-crumbs [aria-current]{color:var(--foreground)}@media (hover:hover) and (pointer:fine){.page-crumbs a:hover{color:var(--accent)}}.page-hero{isolation:isolate;--hero-travel:15%;position:relative;overflow:clip}.hero-glows{z-index:-1;pointer-events:none;translate:0 calc(var(--hero-exit) * var(--hero-travel));will-change:translate;position:absolute;inset:0}.hero-glows>i{width:var(--size);aspect-ratio:1;left:var(--x);top:var(--y);background:radial-gradient(circle closest-side, var(--tint), color-mix(in srgb, var(--tint) 45%, transparent) 45%, transparent 100%);animation:var(--drift) var(--loop) ease-in-out infinite alternate;border-radius:50%;position:absolute;translate:-50% -50%}.hero-glows>i:first-child{--size:clamp(340px, 46vw, 760px);--x:26%;--y:40%;--tint:color-mix(in srgb, var(--accent) 15%, transparent);--drift:hero-drift-a;--loop:34s}.hero-glows>i:nth-child(2){--size:clamp(300px, 40vw, 660px);--x:74%;--y:60%;--tint:color-mix(in srgb, var(--accent) 10%, transparent);--drift:hero-drift-b;--loop:46s}@keyframes hero-drift-a{to{translate:-16% -70%}}@keyframes hero-drift-b{to{translate:-82% -28%}}@keyframes hero-drift-c{to{translate:-24% -20%}}@media (prefers-reduced-motion:reduce){.hero-glows>i{animation:none}}.page-hero[data-align=center]{text-align:center;align-items:center}.page-hero[data-align=center] .page-hero-lead{margin-inline:auto}.testimonials-body{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;gap:6%;display:grid}.testimonial-copy>.section-label{color:var(--muted);margin-bottom:28px}.testimonial-lead{width:min(30rem,100%);color:var(--muted);margin-top:30px;font-size:16px;line-height:1.7}.testimonial-playback{margin-top:34px}.testimonial-stage{display:grid}.testimonial-stage>.testimonial-card{grid-area:1/1}.testimonial-stage>.testimonial-card:not([data-live]){visibility:hidden}.testimonial-card{--bite:calc(129px * (32 / 28));--bite-deep:calc(86px * (32 / 28));--card-pad:34px;min-height:320px;padding:var(--card-pad) var(--card-pad) calc(var(--bite-deep) + 4px);border:1px solid var(--ink);border-radius:var(--radius) 0 var(--radius) 0;background:radial-gradient(circle clamp(150px, 20vw, 300px) at 0% 0%, color-mix(in srgb, var(--accent) 32%, transparent) 0%, color-mix(in srgb, var(--accent) 14%, transparent) 34%, color-mix(in srgb, var(--accent) 4%, transparent) 68%, transparent 100%), radial-gradient(circle clamp(150px, 20vw, 300px) at 100% 100%, color-mix(in srgb, var(--accent) 32%, transparent) 0%, color-mix(in srgb, var(--accent) 14%, transparent) 34%, color-mix(in srgb, var(--accent) 4%, transparent) 68%, transparent 100%), var(--ink);color:var(--foreground);align-content:space-between;gap:34px;margin:0;display:grid;position:relative}@supports (corner-shape:superellipse(1.5)){.testimonial-card{corner-shape:superellipse(1.5)}}@media (prefers-reduced-motion:reduce){.testimonial-card[data-live]{animation:none}}.testimonial-card>.corner-plate{--plate-top:0px;--plate-side:0px;--plate:calc(32 / 28);top:-1px;right:-1px}.testimonial-card>.corner-plate[data-corner=bottom-left]{inset:auto auto -1px -1px}.testimonial-flag{border-radius:3px;width:30px;height:auto}.testimonial-quote{letter-spacing:-.01em;margin:0;padding-right:92px;font-size:19px;line-height:1.65}.testimonial-person{align-items:center;gap:14px;display:flex}.testimonial-photo{object-fit:cover;border-radius:50%;flex:none;width:46px;height:46px}.testimonial-monogram{background:color-mix(in srgb, var(--background) 14%, transparent);border:1px solid color-mix(in srgb, var(--background) 28%, transparent);color:var(--foreground);place-items:center;font-size:15px;font-weight:500;display:grid}.testimonial-who{gap:3px;min-width:0;display:grid}.testimonial-who strong{letter-spacing:-.01em;font-size:16px;font-weight:500}.testimonial-role{color:var(--on-dark-muted);font-size:13px;line-height:1.4}.testimonial-progress{left:var(--bite);right:var(--card-pad);background:color-mix(in srgb, var(--background) 22%, transparent);height:2px;position:absolute;bottom:26px;overflow:hidden}.testimonial-progress>span{background:var(--accent);transform-origin:0;height:100%;animation:7s linear both principle-hold;display:block}.testimonials-body[data-paused] .testimonial-progress>span{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.testimonial-progress>span{animation:none;transform:scaleX(1)}}@media (max-width:900px){.testimonials-body{grid-template-columns:minmax(0,1fr);gap:44px}.testimonial-lead{max-width:none}}@media (max-width:640px){.testimonial-card{--card-pad:26px}.testimonial-card>.corner-plate{--plate:calc(28 / 28)}.testimonial-card{--bite:calc(129px * (28 / 28));--bite-deep:calc(86px * (28 / 28))}.testimonial-quote{padding-right:86px;font-size:17px}}.button-accent{background:var(--accent);color:var(--ink);gap:18px}.button-ghost{color:var(--foreground);border:1px solid color-mix(in srgb, var(--background) 35%, transparent);background:0 0;gap:18px}@media (hover:hover) and (pointer:fine){.button-ghost:hover{background:var(--background);color:var(--foreground)}}.live-dot{background:var(--foreground);border-radius:50%;width:6px;height:6px}.sculpted-section{border-top-right-radius:0;padding-top:100px;position:relative}.corner-plate{--plate-w:144;--plate-h:57;--mask-w:173;--mask-h:86;z-index:3;width:calc(var(--plate-w) * 1px * var(--plate,1));height:calc(var(--plate-h) * 1px * var(--plate,1));isolation:isolate;pointer-events:none;place-items:center;display:grid;position:absolute;top:0;right:0}.corner-plate[data-wide]{--plate-w:210;--mask-w:239}.corner-plate[data-short]{--plate-w:100;--mask-w:129}.corner-plate[data-corner=top-left]{left:0;right:auto;transform:scaleX(-1)}.plate-shape{z-index:-1;top:var(--plate-top,.5px);left:calc(-1 * var(--plate-side,.5px) - 29px * var(--plate,1));width:calc(var(--mask-w) * 1px * var(--plate,1));height:calc(var(--mask-h) * 1px * var(--plate,1));position:absolute;overflow:visible}.corner-plate[data-corner=bottom-left]{inset:auto auto 0 0}.corner-plate[data-corner=bottom-left] .plate-shape{top:auto;left:auto;bottom:var(--plate-top,.5px);right:calc(-1 * var(--plate-side,.5px) - 29px * var(--plate,1));rotate:180deg}.plate-fill{fill:var(--plate-bg,var(--background))}.plate-line{fill:none;stroke:#0000;stroke-width:1px}.corner-plate[data-line] .plate-line{stroke:var(--plate-line,var(--line))}.plate-content{text-align:center;place-items:center;gap:3px;line-height:1;display:grid}.plate-count{font-size:max(17px, calc(25px * var(--plate,1)));letter-spacing:-.04em;color:var(--foreground);align-items:baseline;gap:2px;display:flex}.plate-count i{font-style:normal;font-size:max(11px, calc(13px * var(--plate,1)));color:var(--muted);margin-left:2px}.plate-label{font-size:max(10px, calc(11px * var(--plate,1)));letter-spacing:.12em;color:var(--muted)}.plate-status,.plate-keyword{font-size:max(11px, calc(13px * var(--plate,1)));letter-spacing:.06em;color:var(--foreground);align-items:center;gap:8px;display:inline-flex}.plate-keyword{text-align:center;padding-inline:6px;line-height:1.25}.hero-arc{--orb-fit:.8;--band-h:calc(100cqh - var(--hero-top,0px) - var(--hero-pad,0px));--view-h:calc(100svh - var(--hero-top,0px) - var(--hero-pad,0px));--band-fit:min(var(--band-h), var(--view-h));--orb-w:calc(min(calc(100cqw - 2 * var(--hero-pad,0px)), var(--band-fit)) * var(--orb-fit));--orb-h:calc(var(--orb-w) / 1.77778);top:calc(var(--hero-top,0px) + var(--band-h) / 2 - .98519 * var(--orb-h));width:var(--orb-w);aspect-ratio:1440/810;height:auto;bottom:auto;left:50%;right:auto;translate:-50%}.hero-arc:before{content:"";background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);-webkit-mask-image:radial-gradient(ellipse 14.286% 11.1111% at 50% 49.8149%, transparent 0 112%, #00000052 134%, #000000b8 158%, #000 190%), radial-gradient(ellipse calc(42.858% * var(--hero-reveal,1)) calc(33.333% * var(--hero-reveal,1)) at 50% 49.8149%, #000 0 86%, transparent 100%);mask-image:radial-gradient(ellipse 14.286% 11.1111% at 50% 49.8149%, transparent 0 112%, #00000052 134%, #000000b8 158%, #000 190%), radial-gradient(ellipse calc(42.858% * var(--hero-reveal,1)) calc(33.333% * var(--hero-reveal,1)) at 50% 49.8149%, #000 0 86%, transparent 100%);-webkit-mask-composite:source-in;pointer-events:none;background-position:top;position:absolute;inset:-300% -125% -400%;-webkit-mask-composite:source-in;mask-composite:intersect}.hero-arc:after{content:"";background-image:radial-gradient(circle at center, var(--accent) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);-webkit-mask-image:radial-gradient(ellipse 14.286% 11.1111% at 50% 49.8149%, transparent 0 99.4%, #000 101% 114%, #00000094 134%, #00000038 158%, transparent 190%), radial-gradient(ellipse calc(42.858% * var(--hero-reveal,1)) calc(33.333% * var(--hero-reveal,1)) at 50% 49.8149%, #000 0 86%, transparent 100%);mask-image:radial-gradient(ellipse 14.286% 11.1111% at 50% 49.8149%, transparent 0 99.4%, #000 101% 114%, #00000094 134%, #00000038 158%, transparent 190%), radial-gradient(ellipse calc(42.858% * var(--hero-reveal,1)) calc(33.333% * var(--hero-reveal,1)) at 50% 49.8149%, #000 0 86%, transparent 100%);-webkit-mask-composite:source-in;background-position:top;position:absolute;inset:-300% -125% -400%;-webkit-mask-composite:source-in;mask-composite:intersect}.hero-scroll{color:var(--on-dark-muted);letter-spacing:.12em;text-transform:uppercase;justify-items:center;gap:14px;font-size:12px;font-weight:500;transition:color .25s;display:inline-grid}@media (hover:hover) and (pointer:fine){.hero-scroll:hover{color:var(--foreground)}}.hero-scroll:focus-visible{color:var(--foreground)}.hero-scroll-rail{background:var(--guide-on-ink);width:2px;height:48px;position:relative;overflow:hidden}.hero-scroll-rail i{background:linear-gradient(180deg, transparent, var(--accent));height:24px;animation:2.4s cubic-bezier(.45,0,.55,1) infinite hero-scroll-run;position:absolute;top:0;left:0;right:0}@keyframes hero-scroll-run{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@media (prefers-reduced-motion:reduce){.hero-scroll-rail i{animation:none;top:auto;bottom:0}}.intro{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.intro-copy{max-width:720px}.intro-copy>.section-label{letter-spacing:.12em;color:var(--muted);justify-content:center;align-items:center;margin-bottom:28px;line-height:normal}.section-kicker{background:color-mix(in srgb, var(--foreground) 8%, transparent);white-space:nowrap;border-radius:8px;align-items:center;gap:0;width:fit-content;height:30px;padding:0 14px;line-height:1;display:flex}.hero .eyebrow{background:color-mix(in srgb, color-mix(in srgb, var(--foreground) 8%, var(--ink)) 82%, transparent);width:fit-content;max-width:100%;min-height:30px;color:var(--on-dark-muted);text-align:center;border:0;border-radius:8px;margin-inline:auto;padding:0 14px;line-height:1}.section-heading.is-centered{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px}.section-heading.is-centered>p{width:min(40rem,100%);padding-bottom:0}.section-heading.is-centered{position:relative}.section-heading.is-centered:before{content:"";z-index:-1;width:5px;top:-96px;left:50%;bottom:calc(-1 * var(--heading-gap));background:var(--background);pointer-events:none;position:absolute;transform:translate(-50%)}.section-heading.is-centered .section-label,.welcome-copy>.section-kicker,.intro-copy>.section-kicker{margin-inline:auto}#main{z-index:1;isolation:isolate;position:relative;container-type:inline-size}#main>.section-wrap{background-image:var(--page-rails)}#main>:is(.principles-band,.contact-band,.case-band,.case-still){background-color:var(--background);z-index:1}#main:before{content:"";z-index:-4;pointer-events:none;background-image:var(--field-shade), radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent var(--dot-size));background-size:100% 100svh, var(--dot-gap) var(--dot-gap);-webkit-mask-image:linear-gradient(90deg, #000 0 var(--edge-l-pct), transparent var(--edge-l-pct) calc(100% - var(--edge-l-pct)), #000 calc(100% - var(--edge-l-pct)) 100%), linear-gradient(to bottom, transparent 0 var(--field-cut,0px), #000 var(--field-cut,0px));mask-image:linear-gradient(90deg, #000 0 var(--edge-l-pct), transparent var(--edge-l-pct) calc(100% - var(--edge-l-pct)), #000 calc(100% - var(--edge-l-pct)) 100%), linear-gradient(to bottom, transparent 0 var(--field-cut,0px), #000 var(--field-cut,0px));-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-composite:source-in;mask-composite:intersect}body:has(#main>.hero) #main{--field-cut:max(var(--hero-min), 100svh)}#main>.section-wrap,.principles-band,.contact-band{isolation:isolate;position:relative}#main>.section-wrap .section-heading>:not(.guide-pulses),.intro-copy,.project-caption,.project-link+p{background-color:var(--background);position:relative}#main>.section-wrap:after,.principles-band:before,.principles-band:after,.contact-band:before,.contact-band:after,.case-band:before,.case-band:after,.case-still:before,.contact-detail:before,.footer:after,.service-item:first-child:before,.service-item:last-child:after,.post-item+.post-item:before,.brief-item+.brief-item:before,.project-grid:before,.project-card:nth-child(2n+3):before,.tech-group:before,.process-stepper:before,.system-view:before,.stat-row:before{content:"";top:calc(var(--joint-y,0px) - var(--joint-half-square));left:var(--bleed);right:var(--bleed);height:var(--joint-square);pointer-events:none;z-index:var(--layer-joint);background-repeat:no-repeat;position:absolute}.footer{isolation:isolate;--guide-axis:transparent;--joint-axis-on:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:relative}.footer>span{text-align:right;justify-self:end}.brand .brand-name{white-space:nowrap}.brand .brand-sub{margin:0 0 0 7px;display:inline}.footer:before{content:"";z-index:-2;pointer-events:none;background-image:linear-gradient(90deg, transparent calc(var(--edge-l-pct) - .5px), var(--guide) calc(var(--edge-l-pct) - .5px), var(--guide) calc(var(--edge-l-pct) + .5px), transparent calc(var(--edge-l-pct) + .5px)), linear-gradient(90deg, transparent calc(50% - .5px), var(--guide-axis) calc(50% - .5px), var(--guide-axis) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(90deg, transparent calc(calc(100% - var(--edge-l-pct)) - .5px), var(--guide) calc(calc(100% - var(--edge-l-pct)) - .5px), var(--guide) calc(calc(100% - var(--edge-l-pct)) + .5px), transparent calc(calc(100% - var(--edge-l-pct)) + .5px));height:calc(100% - 17px);position:absolute;top:0;left:0;right:0}.footer:after{content:"";left:var(--edge-l-pct);right:var(--edge-l-pct);z-index:-2;pointer-events:none;background:var(--guide);height:1px;position:absolute;bottom:17px}.principles,.contact{isolation:isolate;padding-inline:calc(var(--edge-l) - var(--page-gutter) + var(--content-pad));--rail-a:calc(var(--edge-l) - var(--page-gutter));--rail-b:calc(50cqw - var(--page-gutter));--rail-c:calc(var(--edge-r) - var(--page-gutter));position:relative}.principles{color:var(--ink);--rail-ink:var(--guide-on-accent);--rail-axis:var(--guide-on-accent)}.contact{--rail-ink:var(--guide-on-ink);--rail-axis:var(--guide-on-ink)}.contact>.corner-plate{--plate-top:0px;--plate-side:0px}@media (max-width:900px){.principles,.contact{--rail-axis:transparent}}.contact:before{content:"";z-index:-2;pointer-events:none;border-radius:inherit;background-image:linear-gradient(90deg, transparent calc(var(--rail-a) - .5px), var(--rail-ink) calc(var(--rail-a) - .5px), var(--rail-ink) calc(var(--rail-a) + .5px), transparent calc(var(--rail-a) + .5px)), linear-gradient(90deg, transparent calc(var(--rail-b) - .5px), var(--rail-axis) calc(var(--rail-b) - .5px), var(--rail-axis) calc(var(--rail-b) + .5px), transparent calc(var(--rail-b) + .5px)), linear-gradient(90deg, transparent calc(var(--rail-c) - .5px), var(--rail-ink) calc(var(--rail-c) - .5px), var(--rail-ink) calc(var(--rail-c) + .5px), transparent calc(var(--rail-c) + .5px));position:absolute;inset:0}.project-grid,.tech-group,.service-item{position:relative}.service-item:first-child:before,.service-item:last-child:after{content:"";left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;z-index:-2;height:1px;position:absolute}.service-item:first-child:before{top:-1px}.service-item:last-child:after{bottom:-1px}.project-grid:before,.tech-group:before{content:"";left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;z-index:-2;height:1px;position:absolute;top:-1px}#main>.services+.section-wrap:after{content:none}.guide-pulses{z-index:var(--layer-pulse);pointer-events:none;--on-line:-.5px;--pulse:clamp(70px, 9vw, 130px);--pulse-ink:color-mix(in srgb, var(--foreground) 55%, transparent);--run:.8;--line-l:var(--sheet-inset-pct);--line-r:calc(100% - var(--sheet-inset-pct));position:absolute;inset:0}.guide-line{position:absolute;overflow:clip}.guide-run{position:absolute;inset:0}.guide-run:before{content:"";background:linear-gradient(var(--pulse-along,to bottom), transparent, var(--pulse-ink) 50%, transparent);animation-duration:calc(var(--dur,12s) / var(--run));animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:calc(-1 * var(--phase,0) * var(--dur,12s) / var(--run));position:absolute}.guide-line[data-way=up] .guide-run:before{animation-direction:reverse}@keyframes guide-run-y{0%{top:calc(-1 * var(--pulse))}80%,to{top:100%}}@keyframes guide-run-x{0%{left:calc(-1 * var(--pulse))}80%,to{left:100%}}.guide-line[data-line=rail]{width:1px;top:0;bottom:0}.guide-line[data-line=rail] .guide-run:before{left:0;right:0;top:calc(-1 * var(--pulse));height:var(--pulse);animation-name:guide-run-y}.guide-line[data-line^=rule]{left:var(--line-l);right:var(--line-l);height:1px}.guide-line[data-line^=rule] .guide-run:before{--pulse-along:to right;top:0;bottom:0;left:calc(-1 * var(--pulse));width:var(--pulse);animation-name:guide-run-x}.guide-pulses[data-side=l]>[data-line=rail]{left:calc(var(--line-l) + var(--on-line))}.guide-pulses[data-side=r]>[data-line=rail]{left:calc(var(--line-r) + var(--on-line))}.guide-line[data-line=rule-top]{top:0}.guide-line[data-line=rule-bottom]{top:auto;bottom:var(--on-line)}#main .service-item:last-child>.guide-pulses>[data-line=rule-bottom]{bottom:-1px}#main>.principles-band>.guide-pulses>[data-line^=rule],#main>.contact-band>.guide-pulses>[data-line^=rule]{left:var(--bleed);right:var(--bleed)}#main>.principles-band>.guide-pulses>[data-line=rule-top],#main>.contact-band>.guide-pulses>[data-line=rule-top]{top:-1px}#main>.principles-band>.guide-pulses>[data-line=rule-bottom],#main>.contact-band>.guide-pulses>[data-line=rule-bottom]{bottom:-1px}.footer>.guide-pulses{--line-l:var(--edge-l-pct);--line-r:calc(100% - var(--edge-l-pct));text-align:initial;justify-self:stretch}.footer>.guide-pulses>[data-line=rail]{bottom:17px}.footer>.guide-pulses>[data-line=rule-bottom]{left:var(--edge-l-pct);right:var(--edge-l-pct);bottom:17px}#main>.intro>.guide-pulses>[data-line=rule-top],#main>.services+.section-wrap>.guide-pulses>[data-line=rule-top],#main>.principles-band+.section-wrap>.guide-pulses>[data-line=rule-top]{display:none}#main>.page-hero+.projects>.guide-pulses>[data-line=rule-top]{top:-1px}.guide-pulses[data-paused] .guide-run:before{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.guide-pulses{display:none}}.tech-group:before{top:-16px}.tech-group+.tech-group:before{left:calc(-1 * var(--content-pad));right:calc(-1 * var(--content-pad))}#main>.page-hero{outline:var(--page-gutter) solid var(--background)}#main>.page-hero+.projects:before,#main>.page-hero+.projects:after{content:none}#main>.page-hero+.projects{padding-top:1px}#main>.page-hero+.projects .project-grid{padding-top:91px}.intro h2{letter-spacing:-.055em;font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.08}.intro h2 em{color:var(--foreground);background:0 0}.intro-lead{margin-top:30px;max-width:58ch;color:var(--muted);margin-inline:auto;font-size:16px;line-height:1.7}.intro-work-link{justify-content:center;margin-top:32px}.hands-stage{width:100%;margin-top:24px;position:relative}.hands{--p:0;pointer-events:none;-webkit-mask-composite:source-in;width:100%;height:clamp(440px,52vw,720px);position:relative;overflow:clip;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000),linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000),linear-gradient(90deg,#0000,#000 7% 93%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect;container-type:size}.hands-art{aspect-ratio:380/286;height:150%;position:absolute;top:50%;left:50%;translate:-50% -50%}@media (max-width:900px){.hands{aspect-ratio:380/286;height:auto}.hands-art{width:100%;height:auto;top:0;left:0;translate:none}}@media (prefers-reduced-motion:reduce){.hands{--p:1}}.hand{-webkit-user-select:none;user-select:none;will-change:transform, opacity;height:auto;display:block;position:absolute}.hand-wire{width:35.5%;transform:translate(calc((1 - var(--p)) * (57cqw - 3.8cqh)), calc((1 - var(--p)) * -75cqh));top:6.2%;left:51.9%}.hand-solid{width:50%;transform:translate(calc((1 - var(--p)) * -6cqw), calc((1 - var(--p)) * 66cqh));top:46.2%;left:4.5%}@media (max-width:900px){.hand-wire{transform:translate(calc((1 - var(--p)) * 55cqw), calc((1 - var(--p)) * -71cqh))}.hand-solid{transform:translate(calc((1 - var(--p)) * -6cqw), calc((1 - var(--p)) * 64cqh))}}.hands-stage>.note-card.hands-note{z-index:3;width:clamp(210px,27%,280px);animation:none;top:max(17%,76px);left:max(9%,76px);translate:none}.hands-note-mark{box-sizing:border-box;background:var(--ink);object-fit:contain;padding:6px}.hands-note-list{gap:8px;margin:0;padding:10px 0 12px;list-style:none;display:grid}.hands-note-row{align-items:flex-start;gap:10px;padding:0 15px;display:flex}.hands-note-row:not([data-shown]){display:none}.hands-note-row[data-shown]{animation:.5s cubic-bezier(.22,1,.36,1) both hands-note-in}.hands-note-row .note-text{flex:1;padding:0}.hands-note-icon{width:20px;height:18px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.hands-note-icon .note-spinner,.hands-note-icon .note-check{margin-left:0}@keyframes hands-note-in{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.hands-note-row[data-shown]{animation:none}}.hands-review{z-index:3;text-align:left;border:1px solid var(--accent);background:var(--ink);border-radius:14px;width:clamp(200px,27%,270px);min-height:168px;margin:0;padding:20px 20px 16px;display:grid;position:absolute;bottom:max(10%,52px);right:max(7%,40px)}.hands-review-item{visibility:hidden;opacity:0;grid-area:1/1;align-content:space-between;gap:16px;display:grid}.hands-review-item[data-on]{visibility:visible;opacity:1;animation:.7s cubic-bezier(.22,1,.36,1) both hands-review-in}.hands-review blockquote{color:var(--foreground);margin:0;font-size:13.5px;line-height:1.55}.hands-review-rule{background:var(--guide);height:1px;display:block}.hands-review figcaption{align-items:center;gap:10px;display:flex}.hands-review-face{object-fit:cover;outline:1px solid var(--accent);outline-offset:2px;border-radius:50%;flex:none;width:30px;height:30px}.hands-review-who{flex:1;min-width:0;display:grid}.hands-review-name{color:#f4f6f0;font-size:12px;font-weight:500;line-height:1.35}.hands-review-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.35;overflow:hidden}.hands-review-dots{flex:none;gap:5px;display:flex}.hands-review-dots i{background:var(--panel-line,color-mix(in srgb, var(--foreground) 25%, transparent));border-radius:50%;width:5px;height:5px}.hands-review-dots i[data-on]{background:var(--accent)}@keyframes hands-review-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.hands-review-item[data-on]{animation:none}}@media (max-width:768px){.hands-stage>.note-card.hands-note,.hands-review{display:none}.hands-stage{flex-direction:column;gap:22px;display:flex}.hands-note-row:not([data-shown]){visibility:hidden;display:flex}.hands-stage>.note-card.hands-note{align-self:stretch;width:auto;margin:56px 0 0;position:relative;top:auto!important;left:auto!important}.hands-stage>.note-card.hands-note>.note-face{top:-54px;left:50%;translate:-50%}.hands-note .note-head{text-align:center;justify-content:center}.hands-note .note-body{align-items:center}.hands-note .note-who{justify-content:center}.hands-stage>.note-card.hands-note:before{border:0;border-left:1px solid var(--accent);border-top:1px solid var(--accent);margin-left:-6px;top:-7px;left:50%;right:auto}.hands-review{width:auto;min-height:0;padding:16px 16px 14px;position:relative;bottom:auto;right:auto}.hands-review blockquote{font-size:13px}}@property --ripple{syntax:"<number>";inherits:false;initial-value:0}.hands-ripple{aspect-ratio:1;pointer-events:none;background-image:radial-gradient(circle at center, var(--accent) var(--dot-size), transparent var(--dot-size));background-size:var(--dot-gap) var(--dot-gap);width:130%;-webkit-mask-image:radial-gradient(circle farthest-side at 50% 50%, transparent calc(var(--ripple) * 100% - 24%), #0000008c calc(var(--ripple) * 100% - 12%), #000 calc(var(--ripple) * 100% - 4%), transparent calc(var(--ripple) * 100%));-webkit-mask-image:radial-gradient(circle farthest-side at 50% 50%, transparent calc(var(--ripple) * 100% - 24%), #0000008c calc(var(--ripple) * 100% - 12%), #000 calc(var(--ripple) * 100% - 4%), transparent calc(var(--ripple) * 100%));mask-image:radial-gradient(circle farthest-side at 50% 50%, transparent calc(var(--ripple) * 100% - 24%), #0000008c calc(var(--ripple) * 100% - 12%), #000 calc(var(--ripple) * 100% - 4%), transparent calc(var(--ripple) * 100%));background-position:50%;animation:3s cubic-bezier(.3,.35,.65,.85) both hands-ripple;position:absolute;top:51%;left:53%;translate:-50% -50%}@keyframes hands-ripple{0%{--ripple:.03;opacity:1}75%{opacity:.85}to{--ripple:1.28;opacity:0}}@media (prefers-reduced-motion:reduce){.hands-ripple{display:none}}.hands-spark{--reach:max(0%, calc((var(--p) - .55) * 62%));aspect-ratio:1;pointer-events:none;width:100%;position:absolute;top:51%;left:53%;translate:-50% -50%}.hands-spark:before,.hands-spark:after{content:"";background-size:var(--dot-gap) var(--dot-gap);background-position:50%;position:absolute;inset:0}.hands-spark:before{background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent var(--dot-size));-webkit-mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000 70%, transparent 100%);-webkit-mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000 70%, transparent 100%);mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000 70%, transparent 100%)}.hands-spark:after{background-image:radial-gradient(circle at center, var(--accent) var(--dot-size), transparent var(--dot-size));-webkit-mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000000d9 22%, transparent 62%);-webkit-mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000000d9 22%, transparent 62%);mask-image:radial-gradient(ellipse var(--reach) var(--reach) at 50% 50%, #000 0, #000000d9 22%, transparent 62%)}.studio-panel{border:1px solid var(--accent);border-radius:var(--radius) 0 var(--radius) 0;background:var(--ink);--guide:var(--guide-on-ink);--joint:color-mix(in srgb, var(--foreground) 38%, var(--ink));--joint-paper:var(--ink);--plate-line:var(--accent);--panel-line:color-mix(in srgb, var(--foreground) 16%, transparent);padding:26px 26px 35px;position:relative}.panel-care{padding:24px 26px 0 calc(173px * var(--plate-s,1) + 16px);min-height:calc(57px * var(--plate-s,1) + 24px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:30px -26px -22px;display:grid;position:relative}.panel-care:before{content:"";top:0;left:calc(173px * var(--plate-s,1) + 16px);background:var(--panel-line);height:1px;position:absolute;right:26px}.care-line{min-width:0;color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.panel-label{letter-spacing:.12em;color:var(--accent);font-size:11px}.panel-track{grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0 0;padding:0;list-style:none;display:grid}.panel-track li{gap:12px;display:grid}.stage-bar{background:var(--panel-line);border-radius:999px;height:5px;position:relative;overflow:hidden}.stage-bar:after{content:"";border-radius:inherit;background:var(--foreground);transform-origin:0;transform:scaleX(var(--fill,0));transition:transform .65s cubic-bezier(.22,1,.36,1),background-color .4s;position:absolute;inset:0}.panel-track li[data-state=done]{--fill:1}.panel-track li[data-state=now]{--fill:.55}.panel-track li[data-state=next]{--fill:0}.stage-name{transition:color .4s}.panel-track li[data-state=now] .stage-bar:after{background:var(--accent);animation:phase-fill var(--hold,3.6s) linear both}@keyframes phase-fill{0%{transform:scaleX(.04)}to{transform:scaleX(1)}}.stage-name{letter-spacing:.02em;color:var(--on-dark-muted);font-size:12px}.panel-track li:is([data-state=done],[data-state=now]) .stage-name{color:var(--foreground)}.panel-work{display:grid}.panel-work>.panel-activity{grid-area:1/1}.panel-work>.panel-activity:not([data-live]){visibility:hidden}.panel-work>.panel-activity:not([data-live]) li{animation:none}.panel-activity{border-top:1px solid var(--panel-line);gap:13px;margin:34px 0 0;padding:22px 0 0;list-style:none;display:grid}.panel-activity li{animation:.5s cubic-bezier(.22,1,.36,1) both panel-row-in;animation-delay:calc(var(--i,0) * 80ms);color:var(--foreground);grid-template-columns:18px 1fr auto;align-items:center;gap:12px;font-size:14px;display:grid}.panel-activity svg{color:var(--on-dark-muted)}@keyframes panel-row-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.panel-phase{animation:.45s cubic-bezier(.22,1,.36,1) both panel-row-in;display:inline-block}.panel-activity em,.panel-care em{border:1px solid var(--panel-line);color:color-mix(in srgb, var(--foreground) 88%, var(--ink));letter-spacing:.08em;border-radius:30px;padding:5px 10px;font-family:inherit;font-size:11px;font-style:normal}.service-list{margin:0;margin-inline:calc(-1 * var(--content-pad));padding:0;list-style:none}.service-item,.post-item,.brief-item{--row-joint:var(--joint);position:relative}.service-row{isolation:isolate;--lit-inset:0 -12px;border-radius:22px;grid-template-columns:62px minmax(0,1.15fr) minmax(0,1fr) 62px;align-items:center;gap:26px;padding:36px 13px;display:grid;position:relative}.service-row:before{content:"";inset:var(--lit-inset);z-index:-1;border-radius:inherit;background:var(--background);transition:background-color .28s,box-shadow .32s;position:absolute}.service-item[data-live] .service-row:before{background:var(--ink);box-shadow:0 20px 44px -24px #0808088c}.service-row:has(:focus-visible):before{background:var(--ink);box-shadow:0 20px 44px -24px #0808088c}.service-number{text-align:center;letter-spacing:-.02em;color:var(--muted);font-size:20px}.service-body .section-label{color:var(--muted);margin-bottom:4px;font-size:11px}.service-body .tags{margin-top:24px}.service-body h3{letter-spacing:-.04em;margin-top:14px;font-size:clamp(21px,2.1vw,29px);font-weight:450}.service-desc{max-width:46ch;color:var(--muted);margin-top:17px;font-size:15px;line-height:1.6;transition:color .25s;display:block}.service-art-slot{justify-items:stretch;min-width:0;display:grid;container-type:inline-size}.service-art{--dur:5s;--unit:calc(100cqw / 440);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:auto;color:var(--foreground);transition:color .25s;overflow:hidden}.service-art *{vector-effect:non-scaling-stroke}.art-dim{opacity:.45}.art-key{stroke:var(--accent);--full:1}.art-key-fill{fill:var(--accent);stroke:none;--full:1}.art-draw,.art-grow,.art-trace{stroke-dasharray:calc(var(--len) * var(--unit))}.art-in,.art-handle,.art-ping,.art-tick,.art-pop,.art-fly{transform-box:fill-box;transform-origin:50%}.service-item[data-live] .art-draw,.stack-card[data-front] .art-draw{animation:art-draw var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .14s)}.service-row:has(:focus-visible) .art-draw{animation:art-draw var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .14s)}.service-item[data-live] .art-trace,.stack-card[data-front] .art-trace{animation:1.5s cubic-bezier(.33,0,.2,1) both art-trace;animation-delay:calc(.35s + var(--i) * .14s)}.service-row:has(:focus-visible) .art-trace{animation:1.5s cubic-bezier(.33,0,.2,1) both art-trace;animation-delay:calc(.35s + var(--i) * .14s)}.service-item[data-live] .art-grow,.stack-card[data-front] .art-grow{animation:art-grow var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .13s)}.service-row:has(:focus-visible) .art-grow{animation:art-grow var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .13s)}.service-item[data-live] .art-in,.stack-card[data-front] .art-in{animation:.9s cubic-bezier(.22,1,.36,1) both art-in;animation-delay:calc(var(--i) * .13s)}.service-row:has(:focus-visible) .art-in{animation:.9s cubic-bezier(.22,1,.36,1) both art-in;animation-delay:calc(var(--i) * .13s)}.service-item[data-live] .art-move,.stack-card[data-front] .art-move{animation:art-move calc(var(--dur) / 2) cubic-bezier(.4, 0, .3, 1) infinite backwards;animation-delay:calc(var(--i) * .3s)}.service-row:has(:focus-visible) .art-move{animation:art-move calc(var(--dur) / 2) cubic-bezier(.4, 0, .3, 1) infinite backwards;animation-delay:calc(var(--i) * .3s)}.service-item[data-live] .art-back,.stack-card[data-front] .art-back{animation:art-back calc(var(--dur) / 2) cubic-bezier(.4, 0, .3, 1) infinite backwards;animation-delay:calc(1.1s + var(--i) * .3s)}.service-row:has(:focus-visible) .art-back{animation:art-back calc(var(--dur) / 2) cubic-bezier(.4, 0, .3, 1) infinite backwards;animation-delay:calc(1.1s + var(--i) * .3s)}.service-item[data-live] .art-handle,.stack-card[data-front] .art-handle{animation:art-pulse var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .42s)}.service-row:has(:focus-visible) .art-handle{animation:art-pulse var(--dur) ease-in-out infinite backwards;animation-delay:calc(var(--i) * .42s)}.service-item[data-live] .art-ping,.stack-card[data-front] .art-ping{animation:art-pulse var(--dur) ease-in-out infinite backwards;animation-delay:calc(.7s + var(--i) * .16s)}.service-row:has(:focus-visible) .art-ping{animation:art-pulse var(--dur) ease-in-out infinite backwards;animation-delay:calc(.7s + var(--i) * .16s)}.service-item[data-live] :is(.art-tick,.art-pop),.stack-card[data-front] :is(.art-tick,.art-pop){animation:.7s cubic-bezier(.22,1,.36,1) both art-pop;animation-delay:var(--at,calc(.5s + var(--i,0) * .28s))}.service-row:has(:focus-visible) :is(.art-tick,.art-pop){animation:.7s cubic-bezier(.22,1,.36,1) both art-pop;animation-delay:var(--at,calc(.5s + var(--i,0) * .28s))}.service-item[data-live] .art-select,.stack-card[data-front] .art-select{animation:art-select var(--dur) cubic-bezier(.22, 1, .36, 1) infinite}.service-row:has(:focus-visible) .art-select{animation:art-select var(--dur) cubic-bezier(.22, 1, .36, 1) infinite}.service-item[data-live] .art-fly,.stack-card[data-front] .art-fly{animation:art-fly calc(var(--dur) / 2) cubic-bezier(.45, 0, .3, 1) infinite}.service-row:has(:focus-visible) .art-fly{animation:art-fly calc(var(--dur) / 2) cubic-bezier(.45, 0, .3, 1) infinite}.service-item[data-live] .art-cursor,.stack-card[data-front] .art-cursor{animation:art-trip var(--dur) cubic-bezier(.5, 0, .2, 1) infinite}.service-row:has(:focus-visible) .art-cursor{animation:art-trip var(--dur) cubic-bezier(.5, 0, .2, 1) infinite}.service-item[data-live] .art-scan,.stack-card[data-front] .art-scan{animation:art-scan var(--dur) cubic-bezier(.22, 1, .36, 1) infinite}.service-row:has(:focus-visible) .art-scan{animation:art-scan var(--dur) cubic-bezier(.22, 1, .36, 1) infinite}@keyframes art-draw{0%{stroke-dashoffset:calc(var(--len) * var(--unit))}24%,84%{stroke-dashoffset:0}to{stroke-dashoffset:calc(-1 * var(--len) * var(--unit))}}@keyframes art-grow{0%,to{stroke-dashoffset:calc(var(--len) * var(--unit))}20%,88%{stroke-dashoffset:0}}@keyframes art-trace{0%{stroke-dashoffset:calc(var(--len) * var(--unit))}to{stroke-dashoffset:0}}@keyframes art-in{0%{opacity:0;scale:.94}to{opacity:var(--full,.45);scale:1}}@keyframes art-pulse{0%,56%,to{opacity:var(--full,.45);scale:1}20%{opacity:1;scale:1.75}}@keyframes art-pop{0%{opacity:0;scale:.5}to{opacity:1;scale:1}}@keyframes art-move{0%{opacity:0;translate:0}8%,70%{opacity:1}80%,to{translate:calc(var(--d) * 1px) calc(var(--dy,0) * 1px);opacity:0}}@keyframes art-back{0%{opacity:0;translate:0}8%,70%{opacity:1}80%,to{translate:calc(var(--d) * -1px) calc(var(--dy,0) * -1px);opacity:0}}@keyframes art-select{0%,10%{translate:0}24%,34%{translate:108px}48%,58%{translate:216px}72%,82%{translate:108px}96%,to{translate:0}}@keyframes art-fly{0%,14%{opacity:0;translate:0;scale:.7}24%{opacity:1;translate:0;scale:1}44%{translate:40px -26px;scale:1}64%{translate:92px -30px;scale:.94}84%{opacity:1;translate:122px 18px;scale:.72}92%,to{opacity:0;translate:126px 34px;scale:.5}}@keyframes art-trip{0%,4%{opacity:0;translate:0}11%{opacity:1;translate:0}27%,38%{translate:calc(var(--x1) * 1px) 0}54%,65%{translate:calc(var(--x2) * 1px) 0}81%,92%{translate:calc(var(--x3) * 1px) 0;opacity:1}97%{translate:calc(var(--x3) * 1px) 0;opacity:0}97.5%,to{opacity:0;translate:0}}@keyframes art-scan{0%,12%{translate:0}50%,66%{translate:0 calc(var(--dy2) * 1px)}96%,to{translate:0}}@media (prefers-reduced-motion:reduce){.service-art *{animation:none}}.service-arrow{border:1px solid var(--line);border-radius:50%;justify-self:center;place-items:center;width:52px;height:52px;transition:background-color .25s,border-color .25s,color .25s,rotate .35s cubic-bezier(.22,1,.36,1);display:grid}.service-item[data-live] .service-arrow{background:var(--accent);border-color:var(--accent);color:var(--foreground);rotate:90deg}.service-row:has(:focus-visible) .service-arrow{background:var(--accent);border-color:var(--accent);color:var(--foreground);rotate:90deg}.service-item[data-live] :is(.service-number,.service-desc),.stack-card[data-front] :is(.service-number,.service-desc){color:var(--on-dark-muted)}.service-row:has(:focus-visible) :is(.service-number,.service-desc){color:var(--on-dark-muted)}.service-item[data-live] .service-body .section-label{color:var(--accent)}.service-row:has(:focus-visible) .service-body .section-label{color:var(--accent)}.service-item[data-live] :is(h3,.service-art),.stack-card[data-front] :is(h3,.service-art){color:var(--foreground)}.service-row:has(:focus-visible) :is(h3,.service-art){color:var(--foreground)}.service-item[data-live] .tags span{border-color:color-mix(in srgb, var(--background) 24%, transparent);color:color-mix(in srgb, var(--background) 86%, var(--ink))}.service-row:has(:focus-visible) .tags span{border-color:color-mix(in srgb, var(--background) 24%, transparent);color:color-mix(in srgb, var(--background) 86%, var(--ink))}.stack-card[data-front] .tags span{border-color:var(--accent);color:var(--foreground);background:0 0}.service-stack{position:relative}#main>.projects{--joint-axis-on:0}.projects{padding-block:96px;overflow-x:clip}.hang{width:min(100%,760px);margin:0 auto 64px;position:relative;container-type:inline-size}.hang:before{content:"";z-index:-1;background:var(--background);pointer-events:none;width:5px;position:absolute;top:0;bottom:-160px;left:50%;transform:translate(-50%)}.hang-stage{--us:calc(100cqw / 1440);--u:var(--us);height:calc(var(--u) * 2340);position:relative}.hang-hand{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;position:absolute;top:0;left:0}.hang-hanger{z-index:var(--z);pointer-events:none;position:absolute;inset:0}.hang-hanger>*{pointer-events:auto}.hang-string{left:calc(var(--u) * var(--sx));top:calc(var(--u) * 772);width:max(2px, calc(var(--u) * 4));height:calc(var(--u) * (var(--len) + 3));box-shadow:0 0 calc(var(--u) * 3) #f3ffe08c;background:#f3ffe0;position:absolute;transform:translate(-50%)}.hang-string:before{content:"";width:calc(var(--u) * 70);-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 calc(var(--u) * 60));-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 calc(var(--u) * 60));mask-image:linear-gradient(to bottom, transparent 0, #000 calc(var(--u) * 60));background:linear-gradient(90deg,#0000 0,#f3ffe00f 50%,#0000 100%);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.hang-string:after{content:"";left:50%;bottom:calc(var(--u) * -10);width:max(8px, calc(var(--u) * 20));aspect-ratio:1;border:max(1.5px, calc(var(--u) * 3.5)) solid #f3ffe0;background:var(--ink);border-radius:50%;position:absolute;transform:translate(-50%)}.hang-card{--u:calc(var(--us) * var(--k,1));left:calc(var(--us) * var(--left));top:calc(var(--us) * var(--top));width:calc(var(--us) * var(--w));gap:calc(var(--u) * 4);padding:calc(var(--u) * 10) calc(var(--u) * 10) calc(var(--u) * 14);border:1px solid var(--accent);border-radius:calc(var(--u) * 16);background:var(--ink);color:var(--foreground);box-shadow:0 0 calc(var(--u) * 46) color-mix(in srgb, var(--accent) 22%, transparent), 0 calc(var(--u) * 30) calc(var(--u) * 60) #0000008c;text-decoration:none;transition:box-shadow .3s;display:grid;position:absolute}.hang-card:hover,.hang-card:focus-visible{box-shadow:0 0 calc(var(--u) * 60) color-mix(in srgb, var(--accent) 40%, transparent), 0 calc(var(--u) * 30) calc(var(--u) * 60) #0000008c}.hang-thumb{aspect-ratio:4/3;border-radius:calc(var(--u) * 10);display:block;position:relative;overflow:hidden}.hang-thumb img{object-fit:cover}.hang-text{gap:calc(var(--u) * 4);min-width:0;display:grid}.hang-name{margin-top:calc(var(--u) * 4);font-size:max(9px, calc(var(--u) * 24));letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:500;line-height:1.2;overflow:hidden}.hang-cat{color:var(--accent);font-size:max(7px, calc(var(--u) * 14));letter-spacing:.08em;text-transform:uppercase}.hang-desc,.hang-tech-label,.hang-tags{display:none}.hang-card[data-big]{gap:calc(var(--u) * 24);padding:calc(var(--u) * 20);border-radius:calc(var(--u) * 30);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.hang-card[data-big] .hang-thumb{aspect-ratio:auto;min-height:calc(var(--u) * 300);border-radius:calc(var(--u) * 18)}.hang-card[data-big] .hang-text{align-content:center;gap:calc(var(--u) * 22);padding-top:calc(var(--u) * 6)}.hang-card[data-big] .hang-cat{font-size:max(8px, calc(var(--u) * 15))}.hang-card[data-big] .hang-name{font-family:var(--font-serif);font-size:max(12px, calc(var(--u) * 26));letter-spacing:-.04em;white-space:normal;margin:0;font-weight:450;line-height:1.12;overflow:visible}.hang-card[data-big] .hang-desc{color:var(--on-dark-muted);font-size:max(9px, calc(var(--u) * 18));line-height:1.5;display:block}.hang-card[data-big] .hang-tech-label{margin-top:calc(var(--u) * 8);color:var(--accent);font-size:max(8px, calc(var(--u) * 15));letter-spacing:.08em;text-transform:uppercase;font-weight:500;display:block}.hang-card[data-big] .hang-tags{gap:calc(var(--u) * 8);flex-wrap:wrap;display:flex}.hang-tags>span{border:1px solid color-mix(in srgb, var(--foreground) 32%, transparent);padding:calc(var(--u) * 6) calc(var(--u) * 12);font-size:max(8px, calc(var(--u) * 16));border-radius:999px}.hang-explore{--u:calc(var(--us) * .75);justify-content:center;align-items:center;gap:calc(var(--u) * 30);aspect-ratio:16/10;border-radius:calc(var(--us) * 36.8);padding:calc(var(--u) * 20);text-align:center;isolation:isolate;flex-direction:column;display:flex}.hang-explore:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0000 25%,#000 95%);mask-image:radial-gradient(#0000 25%,#000 95%)}.hang-explore-title{font-family:var(--font-serif);font-size:max(13px, calc(var(--u) * 52));letter-spacing:-.03em;font-weight:450;line-height:1.12}.hang-explore-go{width:max(26px, calc(var(--u) * 80));aspect-ratio:1;background:var(--accent);color:var(--ink);border-radius:50%;place-items:center;transition:transform .3s;display:grid}.hang-explore-go svg{width:55%;height:55%}.hang-explore:hover .hang-explore-go,.hang-explore:focus-visible .hang-explore-go{transform:translateX(calc(var(--u) * 8))}@media (max-width:640px){.hang:before{bottom:-104px}.hang{margin-bottom:40px}.hang-cat,.hang-card[data-big] .hang-desc,.hang-card[data-big] .hang-tech-label,.hang-card[data-big] .hang-tags{display:none}.hang-card[data-big]{grid-template-columns:minmax(0,1fr)}.hang-card[data-big] .hang-thumb{aspect-ratio:4/3;min-height:0}.hang-card[data-big] .hang-name{font-size:9px}}.project-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.project-link{gap:28px;display:grid}.studio-panel>.corner-plate,.process-panel>.corner-plate,.principle-card>.corner-plate{top:-1px;right:-1px}.process-panel>.corner-plate,.principle-card[data-active]>.corner-plate{--plate-top:0px;--plate-side:0px}.process-panel>.corner-plate .plate-line,.principle-card[data-active]>.corner-plate .plate-line{stroke:#0000}.studio-panel>.corner-plate[data-corner=bottom-left]{inset:auto auto -1px -1px}.project-frame{aspect-ratio:16/10;border-radius:var(--radius) 0 var(--radius) var(--radius);background:var(--surface-muted);--plate-line:color-mix(in srgb, var(--foreground) 24%, transparent);display:block;position:relative}.project-clip{border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}.project-shot{object-fit:cover;object-position:50% 0;width:100%;height:100%;transition:scale .7s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;scale:1.07}.project-link:focus-visible .project-shot{scale:1.12}@media (hover:hover) and (pointer:fine){.project-link:hover .project-shot{scale:1.12}}.project-edge{z-index:1;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--foreground) 24%, transparent);position:absolute;inset:0}.project-visit{z-index:2;border-radius:var(--radius-button);letter-spacing:.03em;color:var(--foreground);background:var(--ink);opacity:0;align-items:center;gap:8px;padding:10px 16px;font-size:12px;transition:opacity .35s,translate .45s cubic-bezier(.22,1,.36,1);display:inline-flex;position:absolute;bottom:20px;right:20px;translate:0 14px}.project-link:focus-visible .project-visit{opacity:1;translate:0}@media (hover:hover) and (pointer:fine){.project-link:hover .project-visit{opacity:1;translate:0}}.project-caption{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-caption .section-label{font-size:11px;display:block}.project-name{letter-spacing:-.04em;margin-top:14px;font-size:clamp(21px,2.2vw,30px);font-weight:450;display:block}.project-arrow{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;margin-left:auto;transition:background-color .25s,border-color .25s,color .25s;display:grid}.project-link:focus-visible .project-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}@media (hover:hover) and (pointer:fine){.project-link:hover .project-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}}.project-card{padding:28px;position:relative}.project-card>p{max-width:46ch;color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.65}.project-card>p em{font-family:var(--font-serif);color:var(--foreground);margin-bottom:8px;font-size:17px;display:block}.principles-band,.contact-band{border-block:1px solid #0000;padding-block:clamp(24px,3vw,40px)}#main>.principles-band+.section-wrap:after{display:none}.principles>.section-label{color:#4c5a3d}.principles{border-bottom-left-radius:0;padding-bottom:100px}.principle-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;display:grid}.principle-card{isolation:isolate;--plate-bg:var(--accent);--plate-line:var(--principle-edge);--lit:.45s cubic-bezier(.22, 1, .36, 1);--principle-edge:color-mix(in srgb, var(--foreground) 26%, transparent);border:1px solid var(--principle-edge);border-radius:var(--radius) 0 var(--radius) var(--radius);background:color-mix(in srgb, var(--background) 42%, transparent);transition:background-color var(--lit), border-color var(--lit), color var(--lit);grid-template-rows:auto auto 1fr auto;align-content:start;gap:12px;padding:30px 28px;display:grid;position:relative}.principle-card:before{content:"";z-index:-1;border-radius:inherit;corner-shape:inherit;background:radial-gradient(circle clamp(150px, 22vw, 320px) at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(150px, 22vw, 320px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%);opacity:0;transition:opacity var(--lit);position:absolute;inset:-1px}.principle-card[data-active]{--plate-line:var(--ink);border-color:var(--ink);color:var(--foreground);background-color:var(--ink)}.principle-card[data-active]:before{opacity:1}.principle-card .section-label,.principle-card h3,.principle-card p,.principle-card .plate-line{transition:color var(--lit), stroke var(--lit)}.principle-card[data-active] .section-label{color:var(--accent)}.principle-card[data-active] h3{color:var(--foreground)}.principle-card[data-active] p{color:var(--on-dark-muted)}@media (prefers-reduced-motion:reduce){.principle-card,.principle-card:before,.principle-card .section-label,.principle-card h3,.principle-card p,.principle-card .plate-line{transition:none}}.principle-card .plate-keyword{color:var(--foreground)}.principle-sequence[data-still] .principle-card{grid-template-rows:auto auto 1fr;padding-bottom:104px}.principle-sequence[data-still] .principle-card>.corner-plate[data-corner=bottom-left]{inset:auto auto -1px -1px}.principle-sequence[data-still] .corner-plate[data-corner=bottom-left] .plate-content{justify-self:end;margin-right:5px}.principle-plus{pointer-events:auto;border:1px solid color-mix(in srgb, var(--background) 26%, transparent);background:var(--ink);width:48px;height:48px;color:var(--accent);border-radius:50%;place-items:center;transition:rotate .35s cubic-bezier(.22,1,.36,1);display:grid}.principle-plus:focus-visible{rotate:90deg}@media (hover:hover) and (pointer:fine){.principle-plus:hover{rotate:90deg}}.principle-progress{background:color-mix(in srgb, var(--ink) 15%, transparent);height:3px;transition:background-color var(--lit);border-radius:999px;margin-top:18px;display:block;overflow:hidden}.principle-card[data-active] .principle-progress{background:color-mix(in srgb, var(--accent) 18%, transparent)}.principle-progress>span{background:var(--accent);transform-origin:0;height:100%;animation:6s linear both principle-hold;display:block}@keyframes principle-hold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.principle-sequence[data-paused] .principle-progress>span{animation-play-state:paused}.principle-controls{justify-content:flex-end;margin-top:24px;display:flex}.principle-playback{border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);border-radius:var(--radius-button);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:inline-flex}@media (prefers-reduced-motion:reduce){.principle-progress>span{animation:none}.principle-controls{display:none}}.principle-card .section-label{color:#536046;padding-right:96px;font-size:11px}.principle-card .plate-count{color:#2f3a25}.principle-card h3{letter-spacing:-.025em;font-size:22px;font-weight:500}.principle-card p{color:#56624b;font-size:15px;line-height:1.7}.process-stepper{grid-template-columns:minmax(210px,.75fr) minmax(0,1.6fr);align-items:stretch;gap:46px;padding-top:40px;display:grid;position:relative}.process-tabs{align-content:space-between;gap:2px;display:grid;position:relative}.process-tab{isolation:isolate;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:18px;align-items:baseline;gap:16px;padding:18px 20px;transition:background-color .25s,color .25s;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.process-tab:hover{color:var(--foreground)}}.process-tab[aria-selected=true]{background:var(--surface-muted);color:var(--foreground)}.process-progress{z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.process-progress>span{background:var(--accent);width:100%;height:100%;color:var(--ink);clip-path:inset(0 100% 0 0);align-items:baseline;gap:16px;padding:18px 20px;animation:5.5s linear both process-hold;display:flex}@keyframes process-hold{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.process-progress>span{clip-path:none;animation:none}}.process-tab-index{letter-spacing:.08em;font-size:13px}.process-tab-name{letter-spacing:-.03em;font-size:clamp(17px,1.75vw,23px);line-height:1.15}.process-panels{display:grid}.process-panels>.process-panel{grid-area:1/1}.process-panels>.process-panel:not([data-live]){visibility:hidden}.process-panel{border:1px solid var(--accent);border-radius:var(--radius);color:var(--foreground);isolation:isolate;background:0 0;padding:38px;position:relative}.process-panel:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background-image:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 60%, transparent) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 30%,#000);mask-image:linear-gradient(90deg,#0000 30%,#000)}.testimonial-card[data-live]{animation:.45s cubic-bezier(.22,1,.36,1) both panel-in}@keyframes panel-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}.process-panel:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.process-panel .section-label{color:var(--accent)}.process-panel h3{color:var(--foreground);letter-spacing:-.04em;margin:14px 0 16px;font-size:clamp(27px,3vw,38px);font-weight:450}.process-panel-text{max-width:64ch;color:var(--on-dark-muted);font-size:16px;line-height:1.75}.process-outputs{border-top:1px solid color-mix(in srgb, var(--background) 20%, transparent);flex-wrap:wrap;gap:7px;margin:32px 0 0;padding:24px 0 0;list-style:none;display:flex}.process-outputs li{border:1px solid var(--accent);color:var(--foreground);border-radius:30px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;line-height:1.4;display:inline-flex}.process-outputs svg{width:13px;height:13px;color:var(--accent);flex:none}.tools{--section-pad:100px;padding-block:var(--section-pad)}#main>.tools:before{content:none}.tech-groups{gap:44px;display:grid}.tools>.section-heading.is-centered:after{content:none}.tools-ring{height:calc(var(--ring-size,96px) * 3 + 76px);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;position:relative;overflow:hidden}.tools-ring:active{cursor:grabbing}.tools-ring-stage{justify-content:center;align-items:center;display:flex;position:absolute;inset:0 0 76px}.tools-ring-camera,.tools-ring-turn,.tools-ring-card{transform-style:preserve-3d}.tools-ring-camera,.tools-ring-turn{width:0;height:0;position:relative}.tools-ring-turn{position:absolute;top:0;left:0}.tools-ring .tools-tile.tools-ring-card{left:calc(var(--ring-size,96px) / -2);top:calc(var(--ring-size,96px) / -2);width:var(--ring-size,96px);position:absolute}.tools-ring-card .tools-logo{width:42%;height:42%}.tools-ring-axis{height:calc(var(--ring-size,96px) * 3.1);aspect-ratio:480/1085;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateX(24deg)}.tools-ring-axis>img,.tools-ring-axis>svg{width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.tools-ring-caption{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:6px;padding:0 16px;display:flex;position:absolute;bottom:6px;left:0;right:0}.tools-ring-title{flex-direction:column;align-items:center;font-size:15px;font-weight:500;line-height:1.35;animation:.52s cubic-bezier(.22,1,.36,1) tools-ring-title;display:flex}.tools-ring-subtitle{color:var(--muted);font-weight:400}@keyframes tools-ring-title{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tools-ring-title{animation:none}}.tools-ring-card:after{content:"";background:var(--background);opacity:var(--ring-depth,0);pointer-events:none;border-radius:22px;position:absolute;inset:0}.tools-logos{flex-wrap:wrap;justify-content:center;gap:20px;max-width:600px;margin:0 auto;padding:0;list-style:none;display:flex}.tools-tile{aspect-ratio:1;place-items:center;width:76px;display:grid;position:relative}.tools-tile:before{content:"";background:var(--ink);border:1px solid var(--accent);box-shadow:0 0 18px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:20px;transition:background-color .25s,box-shadow .25s,transform .35s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.tools-logo{width:32px;height:32px;fill:var(--foreground);transition:fill .25s;display:block;position:relative}@media (hover:hover) and (pointer:fine){.tools-tile:hover:before{background:var(--accent);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 40%, transparent)}.tools-tile:hover .tools-logo{fill:var(--ink)}}@media (max-width:640px){.tools-logos{gap:14px}.tools-tile{width:60px}.tools-tile:before{border-radius:16px}.tools-logo{width:26px;height:26px}}.tech-group{gap:18px;display:grid}.tech-grid{grid-template-columns:repeat(var(--cols,4), 1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.tech-tile{isolation:isolate;border:1px solid var(--line);background:var(--background);animation:.45s cubic-bezier(.22,1,.36,1) both panel-in;animation-delay:calc(var(--i,0) * 70ms);border-radius:22px;align-content:start;gap:6px;padding:24px 22px;transition:background-color .25s,border-color .25s;display:grid;position:relative;overflow:hidden;container-type:inline-size}@media (prefers-reduced-motion:reduce){.tech-tile{animation:none}}.tech-tile:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle clamp(80px, 8vw, 130px) at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(80px, 8vw, 130px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%);opacity:0;transition:opacity .25s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.tech-tile:hover{background-color:var(--ink);border-color:var(--ink);color:var(--foreground)}.tech-tile:hover:before{opacity:1}.tech-tile:hover .tech-mark{fill:var(--accent)}.tech-tile:hover .tech-crop{color:color-mix(in srgb, var(--accent) 62%, transparent)}.tech-tile:hover .tech-role{color:var(--on-dark-muted)}}.tech-crop{--crop:clamp(36px, 24cqw, 45px);z-index:-1;width:var(--crop);height:var(--crop);pointer-events:none;color:color-mix(in srgb, var(--foreground) 38%, transparent);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;transition:color .25s;position:absolute;top:22px;right:22px}.tech-crop *{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.tm-solid{fill:currentColor;stroke:none}.tm-bar{transform-origin:0}.tm-down{transform-origin:top}.tm-grow{transform-origin:bottom}@keyframes tm-in{0%{opacity:0;scale:.94}to{opacity:1;scale:1}}@keyframes tm-slide{0%{opacity:0;translate:calc(var(--dx,0) * 1px) calc(var(--dy,0) * 1px)}to{opacity:1;translate:0}}@keyframes tm-pop{0%{opacity:0;scale:.4}62%{opacity:1;scale:1.14}to{opacity:1;scale:1}}@keyframes tm-bar{0%{scale:0 1}to{scale:1}}@keyframes tm-bar-y{0%{scale:1 0}to{scale:1}}@keyframes tm-grow{0%{scale:1 0}to{scale:1}}@keyframes tm-drop{0%{opacity:0;translate:0 calc(var(--dy,-10) * 1px)}70%{opacity:1;translate:0 1px}to{opacity:1;translate:0}}@keyframes tm-travel{0%,to{translate:0}50%{translate:calc(var(--dx,0) * 1px) calc(var(--dy,0) * 1px)}}@keyframes tm-ping{0%,to{opacity:.35;scale:.75}50%{opacity:1;scale:1.15}}@keyframes tm-streak{0%{opacity:0;translate:-7px}40%{opacity:1}to{opacity:0;translate:9px}}@keyframes tm-wave{0%,to{opacity:.25}45%{opacity:1}}@keyframes tm-blink{0%,46%{opacity:1}50%,96%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.tech-tile:hover .tm-in{animation:.5s cubic-bezier(.22,1,.36,1) both tm-in;animation-delay:calc(var(--i,0) * 70ms)}.tech-tile:hover .tm-slide{animation:.55s cubic-bezier(.22,1,.36,1) both tm-slide;animation-delay:calc(var(--i,0) * 70ms)}.tech-tile:hover .tm-pop{animation:.5s cubic-bezier(.22,1,.36,1) both tm-pop;animation-delay:calc(.1s + var(--i,0) * 70ms)}.tech-tile:hover .tm-bar{animation:.45s cubic-bezier(.22,1,.36,1) both tm-bar;animation-delay:calc(80ms + var(--i,0) * 70ms)}.tech-tile:hover .tm-bar.tm-down{animation-name:tm-bar-y}.tech-tile:hover .tm-grow{animation:.55s cubic-bezier(.22,1,.36,1) both tm-grow;animation-delay:calc(80ms + var(--i,0) * 80ms)}.tech-tile:hover .tm-drop{animation:.7s cubic-bezier(.34,1.3,.5,1) both tm-drop;animation-delay:calc(.2s + var(--i,0) * 80ms)}.tech-tile:hover .tm-travel{animation:3.2s ease-in-out infinite tm-travel;animation-delay:calc(.4s + var(--i,0) * .1s)}.tech-tile:hover .tm-ping{animation:2s ease-in-out infinite tm-ping;animation-delay:calc(var(--i,0) * .25s)}.tech-tile:hover .tm-blink{animation:1.4s step-end infinite tm-blink;animation-delay:calc(.4s + var(--i,0) * 50ms)}.tech-tile:hover .tm-streak>*{animation:1.5s ease-in-out infinite tm-streak;animation-delay:calc(var(--i,0) * .16s)}.tech-tile:hover .tm-streak>:nth-child(2){animation-delay:.16s}.tech-tile:hover .tm-streak>:nth-child(3){animation-delay:.32s}.tech-tile:hover .tm-wave>*{animation:1.8s ease-in-out infinite tm-wave;animation-delay:calc(var(--i,0) * .2s)}}.tech-mark{width:26px;height:26px;fill:var(--foreground);margin-bottom:14px}.tech-mark[data-wide]{width:96px;height:96px;margin:-35px 0 -21px}.tech-name{letter-spacing:-.02em;justify-self:start;font-size:17px;font-weight:500}.tech-role{color:var(--muted);font-size:14px;line-height:1.5}.contact-top{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:end;gap:50px;display:grid}.contact-actions{justify-items:start;gap:20px;display:grid}.social-round{gap:10px;display:flex}.social-round a{border:1px solid var(--guide-on-ink);width:42px;height:42px;color:var(--foreground);border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}@media (hover:hover) and (pointer:fine){.social-round a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}}.contact-steps{grid-template-columns:repeat(3,1fr);gap:28px;margin:64px 0 0;padding:0;list-style:none;display:grid}.contact-steps li{border-top:1px solid #3e4937;gap:10px;padding-top:22px;display:grid}.contact-step-index{letter-spacing:.1em;color:var(--muted);font-size:13px}.contact .contact-step-index{color:var(--accent)}.contact-steps strong{letter-spacing:-.02em;font-size:18px;font-weight:500}.case-band{isolation:isolate;border-block:1px solid var(--guide);padding-block:clamp(24px,3vw,40px);position:relative}#main>.page-hero+.case-band{margin-top:calc(var(--page-gutter) + 48px)}#main>.case-band+.section-wrap:after{display:none}.shot-stage{margin-inline:var(--page-gutter);padding:var(--bar-room) 24px 24px;aspect-ratio:21/9;border-radius:var(--radius) 0 var(--radius) 0;--stage-base:var(--ink);--stage-cell:46px;--stage-grid-ink:color-mix(in srgb, var(--background) 7%, transparent);--stage-grid:repeating-linear-gradient(90deg, transparent 0 calc(var(--stage-cell) - 1px), var(--stage-grid-ink) calc(var(--stage-cell) - 1px) var(--stage-cell)), repeating-linear-gradient(0deg, transparent 0 calc(var(--stage-cell) - 1px), var(--stage-grid-ink) calc(var(--stage-cell) - 1px) var(--stage-cell));--stage-sheet:linear-gradient(162deg, color-mix(in srgb, var(--background) 32%, var(--ink)) 0%, color-mix(in srgb, var(--background) 21%, var(--ink)) 30%, color-mix(in srgb, var(--background) 9%, var(--ink)) 62%, var(--ink) 100%);background-color:var(--stage-base);background-image:var(--stage-grid), var(--stage-sheet);isolation:isolate;--leader-ink:var(--accent);--note-edge:var(--accent);position:relative;container-type:size}.shot-stage>.corner-plate .plate-status{letter-spacing:-.01em}.shot-stage>.corner-plate{--plate-top:0px;--plate-side:0px}.shot-stage>.corner-plate .plate-line{stroke:#0000}.shot-stage>.corner-plate[data-corner=bottom-left]{inset:auto auto 0 0}.shot-stage{--note-zone:22cqw;--note-gap:1.5cqw;--play-h:48px;--play-inset:20px;--play-room:calc(var(--play-h) + var(--play-inset) + 12px);--bar-h:39px;--bar-inset:clamp(18px, 2.9vw, 41px);--bar-room:calc(var(--bar-h) + var(--bar-inset) + 12px)}.shot-notes{z-index:-1;pointer-events:none;position:absolute;inset:24px}.shot-note{width:var(--note-zone);border:1px solid var(--note-edge);background:radial-gradient(circle 120px at 0% 0%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 100%), radial-gradient(circle 120px at 100% 100%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 100%), var(--ink);color:var(--foreground);border-radius:clamp(12px,1.4cqw,18px);margin:0;padding:clamp(16px,1.9cqw,26px) clamp(18px,2.1cqw,28px);font-size:clamp(11px,1.05cqw,15px);line-height:1.55;position:absolute;translate:0 -50%}.shot-note p{margin:0}.shot-note p+p{margin-top:.75em}.shot-note strong{color:var(--accent);font-weight:500}.shot-note em{font-family:var(--font-serif);font-size:1.15em;font-style:italic}.shot-leader{width:calc(50cqw - var(--note-zone));--leader-w:2px;--leader-turn:22%;--leader-r:min(var(--radius), 8.5cqh, 6cqw);height:17%;position:absolute}.shot-leader:before,.shot-leader:after{content:"";box-sizing:border-box;height:50%;position:absolute}.shot-leader:before{width:var(--leader-turn);border-top:var(--leader-w) solid var(--leader-ink);border-right:var(--leader-w) solid var(--leader-ink);border-top-right-radius:var(--leader-r);top:0;left:0}.shot-leader:after{width:calc(100% - var(--leader-turn) + var(--leader-w));border-bottom:var(--leader-w) solid var(--leader-ink);border-left:var(--leader-w) solid var(--leader-ink);border-bottom-left-radius:var(--leader-r);bottom:0;right:0}.shot-note[data-side=l]{top:33%;left:0}.shot-leader[data-side=l]{left:var(--note-zone);top:33%}.shot-note[data-side=r]{top:67%;right:0}.shot-leader[data-side=r]{right:var(--note-zone);top:50%;rotate:180deg}@keyframes shot-leader-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes shot-note-in{0%{opacity:0;translate:0 calc(10px - 50%)}to{opacity:1;translate:0 -50%}}.shot-leader{animation:.5s cubic-bezier(.22,1,.36,1) both shot-leader-in}.shot-note{animation:.4s cubic-bezier(.22,1,.36,1) .42s both shot-note-in}@media (prefers-reduced-motion:reduce){.shot-leader,.shot-note{animation:none}}@supports (corner-shape:superellipse(1.5)){.shot-stage,.shot-window{corner-shape:superellipse(1.5)}}.shot-bar{top:var(--bar-inset);z-index:1;background:color-mix(in srgb, var(--background) 78%, transparent);max-width:min(52cqw,520px);color:var(--muted);border-radius:30px;align-items:center;gap:10px;padding:12px 20px;font-size:clamp(12px,1.15cqw,16px);line-height:1;display:flex;position:absolute;left:50%;translate:-50%}.shot-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shot-url i{color:var(--foreground);font-style:normal}@media (max-width:700px){.shot-bar{display:none}}.shot-play{bottom:var(--play-inset);z-index:1;background:color-mix(in srgb, var(--background) 78%, transparent);border-radius:30px;align-items:center;gap:14px;padding:7px 18px 7px 7px;display:flex;position:absolute;left:50%;translate:-50%}.shot-ring{pointer-events:none;width:44px;height:44px;display:none;position:absolute;top:2px;left:2px;overflow:visible}.shot-ring circle{fill:none;stroke:var(--foreground);stroke-width:2.5px;stroke-linecap:round;transform-origin:50%;stroke-dasharray:1;animation:6s linear both shot-ring;rotate:-90deg}@keyframes shot-ring{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.shot-stage[data-paused] .shot-ring circle{animation-play-state:paused}.shot-play button{border:1px solid var(--line);background:var(--background);width:34px;height:34px;color:var(--foreground);cursor:pointer;border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}@media (hover:hover) and (pointer:fine){.shot-play button:hover{border-color:var(--foreground)}}.shot-timer{background:color-mix(in srgb, var(--foreground) 20%, transparent);width:64px;height:2px;overflow:hidden}.shot-timer>span{background:var(--foreground);transform-origin:0;height:100%;animation:6s linear both principle-hold;display:block}.shot-stage[data-paused] .shot-timer>span{animation-play-state:paused}@media (max-width:700px){.shot-stage{--play-inset:14px}.shot-play{gap:0;padding:7px}.shot-timer{width:0}.shot-ring{display:block}}.shot-window{height:100%;padding-inline:calc(var(--note-zone) + var(--note-gap));padding-bottom:var(--play-room);border-radius:12px;display:block;position:relative;overflow:hidden}@media (max-width:1000px){.shot-window{padding-inline:0}}.shot-screen{object-fit:contain;object-position:center;width:100%;height:100%}.shot-nav{pointer-events:auto;align-items:center;gap:10px;display:flex}.shot-nav button{border:1px solid var(--line);background:var(--background);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:grid}@media (hover:hover) and (pointer:fine){.shot-nav button:hover{background:var(--foreground);border-color:var(--foreground);color:var(--ink)}}.shot-count{letter-spacing:-.02em;color:var(--foreground);align-items:baseline;font-size:18px;display:flex}.shot-count i{color:var(--muted);font-size:14px;font-style:normal}@media (max-width:1000px){.shot-notes{display:none}.shot-nav button{width:32px;height:32px}.shot-count{font-size:15px}.shot-count i{font-size:12px}}@media (max-width:700px){.shot-stage{aspect-ratio:4/3;padding:14px}}@media (max-width:640px){.shot-stage{padding:14px}}.case-body{grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr);align-items:stretch;gap:6%;display:grid}#main>.case-body{background-image:var(--page-rails-edges);--joint-axis-on:0}.case-copy>.section-label{margin-bottom:28px}.case-copy p:not(.section-label){max-width:58ch;color:var(--muted);margin-top:30px;font-size:16px;line-height:1.7}.case-copy p:not(.section-label)+p{margin-top:22px}.case-scope{border-radius:var(--radius);background:radial-gradient(circle clamp(150px, 18vw, 260px) at 0% 0%, color-mix(in srgb, var(--accent) 30%, transparent) 0%, color-mix(in srgb, var(--accent) 14%, transparent) 34%, color-mix(in srgb, var(--accent) 4%, transparent) 68%, transparent 100%), radial-gradient(circle clamp(150px, 18vw, 260px) at 100% 100%, color-mix(in srgb, var(--accent) 30%, transparent) 0%, color-mix(in srgb, var(--accent) 14%, transparent) 34%, color-mix(in srgb, var(--accent) 4%, transparent) 68%, transparent 100%), var(--ink);color:var(--foreground);align-content:start;gap:30px;padding:32px;display:grid}@supports (corner-shape:superellipse(1.5)){.case-scope{corner-shape:superellipse(1.5)}}.case-scope .section-label{color:var(--on-dark-muted)}.scope-block{gap:14px;display:grid}.scope-value{margin:0;font-size:17px}.scope-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.scope-chips li{border:1px solid color-mix(in srgb, var(--background) 28%, transparent);color:var(--foreground);border-radius:30px;padding:7px 12px;font-size:12px}.case-brief{--section-pad:0px;padding-block:0}#main>.case-brief,#main>.case-system{background-image:var(--page-rails-edges);--joint-axis-on:0}.brief-list{margin:0 calc(-1 * var(--content-pad));--stage-base:var(--ink);padding:0;list-style:none}.brief-item+.brief-item{border-top:1px solid var(--line)}.brief-item[data-live]+.brief-item{--row-top-joint:transparent;border-top-color:#0000}#main>.case-brief{z-index:1}.brief-row{isolation:isolate;--lit-inset:0 -12px;border-radius:22px;grid-template-columns:62px minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:26px;padding:44px 13px;display:grid;position:relative}.brief-item[data-live]{z-index:1;position:relative}.brief-item[data-live] .brief-row{translate:0 -3px}.brief-row:before{content:"";inset:var(--lit-inset);z-index:-1;border-radius:inherit;background:radial-gradient(circle clamp(150px, 22vw, 320px) at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(150px, 22vw, 320px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%),  var(--ink);opacity:0;transition:opacity .28s,box-shadow .32s,scale .45s cubic-bezier(.22,1,.36,1);position:absolute;scale:.985}.brief-item[data-live] .brief-row:before{opacity:1;scale:1;box-shadow:0 20px 44px -24px #0808088c}.brief-item[data-live] .brief-row{color:var(--foreground)}.brief-item[data-live] .service-number,.brief-item[data-live] .brief-text{color:var(--on-dark-muted)}.brief-item[data-live] .section-label{color:var(--accent)}.brief-row>.service-number{align-self:center}.brief-head{gap:4px;display:grid}.brief-head .section-label{color:var(--muted);font-size:11px}.brief-head h3{letter-spacing:-.04em;margin-top:10px;font-size:clamp(21px,2.1vw,29px);font-weight:450}.brief-text{max-width:46ch;color:var(--muted);gap:16px;font-size:15px;line-height:1.6;display:grid}@media (min-width:901px){.brief-row{background-origin:content-box;background-image:linear-gradient(90deg, transparent 74.5px, var(--guide) 74.5px, var(--guide) 75.5px, transparent 75.5px)}.brief-item[data-live] .brief-row{background-image:none}}@media (max-width:900px){.brief-row{grid-template-columns:44px minmax(0,1fr);gap:18px;padding:34px 13px}.brief-text{grid-column:2}}.case-still{isolation:isolate;border-top:1px solid var(--guide);padding-block:clamp(24px,3vw,40px);position:relative}.still-stage{margin-inline:var(--page-gutter);aspect-ratio:21/9;border-radius:var(--radius) 0 var(--radius) var(--radius);background:var(--accent);position:relative}.still-window{border-radius:inherit;display:block;position:absolute;inset:0;overflow:hidden}@supports (corner-shape:superellipse(1.5)){.still-stage,.still-window{corner-shape:superellipse(1.5)}}@media (max-width:700px){.still-stage{aspect-ratio:4/3}}.still-screen{object-fit:cover;object-position:center center;width:100%;height:100%}.still-stage>.corner-plate{--plate-top:0px;--plate-side:0px}.system-view{padding-top:clamp(30px,3.4vw,46px);animation:.4s cubic-bezier(.22,1,.36,1) both panel-in;position:relative}.system-view:before{content:"";top:0;left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;height:1px;position:absolute}.swatch,.type-list>li,.scale-stage,.decision-list>li{background:radial-gradient(circle clamp(90px, 9vw, 150px) at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, color-mix(in srgb, var(--accent) 9%, transparent) 36%, color-mix(in srgb, var(--accent) 3%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(90px, 9vw, 150px) at 100% 100%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, color-mix(in srgb, var(--accent) 9%, transparent) 36%, color-mix(in srgb, var(--accent) 3%, transparent) 66%, transparent 100%), var(--ink);color:var(--foreground)}@media (prefers-reduced-motion:reduce){.system-view{animation:none}}.system-view:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.swatch-grid{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));gap:14px;width:100%;margin:0;padding:0;list-style:none;display:grid}.swatch{border-radius:18px;align-content:start;gap:6px;min-height:250px;padding:20px;display:grid}.swatch-chip{background:var(--chip);border-radius:12px;height:120px;box-shadow:inset 0 0 0 1px #fbfcf82e}.swatch strong{margin-top:6px;font-size:15px;font-weight:500}.swatch code{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;color:var(--on-dark-muted);font-size:12px}.swatch-use{color:var(--on-dark-muted);font-size:13px;line-height:1.5}.type-list,.scale-list,.decision-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.type-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.type-list>li{border-radius:18px 0 18px 18px;align-content:center;gap:16px;min-height:300px;padding:26px;display:grid;position:relative}.type-list>li>.corner-plate{--plate-top:0px;--plate-side:0px}.type-list .plate-keyword{font-size:max(12px, calc(15px * var(--plate,1)));letter-spacing:.02em}.type-glyph{letter-spacing:-.04em;color:#0000;-webkit-text-stroke:2px color-mix(in srgb, var(--background) 62%, transparent);font-size:clamp(120px,17vw,232px);line-height:.82}@media (max-width:1000px){.type-glyph{-webkit-text-stroke-width:1.6px}}@media (max-width:700px){.type-glyph{-webkit-text-stroke-width:1.2px}}.type-meta{letter-spacing:.02em;color:var(--on-dark-muted);font-size:13px}.type-list>li,.decision-list>li{background:radial-gradient(circle clamp(150px, 16vw, 280px) at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, color-mix(in srgb, var(--accent) 10%, transparent) 38%, color-mix(in srgb, var(--accent) 3%, transparent) 68%, transparent 100%), radial-gradient(circle clamp(150px, 16vw, 280px) at 100% 100%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, color-mix(in srgb, var(--accent) 10%, transparent) 38%, color-mix(in srgb, var(--accent) 3%, transparent) 68%, transparent 100%), var(--ink)}.scale-stage{background:radial-gradient(circle clamp(160px, 17vw, 300px) at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 15%, transparent) 34%, color-mix(in srgb, var(--accent) 5%, transparent) 64%, transparent 100%), radial-gradient(circle clamp(160px, 17vw, 300px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 15%, transparent) 34%, color-mix(in srgb, var(--accent) 5%, transparent) 64%, transparent 100%), var(--ink);border-radius:18px;padding:124px clamp(26px,3vw,44px) clamp(26px,3vw,40px);display:grid;position:relative}.scale-control{--thumb:18px;--fillet:18px;z-index:1;border-radius:0 0 var(--fillet) var(--fillet);background:var(--background);gap:8px;width:min(460px,78%);padding:14px 26px 12px;display:grid;position:absolute;top:0;left:50%;translate:-50%}@supports (corner-shape:superellipse(1.5)){.scale-control{corner-shape:superellipse(1.5)}}.scale-control:before,.scale-control:after{content:"";--seam:1px;width:calc(var(--fillet) + var(--seam));height:var(--fillet);pointer-events:none;position:absolute;top:0}.scale-control:before{right:calc(100% - var(--seam));background:radial-gradient(circle var(--fillet) at 0% 100%, transparent 0 100%, var(--background) 100%)}.scale-control:after{left:calc(100% - var(--seam));background:radial-gradient(circle var(--fillet) at 100% 100%, transparent 0 100%, var(--background) 100%)}.scale-sketch{color:color-mix(in srgb, var(--background) 58%, transparent);align-content:start;gap:clamp(10px,1.2vw,16px);display:grid}.sk-title{letter-spacing:-.03em;color:color-mix(in srgb, var(--foreground) 88%, transparent);line-height:1.02}.sk-heading{letter-spacing:-.02em;color:color-mix(in srgb, var(--foreground) 76%, transparent);line-height:1.1}.sk-meta{letter-spacing:.06em}.sk-rule{background:color-mix(in srgb, var(--foreground) 18%, transparent);height:1px}.sk-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);margin:0;padding:0;list-style:none;display:grid}.sk-cards>li{border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:14px;align-content:start;gap:8px;padding:clamp(14px,1.4vw,20px);display:grid}.sk-card-title{letter-spacing:-.02em;color:color-mix(in srgb, var(--foreground) 82%, transparent);line-height:1.15}.sk-body{line-height:1.5}.sk-lines{gap:calc(1.5em - 1px);margin:calc(.5em - 1px) 0 .5em;display:grid}.sk-lines>i{background:color-mix(in srgb, var(--foreground) 16%, transparent);height:1px}.sk-lines>i:last-child{width:62%}@media (max-width:700px){.sk-cards{grid-template-columns:minmax(0,1fr)}.sk-cards>li:nth-child(n+3){display:none}.scale-stage{padding:116px 18px 24px}.scale-control{--fillet:18px;--thumb:16px;width:min(88%,460px);padding:12px 16px 10px}.scale-ticks{letter-spacing:.04em;height:20px;font-size:10px}.scale-read{margin-top:8px;font-size:11px}.scale-read strong{font-size:13px}}.scale-read{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;margin:10px 0 0;font-size:12px;display:flex}.scale-read strong{letter-spacing:.06em;color:var(--foreground);font-size:14px;font-weight:500}.scale-range{width:100%;height:var(--thumb);cursor:pointer;appearance:none;background:0 0;margin:0}.scale-range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0 var(--fill,0%), color-mix(in srgb, var(--foreground) 14%, transparent) var(--fill,0%) 100%);border-radius:4px;height:4px}.scale-range::-moz-range-track{background:linear-gradient(to right, var(--accent) 0 var(--fill,0%), color-mix(in srgb, var(--foreground) 14%, transparent) var(--fill,0%) 100%);border:0;border-radius:4px;height:4px}.scale-range::-webkit-slider-thumb{width:var(--thumb);height:var(--thumb);margin-top:calc((4px - var(--thumb)) / 2);background:var(--foreground);appearance:none;border-radius:50%}.scale-range::-moz-range-thumb{width:var(--thumb);height:var(--thumb);background:var(--foreground);border:0;border-radius:50%}.scale-range:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.scale-ticks{letter-spacing:.06em;height:22px;color:var(--muted);margin:0;padding:0;font-size:11px;list-style:none;position:relative}.scale-ticks>li{top:0;left:calc(var(--thumb) / 2 + (100% - var(--thumb)) * var(--i) / var(--last));white-space:nowrap;justify-items:center;gap:4px;display:grid;position:absolute;translate:-50%}.scale-ticks>li>i{background:color-mix(in srgb, var(--foreground) 22%, transparent);width:1px;height:6px}.scale-ticks>li[data-on]{color:var(--foreground)}.scale-ticks>li[data-on]>i{background:var(--foreground);height:9px}@media (prefers-reduced-motion:reduce){.spec-line,.spec-meta{transition:none}}.decision-list>li{border-radius:18px;align-content:center;gap:10px;min-height:190px;padding:26px;display:grid}.decision-list strong{font-size:16px;font-weight:500}.decision-list span{color:var(--on-dark-muted);font-size:15px;line-height:1.6}@media (min-width:901px){.decision-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-next{justify-content:space-between;align-items:center;gap:30px;padding-block:68px;display:flex}.case-next-copy>.section-label{margin-bottom:28px}.case-next h2{letter-spacing:-.04em;font-size:clamp(21px,2.2vw,30px);line-height:1.1}.case-next-summary{max-width:44ch;color:var(--muted);margin-top:10px;font-size:15px;line-height:1.6}.case-next .heading-action{padding:14px 24px;font-size:15px}.case-next .heading-action svg{width:18px;height:18px}.case-next-link{align-items:center;gap:14px;transition:gap .3s;display:inline-flex}@media (hover:hover) and (pointer:fine){.case-next-link:hover{gap:22px}}.contact-detail:before{content:"";left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;z-index:-2;height:1px;position:absolute;bottom:0}.contact-detail{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:3%;display:grid}#main>.contact-detail{background-image:var(--page-rails-edges);--joint-axis-on:0}.contact-detail-copy>.section-label{margin-bottom:28px}.contact-detail-copy>p:not(.section-label){max-width:52ch;color:var(--muted);margin-top:30px;font-size:16px;line-height:1.7}.contact-mail-large{border-bottom:1px solid var(--line);letter-spacing:-.03em;align-items:center;gap:14px;margin-top:34px;padding-bottom:8px;font-size:clamp(19px,2.3vw,29px);display:inline-flex}@media (hover:hover) and (pointer:fine){.contact-mail-large:hover{border-bottom-color:var(--foreground)}}.contact-timeline{margin:0;padding:0;list-style:none}.contact-timeline li{border-top:1px solid var(--line);grid-template-columns:44px 1fr;gap:18px;padding:26px 0;display:grid}.contact-timeline li:last-child{border-bottom:1px solid var(--line)}.contact-timeline h3{letter-spacing:-.02em;font-size:20px;font-weight:500}.contact-timeline p{color:var(--muted);margin-top:8px;font-size:15px;line-height:1.65}.footer-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;display:grid}.footer-link-group{align-items:center;gap:20px;display:flex}.footer-link-group:first-child{justify-content:flex-end}.footer-mark img{display:block}@media (max-width:1100px){.footer{text-align:center;grid-template-columns:1fr;justify-items:center}.footer>span{text-align:center;justify-self:center}.footer>.footer-brand{display:none}}.footer-nav a,.footer-nav span{white-space:nowrap}@media (max-width:640px){.footer-nav{gap:clamp(10px,3.6vw,16px)}.footer-link-group{gap:clamp(9px,3.6vw,20px)}}@media (max-width:480px){.footer-nav{font-size:13px}.footer-mark img{width:30px;height:30px}}@media (hover:hover) and (pointer:fine){.footer-nav a:hover{color:var(--foreground)}}@supports (corner-shape:superellipse(1.5)){.page-hero,.project-frame,.project-clip,.project-edge,.studio-panel,.principle-card,.process-panel{corner-shape:superellipse(1.5)}}@media (max-width:1000px){.process-stepper{grid-template-columns:1fr;gap:30px}.process-tabs{grid-template-columns:repeat(var(--step-count), minmax(0, 1fr));padding-top:22px}.process-tab-name{min-height:2.3em;display:block}.process-tab,.process-progress>span{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 14px}.tech-grid{grid-template-columns:repeat(2,1fr)}.case-body,.contact-detail{grid-template-columns:1fr;gap:40px}}@media (max-width:900px){.service-row{grid-template-columns:46px minmax(0,1fr) 52px;gap:18px;padding:22px 16px}.service-art-slot{grid-area:2/2/auto/-1}.service-desc{font-size:14px}.service-arrow{grid-area:1/3;align-self:center}.contact-top{grid-template-columns:1fr;align-items:start;gap:34px}.contact-steps{grid-template-columns:1fr;gap:0}.contact-steps li{padding-block:20px}.principle-grid{grid-template-columns:1fr;gap:14px;margin-top:40px}}@media (max-width:640px){.intro h2{font-size:2.5rem}.intro h2 br{display:none}.page-hero{padding:calc(var(--header-height) + 20px) 7% 54px;min-height:46svh}.projects,.tools{--section-pad:64px;padding-block:64px}.sculpted-section{padding-top:96px}.project-grid{grid-template-columns:1fr;gap:48px}.project-frame .corner-plate,.shot-stage>.corner-plate{--plate:.72}.project-visit{padding:8px 13px;font-size:10px;bottom:14px;right:14px}.service-row{grid-template-columns:minmax(0,1fr) 44px;gap:14px 12px;padding:22px 14px}.service-number{text-align:left;grid-area:1/1;font-size:16px}.service-body,.service-art-slot{grid-column:1/-1}.service-body{grid-row:2}.service-art-slot{grid-row:3}.service-arrow{grid-area:1/2;align-self:start;width:44px;height:44px}.process-tabs{grid-template-columns:repeat(2,1fr)}.process-panel{padding:26px 22px}.tech-grid{grid-template-columns:repeat(2,1fr);gap:10px}.tech-tile{padding:18px 16px}.tech-mark{margin-bottom:10px}.tech-mark[data-wide]{width:80px;height:80px;margin:-29px 0 -19px}.tech-crop{top:16px;right:16px}.case-next{gap:10px;padding-block:54px}.case-next-copy{flex:auto;min-width:0}.case-next h2{font-size:16px}.case-next-summary{margin-top:10px;display:block}.case-next .heading-action{display:none}.case-next .heading-action svg{width:16px;height:16px}.case-next-link{gap:8px}.case-next-link svg{width:16px;height:16px}.contact-timeline li{grid-template-columns:1fr;gap:8px}}.project-grid{--col-guides:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--track) + var(--gap) / 2 - .5px), var(--guide) calc(var(--track) + var(--gap) / 2 - .5px), var(--guide) calc(var(--track) + var(--gap) / 2 + .5px), transparent calc(var(--track) + var(--gap) / 2 + .5px), transparent calc(var(--track) + var(--gap)));--row-guides:repeating-linear-gradient(180deg, transparent 0, transparent calc(var(--row-track) + var(--row-gap) / 2 - .5px), var(--guide) calc(var(--row-track) + var(--row-gap) / 2 - .5px), var(--guide) calc(var(--row-track) + var(--row-gap) / 2 + .5px), transparent calc(var(--row-track) + var(--row-gap) / 2 + .5px), transparent calc(var(--row-track) + var(--row-gap)));--track:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));--row-track:calc((100% - (var(--rows) - 1) * var(--row-gap)) / var(--rows))}#main>.intro,#main>.testimonials{background-image:var(--page-rails-edges);--joint-axis-on:0}@media (min-width:901px){.service-row{background-origin:content-box,content-box,padding-box;background-image:linear-gradient(90deg, transparent 74.5px, var(--guide) 74.5px, var(--guide) 75.5px, transparent 75.5px), linear-gradient(90deg, transparent calc(100% - 75.5px), var(--guide) calc(100% - 75.5px), var(--guide) calc(100% - 74.5px), transparent calc(100% - 74.5px)), linear-gradient(90deg, transparent 0 var(--content-pad), var(--background) var(--content-pad), var(--background) calc(100% - var(--content-pad)), transparent calc(100% - var(--content-pad)))}}.project-grid{margin-inline:calc(-1 * var(--content-pad));background-image:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.project-card{min-width:0;padding:28px;position:relative}.project-card:nth-child(2n+3):before{content:"";top:0;left:calc(-1 * var(--edge-l));background:var(--guide);pointer-events:none;width:100cqw;height:1px;position:absolute}.project-feature{--card-pad:clamp(20px, 1.9vw, 30px);padding:var(--card-pad);border:1px solid var(--accent);border-radius:var(--radius);color:var(--foreground);background:var(--ink);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:stretch;gap:clamp(20px,2vw,32px);display:grid;position:relative}.tilt-stage{perspective:900px;height:100%}.tilt-stage>.project-feature{will-change:transform;height:100%}.project-feature>.corner-plate{--plate-top:0px;--plate-side:0px;color:var(--foreground);top:-1px;right:-1px}.project-preview{background-color:color-mix(in srgb, var(--background) 7%, transparent);border-radius:14px;min-width:0;min-height:0;display:block;position:relative;overflow:hidden}.project-preview img{object-fit:cover;object-position:center center}.project-details{flex-direction:column;align-self:stretch;min-width:0;display:flex}.project-details .section-label{color:var(--accent);font-size:11px}.project-details>.section-label{text-transform:uppercase}.project-details h3{letter-spacing:-.04em;color:var(--foreground);margin:8px 0 12px;font-size:clamp(22px,2vw,30px);font-weight:450}.project-summary,.project-method>p:not(.section-label){color:var(--on-dark-muted);font-size:13px;line-height:1.5}.project-summary em{font-family:var(--font-serif);color:var(--foreground);margin-bottom:8px;font-size:19px;display:block}.project-method{margin-top:16px}.project-method>.section-label{margin-bottom:12px}.project-method ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-method li{border:1px solid color-mix(in srgb, var(--background) 22%, transparent);border-radius:999px;padding:5px 9px;font-size:12px}.project-details-link{color:var(--foreground);align-items:center;gap:16px;margin-top:auto;padding-top:16px;font-size:14px;display:flex}.project-details-link .project-arrow{border:1px solid var(--line);border-radius:50%;width:46px;height:46px}.project-details-link:focus-visible .project-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}@media (hover:hover) and (pointer:fine){.project-details-link:hover .project-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}}@supports (corner-shape:superellipse(1.5)){.project-feature{corner-shape:superellipse(1.5)}}@media (max-width:900px){.project-grid{grid-template-columns:minmax(0,1fr)}.project-card:nth-child(n+2):before{content:"";top:0;left:calc(-1 * var(--edge-l));background:var(--guide);pointer-events:none;width:100cqw;height:1px;position:absolute}}@media (max-width:1200px) and (min-width:901px),(max-width:640px){.project-feature{grid-template-columns:minmax(0,1fr)}.project-preview{aspect-ratio:4/3;align-self:start}.project-details{padding-top:0}}@media (max-width:640px){.project-card{padding:20px}}.principle-grid{--cols:3;--gap:20px;background-image:none}.process>.section-heading,.tools>.section-heading,.case-system>.section-heading{position:relative}.process>.section-heading:after,.tools>.section-heading:after,.case-system>.section-heading:after{content:"";z-index:-2;top:calc(-1 * var(--section-pad));bottom:calc(-1 * var(--heading-gap));background:var(--guide-axis);pointer-events:none;width:1px;position:absolute;left:calc(50% - .5px)}.tools>.section-heading:after{bottom:calc(16px - var(--heading-gap))}@media (max-width:900px){.process-nav{display:none}}#main>.process{background-image:var(--page-rails-edges);--joint-axis-on:0}.process-stepper:before{content:"";top:0;left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;height:1px;position:absolute}@media (max-width:1000px){.tools .tech-grid{background-image:none}}@media (max-width:900px){.contact .contact-top{background-image:none}}@media (max-width:640px){.process-tabs{grid-template-columns:1fr}.process-tab,.process-progress>span{flex-direction:row;align-items:baseline}}#main>.tools{background-image:var(--page-rails-edges);--joint-axis-on:0}.tech-grid{--gap:14px;background-image:var(--col-guides)}.contact{background:radial-gradient(circle clamp(240px, 34vw, 500px) at 0% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(240px, 34vw, 500px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), var(--ink);border-top-left-radius:0}.contact:before{content:none}@media (max-width:480px){.contact>.corner-plate{display:none}.contact{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}}.contact-top{background-image:none}.contact-steps{--cols:3;--gap:28px;--guide:var(--rail-ink);--joint:color-mix(in srgb, var(--foreground) 38%, var(--ink));--joint-paper:var(--ink);background-image:none}.contact-steps li{border-top:0}.panel-track{--cols:4;--gap:10px;background-image:var(--col-guides)}.panel-activity li+li,.process-outputs li+li{position:relative}.panel-activity li+li:after{content:"";inset-inline:0;background:var(--guide);pointer-events:none;height:1px;position:absolute;top:-7px}.stats{padding-bottom:0}.stat-row{margin-inline:calc(-1 * var(--content-pad));background-image:linear-gradient(90deg, transparent calc(25% - .5px), var(--guide) calc(25% - .5px), var(--guide) calc(25% + .5px), transparent calc(25% + .5px)), linear-gradient(90deg, transparent calc(75% - .5px), var(--guide) calc(75% - .5px), var(--guide) calc(75% + .5px), transparent calc(75% + .5px));grid-template-columns:repeat(4,minmax(0,1fr));margin-block:0;padding:0;list-style:none;display:grid;position:relative}.stat-row:before{content:"";left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;height:1px;position:absolute;top:-1px}.stat-row>li{isolation:isolate;text-align:center;border-radius:22px;align-content:center;justify-items:center;gap:14px;padding:52px 26px;display:grid;position:relative}.stat-row>li .section-label{color:var(--accent)}.stat-row>li:first-child{padding-left:var(--content-pad)}.stat-row>li:last-child{padding-right:var(--content-pad)}.stat-row>li:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(circle clamp(150px, 22vw, 320px) at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), radial-gradient(circle clamp(150px, 22vw, 320px) at 100% 100%, color-mix(in srgb, var(--accent) 34%, transparent) 0%, color-mix(in srgb, var(--accent) 16%, transparent) 32%, color-mix(in srgb, var(--accent) 4%, transparent) 66%, transparent 100%), var(--ink);opacity:0;transition:opacity .28s,box-shadow .32s,scale .45s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;scale:.985}.stat-row>li:after{content:"";background:var(--guide);opacity:0;pointer-events:none;height:1px;transition:opacity .28s;position:absolute;top:0;left:0;right:0}.stat-row>li .stat-value,.stat-row>li .section-label,.stat-row>li>p{transition:color .35s}#main>.stats-bare{background-image:var(--page-rails-edges);padding-top:0}.stats-bare .stat-row{background-image:linear-gradient(90deg, transparent calc(25% - .5px), var(--guide) calc(25% - .5px), var(--guide) calc(25% + .5px), transparent calc(25% + .5px)), linear-gradient(90deg, transparent calc(50% - .5px), var(--guide) calc(50% - .5px), var(--guide) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(90deg, transparent calc(75% - .5px), var(--guide) calc(75% - .5px), var(--guide) calc(75% + .5px), transparent calc(75% + .5px))}.stats-bare .stat-row:after{--stat-sqh:linear-gradient(90deg, transparent calc(25% - var(--joint-half-square)), var(--joint) calc(25% - var(--joint-half-square)) calc(25% + var(--joint-half-square)), transparent calc(25% + var(--joint-half-square)) calc(50% - var(--joint-half-square)), var(--joint) calc(50% - var(--joint-half-square)) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)) calc(75% - var(--joint-half-square)), var(--joint) calc(75% - var(--joint-half-square)) calc(75% + var(--joint-half-square)), transparent calc(75% + var(--joint-half-square)));--stat-sq:linear-gradient(90deg, transparent calc(25% - var(--joint-half-square)), var(--joint) calc(25% - var(--joint-half-square)) calc(25% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(25% - var(--joint-half-square) + var(--joint-stroke)) calc(25% + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(25% + var(--joint-half-square) - var(--joint-stroke)) calc(25% + var(--joint-half-square)), transparent calc(25% + var(--joint-half-square)) calc(50% - var(--joint-half-square)), var(--joint) calc(50% - var(--joint-half-square)) calc(50% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(50% - var(--joint-half-square) + var(--joint-stroke)) calc(50% + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(50% + var(--joint-half-square) - var(--joint-stroke)) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)) calc(75% - var(--joint-half-square)), var(--joint) calc(75% - var(--joint-half-square)) calc(75% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(75% - var(--joint-half-square) + var(--joint-stroke)) calc(75% + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(75% + var(--joint-half-square) - var(--joint-stroke)) calc(75% + var(--joint-half-square)), transparent calc(75% + var(--joint-half-square)))}@media (max-width:900px){.stats-bare .stat-row{background-image:linear-gradient(90deg, transparent calc(50% - .5px), var(--guide) calc(50% - .5px), var(--guide) calc(50% + .5px), transparent calc(50% + .5px))}.stats-bare .stat-row:after{--stat-sqh:linear-gradient(90deg, transparent calc(50% - var(--joint-half-square)), var(--joint) calc(50% - var(--joint-half-square)) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)));--stat-sq:linear-gradient(90deg, transparent calc(50% - var(--joint-half-square)), var(--joint) calc(50% - var(--joint-half-square)) calc(50% - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(50% - var(--joint-half-square) + var(--joint-stroke)) calc(50% + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(50% + var(--joint-half-square) - var(--joint-stroke)) calc(50% + var(--joint-half-square)), transparent calc(50% + var(--joint-half-square)))}}@media (max-width:560px){.stats-bare .stat-row{background-image:none}}.counter{line-height:1;display:inline-flex}.counter-digit{clip-path:inset(0 -.2em);display:inline-block;position:relative}.counter-rest{visibility:hidden}.counter-face{text-align:center;position:absolute;inset:0}.stat-value{font-family:var(--font-serif);letter-spacing:-.055em;font-variant-numeric:tabular-nums;align-items:baseline;font-size:clamp(3rem,5.4vw,5.4rem);font-weight:500;line-height:1;display:flex}.stat-value i{letter-spacing:0;margin-left:.14em;font-size:.42em;font-style:normal}.stat-value i[data-suffix=\+]{font-size:.672em}.stat-row .section-label{color:var(--muted)}.stat-row>li>p{max-width:26ch;color:var(--muted);font-size:15px;line-height:1.6}@media (max-width:900px){.stat-row{background-image:linear-gradient(90deg, transparent calc(50% - .5px), var(--guide) calc(50% - .5px), var(--guide) calc(50% + .5px), transparent calc(50% + .5px));grid-template-columns:repeat(2,minmax(0,1fr))}.stat-row>li:nth-child(odd){padding-left:var(--content-pad)}.stat-row>li:nth-child(2n){padding-right:var(--content-pad)}.stat-row>li:nth-child(n+3):after{opacity:1}}@media (max-width:560px){.stat-row{background-image:none;grid-template-columns:minmax(0,1fr)}.stat-row>li{padding-inline:var(--content-pad);text-align:center;justify-items:center}.stat-row>li+li:after{opacity:1}.stat-value{justify-content:center}.stat-row>li>p{margin-inline:auto}}.craft-cycle{align-self:stretch;min-height:440px;margin:0;position:relative}.craft-cycle>svg{width:100%;height:100%;position:absolute;inset:0}.cc-sheet>rect{fill:var(--background);stroke:var(--guide);stroke-width:1px}.cc-atom{transition:x 1.15s cubic-bezier(.33,0,.18,1),y 1.15s cubic-bezier(.33,0,.18,1),width 1.15s cubic-bezier(.33,0,.18,1),height 1.15s cubic-bezier(.33,0,.18,1),rx 1.15s cubic-bezier(.33,0,.18,1),fill .8s,opacity .5s}.cc-atoms>:nth-child(2){transition-delay:70ms}.cc-atoms>:nth-child(3){transition-delay:.14s}.cc-atoms>:nth-child(4){transition-delay:.21s}.cc-atoms>:nth-child(5){transition-delay:.28s}.cc-atoms>:nth-child(6){transition-delay:.35s}.cc-scene{opacity:0;transform-box:view-box;transform-origin:280px 250px;pointer-events:none;transition:opacity .4s,scale .4s;scale:.985}.cc-scene[data-on]{opacity:1;transition:opacity .65s .8s,scale .8s cubic-bezier(.22,1,.36,1) .8s;scale:1}.cc-soft{fill:color-mix(in srgb, var(--foreground) 26%, transparent)}.cc-onink{fill:color-mix(in srgb, var(--background) 62%, transparent)}.cc-onlime{fill:color-mix(in srgb, var(--ink) 72%, transparent)}.cc-onlime-dim{fill:color-mix(in srgb, var(--ink) 40%, transparent)}.cc-chrome circle{fill:color-mix(in srgb, var(--ink) 30%, transparent)}.cc-chrome .cc-tool{fill:color-mix(in srgb, var(--ink) 22%, transparent)}.cc-chrome .cc-chev{fill:none;stroke:color-mix(in srgb, var(--ink) 45%, transparent);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.cc-rail rect{fill:color-mix(in srgb, var(--background) 55%, transparent)}.cc-rail .cc-rail-on{fill:color-mix(in srgb, var(--background) 12%, transparent)}.cc-ruler line{stroke:color-mix(in srgb, var(--foreground) 22%, transparent);stroke-width:1px}.cc-art rect{fill:color-mix(in srgb, var(--foreground) 10%, transparent)}.cc-art .cc-art-hero{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.cc-handles rect{fill:var(--background);stroke:var(--foreground);stroke-width:1.5px}.cc-inspect rect{fill:color-mix(in srgb, var(--background) 45%, transparent)}.cc-inspect .cc-field{fill:color-mix(in srgb, var(--background) 18%, transparent)}.cc-inspect .cc-swatch{fill:color-mix(in srgb, var(--background) 75%, transparent)}.cc-cursor{fill:var(--foreground);stroke:var(--background);stroke-width:1.5px}.cc-tab{fill:color-mix(in srgb, var(--foreground) 8%, transparent)}.cc-tab-on{fill:color-mix(in srgb, var(--foreground) 18%, transparent)}.cc-tree rect{fill:color-mix(in srgb, var(--background) 50%, transparent)}.cc-gutter rect{fill:color-mix(in srgb, var(--background) 60%, transparent)}.cc-code rect{fill:color-mix(in srgb, var(--foreground) 30%, transparent)}.cc-code .cc-tok{fill:color-mix(in srgb, var(--foreground) 55%, transparent)}.cc-code .cc-tok2{fill:color-mix(in srgb, var(--accent) 90%, var(--foreground))}.cc-caret{fill:var(--foreground);animation:1.1s step-end infinite cc-blink}.cc-mini rect{fill:color-mix(in srgb, var(--foreground) 14%, transparent)}.cc-term>rect{fill:color-mix(in srgb, var(--foreground) 92%, transparent)}.cc-prompt{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.cc-can rect,.cc-can .cc-can-foot{fill:var(--foreground)}.cc-can .cc-can-foot{fill:color-mix(in srgb, var(--foreground) 72%, var(--ink))}.cc-can .cc-can-lid{fill:color-mix(in srgb, var(--background) 92%, var(--foreground));stroke:color-mix(in srgb, var(--foreground) 28%, transparent);stroke-width:1px}.cc-can .cc-can-band,.cc-can .cc-can-rim{fill:none;stroke:color-mix(in srgb, var(--background) 22%, transparent);stroke-width:1.25px}.cc-can .cc-can-rim{stroke:color-mix(in srgb, var(--background) 34%, transparent)}.cc-sync{fill:none;stroke:var(--muted);stroke-width:2px;stroke-dasharray:5 5;animation:1.4s linear infinite cc-crawl}.cc-sync-head{stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round;animation:none}.cc-table line{stroke:color-mix(in srgb, var(--background) 28%, transparent);stroke-width:1px}.cc-cells .cc-cell{fill:color-mix(in srgb, var(--background) 55%, transparent)}.cc-cells .cc-key{fill:var(--accent)}.cc-chips rect{fill:color-mix(in srgb, var(--background) 22%, transparent)}.cc-wire path{fill:none;stroke:color-mix(in srgb, var(--foreground) 22%, transparent);stroke-width:2px;stroke-linecap:round}.cc-flow path{stroke:var(--accent);stroke-width:3px;stroke-dasharray:14 150;animation:2.4s linear infinite cc-send}.cc-flow path:nth-child(2){animation-delay:.5s}.cc-flow path:nth-child(3){animation-delay:1s}.cc-method rect{fill:color-mix(in srgb, var(--foreground) 10%, transparent)}.cc-method .cc-method-ink{fill:color-mix(in srgb, var(--foreground) 42%, transparent)}.cc-port circle{fill:var(--background);stroke:color-mix(in srgb, var(--foreground) 34%, transparent);stroke-width:2px}.cc-lock rect{fill:color-mix(in srgb, var(--ink) 76%, transparent)}.cc-lock path{fill:none;stroke:color-mix(in srgb, var(--ink) 76%, transparent);stroke-width:2.5px}.cc-globe .cc-globe-face{fill:color-mix(in srgb, var(--foreground) 4%, transparent);stroke:none}.cc-globe circle,.cc-globe ellipse,.cc-globe line{fill:none;stroke:color-mix(in srgb, var(--foreground) 26%, transparent);stroke-width:1px}.cc-orbit{fill:none;stroke:var(--guide);stroke-width:1.5px;stroke-dasharray:2 3;transform-box:view-box;transform-origin:280px 250px;animation:26s linear infinite cc-spin}.cc-arc path{fill:none;stroke:color-mix(in srgb, var(--foreground) 48%, transparent);stroke-width:1.75px;stroke-linecap:round;stroke-dasharray:5 5}.cc-arc.cc-flow path{stroke:var(--accent);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:9 130;animation:2.2s linear infinite cc-send}.cc-arc.cc-flow path:nth-child(2){animation-delay:.45s}.cc-arc.cc-flow path:nth-child(3){animation-delay:.9s}.cc-live rect{fill:color-mix(in srgb, var(--foreground) 92%, transparent)}.cc-live .cc-live-dot{fill:var(--accent);animation:1.6s ease-in-out infinite cc-beat}.cc-caption-dot{fill:var(--accent);animation:1.8s ease-in-out infinite cc-beat}.cc-caption text{letter-spacing:.12em;fill:var(--muted);opacity:0;font-size:11px;font-weight:500;transition:opacity .35s}.cc-caption text[data-on]{opacity:1;transition:opacity .5s .75s}.cc-bar rect{fill:var(--ink)}.cc-bar .cc-bar-fill{fill:var(--accent);animation:4s linear forwards cc-fill}@keyframes cc-fill{0%{width:calc(168px * var(--from))}to{width:calc(168px * var(--to))}}.cc-ico>g{fill:var(--ink)}.cc-ico .cc-ico-light{fill:var(--background)}.cc-ico .cc-ico-line{fill:none;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.cc-ico .cc-ico-light.cc-ico-line{stroke:var(--background)}@keyframes cc-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes cc-crawl{to{stroke-dashoffset:-20px}}@keyframes cc-send{0%{stroke-dashoffset:164px}to{stroke-dashoffset:0}}@keyframes cc-spin{to{rotate:360deg}}@keyframes cc-beat{0%,to{opacity:1}50%{opacity:.25}}@media (max-width:900px){.craft-cycle{aspect-ratio:560/500;align-self:start;min-height:0;margin-top:12px}}.contact-ways{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 6%;margin:44px 0 0;display:grid}.contact-ways dt{margin-bottom:10px}.contact-ways dd{gap:2px;margin:0;font-size:16px;line-height:1.6;display:grid}.contact-ways a{color:var(--foreground);justify-self:start}@media (hover:hover) and (pointer:fine){.contact-ways a:hover{color:var(--muted)}}.contact-ways>div:last-child{grid-column:1/-1}.contact-ways .contact-social,.contact-ways dd>.contact-social{flex-wrap:wrap;gap:10px;margin-top:2px;display:flex}.contact-social a,.contact-social a svg{flex:none}.enquiry{border:1px solid var(--accent);border-radius:var(--radius);color:var(--foreground);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 22%, transparent);background:var(--ink);gap:18px;padding:clamp(32px,4vw,52px) clamp(28px,3.4vw,48px);display:grid;position:relative}@supports (corner-shape:superellipse(1.5)){.enquiry{corner-shape:superellipse(1.5)}}.enquiry-actions{justify-content:flex-start;margin-top:10px;display:flex}.enquiry-send{pointer-events:auto}.enquiry-line{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin:0;font-size:clamp(17px,1.55vw,22px);line-height:1.45;display:flex}.enquiry-line-open{display:block}.enquiry-fill{text-align:center;border:0;border-bottom:1px solid color-mix(in srgb, var(--foreground) 36%, transparent);min-width:0;color:var(--foreground);font:inherit;letter-spacing:inherit;background:0 0;border-radius:0;flex:200px;padding:0 0 8px;transition:border-color .24s}.enquiry-fill-short{flex:0 170px}.enquiry-fill::placeholder{color:color-mix(in srgb, var(--foreground) 48%, transparent);letter-spacing:0;font-size:.78em;line-height:1.85897}.enquiry-fill:focus{border-bottom-color:var(--accent);outline:none}.enquiry-kinds{flex-wrap:wrap;gap:10px;margin-top:-4px;display:flex}.enquiry-kinds button{border:1px solid color-mix(in srgb, var(--foreground) 32%, transparent);border-radius:var(--radius-button);color:color-mix(in srgb, var(--foreground) 82%, transparent);cursor:pointer;background:0 0;padding:9px 16px;font-size:14px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.enquiry-kinds button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--ink)}@media (hover:hover) and (pointer:fine){.enquiry-kinds button:not([aria-pressed=true]):hover{border-color:var(--foreground);color:var(--foreground)}}.enquiry-note{display:grid;position:relative}.enquiry-note textarea{border:0;border-bottom:1px solid color-mix(in srgb, var(--foreground) 36%, transparent);width:100%;color:var(--foreground);font:inherit;resize:none;background:0 0;padding:0 60px 10px 0;font-size:16px;line-height:1.65;transition:border-color .24s}.enquiry-note textarea:focus{border-bottom-color:var(--accent);outline:none}.enquiry-count{font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--foreground) 50%, transparent);font-size:12px;position:absolute;bottom:10px;right:0}@media (max-width:900px){.contact-detail{grid-template-columns:minmax(0,1fr);gap:48px}.contact-ways{margin-top:36px}}@media (max-width:560px){.contact-ways{grid-template-columns:minmax(0,1fr);gap:26px}}.writing{padding-block:0}.post-item:first-child{border-top:0}.post-item:last-child{border-bottom:0}#main>.writing{background-image:var(--page-rails-edges);--joint-axis-on:0}.post-list{margin:0;margin-inline:calc(-1 * var(--content-pad));padding:0;list-style:none}.post-item{border-top:1px solid var(--line)}.post-item[data-live],.post-item:focus-within{z-index:1;position:relative}.post-row{isolation:isolate;--lit-inset:0;border-radius:22px;grid-template-columns:62px minmax(0,1fr) clamp(160px,20vw,260px) 62px;align-items:center;gap:26px;padding:36px 13px;display:grid;position:relative}.post-body{gap:14px;min-width:0;display:grid}.post-body>.tags{margin-top:4px}.post-meta{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin:0;font-size:11px;transition:color .35s;display:flex}.post-row h2{letter-spacing:-.04em;max-width:20ch;margin:0;font-size:clamp(21px,2.1vw,29px);font-weight:450;line-height:1.12;transition:color .35s}.post-summary{max-width:62ch;color:var(--muted);margin:0;font-size:15px;line-height:1.65;transition:color .35s}.post-arrow{pointer-events:auto;border:1px solid var(--line);width:52px;height:52px;color:var(--foreground);border-radius:50%;justify-self:center;place-items:center;transition:background-color .25s,border-color .25s,color .25s,translate .35s cubic-bezier(.22,1,.36,1);display:grid}@media (min-width:901px){.post-row{background-origin:content-box;background-image:linear-gradient(90deg, transparent 74.5px, var(--guide) 74.5px, var(--guide) 75.5px, transparent 75.5px), linear-gradient(90deg, transparent calc(100% - 75.5px), var(--guide) calc(100% - 75.5px), var(--guide) calc(100% - 74.5px), transparent calc(100% - 74.5px))}}.post-item[data-live] .post-row h2{color:var(--foreground)}.post-row:has(:focus-visible) h2{color:var(--foreground)}.post-item[data-live] .post-summary{color:var(--on-dark-muted)}.post-row:has(:focus-visible) .post-summary{color:var(--on-dark-muted)}.post-item[data-live] .service-number{color:var(--accent)}.post-row:has(:focus-visible) .service-number{color:var(--accent)}.post-item[data-live] .post-meta{color:var(--accent)}.post-row:has(:focus-visible) .post-meta{color:var(--accent)}.post-item[data-live] .tags span{border-color:color-mix(in srgb, var(--background) 24%, transparent);color:color-mix(in srgb, var(--background) 86%, var(--ink))}.post-row:has(:focus-visible) .tags span{border-color:color-mix(in srgb, var(--background) 24%, transparent);color:color-mix(in srgb, var(--background) 86%, var(--ink))}.post-item[data-live] .post-arrow{background:var(--accent);color:var(--ink)}.post-row:has(:focus-visible) .post-arrow{background:var(--accent);color:var(--ink)}.post-stamp{letter-spacing:.04em;color:var(--accent);justify-content:center;align-items:center;gap:10px;margin:18px 0 0;font-size:13px;display:flex}.post-stamp>[aria-hidden]{color:var(--on-dark-muted)}#main>.post-article{background-image:var(--page-rails-edges);--joint-axis-on:0}.post-plate{max-width:68ch;margin:0 auto 56px;position:relative}.post-plate-frame{aspect-ratio:16/9;border-radius:var(--radius);background:var(--ink);position:relative;overflow:hidden}.post-plate-frame:before{content:"";pointer-events:none;background-image:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 70%, transparent) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000 0%,#0000008c 28%,#0000 62%);mask-image:linear-gradient(135deg,#000 0%,#0000008c 28%,#0000 62%)}@supports (corner-shape:superellipse(1.5)){.post-plate-frame{corner-shape:superellipse(1.5)}}.post-plate-frame img{object-fit:cover;object-position:center center}.post-share>.corner-plate{--plate-top:0px;--plate-side:0px}.post-share-open{pointer-events:auto;background:var(--ink);width:46px;height:46px;color:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:rotate .35s cubic-bezier(.22,1,.36,1),scale .25s;display:grid}@media (hover:hover) and (pointer:fine){.post-share-open:hover{scale:1.06}}.post-share-sheet{z-index:4;background:var(--ink);border-radius:18px;min-width:224px;padding:8px;animation:.22s cubic-bezier(.22,1,.36,1) both post-share-in;display:grid;position:absolute;top:66px;right:0;box-shadow:0 24px 54px -26px #08080899}@supports (corner-shape:superellipse(1.5)){.post-share-sheet{corner-shape:superellipse(1.5)}}@keyframes post-share-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.post-share-sheet{animation:none}}.post-share-sheet button{color:var(--foreground);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;transition:background-color .18s,color .18s;display:flex}.post-share-sheet svg{color:var(--on-dark-muted);flex:none;transition:color .18s}@media (hover:hover) and (pointer:fine){.post-share-sheet button:hover{background:color-mix(in srgb, var(--background) 10%, transparent)}.post-share-sheet button:hover svg{color:var(--accent)}}.post-share{pointer-events:none;position:absolute;inset:0}.post-share>*{pointer-events:auto}.post-measure{max-width:68ch;margin-inline:auto}.post-measure>*{margin:0}.post-measure>*+*{margin-top:26px}.post-measure p{color:var(--foreground);font-size:17px;line-height:1.78}.post-measure h2{letter-spacing:-.03em;margin-top:54px;font-size:clamp(22px,2.4vw,30px);line-height:1.2}.post-measure ul{gap:12px;padding:0;list-style:none;display:grid}.post-measure li{color:var(--muted);padding-left:26px;font-size:17px;line-height:1.7;position:relative}.post-measure li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:.68em;left:2px}.post-measure blockquote{border-left:2px solid var(--accent);margin-block:44px;padding-left:28px}.post-measure blockquote p{letter-spacing:-.025em;color:var(--foreground);font-size:clamp(19px,2.1vw,25px);line-height:1.45}.post-next{justify-content:space-between;align-items:center;gap:30px;padding-block:68px;display:flex}.post-next-copy{gap:10px;min-width:0;display:grid}.post-next-copy>.section-label{color:var(--muted);margin:0}.post-next h2{letter-spacing:-.03em;margin:0;font-size:clamp(21px,2.2vw,30px);line-height:1.15}.post-next p:not(.section-label){max-width:56ch;color:var(--muted);margin:0;font-size:15px;line-height:1.65}@media (max-width:900px){.post-row{grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;padding:30px 13px}.post-body{display:contents}.post-row>.service-number{display:none}.post-meta,.post-row h2,.post-summary,.post-more{grid-column:1/-1}.post-body>.tags{grid-column:1;margin-top:6px}.post-arrow{display:none}.post-next{padding-block:54px}}@media (max-width:640px){.post-plate{margin-bottom:38px}.post-plate-frame{border-radius:var(--radius-mobile) 0 var(--radius-mobile) var(--radius-mobile)}.post-next{flex-direction:column;align-items:flex-start;gap:22px}.post-measure blockquote{margin-block:34px;padding-left:20px}}.stat-row{isolation:isolate}.stat-row:after{content:"";pointer-events:none;z-index:var(--layer-joint);inset:calc(-1 * var(--joint-half-square)) 0;--stat-a:25%;--stat-b:75%;--stat-sqh:linear-gradient(90deg, transparent calc(var(--stat-a) - var(--joint-half-square)), var(--joint) calc(var(--stat-a) - var(--joint-half-square)) calc(var(--stat-a) + var(--joint-half-square)), transparent calc(var(--stat-a) + var(--joint-half-square)) calc(var(--stat-b) - var(--joint-half-square)), var(--joint) calc(var(--stat-b) - var(--joint-half-square)) calc(var(--stat-b) + var(--joint-half-square)), transparent calc(var(--stat-b) + var(--joint-half-square)));--stat-sq:linear-gradient(90deg, transparent calc(var(--stat-a) - var(--joint-half-square)), var(--joint) calc(var(--stat-a) - var(--joint-half-square)) calc(var(--stat-a) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--stat-a) - var(--joint-half-square) + var(--joint-stroke)) calc(var(--stat-a) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--stat-a) + var(--joint-half-square) - var(--joint-stroke)) calc(var(--stat-a) + var(--joint-half-square)), transparent calc(var(--stat-a) + var(--joint-half-square)) calc(var(--stat-b) - var(--joint-half-square)), var(--joint) calc(var(--stat-b) - var(--joint-half-square)) calc(var(--stat-b) - var(--joint-half-square) + var(--joint-stroke)), var(--joint-paper) calc(var(--stat-b) - var(--joint-half-square) + var(--joint-stroke)) calc(var(--stat-b) + var(--joint-half-square) - var(--joint-stroke)), var(--joint) calc(var(--stat-b) + var(--joint-half-square) - var(--joint-stroke)) calc(var(--stat-b) + var(--joint-half-square)), transparent calc(var(--stat-b) + var(--joint-half-square)));background-image:var(--stat-sqh), var(--stat-sqh), var(--stat-sqh), var(--stat-sqh), var(--stat-sq), var(--stat-sq);background-size:100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-square), 100% var(--joint-square);background-position:left 0 top 0, left 0 top calc(var(--joint-square) - var(--joint-stroke)), left 0 bottom calc(var(--joint-square) - var(--joint-stroke)), left 0 bottom 0, left 0 top 0, left 0 bottom 0;background-repeat:no-repeat;position:absolute}@media (min-width:561px) and (max-width:900px){.stat-row:after{--stat-a:50%;--stat-b:50%}.stat-row:before{--joint-axis-on:0}}@media (max-width:900px){.stat-row>li:after{top:calc(-1 * var(--joint-half-square));left:calc(-1 * var(--joint-half-square));right:calc(-1 * var(--joint-half-square));z-index:var(--layer-joint);height:var(--joint-square);background-color:#0000;background-image: linear-gradient(90deg, var(--joint) var(--joint-square), transparent var(--joint-square) calc(100% - var(--joint-square)), var(--joint) calc(100% - var(--joint-square))), linear-gradient(90deg, var(--joint) var(--joint-square), transparent var(--joint-square) calc(100% - var(--joint-square)), var(--joint) calc(100% - var(--joint-square))),  linear-gradient(90deg, var(--joint) var(--joint-stroke), var(--joint-paper) var(--joint-stroke) calc(var(--joint-square) - var(--joint-stroke)), var(--joint) calc(var(--joint-square) - var(--joint-stroke)) var(--joint-square), transparent var(--joint-square) calc(100% - var(--joint-square)), var(--joint) calc(100% - var(--joint-square)) calc(100% - var(--joint-square) + var(--joint-stroke)), var(--joint-paper) calc(100% - var(--joint-square) + var(--joint-stroke)) calc(100% - var(--joint-stroke)), var(--joint) calc(100% - var(--joint-stroke))), linear-gradient(var(--guide), var(--guide));background-size:100% var(--joint-stroke), 100% var(--joint-stroke), 100% 100%, 100% 1px;background-position:left 0 top 0, left 0 bottom 0, 0 0, 0 calc(var(--joint-half-square) - .5px);background-repeat:no-repeat}}@media (max-width:560px){.stat-row:after{content:none}}#main>.section-wrap:after,.principles-band:before,.principles-band:after,.contact-band:before,.contact-band:after,.case-band:before,.case-band:after,.case-still:before,.contact-detail:before,.footer:after,.service-item:first-child:before,.service-item:last-child:after,.post-item+.post-item:before,.brief-item+.brief-item:before,.project-grid:before,.project-card:nth-child(2n+3):before,.tech-group:before,.process-stepper:before,.system-view:before,.stat-row:before{top:calc(var(--joint-y,0px) - var(--joint-half-square));z-index:var(--layer-joint);height:var(--joint-square);background-color:#0000;background-image:var(--joint-sqh-left), var(--joint-sqh-left), var(--joint-sqh-axis), var(--joint-sqh-axis), var(--joint-sqh-right), var(--joint-sqh-right), var(--joint-sqh-col1), var(--joint-sqh-col1), var(--joint-sqh-col2), var(--joint-sqh-col2), var(--joint-sq-left), var(--joint-sq-axis), var(--joint-sq-right), var(--joint-sq-col1), var(--joint-sq-col2), var(--joint-rule,var(--joint-rule-bounded));background-repeat:no-repeat;background-size:100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 1px;background-position:0 0, 0 100%, 0 0, 0 100%, 0 0, 0 100%, 0 0, 0 100%, 0 0, 0 100%, 0 0, 0 0, 0 0, 0 0, 0 0,  0 calc(var(--joint-half-square) - .5px)}:is(.principles-band,.contact-band,.case-band,.case-still):before{--joint-y:-.5px;--joint-drop:0px;--joint-axis-on:0;--joint-rule:linear-gradient(transparent, transparent);left:0;right:0}:is(.principles-band,.contact-band,.case-band):after{--joint-rise:0px;--joint-axis-on:0;--joint-rule:linear-gradient(transparent, transparent);top:auto;bottom:calc(-1px - var(--joint-half-square) + .5px);left:0;right:0}:is(.principles-band,.contact-band):before,:is(.principles-band,.contact-band):after,#main>:is(.hero,.page-hero)+.section-wrap:after,#main>:is(.principles-band,.contact-band,.case-band,.case-still)+.section-wrap:after{--joint-rule:var(--joint-rule-full)}#main>.page-hero+.case-band:before{content:none}.service-item:first-child:before,.project-grid:before,.stat-row:before{--joint-y:-1px}.service-item:last-child:after{--joint-axis-on:0;top:auto;bottom:calc(-1px - var(--joint-half-square) + .5px)}.contact-detail:before{top:auto;bottom:calc(-1 * var(--joint-half-square) + .5px)}.tech-group:before{--joint-y:-16px}.tech-group:before,.process-stepper:before,.system-view:before{--joint-axis-on:0}.post-item+.post-item:before,.brief-item+.brief-item:before{--joint:var(--row-top-joint,var(--row-joint));left:calc(-1 * var(--joint-half-square));right:calc(-1 * var(--joint-half-square));--joint-y:-1px;--joint-axis-on:0;--joint-left:var(--joint-half-square);--joint-right:calc(100% - var(--joint-half-square));--joint-arm-left:linear-gradient(90deg, transparent var(--joint-left), var(--joint) var(--joint-left) calc(var(--joint-left) + var(--joint-reach)), transparent calc(var(--joint-left) + var(--joint-reach)));--joint-arm-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-reach)), var(--joint) calc(var(--joint-right) - var(--joint-reach)) var(--joint-right), transparent var(--joint-right));--joint-rule:linear-gradient(transparent, transparent)}.service-item[data-live] .service-row,.service-item:focus-within .service-row,.post-item[data-live] .post-row,.post-item:focus-within .post-row,.brief-item[data-live] .brief-row{z-index:2}.service-item:before,.service-item:after,.post-item:before,.brief-item:before{--joint-axis-on:0;--joint-col-ink:transparent;--joint-col2-ink:transparent}.post-item+.post-item:before,.brief-item+.brief-item:before{z-index:var(--layer-joint)}.tech-group+.tech-group:before{left:calc(-1 * var(--joint-half-square));right:calc(-1 * var(--joint-half-square));--joint-left:var(--joint-half-square);--joint-right:calc(100% - var(--joint-half-square))}#main>.page-hero+.projects .project-grid:before{--joint-rise:0px;--joint-rule:var(--joint-rule-full)}@media (min-width:901px){#main>.page-hero+.projects .project-grid:before{--joint-axis-on:1}}#main>.case-still+.section-wrap:after{--joint-rise:0px}.footer:after{--joint-drop:0px;--joint-rule:linear-gradient(90deg, transparent var(--joint-left), var(--guide) var(--joint-left), var(--guide) var(--joint-right), transparent var(--joint-right));--joint-arm-left:linear-gradient(90deg, transparent var(--joint-left), var(--joint) var(--joint-left), var(--joint) calc(var(--joint-left) + var(--joint-reach)), transparent calc(var(--joint-left) + var(--joint-reach)));--joint-arm-right:linear-gradient(90deg, transparent calc(var(--joint-right) - var(--joint-reach)), var(--joint) calc(var(--joint-right) - var(--joint-reach)), var(--joint) var(--joint-right), transparent var(--joint-right));top:auto;bottom:calc(17.5px - var(--joint-half-square));left:0;right:0}@media (min-width:901px){#main>:is(.services,.process,.case-system,.case-next,.post-next):after{--joint-axis-on:1;--joint-axis-rise:0px}.process-stepper:before,.system-view:before,.service-item:first-child:before,.tech-group:first-child:before{--joint-axis-on:1;--joint-axis-drop:0px}.service-item:last-child:after{--joint-axis-on:1;--joint-axis-rise:0px}.projects+.principles-band:before,.projects+.contact-band:before,:is(.case-next,.post-next)+.contact-band:before{--joint-axis-on:1}.principles-band:has(+:is(.stats,.process)):after{--joint-axis-on:1}#main>.stats+.testimonials:after{--joint-axis-on:1;--joint-axis-drop:0px}}@media (max-width:900px){.project-card:nth-child(n+2):before{top:calc(-1 * var(--joint-half-square));z-index:var(--layer-joint);height:var(--joint-square);background-color:#0000;background-image:var(--joint-sqh-left), var(--joint-sqh-left), var(--joint-sqh-right), var(--joint-sqh-right), var(--joint-sq-left), var(--joint-sq-right), linear-gradient(var(--guide), var(--guide));background-size:100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% var(--joint-stroke), 100% 100%, 100% 100%, 100% 1px;background-position:0 0, 0 100%, 0 0, 0 100%, 0 0, 0 0, 0 calc(var(--joint-half-square) - .5px);background-repeat:no-repeat}}.services-intro{padding-bottom:var(--heading-gap,55px)}.services-intro>.section-heading{margin-bottom:0}#main>.stack-services{background-image:var(--page-rails-edges)}#main>.services-intro:after{--joint-axis-rise:0px}#main>.stack-services:after{--joint-axis-drop:calc(-1 * var(--joint-weight))}#main>.stack-services+.section-wrap:after{--joint-axis-rise:0px}.stack-list{margin:0;padding:0;list-style:none}.stack-card{border-radius:var(--radius);corner-shape:superellipse(1.5);background:var(--background);min-height:268px;color:var(--foreground);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:32px;margin-bottom:26px;padding:34px 38px;transition:background-color .34s,border-color .34s,color .34s,box-shadow .34s;display:grid;position:relative;box-shadow:0 26px 60px -40px #08080866}.stack-card[data-front]{background:var(--ink);color:var(--foreground);border-color:var(--accent);--guide:var(--guide-on-ink);box-shadow:0 26px 60px -34px #080808a6}.stack-card{isolation:isolate}.stack-card:before{content:"";z-index:-1;border-radius:inherit;corner-shape:inherit;pointer-events:none;background-image:radial-gradient(circle at center, var(--stack-dot,var(--dot-ink)) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 35%,#000);mask-image:linear-gradient(90deg,#0000 35%,#000)}.stack-card[data-front]{--stack-dot:color-mix(in srgb, var(--accent) 60%, transparent)}.stack-number{letter-spacing:-.02em;color:var(--muted);font-size:20px}.stack-card[data-front] .stack-number{color:var(--on-dark-muted)}.stack-body{align-content:center;gap:14px;display:grid}.stack-body .section-label{color:var(--muted)}.stack-card[data-front] .stack-body .section-label{color:var(--accent)}.stack-card[data-front] .stack-desc{color:var(--on-dark-muted)}.stack-card h3{letter-spacing:-.03em;margin:0;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.1}.stack-card h3 a,.stack-body .section-label{color:inherit;text-decoration:none}.stack-desc{max-width:46ch;color:var(--muted);font-size:15px;line-height:1.55}.stack-art{place-items:center;min-width:0;display:grid;position:relative}.stack-art img{object-fit:contain;width:100%;max-width:280px;height:200px}.stack-card .tags span{padding-block:4px}.stack-card:nth-child(-n+2) .stack-art img{max-width:220px;height:160px}.stack-arrow{border:1px solid var(--line);width:54px;height:54px;color:var(--foreground);border-radius:50%;place-items:center;transition:background-color .34s,border-color .34s,color .34s;display:grid}.stack-card[data-front] .stack-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}.stack-run{height:70vh;display:block}@media (max-width:900px){.stack-card{grid-template-columns:minmax(0,1fr);gap:clamp(22px,4.2vw,34px);min-height:clamp(500px,85vw,580px);padding:clamp(28px,6vw,46px)}.stack-body{gap:clamp(14px,2.6vw,22px)}.stack-arrow{width:46px;height:46px;position:absolute;top:clamp(28px,6vw,46px);right:clamp(28px,6vw,46px)}.stack-number{align-items:center;min-height:46px;display:flex}.stack-desc{max-width:none}.stack-card:before{-webkit-mask-image:linear-gradient(#0000 35%,#000);mask-image:linear-gradient(#0000 35%,#000)}.stack-run{height:0}}@property --hero-reveal{syntax:"<number>";inherits:true;initial-value:1}.hero-arc>.orb{z-index:1;top:calc(.98519 * var(--orb-h) - .625 * var(--orb-spread,1) * var(--orb-w));left:calc(.5 * var(--orb-w) - .625 * var(--orb-spread,1) * var(--orb-w));width:calc(1.25 * var(--orb-spread,1) * var(--orb-w));height:calc(1.25 * var(--orb-spread,1) * var(--orb-w));pointer-events:none;opacity:0;transition:opacity .5s;position:absolute}.hero-arc>.orb[data-ready]{opacity:1}.hero-arc>.orb canvas{width:100%;height:100%;display:block}.hero-edge{z-index:1;top:var(--hero-top,0px);left:var(--hero-pad,0px);right:var(--hero-pad,0px);pointer-events:none;background-image:linear-gradient(to right, transparent 0 17%, color-mix(in srgb, var(--accent) 6%, transparent) 27%, color-mix(in srgb, var(--accent) 24%, transparent) 36%, color-mix(in srgb, var(--accent) 60%, transparent) 43%, var(--accent) 50%, color-mix(in srgb, var(--accent) 60%, transparent) 57%, color-mix(in srgb, var(--accent) 24%, transparent) 64%, color-mix(in srgb, var(--accent) 6%, transparent) 73%, transparent 83% 100%);height:1px;position:absolute}.hero-edge-foot{top:auto;bottom:var(--hero-pad,0px)}@media (max-width:640px){.hero-edge{display:none}}.welcome{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.welcome-copy{max-width:720px}.welcome-copy>.section-label{letter-spacing:.12em;color:var(--muted);justify-content:center;margin-bottom:28px;line-height:normal}.welcome-lead{color:var(--muted);margin-top:24px;max-width:640px;margin-inline:auto}.welcome-model{z-index:1;aspect-ratio:4/3;contain:layout paint;width:min(100%,580px);position:relative}.welcome-pause{margin-top:26px}.welcome-pause.is-waiting{visibility:hidden}.model-loading{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:11px;display:flex;position:absolute;inset:0}.model-bar{background:color-mix(in srgb, var(--foreground) 12%, transparent);width:148px;height:2px;overflow:hidden}.model-bar i{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:scale .3s ease-out;display:block}.model-stage{touch-action:pan-y;opacity:0;width:100%;height:100%;transition:opacity .8s}.welcome-model.is-ready .model-stage{opacity:1}@media (prefers-reduced-motion:reduce){.model-stage{transition:none}}.welcome-model canvas{cursor:grab;display:block;width:100%!important;height:100%!important}.welcome-model canvas:active{cursor:grabbing}@media (max-width:640px){.welcome-model{width:min(100%,300px)}}#main>.welcome{background-image:var(--page-rails-edges);--joint-axis-on:0}.welcome-stage{--model-w:580px;justify-content:center;width:100%;display:flex;position:relative;container-type:inline-size}@media (max-width:640px){.welcome-stage{--model-w:300px}}.welcome-pane{z-index:0;aspect-ratio:810/247.5;pointer-events:none;opacity:0;background:url(/pane-grid.svg) 50%/100% 100% no-repeat;width:min(100%,620px);transition:opacity .8s;position:absolute;bottom:0;left:50%;translate:-50%}.welcome-pane.is-ready{opacity:.55}@media (prefers-reduced-motion:reduce){.welcome-pane{transition:none}}.welcome-notes{--note-w:clamp(208px, 16vw, 244px);--note-reach:clamp(94px, calc(50cqw - var(--note-w) - 16px), 185px);--note-life:8.8s;pointer-events:none;position:absolute;inset:0}.note-card{width:var(--note-w);text-align:left;border:1px solid var(--accent);background:var(--ink);animation:note-life var(--note-life) linear both;border-radius:14px;flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;position:absolute;translate:0 -50%}.note-card:before{content:"";z-index:1;box-sizing:border-box;background:var(--ink);border-left:1px solid var(--accent);border-bottom:1px solid var(--accent);pointer-events:none;width:13px;height:13px;position:absolute;top:48px;left:-7px;transform:rotate(45deg)}.note-card:after{content:none}.note-card[data-side=right]:before{border-bottom:0;border-left:0;border-right:1px solid var(--accent);border-top:1px solid var(--accent);left:auto;right:-7px}.note-face{object-fit:cover;background:color-mix(in srgb, var(--accent) 22%, transparent);outline:1px solid var(--accent);outline-offset:4px;border-radius:50%;flex:none;width:34px;height:34px}.note-head{align-items:center;gap:11px;padding:12px 15px;display:flex}.note-head .note-tag,.note-head .note-tag[data-role]{background:var(--accent);color:var(--ink)}.note-section{padding:11px 15px 0}.note-card>.note-text{padding:5px 15px 12px}.note-status{padding:10px 15px 12px}.note-card>.note-face{position:absolute;top:38px;left:-54px}.note-card[data-side=right]>.note-face{left:auto;right:-54px}.note-meta{letter-spacing:.06em;color:var(--muted);white-space:normal;font-size:9.5px}.note-rule{background:var(--guide);height:1px;margin:0 15px;display:block}.note-section{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:9.5px}.note-status{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:9.5px;display:flex}.note-status b{color:var(--foreground);align-items:center;gap:6px;font-weight:500;display:inline-flex}.note-spinner,.note-check{flex:none;margin-left:auto}.note-spinner{border:1.5px solid color-mix(in srgb, var(--muted) 45%, transparent);border-top-color:var(--accent);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite note-spin}.note-check{color:var(--accent)}.note-check-2{opacity:0}.note-check[data-seen] .note-check-2{animation:.35s ease-out both note-tick}@keyframes note-tick{0%{opacity:0;translate:-3px}to{opacity:1;translate:0}}@keyframes note-spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.note-spinner{animation:none}}.note-status b:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.note-status[data-state=pending] b:before{box-shadow:inset 0 0 0 1px var(--muted);background:0 0}.welcome-stage[data-paused] .welcome-notes *,.welcome-stage[data-paused] .welcome-notes :after{animation-play-state:paused!important}.note-body{flex-direction:column;gap:4px;min-width:0;display:flex}.note-who{color:#f4f6f0;flex-wrap:wrap;align-items:center;gap:4px 7px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.note-tag{letter-spacing:.1em;color:var(--ink);background:#f4f6f0;border-radius:999px;padding:2px 7px;font-size:9px;line-height:1.4}.note-tag[data-role=Developer]{background:var(--accent);color:var(--ink)}.note-text{color:var(--foreground);font-size:13px;line-height:1.4}@keyframes note-life{0%{opacity:0;transform:translateY(8px)}4%{opacity:1;transform:none}88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.note-card{animation:none}}@media (max-width:768px){.welcome-stage{flex-direction:column;align-items:center;gap:40px}.welcome-notes{flex-direction:column;justify-content:space-between;gap:10px;width:100%;height:336px;display:flex;position:relative;inset:auto}.welcome-pause{margin-top:40px}.note{display:contents}.welcome-model{order:1}.welcome-notes{order:2}.note-card{width:min(100% - 66px,290px);position:relative;translate:none;top:auto!important;left:auto!important;right:auto!important}.note-card[data-side=left]{align-self:flex-start;margin-left:54px}.note-card[data-side=right]{align-self:flex-end;margin-right:54px}.welcome-pane{bottom:auto;top:calc(.75 * min(100cqw, var(--model-w)) - .30556 * min(100cqw, 620px))}}@media (max-width:400px){.welcome-notes{height:376px}}.note-card,.hands-review,.process-panel,.project-feature{box-shadow:0 0 24px color-mix(in srgb, var(--accent) 22%, transparent);transition:box-shadow .3s}.stack-card[data-front]{box-shadow:0 0 24px color-mix(in srgb, var(--accent) 22%, transparent), 0 26px 60px -34px #080808a6}@media (hover:hover) and (pointer:fine){.note-card:hover,.hands-review:hover,.process-panel:hover,.project-feature:hover{box-shadow:0 0 32px color-mix(in srgb, var(--accent) 40%, transparent)}.stack-card[data-front]:hover{box-shadow:0 0 32px color-mix(in srgb, var(--accent) 40%, transparent), 0 26px 60px -34px #080808a6}}.review-rows{align-content:center;gap:36px;min-width:0;margin-block:-28px;padding-block:40px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.review-row{margin-block:-40px;padding-block:40px;position:relative;overflow:hidden}.review-track{will-change:transform;width:max-content;display:flex}.review-copy{flex:none;gap:36px;padding-right:36px;display:flex}.review-card{text-align:left;border:1px solid var(--accent);background:var(--ink);border-radius:14px;flex:none;align-content:space-between;gap:16px;width:280px;min-height:196px;margin:0;padding:20px 20px 16px;transition:box-shadow .3s;display:grid}@media (hover:hover) and (pointer:fine){.review-card:hover{box-shadow:0 0 32px color-mix(in srgb, var(--accent) 40%, transparent)}}.review-card blockquote{color:var(--foreground);white-space:normal;margin:0;font-size:13.5px;line-height:1.55}.review-card-rule{background:var(--guide);height:1px;display:block}.review-card figcaption{align-items:center;gap:10px;display:flex}.review-card-face{object-fit:cover;outline:1px solid var(--accent);outline-offset:2px;border-radius:50%;flex:none;width:30px;height:30px}.review-card-monogram{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);place-items:center;font-size:11px;font-weight:500;display:grid}.review-card-who{flex:1;min-width:0;display:grid}.review-card-name{color:#f4f6f0;font-size:12px;font-weight:500;line-height:1.35}.review-card-role{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.35;overflow:hidden}.review-card-flag{object-fit:cover;border-radius:3px;flex:none;width:28px;height:21px}@media (max-width:900px){.review-rows{margin-top:8px}}.contact{margin-inline:var(--hero-pad);padding-inline:calc(var(--edge-l) - var(--hero-pad) + var(--content-pad));border:1px solid var(--guide);border-radius:var(--radius);background:var(--ink)}.contact-top{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:28px}.contact-top>div:first-child{justify-items:center;display:grid}.contact .section-kicker{background:color-mix(in srgb, var(--foreground) 8%, var(--ink));margin-inline:auto}.contact-actions{justify-items:center;max-width:540px}.contact:before,.contact:after{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background-size:var(--dot-gap) var(--dot-gap);filter:brightness(.5);background-position:50%;position:absolute;inset:0}.contact:before{opacity:.55;background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent calc(var(--dot-size) + .5px))}.contact:after{background-image:radial-gradient(circle at center, var(--accent) var(--dot-size), transparent calc(var(--dot-size) + .5px));-webkit-mask-image:radial-gradient(58% 78%,#0000008c 0,#00000073 40%,#0000 100%);mask-image:radial-gradient(58% 78%,#0000008c 0,#00000073 40%,#0000 100%)}.contact-edge{z-index:1;pointer-events:none;background-image:linear-gradient(to right, transparent 0 17%, color-mix(in srgb, var(--accent) 6%, transparent) 27%, color-mix(in srgb, var(--accent) 24%, transparent) 36%, color-mix(in srgb, var(--accent) 60%, transparent) 43%, var(--accent) 50%, color-mix(in srgb, var(--accent) 60%, transparent) 57%, color-mix(in srgb, var(--accent) 24%, transparent) 64%, color-mix(in srgb, var(--accent) 6%, transparent) 73%, transparent 83% 100%);height:1px;position:absolute;top:-1px;left:0;right:0}.contact-edge-foot{top:auto;bottom:-1px}@media (max-width:640px){.contact-edge{display:none}}.contact-top,.contact-panorama,.contact-actions{z-index:1;position:relative}.contact .contact-actions>p{color:#f4f6f0}.contact-panorama{margin-top:clamp(40px,5vw,72px);margin-inline:calc(-1 * (var(--edge-l) - var(--hero-pad) + var(--content-pad)));height:var(--pano-h,200px);margin-bottom:clamp(48px,6vw,80px);position:relative}.pano{pointer-events:none;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:-170px 0;overflow:clip}.pano:active{cursor:grabbing}.pano-view{pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.pano-stage{opacity:0;justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:absolute;inset:0}.pano[data-ready] .pano-stage{opacity:1}.pano-camera,.pano-ring,.pano-card{width:0;height:0;transform-style:preserve-3d}.pano-camera{position:relative}.pano-ring,.pano-card{position:absolute;top:0;left:0}.pano-tile{pointer-events:auto;backface-visibility:hidden;outline:1px solid #0000;position:absolute}.pano-frame{width:100%;position:absolute;top:0;left:0;overflow:hidden}.pano-photo{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;display:block;position:absolute}.pano-shade{pointer-events:none;background:var(--ink);opacity:var(--pano-depth,0);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.pano-stage{transition:none}}.contact>.contact-actions{text-align:center;margin:0 auto;padding-bottom:clamp(40px,5vw,64px)}.contact p.contact-lead{color:#f4f6f0;opacity:1;text-align:center;max-width:540px;margin:0}@media (max-width:900px){.section-heading{--heading-gap:35px;display:block}.section-heading>p,.section-heading>.heading-aside{width:min(30rem,100%);margin-top:24px}.section-heading .section-label{margin-bottom:24px}.section-heading,.testimonial-copy{text-align:center}.section-heading .section-kicker,.testimonial-copy .section-kicker{margin-inline:auto}.section-heading>div:first-child{justify-items:center;display:grid}.section-heading>p,.section-heading>.heading-aside,.testimonial-lead{margin-inline:auto}.section-heading>.heading-aside{align-items:center}.heading-actions{justify-content:center}.testimonial-copy{justify-items:center;display:grid}}.project-list,.projects-explore-top{display:none}@media (max-width:1024px){.hang{display:none}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:40px;display:grid}.projects-explore-top{margin:24px auto 0;display:inline-flex}.project-list-all{display:none}.project-list .project-feature{grid-template-columns:minmax(0,1fr);min-height:520px}.project-list .project-preview{aspect-ratio:4/3;align-self:start}.project-list .project-details-link .project-arrow{border:1px solid var(--line);border-radius:50%;width:46px;height:46px;margin-left:auto;transition:background-color .34s,border-color .34s,color .34s}}@media (min-width:769px) and (max-width:1024px){#main>.projects+.section-wrap:after{--joint-axis-on:1;--joint-axis-rise:initial;--joint-axis-drop:0px}.project-list.project-grid:before{--joint-axis-on:1;--joint-axis-rise:0px}.project-list .project-card:nth-child(2n+3):before{--joint-axis-on:1}}@media (max-width:768px){.projects-explore-top{display:none}.project-list-all{grid-column:1/-1;justify-self:center;margin-top:28px;display:inline-flex}.project-list{grid-template-columns:minmax(0,1fr);gap:22px}.project-list .project-card{padding-block:14px}.project-list .project-method,.project-list.project-grid:before,.project-list .project-card:before,.project-list .project-card:after{display:none}.project-list .project-feature{border-color:var(--line);min-height:300px;box-shadow:none;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);transition:border-color .34s,box-shadow .34s}.project-list .project-preview{aspect-ratio:auto;align-self:stretch}.project-list .project-details h3{margin:clamp(12px,2vw,16px) 0 clamp(16px,2.6vw,22px)}.project-list .project-card[data-front] .project-feature{border-color:var(--accent);box-shadow:0 0 24px color-mix(in srgb, var(--accent) 22%, transparent)}.project-list .project-card[data-front] .project-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}}@media (max-width:640px){.project-list .project-feature{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;min-height:450px}.project-list .project-details h3{margin:8px 0 10px}.project-list .project-details-link{padding-top:10px}.project-list .project-preview{aspect-ratio:4/3;align-self:start}}@media (max-width:425px){.project-list .project-feature{min-height:450px}}:root{--head-gap-label:clamp(18px, .7vw + 13px, 30px);--head-gap-lead:clamp(20px, .8vw + 15px, 32px)}#main .section-heading .section-label,#main .contact-top .section-label,#main :is(.intro-copy,.welcome-copy,.testimonial-copy)>.section-label{margin-bottom:var(--head-gap-label)}#main :is(.intro-lead,.welcome-lead,.testimonial-lead){margin-top:var(--head-gap-lead)}#main .contact-top{gap:var(--head-gap-lead)}#main .contact h2{margin-block:0}@media (max-width:900px){#main .section-heading>p,#main .section-heading>.heading-aside{margin-top:var(--head-gap-lead)}}#main .section-heading.is-centered{gap:var(--head-gap-lead)}.process-ring{display:none}@keyframes process-ring{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@media (max-width:1000px){.process-tabs{justify-content:center;align-items:center;gap:clamp(20px,4vw,40px);padding-top:22px;display:flex}.process-tab{aspect-ratio:1;background:0 0;border-radius:50%;flex:0 clamp(46px,11vw,58px);justify-content:center;align-items:center;width:auto;min-width:0;height:auto;padding:0}.process-tab[aria-selected=true]{background:0 0}.process-progress{opacity:0}.process-tab-index{letter-spacing:.04em;font-size:clamp(12px,3.2vw,15px)}.process-tab-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;position:absolute;overflow:hidden}.process-ring{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;transform:rotate(-90deg)}.process-ring circle{fill:none;stroke-width:1.5px}.process-ring .process-ring-track{stroke:var(--line)}.process-ring .process-ring-fill{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:100;animation:5.5s linear both process-ring}.process-tab[aria-selected=true] .process-tab-index{color:var(--foreground)}}@media (max-width:640px){.process-tabs{justify-content:space-between;gap:8px}}@media (max-width:1000px) and (prefers-reduced-motion:reduce){.process-ring-fill{stroke-dashoffset:0;animation:none}}@media (max-width:640px){.hero-description,.welcome-lead,.intro-lead,.testimonial-lead,.contact-lead,.process-panel-text,#main .section-heading>p,#main .section-heading>.heading-aside>p,#main p.contact-lead{font-size:14.5px}.stack-desc{font-size:14px}.project-summary{font-size:12.5px}.testimonial-card blockquote,.review-card blockquote{font-size:13px}}.page-hero>.hero-glows{display:none}.page-hero:before,.page-hero:after{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background-size:var(--dot-gap) var(--dot-gap);filter:brightness(.5);background-position:50%;position:absolute;inset:0}.page-hero:before{opacity:.55;background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent calc(var(--dot-size) + .5px))}.page-hero:after{background-image:radial-gradient(circle at center, var(--accent) var(--dot-size), transparent calc(var(--dot-size) + .5px));-webkit-mask-image:radial-gradient(58% 78%,#0000008c 0,#00000073 40%,#0000 100%);mask-image:radial-gradient(58% 78%,#0000008c 0,#00000073 40%,#0000 100%)}.page-hero>.section-label{background:color-mix(in srgb, var(--foreground) 8%, var(--ink));white-space:nowrap;width:fit-content;max-width:100%;height:30px;letter-spacing:var(--eyebrow-tracking);border-radius:8px;align-items:center;padding:0 14px;font-size:min(12px,3.2vw);line-height:1;display:flex}.page-hero[data-align=center]>.section-label{margin-inline:auto}body:has(#main>.page-hero){--header-top:0px;--header-box:89px}body:has(#main>.page-hero) .header{left:var(--hero-pad);right:var(--hero-pad)}.page-hero{margin:var(--header-box) var(--hero-pad) var(--page-gutter);border:1px solid var(--guide);border-radius:var(--radius);padding-top:clamp(40px,6vw,72px)}.page-hero>.contact-edge{top:0}.page-hero>.contact-edge-foot{top:auto;bottom:0}.page-crumbs li+li:before{color:color-mix(in srgb, var(--foreground) 60%, transparent)}.page-hero{margin-bottom:clamp(36px,4.5vw,60px)}#main>.page-hero+.projects{overflow-x:visible}@media (min-width:901px){.project-grid .project-card:nth-child(2n+3):before{--joint-axis-on:1}}.about-split{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:6%;display:grid}.about-split .intro-copy{text-align:left;max-width:none}.about-split .intro-copy>.section-kicker{justify-content:flex-start;margin-inline:0}.about-split .intro-lead{max-width:52ch;margin-inline:0}@media (max-width:900px){.about-split{grid-template-columns:minmax(0,1fr);gap:44px}.about-split .intro-copy{text-align:center}.about-split .intro-copy>.section-kicker{margin-inline:auto}.about-split .intro-lead{text-align:left;margin-inline:0}}.about-intro .purpose-row{background-image:linear-gradient(90deg, transparent calc(33.333% - .5px), var(--guide) calc(33.333% - .5px), var(--guide) calc(33.333% + .5px), transparent calc(33.333% + .5px)), linear-gradient(90deg, transparent calc(66.666% - .5px), var(--guide) calc(66.666% - .5px), var(--guide) calc(66.666% + .5px), transparent calc(66.666% + .5px));grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(56px,7vw,96px)}.about-intro{padding-bottom:0}.about-intro .purpose-row:after{--stat-a:33.333%;--stat-b:66.666%}.purpose-row>li>p{max-width:34ch}.purpose-row>li>p strong{color:var(--foreground);margin-bottom:6px;font-weight:600;display:block}.purpose-word{text-transform:capitalize;font-size:var(--section-type-size);letter-spacing:.012em;word-spacing:.08em;zoom:1.1;font-weight:600;line-height:1.08}.about-art{-webkit-user-select:none;user-select:none;justify-self:center;width:100%;min-width:0;max-width:min(100%,460px);height:auto;display:block}.about-split>*{min-width:0}@media (max-width:900px){.about-intro .purpose-row{background-image:none;grid-template-columns:minmax(0,1fr)}.about-intro .purpose-row:after{display:none}.about-intro .purpose-row>li{padding-inline:var(--content-pad)}.about-intro .purpose-row>li+li:after{opacity:1}}.about-intro .purpose-row>li,.about-intro .purpose-row>li:first-child,.about-intro .purpose-row>li:last-child{padding-inline:26px}@media (max-width:900px){.about-intro .purpose-row>li,.about-intro .purpose-row>li:first-child,.about-intro .purpose-row>li:last-child{padding-inline:var(--content-pad)}}.about-intro>.about-split,.about-intro>.purpose-row{align-self:stretch}.about-intro .purpose-single{background-image:none;grid-template-columns:minmax(0,1fr);margin-top:0}.about-intro .purpose-single:after{display:none}.about-intro .purpose-single>li{padding-block:clamp(36px,5vw,72px)}.purpose-banner{-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:min(100%,1100px);height:auto;display:block}.about-intro .purpose-row>li{min-width:0}@media (max-width:640px){#main .page-hero-lead,#main .case-copy>p{font-size:14.5px}#main .brief-text,#main .case-next-summary,#main .post-next-copy p,#main .post-summary,#main .stat-row>li>p,#main .purpose-row>li>p{font-size:14px}#main .post-measure p,#main .post-measure li{font-size:15.5px}#main .post-measure blockquote p{font-size:17px}}.contact-detail:before{--joint-rule:var(--joint-rule-full)}.enquiry{isolation:isolate}.enquiry:before{content:"";z-index:-1;border-radius:inherit;corner-shape:inherit;pointer-events:none;background-image:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 55%, transparent) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);-webkit-mask-composite:source-over;position:absolute;inset:0;-webkit-mask-image:radial-gradient(clamp(180px,26vw,360px) at 0 0,#000 0%,#0000008c 40%,#0000 100%),radial-gradient(clamp(180px,26vw,360px) at 100% 100%,#000 0%,#0000008c 40%,#0000 100%);mask-image:radial-gradient(clamp(180px,26vw,360px) at 0 0,#000 0%,#0000008c 40%,#0000 100%),radial-gradient(clamp(180px,26vw,360px) at 100% 100%,#000 0%,#0000008c 40%,#0000 100%);-webkit-mask-composite:source-over;mask-composite:add}@media (max-width:900px){.contact-detail-copy{text-align:center;justify-items:center;display:grid}.contact-detail-copy>.section-kicker,.contact-detail-copy>p:not(.section-label){margin-inline:auto}.contact-ways{justify-items:center;width:100%}.contact-ways dd{justify-items:center}.contact-ways a{justify-self:center}.contact-ways .contact-social,.contact-ways dd>.contact-social{justify-content:center}.contact-ways>div{justify-items:center;width:100%;display:grid}.contact-ways dt{text-align:center;justify-content:center}.contact-ways dd{text-align:center}}@media (max-width:640px){#main .contact-detail-copy>p:not(.section-label){font-size:14.5px}#main .contact-ways dd{font-size:15px}#main .enquiry-line{font-size:15.5px}#main .enquiry-note textarea{font-size:15px}#main .tools-ring-subtitle{font-size:13.5px}}@media (max-width:900px){.contact-ways>div:nth-child(3){grid-column:1/-1}}.case-body{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.case-copy{justify-items:center;display:grid}.case-copy>.section-kicker,.case-copy p:not(.section-label){margin-inline:auto}.case-laptop{padding-block:clamp(32px,5vw,72px);padding-inline:var(--page-gutter);background:var(--ink);place-items:center;display:grid}.page-hero-scroll{margin-top:clamp(8px,1.4vw,20px)}.brief-row{border-radius:0;grid-template-columns:62px minmax(0,.8fr) minmax(0,1.6fr)}.brief-row:before{display:none}.brief-text{max-width:none}@media (max-width:900px){.brief-row{grid-template-columns:44px minmax(0,1fr)}}@media (min-width:901px){.brief-head{padding-right:clamp(32px,5vw,88px)}.brief-text{padding-right:clamp(14px,2.2vw,36px)}}.brief-head .section-label{color:var(--accent)}.case-mobile{background:var(--ink);padding-block:0;line-height:0;position:relative}.case-mobile>img{-webkit-user-select:none;user-select:none;width:100%;max-width:1600px;height:auto;margin-inline:auto;display:block}.case-mobile{isolation:isolate}.mobile-dots{z-index:-1;pointer-events:none;background-image:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 85%, transparent) 1.2px, transparent 1.9px);background-size:var(--dot-gap) var(--dot-gap);background-position:50%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(42% 50%,#000 0%,#0009 55%,#0000 100%);mask-image:radial-gradient(42% 50%,#000 0%,#0009 55%,#0000 100%)}.swatch,.type-list>li,.decision-list>li,.scale-stage{background:var(--ink);border:1px solid var(--accent);color:var(--foreground)}.type-list>li{border-radius:18px;align-content:start;min-height:0;padding-bottom:22px}.type-name{color:var(--accent)}.scale-control{top:-1px}.type-glyph{-webkit-text-stroke-color:color-mix(in srgb, var(--foreground) 62%, transparent)}@media (min-width:901px){.case-mobile:after{--joint-axis-on:1;--joint-axis-rise:0px}}.scale-ticks,.scale-read{color:var(--on-dark-muted)}.scale-read strong{color:var(--foreground)}.scale-sketch{color:color-mix(in srgb, var(--foreground) 66%, transparent)}.scale-sketch [data-on]{color:var(--accent)}.sk-title,.sk-heading,.sk-card-title{font-family:var(--font-serif);font-weight:500}.scale-control{border:1px solid var(--accent);border-top:0}.scale-control:before{background:radial-gradient(circle var(--fillet) at 0% 100%, transparent 0 calc(100% - 1.5px), var(--accent) calc(100% - 1.5px) 100%, var(--background) 100%)}.scale-control:after{background:radial-gradient(circle var(--fillet) at 100% 100%, transparent 0 calc(100% - 1.5px), var(--accent) calc(100% - 1.5px) 100%, var(--background) 100%)}img.type-glyph{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:clamp(100px,14vw,190px);display:block}@media (max-width:1100px){.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.swatch-grid{grid-template-columns:minmax(0,1fr)}}.post-measure .post-figure{margin:clamp(24px,4vw,40px) 0}.post-measure .post-figure img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block}.post-measure .post-figure figcaption{color:var(--on-dark-muted);margin-top:10px;font-size:13px;line-height:1.5}.post-measure .post-code{border:1px solid var(--line);background:color-mix(in srgb, var(--foreground) 5%, transparent);border-radius:12px;margin:clamp(20px,3vw,32px) 0;padding:18px 20px;font-size:13.5px;line-height:1.6;overflow-x:auto}.post-measure .post-code code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.post-measure blockquote cite{color:var(--on-dark-muted);margin-top:10px;font-size:13px;font-style:normal;display:block}.legal-page{padding-block:clamp(40px,6vh,86px) clamp(56px,8vh,110px)}.legal-page>article{width:100%;max-width:68ch;margin-inline:auto}.legal-page p,.legal-page li{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;font-size:16px;line-height:1.7}.legal-page p{color:color-mix(in srgb, var(--foreground) 82%, transparent);margin:0 0 1.2em}.legal-page h2{font-family:var(--font-serif);margin:clamp(32px,4vh,56px) 0 clamp(12px,1.4vw,20px);font-size:clamp(22px,2vw,30px);line-height:1.2}.legal-page ul{margin:0 0 1.2em;padding-left:1.1em}.legal-page li{color:color-mix(in srgb, var(--foreground) 82%, transparent);margin-bottom:.5em}.legal-page li::marker{color:var(--accent)}.legal-page .legal-when{letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted);margin:0 0 clamp(28px,3.4vh,48px);font-size:12px;font-weight:600}.legal-open{border:1px dashed var(--accent);padding:clamp(14px,1.6vw,22px)}@media (max-width:640px){.legal-page p,.legal-page li{font-size:15px}}@media (max-width:900px){.hero-scroll{gap:0;width:28px;height:44px;display:block;position:relative}.hero-scroll>span:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-scroll-rail{display:none}.hero-scroll:before{content:"";border:2px solid color-mix(in srgb, var(--foreground) 62%, transparent);background:color-mix(in srgb, var(--foreground) 7%, transparent);border-radius:15px;transition:border-color .25s;position:absolute;inset:0}.hero-scroll:after{content:"";background:var(--foreground);border-radius:2px;width:3px;height:8px;margin-left:-1.5px;animation:1.8s cubic-bezier(.45,0,.55,1) infinite hero-scroll-wheel;position:absolute;top:9px;left:50%}.hero-scroll:focus-visible:before{border-color:var(--accent)}}@keyframes hero-scroll-wheel{0%{opacity:0;transform:translateY(0)}25%{opacity:1}75%{opacity:1}to{opacity:0;transform:translateY(14px)}}@media (max-width:900px) and (prefers-reduced-motion:reduce){.hero-scroll:after{animation:none}}@media (max-width:900px){.hero-copy{isolation:isolate;position:relative}.hero-copy:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(62% 58% at 50% 48%,#08080894 0%,#0808086b 48%,#0000 100%);position:absolute;inset:4% 0 8%}}.post-shot{align-self:stretch;min-height:150px;position:relative}.post-shot img{object-fit:contain;object-position:center center}.post-plate-frame img{object-fit:contain;padding:clamp(10px,3vw,28px)}@media (max-width:900px){.post-shot{aspect-ratio:16/7;order:-1;grid-column:1/-1;align-self:auto;min-height:0;margin-bottom:6px}.post-row{text-align:center}.post-meta{justify-content:center}.post-row h2,.post-summary{margin-inline:auto}.post-body>.tags{justify-content:center}.post-row h2 a:after{content:"";z-index:1;position:absolute;inset:0}}.post-more{display:none}@media (max-width:900px){.post-more{border:1px solid color-mix(in srgb, var(--foreground) 40%, transparent);color:var(--foreground);background:0 0;justify-self:center;gap:16px;margin-top:6px;padding:13px 22px;transition:background-color .25s,border-color .25s,color .25s;display:inline-flex}.post-item[data-live] .post-more{border-color:var(--accent);background:var(--accent);color:var(--ink)}.post-row:has(:focus-visible) .post-more{border-color:var(--accent);background:var(--accent);color:var(--ink)}}.page-hero:has(.post-stamp) h1{font-size:calc(var(--hero-type-size) * .58);line-height:1.14}@media (max-width:640px){.page-hero:has(.post-stamp) h1{font-size:calc(var(--hero-type-size) * .8)}}.page-hero:has(.post-stamp) h1{max-width:min(100%,17em);margin-inline:auto}.post-next h2,.post-next h2 a{font-size:clamp(17px,1.55vw,21px);line-height:1.3}.post-next .heading-action{white-space:nowrap;flex-shrink:0}.post-next-copy{overflow-wrap:anywhere;min-width:0}@media (max-width:900px){.post-next{flex-direction:column;align-items:flex-start;gap:22px}}@media (max-width:640px){.post-plate-frame{border-radius:var(--radius-mobile)}.post-stamp{flex-direction:column;gap:6px}.post-stamp>[aria-hidden],.post-stamp>span:first-child{display:none}}.post-plate-frame{border-radius:0}@media (max-width:640px){.post-plate-frame{border-radius:0}}@media (min-width:901px){.post-next-copy{max-width:calc(50% - 28px)}}@media (max-width:900px){.post-next .heading-action{display:none}}#main>.legal-page{background-image:var(--page-rails-edges);--joint-axis-on:0}.legal-page:before{content:"";left:var(--bleed);right:var(--bleed);background:var(--guide);pointer-events:none;z-index:-2;height:1px;position:absolute;bottom:0}@media (max-width:640px){.hero-description{max-width:min(100%,19.5rem);margin-inline:auto}}@media (max-width:900px){.hero-copy{padding-block:28px calc(28px + var(--hero-pad,10px))}.about-split .intro-lead{text-align:center;margin-inline:auto}}body:has(#main>.page-hero) #main:before{transition:opacity .3s}body:has(#main>.page-hero) #main:not([data-field-cut]):before{opacity:0;transition:none}.stack-arrow{cursor:pointer;background:0 0;padding:0}.service-sheet{width:min(640px,100% - 48px);max-width:none;max-height:calc(100dvh - 96px);color:var(--foreground);background:0 0;border:0;border-radius:0;margin:auto;padding:0;position:fixed;inset:0;overflow:visible}.service-sheet::backdrop{background:#080808bd}.service-sheet[open]{animation:.32s cubic-bezier(.22,1,.36,1) service-sheet-in}.service-sheet[open]::backdrop{animation:.32s service-sheet-fade}@keyframes service-sheet-in{0%{opacity:0;translate:0 14px}}@keyframes service-sheet-fade{0%{opacity:0}}.service-sheet-frame{background:var(--ink);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);max-height:calc(100dvh - 96px);display:grid;position:relative}.service-sheet-corners{z-index:2;pointer-events:none;position:absolute;inset:0}.service-sheet-corners i{background:var(--ink);border:1px solid var(--accent);width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}.service-sheet-corners i:first-child{top:0;left:0}.service-sheet-corners i:nth-child(2){top:0;left:100%}.service-sheet-corners i:nth-child(3){top:100%;left:0}.service-sheet-corners i:nth-child(4){top:100%;left:100%}.service-sheet-close{z-index:3;border:1px solid var(--line);background:var(--ink);width:42px;height:42px;color:var(--foreground);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background-color .25s,color .25s,border-color .25s;display:grid;position:absolute;top:14px;right:14px}@media (hover:hover) and (pointer:fine){.service-sheet-close:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}}.service-sheet-body{overscroll-behavior:contain;gap:16px;padding:clamp(28px,4vw,48px);display:grid;overflow-y:auto}.service-sheet-label{color:var(--accent);margin:0 56px 0 0}.service-sheet h2{letter-spacing:-.03em;margin:0;font-size:clamp(26px,3.4vw,38px);line-height:1.12}.service-sheet-lead{color:var(--on-dark-muted);margin:0;font-size:16px;line-height:1.7}.service-sheet-head{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:12px 0 -4px;font-size:12px;font-weight:600}.service-sheet-points{gap:0;margin:0;padding:0;list-style:none;display:grid}.service-sheet-points li{padding:14px 0 14px 22px;font-size:15px;line-height:1.6;position:relative}.service-sheet-points li+li{border-top:1px solid var(--line)}.service-sheet-points li:first-child{padding-top:4px}.service-sheet-points li:first-child:before{top:12px}.service-sheet-points li:last-child{padding-bottom:4px}.service-sheet-points li:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:22px;left:2px}.service-sheet-action{justify-self:start;gap:24px;margin-top:10px}@media (max-width:900px){.service-sheet{width:100%;height:100dvh;max-height:none;margin:0;inset:0}.service-sheet-frame{border:0;grid-template-rows:minmax(0,1fr);height:100%;max-height:none}.service-sheet-corners i:first-child{top:12px;left:12px;transform:none}.service-sheet-corners i:nth-child(2){top:12px;left:auto;right:12px;transform:none}.service-sheet-corners i:nth-child(3){top:auto;bottom:12px;left:12px;transform:none}.service-sheet-corners i:nth-child(4){inset:auto 12px 12px auto;transform:none}.service-sheet-body{align-content:start;padding:72px 28px 40px}.service-sheet-close{top:24px;right:24px}}@media (prefers-reduced-motion:reduce){.service-sheet[open],.service-sheet[open]::backdrop{animation:none}}.service-sheet-note{color:var(--on-dark-muted);margin:0 0 4px;font-size:13px;line-height:1.6}.stack-arrow svg{transition:rotate .3s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.stack-arrow:hover svg{rotate:90deg}}@media (prefers-reduced-motion:reduce){.stack-arrow svg{transition:none}}.service-sheet,.service-sheet *{box-sizing:border-box}.service-sheet-frame{grid-template-columns:minmax(0,1fr);min-width:0}.service-sheet-body{overflow-wrap:anywhere;min-width:0;max-height:calc(100dvh - 98px);overflow:hidden auto}@media (max-width:900px){.service-sheet-corners{display:none}.service-sheet-body{max-height:100dvh}}.service-sheet-body{margin-right:8px;padding-right:calc(clamp(28px,4vw,48px) - 8px)}@media (max-width:900px){.service-sheet-body{padding-right:20px}}@supports not selector(::-webkit-scrollbar){.service-sheet-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--foreground) 34%, transparent) transparent}}.service-sheet-body::-webkit-scrollbar{background:0 0;width:6px}.service-sheet-body::-webkit-scrollbar-track{background:0 0}.service-sheet-body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--foreground) 34%, transparent);border-radius:3px}.service-sheet-body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--foreground) 55%, transparent)}.service-sheet-body::-webkit-scrollbar-button{display:none}.service-sheet-note{align-items:flex-start;gap:10px;display:flex}.service-sheet-note svg{color:var(--accent);flex-shrink:0;margin-top:2px}@media (max-width:900px){.service-sheet-action{justify-self:center}}.lost-page{isolation:isolate;min-height:100svh;padding:calc(var(--header-height,100px) + 24px) var(--page-gutter,12px) 64px;text-align:center;place-items:center;display:grid;position:relative}.lost-page:before{content:"";z-index:-2;pointer-events:none;background-image:radial-gradient(circle at center, var(--dot-ink) var(--dot-size), transparent calc(var(--dot-size) + .5px));background-size:var(--dot-gap) var(--dot-gap);position:absolute;inset:0}.lost-page:after{content:"";z-index:-1;pointer-events:none;border-bottom:1px solid var(--guide);background:radial-gradient(70% 62% at 50% 52%,#080808cc 0%,#08080894 55%,#0808084d 100%);position:absolute;inset:0}body:has(.lost-page) #main:before{display:none}.lost-words{justify-items:center;gap:clamp(14px,2vh,24px);width:min(100%,880px);display:grid;container-type:inline-size}.lost-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 0;display:flex}.lost-words h1{border-right:1px solid color-mix(in srgb, var(--foreground) 30%, transparent);align-items:center;margin:0 22px 0 0;padding:0 22px 0 0;display:flex}.lost-fuzz{max-width:100%;font-family:var(--font-serif);color:var(--foreground);display:block}.lost-said{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lost-lead{color:var(--foreground);margin:0;font-size:15px;line-height:1.5}.lost-way{gap:24px;margin-top:clamp(8px,1.6vh,18px)}body:has(.lost-page) .nav-cutout{top:calc((var(--header-box) - 52px) / 2);color:var(--foreground);box-shadow:none;background:0 0;position:absolute}body:has(.lost-page) .header-scrolled .nav-cutout{top:calc((var(--header-box) - 52px) / 2);color:var(--foreground);box-shadow:none;background:0 0;position:absolute}body:has(.lost-page) .header-scrolled .nav-cutout .nav-marker{display:none}@media (max-width:640px){.lost-line{text-align:center;flex-direction:column;gap:10px}.lost-words h1{border-right:0;justify-content:center;margin:0;padding:0}}.cookie-notice{z-index:60;border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:var(--ink);width:min(520px,100% - 24px);color:var(--foreground);opacity:0;pointer-events:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px 16px;padding:20px 22px;transition:opacity .36s,translate .36s cubic-bezier(.22,1,.36,1);display:grid;position:fixed;bottom:clamp(12px,2vw,28px);left:clamp(12px,2vw,28px);translate:0 24px}.cookie-notice.is-up{opacity:1;pointer-events:auto;translate:0}.cookie-notice-corners{pointer-events:none;position:absolute;inset:0}.cookie-notice-corners i{background:var(--ink);border:1px solid var(--accent);width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}.cookie-notice-corners i:first-child{top:0;left:0}.cookie-notice-corners i:nth-child(2){top:0;left:100%}.cookie-notice-corners i:nth-child(3){top:100%;left:0}.cookie-notice-corners i:nth-child(4){top:100%;left:100%}.cookie-notice-icon{color:var(--accent)}.cookie-notice p{color:var(--on-dark-muted);margin:0;font-size:14px;line-height:1.6}.cookie-notice p a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 60%, transparent);text-underline-offset:3px}@media (hover:hover) and (pointer:fine){.cookie-notice p a:hover{color:var(--accent)}}.cookie-notice-button{border:1px solid var(--line);border-radius:var(--radius-button);color:var(--foreground);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;grid-column:2;justify-self:start;padding:10px 20px;font-size:13px;font-weight:600;transition:background-color .25s,border-color .25s,color .25s}@media (hover:hover) and (pointer:fine){.cookie-notice-button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}}.cookie-notice-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:640px){.cookie-notice{width:auto;padding:18px 18px 16px;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.cookie-notice{transition:opacity .2s;translate:0}}.cookie-notice{width:min(680px,100% - 24px);left:50%;translate:-50% 24px}.cookie-notice.is-up{translate:-50%}@media (max-width:640px){.cookie-notice{width:calc(100% - 24px);left:50%;right:auto}}@media (prefers-reduced-motion:reduce){.cookie-notice{translate:-50%}}.cookie-notice{grid-template-columns:auto minmax(0,1fr) auto;width:min(820px,100% - 24px)}.cookie-notice-button{white-space:nowrap;grid-column:auto;justify-self:end}@media (max-width:640px){.cookie-notice{grid-template-columns:auto minmax(0,1fr);width:calc(100% - 24px)}.cookie-notice-button{grid-column:1/-1;justify-self:center}}.enquiry-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;display:flex}.enquiry-send:disabled{opacity:.6;cursor:progress}.ask-altcha{--altcha-max-width:300px;--altcha-border-radius:0;--altcha-checkbox-border-radius:0;--altcha-border-color:color-mix(in srgb, var(--foreground) 34%, transparent);--altcha-color-base:var(--ink);--altcha-color-base-content:var(--foreground);--altcha-color-primary:var(--accent);--altcha-color-primary-content:var(--ink);--altcha-checkbox-border-color:color-mix(in srgb, var(--foreground) 55%, transparent);--altcha-color-text:var(--foreground);width:100%;max-width:300px;margin-left:auto;font-size:14px;display:block}@media (max-width:640px){.ask-altcha{max-width:none;margin-left:0}}.enquiry-status{color:var(--accent);margin:14px 0 0;font-size:14px;line-height:1.6}.enquiry-status.is-bad{color:#ff8a7a}.enquiry-actions{container-type:inline-size}@container (max-width:480px){.enquiry-actions{flex-direction:column;align-items:stretch}.enquiry-actions .ask-altcha{order:-1;max-width:none;margin-left:0}.enquiry-actions .enquiry-send{justify-content:center}}html:has(cal-modal-box){overflow-y:scroll}@media (max-width:640px){.hero{min-height:max(600px,100svh - 110px)}body:has(#main>.hero) #main{--field-cut:max(600px, calc(100svh - 110px))}}
