/* Project highlights inherit the site's display typeface and category lozenges. */
.project-constellation{position:relative;isolation:isolate}
.project-constellation [hidden]{display:none!important}
.constellation-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;position:relative;z-index:40}
.constellation-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:11px 17px;border:1px solid #ffffffde;border-radius:999px;background:#ffffff87;color:#545244;font:500 .875rem/1.2 var(--font);cursor:pointer;box-shadow:0 3px 12px #46392308;transition:background .2s,color .2s}
.constellation-filters button span{font-size:.75rem;opacity:.7}
.constellation-filters button[aria-pressed=true]{background:#2e3027;border-color:#2e3027;color:#fff}
.constellation-filters button:hover{background:#fff}
.constellation-filters button[aria-pressed=true]:hover{background:#424538}
.project-constellation.is-ready .constellation-stage{display:block;position:relative;height:490px;margin:8px 0 0;padding:0;perspective:1100px;isolation:isolate;touch-action:pan-y;overflow:clip;overflow-anchor:none}
.project-constellation.is-ready .project-highlight{position:absolute;left:50%;top:50%;width:300px;min-width:0;min-height:202px;margin:0;border-radius:24px;border:1px solid #ffffffed;background:linear-gradient(135deg,#fffffc,#f7f8ee);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 0 #fff,0 18px 38px #46392316;opacity:0;pointer-events:none;transition:transform 1.3s cubic-bezier(.22,.7,.2,1),opacity 1s,box-shadow 1.1s;animation:constellation-drift 8s ease-in-out var(--drift-delay,0s) infinite}
.project-constellation.is-ready .project-highlight.is-visible{pointer-events:auto}
.project-constellation.is-ready .project-highlight.is-front{min-height:340px;box-shadow:inset 0 1px 0 #fff,0 24px 44px #46392324}
.project-constellation.is-ready .project-highlight.is-distant{box-shadow:inset 0 1px 0 #fff,0 8px 22px #4639230d}
.project-constellation.is-ready .project-highlight .highlight-copy{padding:24px;min-height:202px;gap:13px}
.project-constellation.is-ready .project-highlight.is-front .highlight-copy{min-height:340px}
.project-constellation .project-highlight h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.25}
.project-constellation.is-ready .project-highlight h3{font-size:1.125rem}
.project-constellation.is-ready .project-highlight.is-front h3{font-size:1.25rem}
.project-constellation.is-ready .project-highlight .highlight-summary{font-size:.9375rem;line-height:1.5}
.project-constellation.is-ready .project-highlight:not(.is-front) .highlight-summary{display:none}
.project-constellation.is-ready .highlight-client{min-height:32px}
.project-constellation.is-ready .constellation-select{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.project-constellation.is-ready .constellation-select[aria-pressed=true]{cursor:default}
.project-constellation.is-ready .project-highlight:has(.constellation-select:focus-visible){outline:3px solid #ad4500;outline-offset:3px}
.constellation-select:focus{outline:none}
.constellation-controls{display:flex;align-items:center;justify-content:center;gap:20px;position:relative;z-index:40}
.constellation-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #fff;border-radius:50%;background:#ffffffbd;color:#3f4135;box-shadow:var(--button-shadow);cursor:pointer}
.constellation-controls button:hover{background:#fff}
.constellation-controls button:disabled{opacity:.35;cursor:default}
.constellation-controls button[data-project-prev] svg{rotate:180deg}
.constellation-controls .cta-arrow{display:block;width:20px;height:20px;margin:0}
.constellation-count{font:500 .8125rem/1.4 var(--font);color:#666354;min-width:130px;text-align:center;font-variant-numeric:tabular-nums}
.constellation-hint{text-align:center;font-size:.8125rem;line-height:1.5;color:#696557;margin:18px 0 10px}
.constellation-announcement{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.constellation-filters button:focus-visible,.constellation-controls button:focus-visible{outline:3px solid #ad4500;outline-offset:3px}
.project-constellation.motion-held .project-highlight{animation-play-state:paused}
.project-constellation.is-rearranging .project-highlight{transition:none}
.project-constellation.is-filtering .constellation-stage{pointer-events:none}
@keyframes constellation-drift{0%,100%{translate:0 5px;rotate:-.5deg}50%{translate:0 -5px;rotate:.5deg}}
@media(max-width:620px){
 .constellation-filters{gap:6px;justify-content:flex-start}
 .constellation-filters button{font-size:.8125rem;padding:10px 12px;gap:6px}
 .project-constellation.is-ready .constellation-stage{height:475px;margin-inline:-20px}
 .project-constellation.is-ready .project-highlight{width:min(280px,calc(100vw - 76px));min-height:190px}
 .project-constellation.is-ready .project-highlight .highlight-copy{padding:20px;min-height:190px}
 .project-constellation.is-ready .project-highlight.is-front,.project-constellation.is-ready .project-highlight.is-front .highlight-copy{min-height:340px}
 .project-constellation.is-ready .project-highlight:not(.is-front) h3{font-size:1rem}
 .constellation-hint{font-size:.75rem;margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.project-constellation.is-ready .project-highlight{animation:none;transition:none}}
@media(prefers-contrast:more){.project-constellation.is-ready .project-highlight,.constellation-filters button,.constellation-controls button{border-color:#555;box-shadow:none}.constellation-filters button[aria-pressed=true]{border-color:#2e3027}}
