/* Collection navigation: original line symbols, orbit geometry, and clear state. */
:root{--signal:#d5e87c;--signal-deep:#788d35;--chapter-disc:#dcdcdc;--chapter-ink:#2c4036;--chapter-ring:#50795e;--chapter-dot:#91c5a5;--chapter-line:#788c3a}
.chapter-marker{--chapter-ring:var(--hero-rule,#bd9b60);--chapter-dot:var(--hero-rule,#bd9b60);display:flex;align-items:center;gap:16px;width:fit-content;min-height:52px;margin-bottom:0;color:var(--chapter-ink);text-decoration:none;touch-action:manipulation}
.chapter-index{display:grid;place-items:center;position:relative;width:42px;height:42px;flex:0 0 42px;border:1px solid var(--chapter-disc);border-radius:50%;background:var(--chapter-disc);font:750 16px/1 'Segoe UI',sans-serif;letter-spacing:-.02em;color:var(--chapter-ink);transition:transform .18s ease,background .2s,border-color .2s}
.chapter-marker:focus-visible .chapter-index{background:#c4d9c8;border-color:#c4d9c8}
@media(hover:hover){.chapter-marker:hover .chapter-index{background:#c4d9c8;border-color:#c4d9c8}}
.chapter-marker:active .chapter-index,.chapter-marker.is-activated .chapter-index{background:#a7cbb5;border-color:#a7cbb5}
.chapter-orbit{position:absolute;left:50%;top:50%;width:calc(100% + 12px);height:calc(100% + 12px);transform:translate(-50%,-50%);overflow:visible;fill:none;stroke:var(--chapter-ring);stroke-width:1.6;pointer-events:none}
.chapter-orbit-track,.chapter-orbit-echo,.chapter-orbit-feedback{vector-effect:non-scaling-stroke;stroke-linecap:round}
.chapter-orbit-echo-near{stroke-width:.8;opacity:.46}
.chapter-orbit-echo-far{stroke-width:.6;opacity:.23}
.chapter-orbit-traveler,.chapter-orbit-feedback{transform-origin:28px 28px;transform-box:view-box}
.chapter-orbit-traveler{animation:chapter-orbit-travel 5.2s linear infinite}
.chapter-orbit-dot{fill:var(--chapter-dot);stroke:var(--chapter-ring);stroke-width:.8;vector-effect:non-scaling-stroke}
.chapter-orbit-pinhole{fill:var(--paper);stroke:none}
.chapter-orbit-halo{fill:var(--chapter-dot);fill-opacity:.17;stroke:var(--chapter-ring);stroke-opacity:.35;stroke-width:.6;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .2s}
.chapter-orbit-feedback{opacity:0;stroke-width:1}
.chapter-marker:focus-visible{outline:2px solid var(--chapter-focus,var(--chapter-ring));outline-offset:7px;border-radius:2px}
.chapter-marker:focus-visible .chapter-orbit-halo{opacity:1}
@media(hover:hover){.chapter-marker:hover .chapter-orbit-halo{opacity:1}}
.chapter-marker.is-resting .chapter-orbit-halo{opacity:0}
.chapter-marker:active .chapter-index{transform:scale(.96)}
.chapter-marker.is-activated .chapter-orbit-feedback{animation:chapter-orbit-confirm .78s ease-out}
@keyframes chapter-orbit-travel{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes chapter-orbit-confirm{0%{opacity:0;transform:scale(1)}20%{opacity:.45}100%{opacity:0;transform:scale(1.38)}}
@media(prefers-reduced-motion:reduce){.chapter-index,.chapter-orbit-halo{transition:none}.chapter-marker .chapter-orbit-traveler,.chapter-marker .chapter-orbit-track,.chapter-marker .chapter-orbit-echo,.chapter-marker .chapter-orbit-feedback{animation:none!important}.chapter-marker:active .chapter-index{transform:none}.chapter-marker.is-activated .chapter-orbit-feedback{opacity:.35}}
@media(forced-colors:active){.chapter-orbit{stroke:LinkText}.chapter-orbit-dot{fill:LinkText}.chapter-orbit-halo{display:none}.chapter-marker:focus-visible{outline-color:Highlight}}
.chapter-label{font-size:12px;font-weight:750;letter-spacing:.12em;line-height:1.4}
.chapter-marker:after{content:'';display:block;width:124px;height:2px;background:linear-gradient(90deg,var(--chapter-line),transparent)}
.about-home,.expertise{--chapter-focus:var(--on-dark)}
.expertise .chapter-marker{color:#f5f3ec}
.expertise .chapter-index{color:var(--chapter-ink)}
.expertise .chapter-marker:after{background:linear-gradient(90deg,var(--chapter-line),transparent)}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 14px;border:0}
.filters .collection-filter{isolation:isolate;position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;min-width:0;min-height:116px;padding:24px 32px 20px 16px;border:1px solid color-mix(in srgb,var(--selection-shade) 35%,var(--paper));border-bottom:2px solid color-mix(in srgb,var(--selection-shade) 65%,var(--paper));background:color-mix(in srgb,var(--selection-accent) 18%,var(--paper));color:var(--forest);text-align:left;transition:background .2s,color .2s,border-color .2s,transform .2s}
.collection-filter:before{content:'';position:absolute;z-index:-1;width:190px;height:140px;right:-110px;top:-50px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 10px color-mix(in srgb,currentColor 5%,transparent),0 0 0 20px color-mix(in srgb,currentColor 4%,transparent);opacity:.2;transform:rotate(-32deg)}
.filters .collection-filter[aria-pressed=true]{background:color-mix(in srgb,var(--selection-accent) 62%,var(--paper));color:var(--forest);border-color:var(--selection-shade);border-bottom-color:var(--selection-shade)}
.filters .collection-filter:hover{transform:translateY(-2px);border-color:var(--selection-shade)}
.filters .collection-filter:focus-visible{outline:2px solid var(--selection-shade);outline-offset:4px}
.filter-glyph{flex:0 0 38px;width:38px;height:44px;color:var(--selection-shade)}
.filter-glyph svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.filter-glyph .icon-point{fill:var(--selection-shade);stroke:var(--selection-shade)}
.filter-glyph .filter-plane{fill:var(--selection-accent);fill-opacity:.48;stroke:none;transition:fill-opacity .25s}
.collection-filter:is(:hover,:focus-visible,[aria-pressed=true]) .filter-plane{fill-opacity:.85}
.filter-orbits{transform-origin:24px 24px;transition:transform .45s ease}
.filter-screen{transition:transform .35s ease}
.filter-signal{transform-box:fill-box;transform-origin:center}
.collection-filter:is(:hover,:focus-visible) .filter-orbits{transform:rotate(12deg)}
.collection-filter:is(:hover,:focus-visible) .filter-screen{transform:translateY(-2px)}
.collection-filter:is(:hover,:focus-visible) .filter-signal{animation:filter-signal-pulse .7s ease}
.collection-filter:is(:hover,:focus-visible) .filter-route{animation:filter-route-trace .7s ease both}
@keyframes filter-signal-pulse{50%{transform:scale(1.45)}}
@keyframes filter-route-trace{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
.filter-text{min-width:0;display:flex;flex-direction:column;gap:7px}
.filter-name{font-size:13px;line-height:1.35;font-weight:650}
.filter-summary{font-size:10px;line-height:1.45;opacity:.8}
.collection-filter .filter-count{position:absolute;top:10px;right:12px;font-size:10px;line-height:1;letter-spacing:.04em;font-weight:600;color:inherit}
.filter-arrow{position:absolute;right:12px;bottom:12px;font-size:16px;line-height:1;opacity:.55;transition:opacity .2s,transform .2s}
.collection-filter:hover .filter-arrow,.collection-filter[aria-pressed=true] .filter-arrow{opacity:1;transform:translate(1px,-1px)}
.collection-context{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:28px;padding-bottom:14px;border-bottom:var(--section-rule-width) solid var(--section-rule);font-size:11px;color:var(--muted)}
.collection-context strong{font-weight:600;color:var(--forest)}
.collection-context #filter-status{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .collection-filter{min-height:104px;padding-left:20px}.filter-name{font-size:14px}.filter-summary{font-size:11px}}
@media(max-width:560px){.filters{gap:10px;margin-top:22px}.filters .collection-filter{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 24px 18px 14px;min-height:160px}.filter-glyph{flex-basis:34px;width:34px;height:34px}.filter-name{font-size:12px}.filter-summary{font-size:10px}.filter-text{gap:6px}.chapter-marker{gap:13px;margin-bottom:0;min-height:48px}.chapter-index{width:38px;height:38px;flex-basis:38px;font-size:14px}.chapter-marker:after{width:72px}.chapter-label{font-size:11px}.collection-context{gap:6px 10px;margin-bottom:24px}.collection-context #collection-description{flex-basis:100%;order:3}.collection-context #filter-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.filters .collection-filter,.filter-arrow{transition:none}.filters .collection-filter:hover,.collection-filter:hover .filter-arrow,.collection-filter[aria-pressed=true] .filter-arrow{transform:none}}
@media(prefers-reduced-motion:reduce){.filter-orbits,.filter-screen,.filter-plane{transition:none}.collection-filter:is(:hover,:focus-visible) :is(.filter-orbits,.filter-screen){transform:none}.filter-signal,.filter-route{animation:none!important}}
@media(forced-colors:active){.filters .collection-filter{background:Canvas;color:ButtonText;border-color:ButtonText}.filters .collection-filter[aria-pressed=true]{border-color:Highlight;color:Highlight}.filter-glyph{color:ButtonText}.filter-glyph .filter-plane{display:none}.filter-glyph .icon-point{fill:ButtonText;stroke:ButtonText}}
