.projects-section{position:relative;isolation:isolate}.projects-section--preview{overflow-x:clip}.projects-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.projects-filter__chip{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:.45rem .95rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in oklab,var(--card) 88%,transparent);color:var(--muted);font-size:.875rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.projects-filter__chip:hover{border-color:color-mix(in oklab,var(--accent) 40%,var(--line));color:var(--foreground)}.projects-filter__chip--active{border-color:color-mix(in oklab,var(--accent-solid) 55%,var(--line));background:color-mix(in oklab,var(--accent-solid) 12%,var(--card));color:var(--foreground)}.projects-filter__chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.projects-filter__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;font-size:.7rem;font-weight:700;background:color-mix(in oklab,var(--foreground) 8%,transparent);color:inherit}.projects-filter__chip--active .projects-filter__count{background:color-mix(in oklab,var(--accent-solid) 18%,transparent);color:var(--accent)}.projects-grid__empty{margin:2rem 0 0;padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.98rem}.projects-grid,.projects-section__stage.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:2rem 0 0;padding:0;list-style:none}@media (min-width:768px){.projects-grid,.projects-section__stage.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}}@media (min-width:1024px){.projects-grid,.projects-section__stage.projects-grid{gap:1.35rem}}.projects-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:1rem;border:1px solid var(--line);background:var(--card);text-decoration:none;color:inherit;transition:border-color .2s ease,transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.projects-card:hover{border-color:color-mix(in oklab,var(--accent) 42%,var(--line));transform:translateY(-3px);box-shadow:0 16px 36px -22px color-mix(in oklab,var(--accent-solid) 45%,transparent)}.projects-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.projects-card__media{position:relative;display:block;aspect-ratio:1400/860;background:#0b1220;overflow:hidden}.projects-card__media img{object-fit:cover;transition:transform .45s cubic-bezier(.22,1,.36,1)}.projects-card:hover .projects-card__media img{transform:scale(1.03)}.projects-card__body{display:flex;flex-direction:column;flex:1;gap:.35rem;padding:.9rem .95rem 1.05rem}@media (min-width:768px){.projects-card__body{padding:1.05rem 1.15rem 1.2rem;gap:.4rem}}.projects-card__type{font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}@media (min-width:640px){.projects-card__type{font-size:.6875rem}}.projects-card__name{font-size:.95rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--foreground)}@media (min-width:640px){.projects-card__name{font-size:1.1rem}}.projects-card__summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:.15rem;font-size:.75rem;line-height:1.45;color:var(--muted)}@media (min-width:640px){.projects-card__summary{font-size:.875rem;line-height:1.5}}.projects-card__link{margin-top:auto;padding-top:.65rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--foreground);transition:color .2s ease}@media (min-width:640px){.projects-card__link{font-size:.8125rem}}.projects-card:hover .projects-card__link{color:var(--accent)}.projects-section--preview-pad{padding-top:3.5rem;padding-bottom:2.5rem}@media (min-width:640px){.projects-section--preview-pad{padding-top:4.5rem;padding-bottom:3rem}}.projects-fan-pin{--slides:5;position:relative;width:100%;max-width:100%;margin-top:1.25rem;overflow-x:clip;height:calc(100svh * (1 + (var(--slides) - 1) * .85))}.projects-fan{position:sticky;top:0;z-index:1;width:100%;height:100svh;overflow:hidden;touch-action:pan-y;border-radius:0;border:0;border-block:1px solid color-mix(in oklab,var(--line) 70%,var(--accent) 30%);background:radial-gradient(ellipse 80% 60% at 50% 45%,color-mix(in oklab,var(--accent-solid) 16%,transparent),transparent 72%),linear-gradient(165deg,color-mix(in oklab,var(--card) 82%,var(--accent-solid) 18%),color-mix(in oklab,var(--card) 94%,transparent));user-select:none}.projects-fan__track{position:relative;width:100%;height:100%;margin:0;padding:0;list-style:none;pointer-events:none}.projects-fan__item{--width:min(62vw,640px);--height:calc(var(--width) * 10 / 16);--x:calc(var(--active) * 175%);--y:calc(var(--active) * 42%);--rot:calc(var(--active) * 34deg);--opacity:clamp(0.58,calc(0.35 + var(--zIndex) / var(--items) * 0.65),1);position:absolute;z-index:var(--zIndex);top:50%;left:50%;width:var(--width);height:var(--height);margin:calc(var(--height) * -.5) 0 0 calc(var(--width) * -.5);overflow:hidden;border-radius:16px;background:#0b1220;box-shadow:0 32px 80px -20px color-mix(in oklab,var(--foreground) 55%,transparent),0 0 0 1px color-mix(in oklab,var(--line) 70%,transparent);transform-origin:0 100%;transform:translate(var(--x),var(--y)) rotate(var(--rot));transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform;pointer-events:none}.projects-fan__item--front{pointer-events:auto}.projects-fan__card{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:2.75rem;padding:0;border:0;background:transparent;color:inherit;text-decoration:none;text-align:left;cursor:default}.projects-fan__card--front{cursor:pointer}.projects-fan__card--front:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.projects-fan__media{position:absolute;inset:0;overflow:hidden;opacity:var(--opacity);transition:opacity .28s ease}.projects-fan__media img{object-fit:contain;object-position:center center;pointer-events:none}.projects-fan__overlay{z-index:1;background:linear-gradient(180deg,color-mix(in oklab,#020617 45%,transparent),transparent 28%,transparent 52%,color-mix(in oklab,#020617 72%,transparent))}.projects-fan__meta,.projects-fan__overlay{position:absolute;inset:0;pointer-events:none;opacity:var(--opacity);transition:opacity .28s ease}.projects-fan__meta{z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:.95rem 1rem 1rem}.projects-fan__num{font-size:clamp(1.75rem,4.5vw,4.25rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}.projects-fan__copy{display:flex;flex-direction:column;gap:.2rem}.projects-fan__type{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklab,#fff 72%,var(--accent-bright))}.projects-fan__name{font-size:clamp(1.05rem,2.6vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}.projects-fan__card--front{box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent-bright) 45%,transparent)}@media (max-width:639px){.projects-section--preview-pad{padding-top:3rem;padding-bottom:2rem}.projects-fan-pin{margin-top:1rem;height:calc(100svh * (1 + (var(--slides) - 1) * .7))}.projects-fan__item{--width:min(88vw,380px);--height:calc(var(--width) * 10 / 16);--x:calc(var(--active) * 72%);--y:calc(var(--active) * 22%);--rot:calc(var(--active) * 16deg);border-radius:14px}.projects-fan__meta{padding:.8rem .85rem .85rem}.projects-fan__type{font-size:.625rem}}@media (min-width:640px) and (max-width:1023px){.projects-fan-pin{height:calc(100svh * (1 + (var(--slides) - 1) * .78))}.projects-fan__item{--width:min(72vw,520px);--height:calc(var(--width) * 10 / 16);--x:calc(var(--active) * 120%);--y:calc(var(--active) * 32%);--rot:calc(var(--active) * 24deg)}.projects-fan__meta{padding:1rem 1.1rem 1.05rem}}@media (min-width:1024px){.projects-fan__meta{padding:1.15rem 1.25rem 1.2rem}}.projects-section--preview .projects-section__footer{margin-top:2rem}.projects-section__footer{display:flex;width:100%;justify-content:center;align-items:center;margin-top:2.5rem}@media (min-width:640px){.projects-section__footer{margin-top:3rem}}.projects-section__more{display:inline-flex;align-items:center;justify-content:center;min-width:14rem;margin-inline:auto;padding:.95rem 1.85rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--accent-bright) 45%,var(--line));background:color-mix(in oklab,var(--accent-solid) 14%,transparent);font-size:.9375rem;font-weight:700;letter-spacing:.04em;color:var(--foreground);text-decoration:none;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .2s ease,background .2s ease,box-shadow .2s ease}.projects-section__more:hover{transform:translateY(-2px);border-color:var(--accent-bright);background:color-mix(in oklab,var(--accent-solid) 28%,transparent);box-shadow:0 14px 32px -18px color-mix(in oklab,var(--accent-bright) 55%,transparent)}.projects-section__more:focus-visible{outline:2px solid color-mix(in oklab,var(--accent) 55%,transparent);outline-offset:4px}@media (prefers-reduced-motion:reduce){.projects-card,.projects-card__media img,.projects-fan__item,.projects-fan__media,.projects-fan__meta,.projects-fan__overlay,.projects-section__more{transition:none}.projects-card:hover,.projects-card:hover .projects-card__media img,.projects-section__more:hover{transform:none}}