/* Studio Céleste — orbital observatory and application gallery. */
.orbital-showcase{margin:0!important;padding:22px 22px 18px!important;border-radius:32px!important;background:linear-gradient(145deg,rgba(12,31,49,.13),rgba(3,10,24,.04))!important;transform:none!important;overflow:hidden!important;backdrop-filter:blur(2px);min-width:0;aspect-ratio:auto!important;height:auto!important}
.orbital-showcase::before{display:none!important}.orbital-showcase::after{z-index:0!important;background:linear-gradient(130deg,rgba(217,253,255,.14),transparent 22% 80%,rgba(153,192,255,.08))!important;pointer-events:none}
.orbital-heading,.orbital-caption{position:relative;z-index:2;display:flex;align-items:center;gap:9px;color:#e9f9ff;font:500 11px/1.5 I,Arial,sans-serif;letter-spacing:.04em}
.orbital-heading{padding-bottom:12px;border-bottom:1px solid #c3f3ff23}.orbital-coordinate{margin-left:auto;font-size:9px;letter-spacing:.14em;color:#abd3e2}.live-dot{width:5px;height:5px;border-radius:50%;background:#a5f9df;box-shadow:0 0 10px #92e4d5}
.orbital-scene{position:relative;width:100%;aspect-ratio:640/520;isolation:isolate}.orbital-lines{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 3px #82dbf933)}
.earth-globe{position:absolute;left:50%;top:50%;width:35%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 45px #63cfff22,0 0 95px #48acff15;pointer-events:none}
.earth-globe canvas{display:block;width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 0 2px #abeaff)}.earth-atmosphere{position:absolute;inset:4%;border-radius:50%;box-shadow:inset 0 0 4px #cafaffbb,0 0 10px #67cbff5e,0 0 27px #6abcff3b}
.orbital-node{position:absolute;left:50%;top:50%;z-index:4;display:grid;justify-items:center;text-align:center;width:126px;padding:7px 3px;transform:translate(-50%,-50%);text-shadow:0 2px 9px #000;background:radial-gradient(ellipse,rgba(3,14,29,.56),transparent 74%);border-radius:25px;transition:filter .25s}
.orbital-node:hover,.orbital-node:focus-visible{filter:brightness(1.35);outline:1px solid var(--node-color);outline-offset:2px}.orbital-node strong{font:600 12px/1.3 I,Arial,sans-serif;color:#f0fbff;white-space:nowrap}.orbital-node small{font:400 9px/1.6 I,Arial,sans-serif;color:#c6dce6;white-space:nowrap;margin-top:3px}
.orbital-icon{display:grid;place-items:center;font:22px/1 I,sans-serif;width:34px;height:34px;margin-bottom:7px;border-radius:50%;color:var(--node-color);border:1px solid color-mix(in srgb,var(--node-color) 58%,transparent);background:radial-gradient(circle at 30% 22%,#fff6,transparent 37%),radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--node-color) 20%,transparent),#061127cc);box-shadow:0 0 16px color-mix(in srgb,var(--node-color) 25%,transparent),inset 0 -5px 9px #0004}
.orbital-caption{justify-content:space-between;padding-top:11px;border-top:1px solid #c3f3ff23;font-size:10px;color:#c6dce6}.orbital-index{color:#9dceea;font-size:9px;letter-spacing:.12em}
.application-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.app-link-card{position:relative;min-height:172px;padding:23px 25px;border:1px solid #c3f3ff29;border-radius:25px;background:linear-gradient(135deg,rgba(18,31,55,.2),rgba(3,11,28,.1));box-shadow:inset 0 1px #e0fbff25;display:flex;flex-direction:column;gap:11px;transition:transform .25s,border-color .25s;backdrop-filter:blur(3px)}.app-link-card:hover{transform:translateY(-5px);border-color:var(--app-accent)}.app-card-index{color:var(--app-accent);font-size:11px;letter-spacing:.16em}.app-link-card strong{font:600 1.08rem/1.4 I,sans-serif;color:#f3fbff}.app-link-card small{font-size:12px;color:#d3e7f0}.app-card-arrow{position:absolute;right:22px;top:22px;color:var(--app-accent);font-size:21px}.application-cta{text-align:center;margin-top:33px}
.applications-main{padding-top:146px}.applications-heading{max-width:900px;margin:0 auto 50px;text-align:center}.applications-heading h1{font-size:clamp(2.6rem,6vw,5.7rem);margin:22px 0;color:#e6faff;text-shadow:0 2px 0 #6ca3b56e,0 3px 25px #000,0 0 35px #70dbff33}.applications-heading>p:last-child{max-width:660px;margin:auto;color:#e0ecf6;font-size:1.06rem;text-shadow:0 2px 10px #000}
.applications-nav{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-bottom:20px;margin-bottom:45px}.applications-nav a{padding:9px 15px;border:1px solid #c8efff35;background:#07142844;backdrop-filter:blur(3px);border-radius:99px;font:500 .75rem/1.5 I,sans-serif;color:#e2f5ff}.applications-nav a:hover{border-color:#b5e7ff;background:#14324988}
.app-showcase{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(25px,6vw,95px);padding:65px 0 80px;scroll-margin-top:94px;border-top:1px solid #d8f8ff22}.app-showcase:nth-of-type(even) .application-copy{order:2}.application-copy{position:relative;padding:28px 24px 30px;border-left:1px solid color-mix(in srgb,var(--app-accent) 34%,transparent);border-radius:0 26px 26px 0;background:linear-gradient(90deg,rgba(4,13,30,.43),rgba(4,13,30,.06));text-shadow:0 2px 14px #000}.app-number{font-size:10px;letter-spacing:.2em;color:#d8e6f5;margin-bottom:29px}.application-copy .status{color:var(--app-accent);font-size:11px;letter-spacing:.13em;margin-bottom:16px}.application-copy h2{font-size:clamp(1.8rem,3.6vw,3rem);color:#f3fbff;line-height:1.15;margin:0 0 25px}.application-copy>p:not(.status){color:#e3eef7;line-height:1.85;font-size:1rem}.application-copy .btn{margin-top:30px;border-color:color-mix(in srgb,var(--app-accent) 60%,transparent)}.application-copy .tag{color:#ecfaff;border-color:#d7ecff30;background:#05142744;font-size:11px}
.phone-gallery{margin:0;position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.device-halo{position:absolute;top:18%;left:0;right:0;height:65%;background:radial-gradient(ellipse,color-mix(in srgb,var(--app-accent) 14%,transparent),transparent 69%);filter:blur(24px);pointer-events:none}.device-shell{position:relative;z-index:1;width:300px;max-width:100%;aspect-ratio:300/625;border:6px solid #151b27;border-radius:43px;padding:5px;background:#070b15;box-shadow:0 0 0 1px #eff9ff70,0 0 0 3px #ffffff12,3px 4px 0 #3f475c,0 30px 60px #0005,inset 0 0 0 1px #b6cedf38;isolation:isolate}.device-shell::before{content:"";position:absolute;left:-9px;top:104px;width:3px;height:41px;border-radius:2px;background:#a3b1c5;box-shadow:0 54px #a3b1c5}.device-shell::after{content:"";position:absolute;right:-10px;top:159px;width:3px;height:60px;border-radius:2px;background:#a3b1c5}.device-camera{position:absolute;z-index:5;top:10px;left:50%;transform:translateX(-50%);width:66px;height:17px;border-radius:99px;background:#050609;box-shadow:inset 0 1px #ffffff16;pointer-events:none}.device-camera::after{content:"";position:absolute;right:10px;top:5px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#476078,#0b1529 65%);border:1px solid #314154}.device-home{position:absolute;z-index:5;bottom:11px;left:50%;width:79px;height:3px;transform:translateX(-50%);border-radius:99px;background:#ffffff97;pointer-events:none}.phone-track{display:flex;height:100%;width:100%;border-radius:31px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;background:#0b1023;outline-offset:4px}.phone-track::-webkit-scrollbar{display:none}.phone-track:focus-visible{outline:2px solid var(--app-accent)}.phone-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.phone-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden}.phone-slide img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;user-select:none}.app-showcase#versailles .phone-slide img{object-fit:contain;background:#060b14}.phone-caption{font-size:12px;line-height:1.5;color:#e5f4ff;text-align:center;margin:22px 0 11px;min-height:18px;text-shadow:0 2px 10px #000}.phone-navigation{display:flex;align-items:center;gap:18px}.phone-navigation>button{width:40px;height:40px;border:1px solid #c4ecff33;background:#06152666;color:#f0fbff;border-radius:50%;cursor:pointer;font-size:18px}.phone-navigation>button:hover{border-color:var(--app-accent)}.phone-dots{display:flex;gap:9px}.phone-dot{border:0;padding:0;width:8px;height:8px;background:#d3ebff4d;border-radius:50%;cursor:pointer;box-shadow:0 0 0 7px transparent}.phone-dot[aria-pressed=true]{background:var(--app-accent);box-shadow:0 0 14px color-mix(in srgb,var(--app-accent) 46%,transparent)}.phone-hint{margin:11px 0 0;font-size:10px;letter-spacing:.09em;color:#c1d9e9}.application-final{padding:65px 25px 100px;text-align:center}.application-final h2{font-size:clamp(1.8rem,4vw,3rem)}.application-final p{margin:20px 0;color:#e5f4ff}.application-final .btn{margin-top:9px}
@media(max-width:950px){.orbital-showcase{width:min(100%,620px);margin:20px auto 0!important}.application-links{grid-template-columns:repeat(2,1fr)}.app-showcase{gap:28px}.device-shell{width:280px}}
@media(max-width:650px){.orbital-showcase{padding:14px 10px!important;border-radius:25px!important}.orbital-heading{font-size:9px}.orbital-coordinate{font-size:8px}.orbital-node{width:97px}.orbital-node strong{font-size:9px}.orbital-node small{font-size:7px}.orbital-icon{width:28px;height:28px;font-size:18px;margin-bottom:5px}.orbital-caption{font-size:8px}.application-links{grid-template-columns:1fr 1fr;gap:10px}.app-link-card{padding:17px 13px;min-height:158px;border-radius:18px}.app-link-card strong{font-size:.91rem}.app-link-card small{font-size:10px}.app-card-arrow{right:12px;top:12px}.applications-main{padding-top:118px}.applications-heading{margin-bottom:30px}.applications-heading>p:last-child{font-size:.92rem}.applications-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding:0 20px 18px;scrollbar-width:thin}.applications-nav a{white-space:nowrap;flex-shrink:0}.app-showcase{grid-template-columns:1fr;padding:45px 0 57px;gap:35px}.app-showcase:nth-of-type(even) .application-copy{order:0}.application-copy{padding:20px 17px}.application-copy h2{font-size:1.85rem}.application-copy>p:not(.status){font-size:.92rem}.app-number{margin-bottom:20px}.device-shell{width:285px;max-width:calc(100vw - 65px)}.phone-gallery{padding-bottom:8px}}

/* Real star patterns: soft light and a gentle three-dimensional oscillation. */
.constellation-field{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;mix-blend-mode:screen;contain:paint}
.mini-constellation{position:absolute;aspect-ratio:1;opacity:.84;pointer-events:none;perspective:600px}
.mini-constellation svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;animation:constellation-sway var(--sway) ease-in-out var(--phase) infinite;animation-play-state:paused}
.constellation-thread{fill:none;stroke:var(--tint);stroke-width:.62;stroke-linecap:round;stroke-linejoin:round;opacity:.64;filter:drop-shadow(0 0 2px #79dfff70)}
.star-jewel{animation:star-breath var(--pulse) ease-in-out var(--star-delay) infinite;animation-play-state:paused}
.star-aura{fill:var(--tint);opacity:.14;filter:blur(2px)}
.star-glow{fill:var(--tint);opacity:.28;filter:blur(.6px)}
.star-core{fill:#f3fdff;filter:drop-shadow(0 0 2px #c9f5ff)}
.star-rays{fill:none;stroke:#e5fbff;stroke-width:.4;opacity:.7}
.mini-constellation.is-in-view svg,.mini-constellation.is-in-view .star-jewel{animation-play-state:running}
html[data-motion=paused] .mini-constellation *, .constellation-field[data-suspended=true] .mini-constellation *{animation-play-state:paused!important}
@keyframes constellation-sway{0%,100%{transform:rotateX(-8deg) rotateY(-16deg) rotateZ(calc(var(--rest-angle) - var(--swing))) translateY(-3px)}50%{transform:rotateX(8deg) rotateY(16deg) rotateZ(calc(var(--rest-angle) + var(--swing))) translateY(3px)}}
@keyframes star-breath{0%,100%{opacity:1}50%{opacity:.67}}
@media(max-width:650px){.mini-constellation{opacity:.43}.constellation-thread{stroke-width:.8}.star-core{filter:drop-shadow(0 0 3px #b7f1ff)}}
@media(prefers-reduced-motion:reduce){.mini-constellation *{animation:none!important}}
