:root{--ground:#090d10;--surface:#0e1119;--ink:#f4f6fa;--soft:#99a4b5;--accent:#5586ff;--blue:#2f6bff}body{background:var(--ground);font-family:var(--font)}.content-shell,.nav-shell{width:1080px;max-width:calc(100% - 120px);margin:auto}.header{position:sticky;top:0;min-height:70px;height:70px;padding:0;background:rgba(9,13,16,.97);border-bottom:1px solid #222a38;backdrop-filter:blur(14px)}.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:50px;height:100%}.header .brand-logo{width:168px}.header nav{gap:22px}.header nav>a{padding:0}.header nav a,.header nav button{font-size:14px;color:#b7bfcc}.header nav a:hover,.header nav button:hover{color:white}.contact-button,.blue-button{background:var(--blue);color:white;padding:12px 24px;border-radius:6px;font-weight:500;line-height:1.5}.contact-button{font-size:14px;padding:9px 20px}.blue-button:hover,.contact-button:hover{background:#4c80ff;color:#fff}.framework-hero{height:720px;min-height:calc(100svh - 260px);position:relative;display:flex;align-items:center;overflow:hidden;background:#090d10}.network-art{position:absolute;right:0;top:0;width:85%;height:100%;opacity:.32;pointer-events:none}.hero-intro{position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:2px;color:#9ba9bc;display:flex;align-items:center;gap:12px;margin-bottom:30px}.eyebrow i{width:6px;height:6px;background:#00c8b4;border-radius:50%}.hero-intro h1{font-size:62px;line-height:1.3;font-weight:600;letter-spacing:0;white-space:nowrap}.hero-intro h1 span{color:#5886ff}.hero-description{max-width:650px;font-size:17px;color:#a9b3c2;line-height:1.9;margin-top:25px}.hero-actions{display:flex;gap:16px;margin-top:40px}.outline-button{padding:11px 26px;border:1px solid #303949;border-radius:6px;font-weight:500}.outline-button:hover{border-color:#638fea;color:white}.metrics{padding:48px 0 26px;background:#10131b;border-block:1px solid #222a38}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metrics-grid>div{padding:0 30px;border-left:1px solid #29313e}.metrics-grid>div:first-child{border:0;padding-left:0}.metrics-grid strong{font-size:40px;line-height:1.2;font-weight:500;color:#fff;font-variant-numeric:tabular-nums}.metrics-grid p{color:#aab5c7;font-size:16px}.metrics-grid span{display:block;margin-top:12px;color:#8994a6;font-size:13px}.data-note{font-size:12px;color:#7f8b9e;margin-top:38px;line-height:1.8}.business,.payload,.platforms{padding-top:110px;padding-bottom:35px;scroll-margin-top:90px}.block-heading{position:relative}.block-heading h2{font-size:30px;font-weight:500;line-height:1.45}.block-heading>p{font-size:17px;color:#a4aebd;max-width:540px;line-height:1.9;margin-top:16px}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}.business-grid article{border-top:1px solid #29313e;padding-top:25px}.item-number{font-size:12px;color:#c9a227}.business-grid h3{font-size:21px;margin-top:20px}.business-grid p{font-size:15px;color:#a4aebd;line-height:1.9;margin-top:16px}.section-caption{position:absolute;right:0;bottom:5px;font-size:12px;letter-spacing:1px;color:#8491a6}.generation-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0;list-style:none;margin:50px 0 0;border-top:1px solid #29313e}.generation-grid li{position:relative;padding-top:32px}.generation-grid li::before{content:"";position:absolute;width:8px;height:8px;top:-4px;left:0;border-radius:50%;background:#3778ff}.generation-grid span{font-size:13px;color:#8f9bae}.generation-grid p{margin:42px 0;font-size:22px}.generation-grid strong{font-weight:500;font-variant-numeric:tabular-nums}.generation-grid small{font-size:12px;color:#b3bfd2}.payload .data-note{margin-top:70px}.platforms{padding-bottom:110px}.platforms table{width:100%;border-collapse:collapse;margin-top:42px;text-align:left}.platforms tr{border-block:1px solid #29313e}.platforms th{font-weight:400;color:#94a0b3;width:24%;padding:23px 0;font-size:14px}.platforms td{font-size:15px;padding:23px 0}.platforms tr:hover{background:#11151f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.history{border-top:1px solid #222a38}.news{background:#10131b;color:#f4f6fa}.news-open:hover{color:#fff}.news-meta,.news-note{color:#98a4b6}.footer{background:#090d10}.news .text-link:hover{color:#7ca3ff}

.framework-footer{border-top:1px solid #222a38;padding:30px 0;color:#8994a6;font-size:13px}.framework-footer .content-shell{display:flex;justify-content:space-between;align-items:center}.framework-footer a:hover{color:white}

/* Satellite and Earth banner, desktop composition. */
.framework-hero{background:#030810;height:760px;min-height:calc(100svh - 140px)}
.banner-scene{position:absolute;left:28%;top:0;width:85%;height:100%;object-fit:cover;object-position:center;max-width:none}
.banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,#030810 0%,rgba(3,8,16,.97) 20%,rgba(3,8,16,.72) 36%,rgba(3,8,16,.14) 55%,transparent 72%),linear-gradient(0deg,#090d10 0%,transparent 18%)}
.hero-intro h1{font-size:52px}.hero-description{max-width:510px}.hero-intro h1 span{color:#83adff}.hero-intro .outline-button{background:rgba(3,8,16,.45)}
.banner-scene{mask-image:linear-gradient(90deg,transparent 0%,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%)}

.banner-scene{left:0;width:100%;height:100%;object-fit:cover;object-position:center;mask-image:none;-webkit-mask-image:none}
.banner-shade{background:linear-gradient(90deg,rgba(3,8,16,.28),rgba(3,8,16,.16) 38%,transparent 62%),linear-gradient(0deg,#090d10 0%,transparent 16%)}

.business-redesign{padding-top:110px;padding-bottom:60px}.business-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:54px}.business-kicker{color:#8eaccc;font-size:12px;letter-spacing:3px;margin-bottom:18px}.business-heading h2{font-size:34px;line-height:1.4;font-weight:500}.business-heading>p{font-size:14px;line-height:1.9;color:#95a2b3;max-width:350px}.business-stage{display:grid;grid-template-columns:34% 1fr;border-top:1px solid #2a3644;border-bottom:1px solid #2a3644;min-height:540px}.business-tabs{padding:32px 36px 32px 0;display:flex;flex-direction:column;justify-content:center}.business-tabs button{position:relative;display:grid;grid-template-columns:36px 1fr;align-items:center;text-align:left;padding:28px 12px;border-bottom:1px solid #25303d;transition:background .3s,color .3s,padding .3s;color:#8795a6}.business-tabs button:last-child{border:0}.business-tabs button>span{font-size:12px;color:#6b819b}.business-tabs strong{font-size:26px;font-weight:500}.business-tabs small{grid-column:2;font-size:12px;margin-top:9px;color:#7f90a4}.business-tabs b{position:absolute;right:18px;top:35px;font-size:20px;font-weight:400;opacity:0;transform:translate(-5px,5px);transition:.3s}.business-tabs button[aria-selected=true]{background:#101d2b;color:white;padding-left:22px}.business-tabs button[aria-selected=true]>span{color:#72a6ff}.business-tabs button[aria-selected=true] b{opacity:1;transform:none}.business-tabs button:hover{color:white;background:#0d1722}.business-tabs button:focus-visible{outline:2px solid #6ea2ff;outline-offset:3px}.business-panel{border-left:1px solid #263342;background:#0b1119;padding:12px 34px 36px;overflow:hidden}.business-visual{position:relative;height:275px;border-bottom:1px solid #203041}.business-visual svg{width:100%;height:100%}.business-visual>span{position:absolute;bottom:14px;right:0;font-size:10px;letter-spacing:2px;color:#667c94}.business-detail{padding-top:28px}.business-step{font-size:11px;letter-spacing:2px;color:#7ca8e0;margin-bottom:12px}.business-detail h3{font-size:25px;font-weight:500;margin-bottom:16px}.business-detail>p:not(.business-step){color:#a3afbf;font-size:14px;line-height:1.9;max-width:520px}#business-tags{display:flex;gap:22px;margin-top:22px;color:#8395aa;font-size:11px}#business-tags span+span{border-left:1px solid #354458;padding-left:22px}.diagram{display:none}.business-panel[data-mode="0"] .build-diagram,.business-panel[data-mode="1"] .orbit-diagram,.business-panel[data-mode="2"] .data-diagram{display:block}.scan-beam{animation:businessScan 4s ease-in-out infinite}.build-wing{animation:businessAssemble 5s ease-in-out infinite}.data-path{stroke-dasharray:8 8;animation:businessFlow 3s linear infinite}.data-pulse{animation:businessPulse 2s ease-in-out infinite}.business-panel.is-changing .business-detail{animation:businessEnter .45s ease both}.business-panel:not(.is-visible) *{animation-play-state:paused!important}@keyframes businessScan{0%,100%{transform:translateY(0);opacity:.1}50%{transform:translateY(130px);opacity:.8}}@keyframes businessAssemble{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.94)}}@keyframes businessFlow{to{stroke-dashoffset:-64}}@keyframes businessPulse{50%{opacity:.25}}@keyframes businessEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.business-redesign *{animation:none!important;transition:none!important}}

/* Payload timeline hover interaction. Keep the axis anchored. */
.generation-grid li{isolation:isolate;padding-bottom:24px;outline:none}
.generation-grid li::after{content:"";position:absolute;z-index:-1;inset:14px 8px 0 -12px;background:#112033;border:1px solid #294f78;border-radius:4px;opacity:0;transform:translateY(8px) scale(.97);transition:opacity .28s ease,transform .32s cubic-bezier(.2,.7,.3,1)}
.generation-grid li>span,.generation-grid li>p{display:block;transform-origin:left center;transition:transform .32s cubic-bezier(.2,.7,.3,1),color .28s ease}
.generation-grid li::before{transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.generation-grid li:hover::after,.generation-grid li:focus-visible::after{opacity:1;transform:translateY(0) scale(1)}
.generation-grid li:hover>span,.generation-grid li:focus-visible>span{transform:translateY(-3px) scale(1.06);color:#cadcf4}
.generation-grid li:hover>p,.generation-grid li:focus-visible>p{transform:translateY(-5px) scale(1.15);color:#8ab8ff}
.generation-grid li:hover::before,.generation-grid li:focus-visible::before{transform:scale(1.6);background:#a5ceff;box-shadow:0 0 0 5px rgba(74,135,232,.13)}
@media(prefers-reduced-motion:reduce){.generation-grid li,.generation-grid li::before,.generation-grid li::after,.generation-grid li>*{transition:none!important}}
.hero-intro h1{font-weight:400}
.framework-hero{height:clamp(640px,56.25vw,900px);min-height:0}.banner-scene{object-position:right center}




/* Banner title */
.hero-intro h1{font-weight:700}.hero-intro h1 .hero-title-line{display:block}
/* Keep the full 2560 x 1440 banner visible at every desktop width. */
.framework-hero{height:auto;min-height:0;max-height:none;aspect-ratio:16/9}
.banner-scene{inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.banner-shade{background:linear-gradient(90deg,rgba(3,8,16,.28),rgba(3,8,16,.16) 38%,transparent 62%),linear-gradient(0deg,#080f1a 0%,transparent 5%)}/* Trim the upper sky and lift the complete scene without cropping the satellite. */
.framework-hero{height:calc(100dvh - 70px);min-height:0;aspect-ratio:auto}
.banner-scene{top:auto;bottom:0;left:0;right:0;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center bottom}




/* Use the supplied PNG at native detail; lighting is clipped to its exact alpha. */
.banner-scene-hd{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.satellite-hd{filter:brightness(.78) saturate(.88) contrast(1.06)}
.earth-layer{animation:earth-drift-hd 36s linear infinite;filter:brightness(1.12)}
.satellite-sunlight{animation:sunlight-hd 12s linear infinite}
@keyframes earth-drift-hd{from{transform:translate(0,0)}to{transform:translate(-26px,5px)}}
@keyframes sunlight-hd{0%,12%{transform:translateX(0);opacity:0}20%{opacity:1}80%{opacity:1}90%,100%{transform:translateX(1900px);opacity:0}}
.banner-scene-hd.is-paused *{animation-play-state:paused!important}
#home{scroll-margin-top:70px}
@media(prefers-reduced-motion:reduce){.banner-scene-hd *{animation:none!important}}


/* Original backdrop video restored; only the former satellite footprint is patched. */
.satellite-hd{filter:brightness(1) saturate(.98) contrast(1.04)}
/* Broad moving sunlight preserves the source material, without a flat scan stripe. */
.satellite-hd{filter:brightness(.98) saturate(.98) contrast(1.04);animation:solar-exposure 24s ease-in-out infinite}
.satellite-solar-reflection{filter:brightness(1.22) saturate(.96);opacity:.4;pointer-events:none}
.solar-highlight-field{animation:solar-direction 24s ease-in-out infinite}
@keyframes solar-direction{0%,100%{transform:translate(-140px,-110px)}50%{transform:translate(370px,190px)}}
@keyframes solar-exposure{0%,100%{filter:brightness(.98) saturate(.98) contrast(1.04)}50%{filter:brightness(1.04) saturate(.98) contrast(1.04)}}

.history-source-note{font-size:12px;line-height:1.9;color:#8395ac;margin-top:28px}.investor-sections{display:grid;gap:24px;margin-top:28px}.investor-sections section{border-top:1px solid #2b3d55;padding-top:20px}.investor-sections h3{font-size:20px;margin-bottom:12px}.investor-sections a{color:#9fc5ff}.investor-sections ul{padding-left:20px;line-height:2}

/* Shared filing and copyright footer. */
.framework-footer{background:#090d10;border-top:1px solid #222a38;padding:30px 0;color:#8994a6;font-size:13px}
.framework-footer .content-shell{display:flex;justify-content:space-between;align-items:center;gap:24px}
.framework-footer .footer-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.framework-footer .footer-icp{color:#2f6bff}
.framework-footer .footer-back-top{flex-shrink:0;white-space:nowrap}
.framework-footer a:hover{color:#b4ceff}
