.hero-orbit:before{content:"";z-index:-2;background-image:linear-gradient(rgba(255, 255, 255, var(--approach-grid-a,.09)) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, var(--approach-grid-a,.09)) 1px, transparent 1px);background-size:84px 84px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 75%,#000,#0000 72%);mask-image:radial-gradient(circle at 75%,#000,#0000 72%)}.approach-wash{opacity:var(--approach-wash-opacity,0);background:radial-gradient(70% 55% at 85% 20%,#ffffff38,#0000 60%),radial-gradient(55% 45% at 15% 80%,#00000047,#0000 55%);background:radial-gradient(70% 55% at 85% 20%,lab(100% -.0000298023 .0000119209/.22),#0000 60%),radial-gradient(55% 45% at 15% 80%,lab(0% 0 0/.28),#0000 55%)}.approach-al{color:rgb(255 255 255/var(--approach-al-opacity,.05))}.orbit-rings{opacity:var(--approach-rings-opacity,1)}.orbit-rings i{border:1px solid #ffffff52;border-radius:50%;position:absolute;inset:0}.orbit-rings i:nth-child(2){inset:17%}.orbit-rings i:nth-child(3){background:#ffffff12;inset:34%}.approach-section[data-approach-bg=deep-sky] .approach-wash{background:radial-gradient(ellipse 78% 62% at 82% 18%, color-mix(in oklab, var(--primary) 48%, transparent), transparent 58%), radial-gradient(ellipse 90% 70% at 12% 88%, color-mix(in oklab, var(--background) 72%, transparent), transparent 62%), linear-gradient(165deg, color-mix(in oklab, var(--background) 55%, transparent) 0%, transparent 48%)}.approach-section[data-approach-bg=tonal-field] .approach-wash{background:radial-gradient(ellipse 80% 58% at 70% 22%, color-mix(in oklab, var(--primary) 32%, var(--card) 18%, transparent), transparent 60%), radial-gradient(ellipse 65% 50% at 18% 78%, color-mix(in oklab, var(--card) 38%, var(--background) 22%, transparent), transparent 55%), linear-gradient(128deg, color-mix(in oklab, var(--background) 40%, var(--card) 12%, transparent) 0%, color-mix(in oklab, var(--primary) 18%, transparent) 100%)}.approach-section[data-approach-bg=monochrome-grid] .approach-wash{background:radial-gradient(ellipse 100% 80% at 50% 50%, color-mix(in oklab, var(--background) 88%, black), color-mix(in oklab, var(--background) 96%, black) 100%)}.approach-section[data-approach-bg=monochrome-grid].hero-orbit:before{background-image:linear-gradient(rgba(255, 255, 255, calc(var(--approach-grid-a,.09) * 1.35)) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, calc(var(--approach-grid-a,.09) * 1.35)) 1px, transparent 1px);-webkit-mask-image:radial-gradient(circle at 75%,#000,#0000 78%);mask-image:radial-gradient(circle at 75%,#000,#0000 78%)}.approach-section[data-approach-bg=monochrome-grid] .orbit-rings i{border-color:#ffffff85}.approach-section[data-approach-bg=split-plane] .approach-wash{background:linear-gradient(128deg, color-mix(in oklab, var(--background) 62%, transparent) 0%, color-mix(in oklab, var(--background) 62%, transparent) 46%, color-mix(in oklab, var(--primary) 28%, var(--background) 72%) 46.2%, color-mix(in oklab, var(--primary) 22%, var(--background) 78%) 100%)}.approach-section[data-approach-bg=split-plane]:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(128deg,#0000 44.5%,#ffffff24 45%,#0000 45.8%);background:linear-gradient(128deg,#0000 44.5%,lab(100% -.0000298023 .0000119209/.14) 45%,#0000 45.8%);position:absolute;inset:0}.approach-section[data-approach-bg=blueprint-orbit].hero-orbit:before{background-image:linear-gradient(color-mix(in oklab, white calc(var(--approach-grid-a,.09) * 100%), transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklab, white calc(var(--approach-grid-a,.09) * 100%), transparent) 1px, transparent 1px), linear-gradient(color-mix(in oklab, white calc(var(--approach-grid-a,.09) * 55%), transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklab, white calc(var(--approach-grid-a,.09) * 55%), transparent) 1px, transparent 1px);background-size:84px 84px,84px 84px,21px 21px,21px 21px;-webkit-mask-image:radial-gradient(circle at 75%,#000,#0000 80%);mask-image:radial-gradient(circle at 75%,#000,#0000 80%)}.approach-section[data-approach-bg=blueprint-orbit] .orbit-rings i{border-width:.5px;border-color:#ffffff94}.approach-section[data-approach-bg=blueprint-orbit] .orbit-rings i:nth-child(3){background:#ffffff0a}.approach-section[data-approach-bg=aperture-orbit] .approach-wash{background:radial-gradient(ellipse 52% 48% at 78% 48%, color-mix(in oklab, var(--primary) 36%, transparent), transparent 62%), radial-gradient(ellipse 58% 52% at 78% 48%, transparent 42%, color-mix(in oklab, var(--background) 82%, transparent) 58%, color-mix(in oklab, var(--background) 94%, transparent) 100%);-webkit-mask-image:radial-gradient(58% 54% at 78% 48%,#000 38%,#0000 72%);mask-image:radial-gradient(58% 54% at 78% 48%,#000 38%,#0000 72%)}.approach-section[data-approach-bg=optical-glass-orbit] .orbit-rings:before{content:"";background:color-mix(in oklab, var(--card) 22%, transparent);box-shadow:inset 0 0 0 1px #ffffff1f, 0 0 48px color-mix(in oklab, var(--primary) 18%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.35);z-index:-1;border:1px solid #ffffff47;border:1px solid lab(100% -.0000298023 .0000119209/.28);border-radius:50%;position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(circle,#000 58%,#0000 88%);mask-image:radial-gradient(circle,#000 58%,#0000 88%)}@supports (color:lab(0% 0 0)){.approach-section[data-approach-bg=optical-glass-orbit] .orbit-rings:before{box-shadow:inset 0 0 0 1px lab(100% -.0000298023 .0000119209/.12), 0 0 48px color-mix(in oklab, var(--primary) 18%, transparent)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.approach-section[data-approach-bg=optical-glass-orbit] .orbit-rings:before{background:color-mix(in oklab, var(--card) 48%, var(--background) 52%);-webkit-backdrop-filter:none}}.approach-section[data-approach-bg=optical-glass-orbit] .approach-wash{background:radial-gradient(ellipse 55% 50% at 78% 48%, color-mix(in oklab, var(--primary) 24%, transparent), transparent 65%)}.orbit-guides,.orbit-dot{width:1px;height:1px;position:absolute;top:50%;left:50%}.orbit-guides i{border:1px solid color-mix(in srgb, var(--primary) 20%, transparent);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-guides i:first-child{width:130px;height:130px}.orbit-guides i:nth-child(2){width:260px;height:260px}.orbit-guides i:nth-child(3){width:420px;height:420px}.orbit-guides i:nth-child(4){width:640px;height:640px}.orbit-core{background:var(--primary);width:13px;height:13px;box-shadow:0 0 0 18px color-mix(in srgb, var(--primary) 5%, transparent), 0 0 45px var(--primary);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-dot{animation:orbitSpin var(--orbit-speed) linear infinite;animation-delay:var(--orbit-delay)}.orbit-dot.reverse{animation-name:orbitSpinReverse}.orbit-dot i{left:var(--orbit-radius);width:var(--orbit-size);height:var(--orbit-size);background:var(--orbit-color);box-shadow:0 0 14px var(--orbit-color);border-radius:50%;position:absolute;top:0;transform:translate(-50%,-50%)}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes orbitSpinReverse{to{transform:rotate(-360deg)}}
.projects-layout{gap:clamp(2rem,4vw,4rem);display:grid}.project-entry{min-width:0}.project-card-body{min-width:0;height:100%;color:var(--foreground);border-radius:var(--radius);flex-direction:column;gap:1.75rem;text-decoration:none;display:flex}.project-card-body:focus-visible{outline:2px solid var(--primary);outline-offset:8px}.project-media{border:1px solid var(--border);background:var(--muted);align-self:start;width:100%;min-width:0;transition:border-color .2s;overflow:hidden}.project-link:hover .project-media{border-color:var(--primary)}.project-image-viewport{aspect-ratio:16/9;position:relative;overflow:hidden}.project-media[data-ratio=classic] .project-image-viewport{aspect-ratio:3/2}.project-media[data-ratio=square] .project-image-viewport{aspect-ratio:4/3}.project-image{object-fit:contain;object-position:center top;width:100%;height:100%;transition:opacity .2s}.project-media[data-fit=cover] .project-image{object-fit:cover}.project-link:hover .project-image{opacity:.92}.project-image-fallback{font-family:var(--font-geist-mono);color:var(--muted-foreground);place-content:center;display:grid;position:absolute;inset:0}.project-browser-bar{min-height:2rem;font:10px var(--font-geist-mono);color:var(--muted-foreground);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:1rem;padding:.5rem 3rem;display:flex;position:relative}.project-browser-dots{gap:4px;display:flex;position:absolute;left:.75rem}.project-browser-dots i{background:var(--muted-foreground);opacity:.4;border-radius:100%;width:5px;height:5px}.project-copy{flex-direction:column;flex:1;gap:1.25rem;min-width:0;display:flex}.project-heading{gap:.75rem;display:grid}.project-title-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem 1rem;display:grid}.project-title-row-numbered{grid-template-columns:2.25ch minmax(0,1fr) auto}.project-number{font:12px var(--font-geist-mono);font-variant-numeric:tabular-nums;color:var(--primary)}.project-title{overflow-wrap:anywhere;text-wrap:pretty;margin:0;font-size:clamp(1.35rem,2vw,2rem);font-weight:400;line-height:1.2}.project-context{color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.5}.project-story,.project-contribution{gap:1.25rem;display:grid}.project-visit{color:var(--primary);align-self:flex-start;align-items:center;gap:.65rem;margin-top:auto;font-size:1rem;line-height:1.5;display:inline-flex}.project-link:hover .project-visit{text-underline-offset:5px;text-decoration:underline}.project-visit:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:2px}.projects-layout[data-project-layout=gallery]{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-layout[data-project-layout=editorial] .project-card-body{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,5rem);padding-block:1rem 3rem;display:grid}.projects-layout[data-project-layout=editorial] .project-entry:nth-child(2n) .project-media{order:2}.projects-layout[data-project-layout=editorial] .project-title{font-size:clamp(1.6rem,3vw,2.75rem)}.projects-layout[data-project-layout=spotlight]{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 2rem}.projects-layout[data-project-layout=spotlight] .project-entry:first-child{grid-column:1/-1}.projects-layout[data-project-layout=spotlight] .project-entry:first-child .project-card-body{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;padding-bottom:3rem;display:grid}.projects-layout[data-project-layout=mosaic]{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.projects-layout[data-project-layout=mosaic] .project-entry{grid-column:span 2}.projects-layout[data-project-layout=mosaic] .project-entry:nth-child(4n+1),.projects-layout[data-project-layout=mosaic] .project-entry:nth-child(4n+4){grid-column:span 3}.projects-layout[data-project-layout=mosaic] .project-entry:nth-child(2n){padding-top:5rem}.projects-layout[data-project-layout=index]{gap:0}.projects-layout[data-project-layout=index] .project-card-body{border-top:1px solid var(--border);border-radius:0;grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:2.5rem;padding-block:2.5rem;display:grid}.projects-layout[data-project-layout=index] .project-story{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem}.projects-layout[data-project-layout=cinema]{gap:6rem}.projects-layout[data-project-layout=cinema] .project-copy{padding-inline:clamp(0px,4vw,4rem)}.projects-layout[data-project-layout=cinema] .project-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.projects-layout[data-project-layout=cinema] .project-title{font-size:clamp(1.6rem,3.5vw,3rem)}.projects-layout[data-project-layout=rail]{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-color:var(--primary) var(--muted);gap:2rem;margin-inline:-.5rem;padding:.5rem .5rem 2rem;display:flex;overflow-x:auto}.projects-layout[data-project-layout=rail] .project-entry{scroll-snap-align:start;flex:0 0 min(72%,760px)}.projects-rail-controls{justify-content:flex-end;gap:.5rem;margin-bottom:1rem;display:flex}.projects-rail-controls button{border:1px solid var(--border);border-radius:var(--radius);place-items:center;width:44px;height:44px;display:grid}.projects-rail-controls button:hover{background:var(--muted)}.projects-focus{grid-template-columns:minmax(200px,1fr) minmax(0,3fr);align-items:start;gap:3rem;display:grid}.projects-selector{border-top:1px solid var(--border);display:grid}.projects-selector button{text-align:left;border-bottom:1px solid var(--border);color:var(--muted-foreground);grid-template-columns:2.25ch minmax(0,1fr);align-items:baseline;column-gap:.75rem;padding:1.125rem .875rem;font-size:1rem;line-height:1.5;display:grid}.projects-selector .project-number{font-size:inherit;line-height:inherit}.project-selector-copy{gap:.625rem;min-width:0;display:grid}.project-selector-title{overflow-wrap:anywhere}.project-selector-copy .project-status{justify-self:start}.projects-selector button[aria-selected=true]{color:var(--foreground);background:var(--muted)}.projects-selector button:hover{color:var(--primary)}.projects-selector button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:1100px){.projects-layout[data-project-layout=spotlight]{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-layout[data-project-layout=spotlight] .project-entry:first-child .project-card-body{grid-template-columns:1fr}.projects-layout[data-project-layout=spotlight] .project-entry:last-child{grid-column:1/-1}.projects-layout[data-project-layout=index] .project-story{grid-template-columns:1fr}.projects-focus{grid-template-columns:minmax(180px,1fr) minmax(0,2.5fr);gap:2rem}}@media (max-width:760px){.projects-layout[data-project-layout=mosaic] .project-entry:nth-child(n){grid-column:auto;padding-top:0}.projects-layout[data-project-layout=editorial] .project-entry:nth-child(2n) .project-media{order:0}.projects-layout[data-project-layout]{grid-template-columns:minmax(0,1fr);gap:3rem}.projects-layout[data-project-layout] .project-entry{grid-column:auto;padding-top:0}.projects-layout[data-project-layout] .project-card-body{flex-direction:column;gap:1.25rem;display:flex}.projects-layout[data-project-layout] .project-media{order:0}.projects-layout[data-project-layout] .project-story{grid-template-columns:minmax(0,1fr);gap:1.25rem}.projects-layout[data-project-layout=index] .project-card-body{padding-block:1.5rem}.projects-layout[data-project-layout=cinema] .project-copy{padding-inline:0}.projects-layout[data-project-layout=rail]{gap:1rem}.projects-layout[data-project-layout=rail] .project-entry{flex-basis:90%}.projects-focus{grid-template-columns:minmax(0,1fr);gap:1.5rem}.projects-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-selector button{padding:1rem .75rem;font-size:.875rem}}@media (max-width:480px){.projects-selector,.project-title-row{grid-template-columns:minmax(0,1fr)}.project-title-row-numbered{grid-template-columns:2.25ch minmax(0,1fr)}.project-title-row>.project-status{grid-column:1/-1;justify-self:start}}@media (prefers-reduced-motion:reduce){.project-media,.project-image{transition:none}.projects-layout[data-project-layout=rail]{scroll-behavior:auto}}
