/* Public Observatory presentation. Existing project pages retain style.css. */
@keyframes arrive{from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes settle-orbit{from{transform:translateY(7px) rotate(-2deg)}to{transform:none}}
@media(prefers-reduced-motion:no-preference){.observatory-intro{animation:arrive .7s ease-out both}.constellation-origin{animation:settle-orbit 1.3s ease-out both}.constellation-projects li{animation:arrive .8s ease-out both}.constellation-projects li:nth-child(2){animation-delay:.08s}.constellation-projects li:nth-child(3){animation-delay:.16s}.constellation-projects li:nth-child(4){animation-delay:.24s}.star-copy strong,.star-point{transition:color .2s ease,transform .2s ease}.constellation-projects a:hover .star-point,.constellation-projects a:focus-visible .star-point{transform:scale(1.3)}.project-art img{transition:filter .25s ease}.project-art a:hover img{filter:brightness(1.06)}}
.observatory-page{background:radial-gradient(ellipse 900px 750px at 80% 10%,rgba(130,94,153,.08),transparent 75%),radial-gradient(ellipse 900px 800px at 10% 35%,rgba(125,151,91,.06),transparent 80%),#171619}
.observatory-page main{position:relative}
.observatory-page .wrap{width:min(1240px,calc(100% - 88px))}
.observatory-page .header{background:rgba(23,22,25,.94)}
.observatory-page .nav{min-height:86px}
.observatory-page .brand-name{font-size:17px;letter-spacing:.23em}
.observatory-page .nav-links a{min-width:44px;min-height:44px}
.observatory-page h1,.observatory-page h2,.observatory-page h3,.observatory-page p{overflow-wrap:anywhere}
.observatory-kicker{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);line-height:1.7}
.observatory-kicker span{padding:0 10px;color:#655c6c}
.observatory-hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:22px;padding-block:76px 64px;min-height:640px}
.observatory-intro{padding-bottom:20px}
.observatory-intro h1{font-size:clamp(48px,4.9vw,72px);line-height:1.06;letter-spacing:-.055em;font-weight:500;margin:26px 0}
.observatory-intro h1 em{color:var(--moss);font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.observatory-lede{font-size:18px;line-height:1.7;max-width:350px;color:#e1dbe3;margin:0 0 18px}
.observatory-copy{font-size:15px;color:var(--muted);max-width:375px;line-height:1.85;margin:0 0 24px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;border-bottom:1px solid rgba(186,212,151,.4);color:var(--moss);font-size:14px;font-weight:500;line-height:1.5;padding:10px 0}
.text-link span{font-size:19px;font-weight:400}
.text-link:hover{border-color:currentColor;color:var(--text)}
.studio-constellation{position:relative;height:440px;color:#a494b4;isolation:isolate}
.constellation-caption{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--soft);position:absolute;top:0;left:26px;margin:0}
.constellation-lines{width:100%;height:100%;position:absolute;inset:0;opacity:.32;pointer-events:none}
.constellation-origin{position:absolute;top:35%;left:38%;width:26%;text-align:center;pointer-events:none}
.constellation-origin img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse,black 44%,transparent 71%);-webkit-mask-image:radial-gradient(ellipse,black 44%,transparent 71%)}
.constellation-origin>span{display:block;font-size:13px;letter-spacing:.22em;color:#d8d1dc;margin-top:-8px;padding-left:.22em}
.constellation-origin>small{display:block;font-size:7px;letter-spacing:.2em;color:var(--soft);margin-top:7px;padding-left:.2em}
.constellation-projects{list-style:none;padding:0;margin:0}
.constellation-projects li{position:absolute;--star:var(--violet)}
.constellation-projects a{display:flex;align-items:flex-start;gap:12px;min-height:64px;padding:12px 5px;line-height:1.4;position:relative}
.star-point{position:relative;display:block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--star);margin-top:19px}
.star-point::after{content:"";position:absolute;inset:-5px;border:1px solid var(--star);border-radius:50%;opacity:.28}
.star-copy{display:flex;flex-direction:column;gap:5px}
.star-copy small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--star)}
.star-copy strong{font-size:14px;font-weight:500;color:#e6dfe8;letter-spacing:-.015em}
.star-copy>span{font-size:10px;letter-spacing:.025em;color:var(--soft)}
.constellation-projects a:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--star)}
.star-eog{left:59%;top:13%;max-width:41%;--star:var(--moss)!important}
.star-eog .star-copy strong{font-size:18px;color:var(--moss)}
.star-eog .star-point{width:11px;height:11px;flex-basis:11px}
.star-aow{left:12%;top:65%;max-width:45%;--star:var(--blue)!important}
.star-aow .star-copy strong{font-size:16px;color:var(--blue)}
.star-shadows{left:64%;top:76%;max-width:36%}
.star-shadows .star-point,.star-zvelt .star-point{margin-top:5px;width:6px;height:6px;flex-basis:6px}
.star-zvelt{left:0;top:24%;max-width:32%;--star:var(--amber)!important}
.observatory-work{padding-block:48px 0;border-top:1px solid var(--line)}
.open-section-heading{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:32px;margin-bottom:48px}
.open-section-heading .observatory-kicker{flex-basis:100%;margin:0 0 12px}
.open-section-heading h2{font-size:28px;font-weight:400;letter-spacing:-.035em;margin:0;color:var(--text);line-height:1.3}
.open-section-heading>p:last-child:not(.observatory-kicker){font-size:14px;color:var(--muted);margin:0 0 0 auto}
.observatory-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:0 72px;scroll-margin-top:110px;--project-accent:var(--moss)}
.project-art{min-width:0}
.project-art>a{display:block;min-height:44px;background:#1c1b1e}
.project-art img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid var(--line)}
.project-art>p{color:var(--soft);font-size:11px;line-height:1.7;margin:11px 0 0;letter-spacing:.015em}
.project-story{min-width:0}
.project-number{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--project-accent);margin:0 0 26px;display:flex;align-items:center;gap:14px}
.project-number span{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums;letter-spacing:0}
.project-kind{font-size:11px;line-height:1.8;color:var(--soft);margin:0 0 12px;letter-spacing:.025em}
.project-kind>span{padding:0 6px}
.project-story h2{font-size:clamp(38px,4vw,58px);font-weight:400;letter-spacing:-.045em;line-height:1.08;color:var(--project-accent);margin:0 0 20px}
.project-story>p:not(.project-kind):not(.project-number){font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 18px;max-width:430px}
.project-story .text-link{color:var(--project-accent);border-bottom-color:var(--project-accent)}
.secondary-project{--project-accent:var(--blue);grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:56px 72px;border-top:1px solid var(--line)}
.secondary-project .project-art{grid-column:2;grid-row:1}
.secondary-project .project-story{grid-column:1;grid-row:1}
.secondary-project .project-story h2{font-size:clamp(34px,3.5vw,46px);max-width:400px}
.supporting-projects{padding-block:46px 78px;border-top:1px solid var(--line)}
.supporting-projects .open-section-heading{margin-bottom:30px}
.supporting-list{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.supporting-list article{padding-block:24px 0;border-top:1px solid var(--line);--support-accent:var(--violet)}
.supporting-list article:last-child{--support-accent:var(--amber)}
.supporting-list h3{margin:10px 0 16px;font-weight:400;font-size:26px;line-height:1.3;letter-spacing:-.035em;color:var(--support-accent)}
.supporting-list h3 a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px}
.supporting-list h3 a>span{font-size:21px;font-weight:300}
.supporting-list h3 a:hover{text-decoration:underline;text-underline-offset:6px}
.supporting-list article>p:not(.project-kind){font-size:14px;color:var(--muted);line-height:1.85;max-width:480px;margin:0 0 12px}
.supporting-list .text-link{border-color:var(--line);color:var(--muted);font-size:13px}
.observatory-studio{padding-block:62px 88px;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);align-items:center}
.observatory-studio .observatory-kicker{margin:0 0 24px}
.observatory-studio h2{font-size:clamp(34px,3.8vw,48px);line-height:1.15;letter-spacing:-.035em;font-weight:400;margin:0}
.observatory-studio h2 em{font-weight:400;font-family:var(--serif);color:var(--amber)}
.observatory-studio>p{color:var(--muted);font-size:15px;line-height:1.9;margin:0;max-width:480px}
.observatory-page .footer{background:rgba(29,27,32,.45);padding-block:48px}
.observatory-page .footer-grid nav{gap:2px}
.observatory-page .footer-grid nav a{min-height:44px;padding:8px 0;line-height:1.5}
.observatory-page .owner-entry{margin-top:30px}
@media(min-width:1440px){.observatory-hero{min-height:700px}}
@media(max-width:1050px){.observatory-page .wrap{width:calc(100% - 56px)}.observatory-hero{grid-template-columns:.8fr 1.2fr;gap:10px;min-height:580px;padding-block:54px 50px}.observatory-intro h1{font-size:52px}.studio-constellation{height:420px}.constellation-caption{left:15px}.star-eog{left:53%;max-width:47%}.star-eog .star-copy strong{font-size:16px}.star-aow{left:7%;max-width:48%}.star-aow .star-copy strong{font-size:14px}.star-shadows{left:58%;max-width:42%}.star-copy strong{font-size:12px}.observatory-feature{gap:34px}.project-number{margin-bottom:20px}.project-story h2{font-size:44px}.supporting-list,.observatory-studio{gap:38px}}
@media(max-width:760px){.observatory-page .wrap{width:calc(100% - 40px)}.observatory-page .nav{min-height:76px;gap:14px}.observatory-page .brand-name{font-size:14px;letter-spacing:.18em}.observatory-page .brand img{width:34px;height:34px}.observatory-page .nav-links{gap:16px}.observatory-page .nav-links a{font-size:12px}.observatory-hero{grid-template-columns:1fr;padding-block:42px 44px;gap:30px;min-height:0}.observatory-intro{padding:0}.observatory-intro h1{font-size:clamp(46px,11vw,68px);margin:20px 0 24px}.observatory-lede{font-size:17px;max-width:430px}.observatory-copy{max-width:520px;font-size:14px;margin-bottom:16px}.observatory-kicker{font-size:10px;letter-spacing:.1em}.observatory-kicker span{padding:0 6px}.studio-constellation{height:auto;padding-block:22px 0;border-top:1px solid var(--line)}.constellation-caption{position:static;font-size:9px;margin:0 0 12px}.constellation-lines,.constellation-origin{display:none}.constellation-projects{position:relative;display:grid;grid-template-columns:1fr;gap:0}.constellation-projects::before{content:"";position:absolute;width:1px;left:10px;top:33px;bottom:29px;background:var(--line)}.constellation-projects li{position:static!important;max-width:none!important}.constellation-projects a{gap:20px;min-height:70px;padding:10px 0}.star-point{margin:19px 0 0 6px!important;flex:0 0 9px!important;width:9px!important;height:9px!important}.star-eog .star-point{width:11px!important;height:11px!important;flex-basis:11px!important;margin-left:5px!important}.star-copy{gap:4px}.star-copy small{font-size:9px}.star-copy strong,.star-eog .star-copy strong,.star-aow .star-copy strong{font-size:17px}.star-shadows a,.star-zvelt a{min-height:61px}.star-shadows .star-point,.star-zvelt .star-point{width:6px!important;height:6px!important;flex-basis:6px!important;margin-left:7px!important;margin-top:7px!important}.star-shadows .star-copy,.star-zvelt .star-copy{padding-left:1px}.star-shadows .star-copy strong,.star-zvelt .star-copy strong{font-size:14px}.star-copy>span{font-size:10px}.observatory-work{padding-top:32px}.open-section-heading{margin-bottom:32px;display:block}.open-section-heading .observatory-kicker{margin-bottom:12px}.open-section-heading h2{font-size:26px}.open-section-heading>p:last-child:not(.observatory-kicker){margin-top:10px;font-size:13px}.observatory-feature{grid-template-columns:1fr;gap:24px;padding-bottom:42px;scroll-margin-top:96px}.project-story{grid-row:1}.project-art{grid-row:2}.project-number{margin-bottom:20px}.project-story h2{font-size:42px;max-width:420px;margin-bottom:16px}.desktop-break{display:none}.project-story>p:not(.project-kind):not(.project-number){font-size:14px;max-width:none}.project-art>p{font-size:10px;margin-top:10px}.secondary-project{padding-top:34px}.secondary-project .project-story{grid-column:1;grid-row:1}.secondary-project .project-art{grid-column:1;grid-row:2}.secondary-project .project-story h2{font-size:36px;max-width:none}.supporting-projects{padding-block:34px 44px}.supporting-list{grid-template-columns:1fr;gap:28px}.supporting-list h3{font-size:25px;margin-top:4px}.supporting-list article{padding-top:18px}.supporting-list article>p:not(.project-kind){font-size:14px}.supporting-list .text-link{min-width:110px}.observatory-studio{grid-template-columns:1fr;gap:22px;padding-block:36px 48px}.observatory-studio .observatory-kicker{margin-bottom:20px}.observatory-studio h2{font-size:37px}.observatory-studio>p{font-size:14px;max-width:none}.observatory-page .footer{padding-block:36px}.observatory-page .footer-grid{gap:26px 20px}.observatory-page .footer-grid nav a{font-size:13px}}
@media(max-width:380px){.observatory-page .wrap{width:calc(100% - 32px)}.observatory-page .nav-links{gap:10px}.observatory-page .brand img{width:28px;height:28px}.observatory-page .brand-name{font-size:12px}.observatory-page .brand-sub{font-size:8px}.observatory-page .nav-links a{font-size:11px}.observatory-intro h1{font-size:46px}.project-story h2{font-size:39px}.secondary-project .project-story h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.observatory-page{scroll-behavior:auto}.observatory-page *, .observatory-page *::before, .observatory-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Placeholder art slot until approved key art is added. */
.project-art .art-pending{display:grid;place-items:center;aspect-ratio:16/9;border:1px dashed var(--line);border-radius:4px;background:radial-gradient(circle at 50% 45%,rgba(142,158,106,.12),transparent 62%)}
.project-art .art-pending img{width:min(32%,180px);height:auto;opacity:.55;border:0;box-shadow:none}
