.projects-index{isolation:isolate;padding:calc(var(--section-space) + 74px) var(--section-inline-space) var(--section-space);background:var(--paper);color:var(--ink);position:relative}.projects-index__inner{z-index:1;max-width:1440px;margin:0 auto;position:relative}.projects-index__header{text-align:center;justify-items:center;display:grid}.projects-index h1{color:var(--title-ink);font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(40px,4.4vw,62px);font-weight:400;line-height:.95}.projects-index__inner{--opening-title-delay:calc(var(--reveal-duration-interface) - var(--reveal-overlap));--opening-title-words:4;--opening-interface-delay:calc(var(--opening-title-delay) + (var(--opening-title-words) - 1) * var(--reveal-word-stagger) + .15s)}.projects-index__title-word{animation:hero-word-in var(--reveal-duration-title) var(--reveal-ease-soft) calc(var(--opening-title-delay) + var(--word-index) * var(--reveal-word-stagger)) backwards;display:inline-block}.projects-index__accent{color:var(--orange)}.projects-index__title-tail{white-space:nowrap}.projects-index__section{margin-top:calc(var(--section-space) * 1.5)}.projects-index__section-header{text-align:center;justify-items:center;display:grid}.projects-index__section-header h2{max-width:20ch;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(34px,3.1vw,45px);font-weight:500;line-height:.9}.projects-index__section-text{max-width:58ch;color:var(--ink-muted);text-wrap:pretty;margin:clamp(18px,1.8vw,24px) 0 0;font-size:clamp(17px,1.35vw,20px);line-height:1.5}.projects-index__note{max-width:60ch;color:var(--ink-muted);text-align:center;text-wrap:pretty;margin:clamp(22px,2.2vw,30px) auto 0;font-size:clamp(16px,1.3vw,19px);line-height:1.65}.projects-index__note-lead{color:var(--ink)}.projects-index__note{--reveal-word-stagger:var(--reveal-word-stagger-tight)}html.has-js .projects-index__note.is-word-reveal-ready .reveal-word{filter:blur(5px);transform:translateY(9px)}.projects-index__work .service-rows__item>div>p{margin:0}.projects-index__work .expertise-doors{margin-top:10px}.projects-index__work .expertise-doors li{border-bottom:0}.projects-index__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,1.4vw,22px);margin:clamp(34px,3.4vw,46px) 0 0;padding:0;list-style:none;display:grid}.projects-filter{--filter-surface:transparent;--filter-surface-active:transparent;z-index:3;background:var(--paper-quiet);animation:hero-rise-in var(--reveal-duration-interface) var(--reveal-ease) var(--opening-interface-delay) backwards;border-radius:10px;align-items:center;margin-top:clamp(46px,5vw,68px);padding:4px;display:flex;position:relative}.projects-filter__search{flex:1;align-items:center;gap:10px;min-width:0;display:flex;position:relative}.projects-filter__search-icon{fill:none;stroke-linecap:round;stroke-width:1.6px;pointer-events:none;width:16px;height:16px;transition:stroke .24s;position:absolute;left:15px}.projects-filter__input{background:var(--filter-surface);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-text);letter-spacing:-.01em;appearance:none;border:0;border-radius:10px;padding:0 15px 0 41px;font-size:14px;transition:background-color .24s}.projects-filter__input::placeholder{color:var(--ink-meta)}.projects-filter__input::-webkit-search-cancel-button{opacity:.5}.projects-filter__input:hover{background:var(--filter-surface-active)}.projects-filter__input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}html.has-js .projects-filter__submit{display:none}.projects-filter :is(.filter-select__native,.filter-select__trigger){color:var(--ink-muted)}.projects-filter .filter-select__native option{background:var(--paper);color:var(--ink)}.projects-filter .filter-select__trigger:hover,.projects-filter .filter-select__trigger[aria-expanded=true]{color:var(--ink)}.projects-filter .filter-select.is-active .filter-select__trigger{color:var(--ink);font-weight:600}.projects-filter .filter-select__chevron,.projects-filter__search-icon{stroke:var(--ink-meta)}.projects-filter .filter-select__trigger:hover .filter-select__chevron,.projects-filter__search:focus-within .projects-filter__search-icon{stroke:var(--ink)}.projects-filter .filter-select__panel{box-shadow:none}html.has-js .projects-filter .filter-select__panel{opacity:1;transition:transform .32s var(--reveal-ease), visibility 0s linear .32s}.projects-filter .filter-select__panel:before{background:var(--glass-tint-light-thin);opacity:0;transition:opacity .17s;box-shadow:0 0 0 1px #100e0c1a,0 18px 44px #100e0c24}.projects-filter .filter-select.is-open .filter-select__panel:before{opacity:1;transition:opacity .2s}.projects-filter .filter-select__panel:after{content:none}.projects-filter .filter-select__option{color:var(--ink);justify-content:space-between;gap:10px}.projects-filter .filter-select__option:is(:hover,:focus-visible){background:var(--paper-control);color:var(--ink)}.projects-filter .filter-select__option[aria-selected=true]{color:var(--ink);background:0 0;font-weight:600}.projects-filter .filter-select__option[aria-selected=true]:is(:hover,:focus-visible){background:var(--paper-control)}.projects-filter .filter-select__option[aria-selected=true]:after{background:var(--orange);content:"";border-radius:50%;flex:none;width:6px;height:6px}.projects-filter :is(.filter-select__trigger,.projects-filter__input){border-radius:7px}.projects-filter .filter-select__trigger{min-width:210px}.projects-filter>:is(.filter-select,.projects-filter__search)+:is(.filter-select,.projects-filter__search):before{background:var(--line-ink);content:"";pointer-events:none;width:1px;position:absolute;top:12px;bottom:12px;left:-.5px}@media (width<=720px){.projects-filter{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;display:grid}.projects-filter .filter-select__trigger{min-width:0}.projects-filter__search{grid-column:1/-1}.projects-filter>.filter-select+.projects-filter__search:before{width:auto;height:1px;inset:-.5px 12px auto}}.projects-index__empty{color:var(--ink-muted);text-align:center;margin:clamp(40px,4vw,56px) 0 0;font-size:clamp(15px,1.15vw,17px);line-height:1.55}.projects-index__item{min-width:0}.projects-index__grid.is-recomposing{transition:height var(--recompose-move,.62s) var(--reveal-ease) var(--recompose-move-delay,.12s);position:relative}html.has-js .projects-index__grid.is-recomposing .projects-index__item{z-index:1;pointer-events:none;transition:opacity var(--recompose-enter,.52s) var(--reveal-ease-soft) var(--tile-delay,0s), translate var(--recompose-enter,.52s) var(--reveal-ease-settle) var(--tile-delay,0s);margin:0;position:absolute}.projects-index__grid.is-recomposing .project-tile{aspect-ratio:auto;height:100%}html.has-js .projects-index__grid.is-recomposing .projects-index__item.is-moving{transition:opacity var(--recompose-enter,.52s) var(--reveal-ease-soft), left var(--recompose-move,.62s) var(--reveal-ease) var(--recompose-move-delay,.12s), top var(--recompose-move,.62s) var(--reveal-ease) var(--recompose-move-delay,.12s), width var(--recompose-move,.62s) var(--reveal-ease) var(--recompose-move-delay,.12s), height var(--recompose-move,.62s) var(--reveal-ease) var(--recompose-move-delay,.12s)}html.has-js .projects-index__grid.is-recomposing .projects-index__item.is-leaving{z-index:0;opacity:0;transition:opacity var(--recompose-exit,.26s) var(--reveal-ease-soft)}html.has-js .projects-index__grid.is-recomposing .projects-index__item.is-entering{opacity:0;transition:none;translate:0 14px}.projects-index__item.is-span-1{grid-column:span 6}.projects-index__item.is-span-2{grid-column:span 3}.projects-index__item.is-span-3{grid-column:span 2}html.has-js .projects-index__item[data-reveal=project]{transition:opacity var(--reveal-duration-media) var(--reveal-ease-soft) var(--reveal-delay,0s), transform var(--reveal-duration-media) var(--reveal-ease-settle) var(--reveal-delay,0s)}html.has-js .projects-index__item[data-reveal=project].is-revealed:not(.is-reveal-instant) .project-tile__image{animation:projects-tile-image-in calc(var(--reveal-duration-media) + .3s) var(--reveal-ease-soft) var(--reveal-delay,0s) backwards}@media (width<=900px){.projects-index__item:is(.is-span-1,.is-span-2,.is-span-3){grid-column:span 3}}@media (width<=540px){.projects-index h1{font-size:clamp(30px,9.9vw,40px)}.projects-index__item:is(.is-span-1,.is-span-2,.is-span-3){grid-column:span 6}.projects-index__grid{gap:14px}}@media (prefers-reduced-motion:reduce){html.has-js .projects-index__item[data-reveal=project].is-revealed:not(.is-reveal-instant) .project-tile__image{animation:none}}
