.projects-page{background:#090b0c}nav a[aria-current=page]{color:#edc38f;border-bottom:1px solid #b18b58;padding-bottom:6px}.constellation{position:relative;isolation:isolate;min-height:780px;height:calc(100svh - 110px);max-height:1100px;overflow:hidden;border-bottom:1px solid #30312c}.constellation-heading{position:absolute;left:5%;top:42px;z-index:2;pointer-events:none}.constellation-heading .eyebrow{font-size:12px;margin-bottom:16px;color:#c1ab8b}.constellation h1{font-size:clamp(44px,5.7vw,82px);letter-spacing:-.055em}.cloud-stage{position:absolute;inset:130px 0 100px;background:radial-gradient(ellipse at center,#b57d3412 0,transparent 61%)}#orbit-labels{position:absolute;inset:0;pointer-events:none}.orbit-name{position:absolute;left:0;top:0;white-space:nowrap;font-size:clamp(14px,1.55vw,23px);font-weight:400;letter-spacing:-.025em;color:#f0efe9;text-shadow:0 2px 12px #000,0 0 24px #090b0c;will-change:transform,opacity}.orbit-name::before{content:'+';color:#d9ad70;margin-right:10px;font-size:.8em}.orbit-name:nth-child(3n+1){color:#f0c493}.constellation-bottom{position:absolute;left:5%;right:5%;bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.constellation-bottom .eyebrow{margin:0;font-size:12px}.constellation-bottom .text-link{margin:0;gap:24px}.constellation-bottom .motion{white-space:nowrap}#cloud-fallback{position:absolute;top:50%;left:10%;right:10%;text-align:center;color:#c9b493;line-height:1.7}.project-directory{display:grid;grid-template-columns:1fr 1.5fr;gap:8%}.project-directory h2 em{font-family:Georgia,serif;color:#f0c493;font-weight:400}.project-directory ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.project-directory li{display:flex;align-items:center;gap:15px;padding:25px 0;border-top:1px solid #34332d;font-size:clamp(16px,1.35vw,21px);overflow-wrap:anywhere}.project-number{color:#9c8a73;font-size:12px}.project-directory li img{margin-left:auto;opacity:.65}.project-directory li:hover{color:#f0c493}.project-directory li:hover img{opacity:1}@media(max-width:900px){.constellation{height:calc(100svh - 90px);min-height:730px}.constellation-bottom{flex-wrap:wrap}.constellation-bottom>.eyebrow{width:100%}.project-directory{grid-template-columns:1fr;gap:35px}.cloud-stage{inset:145px 0 125px}}@media(max-width:600px){.constellation{min-height:780px}.constellation-heading{left:6%;right:6%;top:35px}.constellation-heading .eyebrow{font-size:11px}.constellation h1{font-size:52px}.cloud-stage{inset:160px 0 150px}.orbit-name{font-size:14px}.orbit-name::before{margin-right:5px}.constellation-bottom{left:6%;right:6%;bottom:27px;gap:20px}.constellation-bottom .eyebrow{font-size:10px}.constellation-bottom .text-link{font-size:13px;gap:12px}.project-directory ol{grid-template-columns:1fr}.project-directory li{font-size:19px}.project-directory li img{width:16px;height:16px}}@media(prefers-reduced-motion:reduce){.orbit-name{will-change:auto}}

.project-entry{display:flex;flex-direction:column;gap:7px}.project-entry small{font-size:12px;letter-spacing:.02em;color:#a79985}

/* Refined framing, category navigation, and legible orbital annotations. */
.constellation{min-height:690px;height:calc(100svh - 110px);max-height:940px}
.constellation-heading{top:35px}
.constellation h1{font-size:clamp(44px,5.3vw,76px)}
.cloud-stage{inset:155px 0 83px;background:radial-gradient(ellipse at center,#ad7b3310,transparent 62%)}
.orbit-categories{position:absolute;top:52px;right:5%;z-index:3;display:flex;gap:8px;max-width:46%;flex-wrap:wrap;justify-content:flex-end}
.orbit-categories[hidden]{display:none}
.orbit-categories button{cursor:pointer;background:#101210;border:1px solid #39372e;border-radius:30px;color:#c9c6bc;padding:11px 15px;font-size:14px;transition:color .25s,border-color .25s,background .25s}
.orbit-categories button span{color:#b89460;font-size:11px;margin-right:9px}
.orbit-categories button:hover,.orbit-categories button:focus-visible,.orbit-categories button[aria-pressed=true]{color:#fff3de;border-color:#bc955e;background:#30281c}
#orbit-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#orbit-connectors line{stroke:#d9b078;stroke-width:.65}
#orbit-connectors circle{fill:#f0ca8e}
.orbit-name{font-size:clamp(14px,1.45vw,21px);font-weight:500;text-shadow:0 1px 5px #000,0 0 12px #090b0c;letter-spacing:-.015em}
.orbit-name::before{display:none}
.orbit-name[data-type='0']{color:#f1d1a1}.orbit-name[data-type='1']{color:#f5f1e7}.orbit-name[data-type='2']{color:#dfb36e}
.project-directory li{transition:opacity .25s,color .25s}.project-directory li.orbit-muted{opacity:.3}.project-directory li.orbit-selected{color:#ffe3b6}
@media(max-width:1100px){.orbit-categories{top:137px;left:5%;right:auto;max-width:90%;justify-content:flex-start}.cloud-stage{inset:185px 0 90px}.constellation{min-height:710px}}
@media(max-width:600px){.constellation{min-height:650px;height:auto}.constellation-heading{top:29px}.constellation h1{font-size:48px}.orbit-categories{top:126px;left:6%;right:6%;max-width:none;gap:6px}.orbit-categories button{font-size:12px;padding:9px 10px}.orbit-categories button span{display:none}.cloud-stage{inset:172px 0 110px}.constellation-bottom{bottom:22px;gap:14px}.constellation-bottom>.eyebrow{font-size:10px}.orbit-name{font-size:14px}.constellation-bottom .text-link{padding-top:0}.constellation-bottom .motion{font-size:11px}}
@media(prefers-reduced-motion:reduce){.orbit-categories button,.project-directory li{transition:none}}
/* ASimulation: a quiet satellite signal, then a stationary destination chooser. */
.project-hub{pointer-events:auto}
.project-hub-trigger{font:inherit;letter-spacing:inherit;color:inherit;text-shadow:inherit;cursor:pointer;display:block;background:transparent;border:1px solid transparent;border-radius:22px;padding:8px 10px;min-height:44px;position:relative;z-index:2}
.project-hub-trigger:hover,.project-hub-trigger[aria-expanded=true]{color:#fff0d7;background:#15140fed;border-color:#806640}
.project-hub-trigger:focus-visible{outline:2px solid #eac48b;outline-offset:3px;background:#17160f}
.project-satellites{position:absolute;inset:-9px -16px;pointer-events:none;border:1px solid #c79e5b26;border-radius:50%;transform:rotate(-12deg)}
.project-satellite{position:absolute;left:0;top:0;offset-path:ellipse(50% 50% at 50% 50%);offset-rotate:0deg;animation:satellite-travel 15s linear infinite;display:grid;place-items:center;width:18px;height:18px;background:#10120fe8;border:1px solid #8d704d;border-radius:50%;color:#e9c18a}
.project-satellite:nth-child(2){animation-delay:-5s}.project-satellite:nth-child(3){animation-delay:-10s}
.project-hub svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.project-satellite svg{width:11px;height:11px}
@keyframes satellite-travel{to{offset-distance:100%}}
.is-choosing .project-satellite,.motion-paused .project-satellite{animation-play-state:paused}
.project-hub.is-choosing .project-satellites{opacity:.5}
.project-destinations{position:absolute;top:100%;left:50%;transform:translateX(calc(-50% + var(--menu-shift,0px)));width:284px;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:5px;padding:12px 8px 8px;background:#10120ffa;border:1px solid #85673f;border-radius:13px;box-shadow:0 12px 32px #0009;z-index:3}
.project-destinations[hidden]{display:none}.menu-above .project-destinations{top:auto;bottom:100%;padding:8px 8px 12px}
.project-destinations a{display:flex;min-height:66px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:8px 4px;border:1px solid #c79e5b30;border-radius:8px;font-size:13px;line-height:1.1;color:#e6d7bc;background:#191b14;text-shadow:none}
.project-destinations a:nth-child(2){background:#30281a;color:#ffe0ac;border-color:#80633d}
.project-destinations a:hover,.project-destinations a:focus-visible{color:#fff6e8;border-color:#e6bc80;background:#3a2e1e;outline-offset:2px}
.directory-destinations{display:flex;gap:16px;flex-wrap:wrap;margin-top:5px}.directory-destinations a{font-size:13px;min-height:44px;display:inline-flex;align-items:center;color:#e8c48f;text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.project-satellite{animation:none}.project-satellite:nth-child(2){offset-distance:33.333%}.project-satellite:nth-child(3){offset-distance:66.667%}}
.constellation{min-height:780px;max-height:1080px}
@media(max-width:600px){.constellation{min-height:710px}.cloud-stage{inset:172px 0 106px}}

/* Fixed labels follow solid moons; smaller type leaves room for twelve paths. */
.orbit-name{font-size:clamp(12px,1.12vw,17px)}
@media(max-width:600px){.orbit-name{font-size:11px}.project-hub-trigger{padding:6px 8px}}

/* Atmospheric light remains inside the constellation, preserving the dark page. */
.cloud-stage{background:radial-gradient(ellipse at 52% 52%,#12383c48 0,#36201018 28%,transparent 60%)}

/* Immersive desktop crop: the scene can pass behind the heading and filters. */
.cloud-stage{inset:0;z-index:0}
.constellation-heading{z-index:2}
.constellation-bottom{z-index:4}
@media(max-width:600px){.cloud-stage{inset:155px 0 90px}}

/* Camera interaction leaves the destination menus and page scrolling native. */
#project-cloud{cursor:grab;touch-action:pan-y;user-select:none}
.is-dragging #project-cloud{cursor:grabbing}
.is-dragging .project-hub{pointer-events:none}
#project-cloud:focus-visible{outline:1px solid #c9a372;outline-offset:-4px}
.orbit-view-controls{position:absolute;right:5%;bottom:88px;z-index:4;display:flex;align-items:center;gap:18px;color:#b9ad9b;font-size:11px}
.orbit-view-controls[hidden]{display:none}
.orbit-view-buttons{display:flex;align-items:center;border:1px solid #8b704950;background:#0b0e0dd9;border-radius:24px;padding:2px;box-shadow:0 4px 18px #0003}
.orbit-view-buttons button{border:0;background:transparent;color:#e9cba0;font:inherit;cursor:pointer;min-width:40px;min-height:40px;border-radius:22px}
.orbit-view-buttons button:hover{background:#c8a06820;color:#fff4df}
.orbit-view-buttons button:focus-visible{outline:2px solid #eac48b;outline-offset:1px}
.orbit-view-buttons button:disabled{opacity:.3;cursor:default}
#orbit-zoom-value{min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
#orbit-view-reset{padding:0 14px;border-left:1px solid #8b704950;border-radius:0 22px 22px 0}
@media(max-width:900px){.orbit-view-controls{bottom:106px}}
@media(max-width:600px){.orbit-view-controls{bottom:114px;left:6%;right:6%;justify-content:flex-end}#orbit-view-hint{display:none}.orbit-view-buttons button{min-height:44px;min-width:44px}}
@media(pointer:coarse){#orbit-view-hint{display:none}}
