:root{--hub-navy:#071a3c;--hub-ink:#13223f;--hub-blue:#1a56b5;--hub-sky:#8fd8e8;--hub-gold:#f0bd5f;--hub-paper:#f3f7fb;--hub-line:#cedae8;--hub-muted:#5c6c83}body{color:var(--hub-ink)}main p{text-wrap:pretty}.hub-eyebrow{margin:0;color:var(--hub-blue);font-size:.62rem;font-weight:700;letter-spacing:.16em}.hub-button{min-height:3.25rem;margin-top:1.8rem;padding:0 1.25rem;display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--hub-gold);color:var(--hub-navy);font-size:.76rem;font-weight:700;box-shadow:0 .85rem 1.8rem rgba(1,14,34,.16);transition:transform .2s,box-shadow .2s}.hub-button:hover{transform:translateY(-2px);box-shadow:0 1rem 2.2rem rgba(1,14,34,.24)}
.hub-hero{min-height:min(50rem,calc(100svh - 4.375rem));padding:clamp(4rem,7vw,7rem) max(var(--gutter),calc((100vw - 76rem)/2 + var(--gutter)));display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr);gap:clamp(3rem,7vw,7rem);align-items:center;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(circle at 81% 28%,rgba(52,155,192,.4),transparent 28%),linear-gradient(138deg,#05132d,#0a2d59 62%,#06162f)}.hub-hero::after{content:"HUB25";position:absolute;z-index:-1;right:-.08em;bottom:-.24em;color:rgba(255,255,255,.035);font:600 clamp(8rem,20vw,20rem)/1 var(--serif);letter-spacing:-.08em}.hub-hero__copy{position:relative;z-index:1}.hub-hero .hub-eyebrow{color:#a9ddea}.hub-hero__label{display:inline-block;margin:1rem 0 1.15rem;padding:.38rem .72rem;border:1px solid rgba(240,189,95,.65);color:#f7d38f;font-size:.7rem;font-weight:700}.hub-hero h1{margin:0;display:flex;align-items:baseline;gap:1rem;font-family:var(--serif);font-weight:600;line-height:1}.hub-hero h1 span{font-size:clamp(4rem,8vw,7.5rem);letter-spacing:-.06em}.hub-hero h1 small{font:600 clamp(.78rem,1.3vw,1rem)/1 var(--sans);letter-spacing:.12em}.hub-hero__lead{margin:1.45rem 0 0;color:#fff;font:600 clamp(1.6rem,2.7vw,2.5rem)/1.55 var(--serif);letter-spacing:.04em}.hub-hero__copy>p:last-of-type{max-width:37rem;margin:1rem 0 0;color:#d4e2f2;font-size:.92rem;line-height:2}.hub-orbit{width:min(31rem,100%);margin:auto;position:relative}.hub-motion-toggle{min-height:2.25rem;margin:0 0 .75rem auto;padding:.35rem .7rem;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(170,214,230,.42);background:rgba(5,25,55,.64);color:#c7e3ec;font-size:.62rem;font-weight:700;letter-spacing:.06em;cursor:pointer}.hub-motion-toggle span{width:.65rem;height:.65rem;border:1px solid currentColor;border-radius:50%;position:relative}.hub-motion-toggle span::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--hub-gold)}.hub-motion-toggle[aria-pressed="true"] span::after{inset:1px 2px;border-radius:0;background:linear-gradient(90deg,currentColor 0 32%,transparent 32% 68%,currentColor 68%)}.hub-orbit__frame{aspect-ratio:1;position:relative;border:1px solid rgba(171,220,235,.42);border-radius:50%;background:radial-gradient(circle at center,rgba(28,85,133,.68) 0 22%,transparent 22.5%),repeating-radial-gradient(circle at center,transparent 0 20%,rgba(143,216,232,.18) 20.3% 20.6%,transparent 20.9% 33.5%);box-shadow:0 1.5rem 4rem rgba(0,8,24,.28),inset 0 0 5rem rgba(24,111,151,.12)}.hub-orbit__frame::before,.hub-orbit__frame::after{content:"";position:absolute;inset:8%;border:1px dashed rgba(240,189,95,.38);border-radius:50%;transform:rotate(24deg)}.hub-orbit__frame::after{inset:17%;border-style:solid;border-color:rgba(143,216,232,.25);transform:none}.hub-orbit__frame>strong{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;text-align:center;color:var(--hub-gold);font:600 clamp(3.4rem,6vw,5.6rem)/.9 var(--serif)}.hub-orbit__frame>strong::after{content:"";position:absolute;z-index:-1;inset:-1rem;border:1px solid rgba(143,216,232,.36);border-radius:50%;opacity:.35}.hub-orbit__frame>strong small{margin-bottom:.55rem;color:#b9dce6;font:700 .52rem/1 var(--sans);letter-spacing:.18em}.hub-orbit__runner{position:absolute;z-index:2;border-radius:50%;pointer-events:none;animation:hub-orbit-spin 11s linear infinite;animation-play-state:paused}.hub-orbit__runner i{width:.52rem;height:.52rem;position:absolute;left:50%;top:-.26rem;translate:-50% 0;border-radius:50%;background:var(--hub-gold);box-shadow:0 0 .55rem rgba(240,189,95,.8)}.hub-orbit__runner--outer{inset:7%;animation-duration:13s}.hub-orbit__runner--middle{inset:16%;animation-duration:9s;animation-direction:reverse}.hub-orbit__runner--middle i{width:.38rem;height:.38rem;top:-.19rem;background:var(--hub-sky);box-shadow:0 0 .5rem rgba(143,216,232,.9)}.hub-orbit__runner--inner{inset:27%;animation-duration:7s}.hub-orbit__runner--inner i{width:.3rem;height:.3rem;top:-.15rem;background:#fff;box-shadow:0 0 .45rem rgba(255,255,255,.85)}.hub-orbit__axis{position:absolute;z-index:3;width:6.7rem;min-height:6.7rem;display:grid;place-content:center;border:1px solid rgba(173,219,232,.55);border-radius:50%;background:#0b3260;text-align:center;box-shadow:0 .8rem 1.8rem rgba(0,8,24,.26);animation:hub-node-breathe 6s ease-in-out infinite;animation-play-state:paused}.hub-orbit__axis b{color:#fff;font:600 2.2rem/1 var(--serif)}.hub-orbit__axis small{margin-top:.42rem;color:#9edbe7;font-size:.48rem;font-weight:700;letter-spacing:.08em}.hub-orbit__axis--r{top:2%;left:50%;transform:translateX(-50%);animation-delay:0s}.hub-orbit__axis--c{right:2%;bottom:13%;animation-delay:2s}.hub-orbit__axis--m{left:2%;bottom:13%;animation-delay:4s}.hub-orbit figcaption{max-width:27rem;margin:1rem auto 0;color:#adc6dd;font-size:.68rem;line-height:1.8;text-align:center}.hub-orbit.is-active:not(.is-motion-paused) .hub-orbit__runner,.hub-orbit.is-active:not(.is-motion-paused) .hub-orbit__axis{animation-play-state:running}.hub-orbit.is-active:not(.is-motion-paused) .hub-orbit__frame>strong::after{animation:hub-core-pulse 3s ease-out infinite}.hub-orbit.is-motion-paused .hub-motion-toggle span::after{animation:none}.hub-motion-toggle:disabled{cursor:default;opacity:.78}@keyframes hub-orbit-spin{to{rotate:1turn}}@keyframes hub-node-breathe{0%,24%,100%{scale:1}12%{scale:1.055}}@keyframes hub-core-pulse{0%{scale:.72;opacity:.55}75%,100%{scale:1.3;opacity:0}}
.hub-intro{padding:clamp(5rem,8vw,7.5rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)));display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);background:var(--hub-paper)}.hub-intro h2,.hub-section-head h2,.hub-platform h2,.hub-origin h2,.hub-faq h2,.hub-cta h2{margin:.75rem 0 0;font:600 clamp(2rem,3.4vw,3.25rem)/1.48 var(--serif);letter-spacing:.02em;text-wrap:balance}.hub-intro>div:last-child{font:500 1rem/2 var(--serif)}.hub-intro>div:last-child p{margin:0 0 1.3rem}
.hub-theory{padding:clamp(5rem,8vw,7.5rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)))}.hub-section-head{max-width:61rem;margin:0 0 3rem}.hub-section-head h2{font-size:clamp(2rem,4vw,3.7rem);overflow-wrap:anywhere}.hub-section-head__jp{margin:.5rem 0 0;color:var(--hub-blue);font:600 1.05rem var(--serif);letter-spacing:.08em}.hub-section-head>p:last-child{max-width:48rem;margin:1.25rem 0 0;color:var(--hub-muted);font-size:.88rem}.hub-theory__grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--hub-navy);border-left:1px solid var(--hub-line)}.hub-theory__grid>div{min-height:20rem;padding:1.6rem;border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line)}.hub-theory__grid dt{display:flex;align-items:baseline;gap:.85rem}.hub-theory__grid dt b{color:var(--hub-blue);font:600 3.2rem/1 var(--serif)}.hub-theory__grid dt span{font-size:.58rem;font-weight:700;letter-spacing:.13em}.hub-theory__grid dd{margin:3.7rem 0 0}.hub-theory__grid dd strong{font:600 1.5rem var(--serif)}.hub-theory__grid dd p{margin:.75rem 0 0;color:var(--hub-muted);font-size:.8rem;line-height:1.9}
.hub-platform{padding:clamp(5rem,8vw,7.5rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)));display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,7vw,7rem);align-items:center;color:#fff;background:var(--hub-navy)}.hub-platform .hub-eyebrow{color:var(--hub-sky)}.hub-platform__copy>p:not(.hub-eyebrow){color:#cad9eb;font-size:.86rem;line-height:2}.hub-flow{margin:0;position:relative;overflow:hidden;border:1px solid rgba(164,204,224,.48);background:#0b2d59;box-shadow:0 1.5rem 3rem rgba(0,7,23,.25)}.hub-flow__bar{min-height:2.7rem;padding:0 .9rem;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid rgba(164,204,224,.32);color:#9ccedf;font-size:.55rem;letter-spacing:.1em}.hub-flow__bar span{color:var(--hub-gold);letter-spacing:.3em}.hub-flow__bar i{width:32%;height:1px;position:absolute;left:-34%;bottom:-1px;background:linear-gradient(90deg,transparent,var(--hub-sky),transparent);animation:hub-scan 5.8s ease-in-out infinite;animation-play-state:paused}.hub-flow ol{margin:0;padding:1.3rem;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.hub-flow li{--step-delay:0s;min-height:8.5rem;padding:1rem;position:relative;isolation:isolate;overflow:visible;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(165,204,224,.38);background:rgba(5,25,55,.72)}.hub-flow li:nth-child(2){--step-delay:1.4s}.hub-flow li:nth-child(3){--step-delay:2.8s}.hub-flow li::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 28% 70%,rgba(143,216,232,.24),transparent 66%);opacity:0;animation:hub-flow-focus 5.6s ease-in-out infinite var(--step-delay);animation-play-state:paused}.hub-flow li:not(:last-child)::after{content:"→";position:absolute;z-index:2;right:-.55rem;top:50%;transform:translateY(-50%);color:var(--hub-gold)}.hub-flow li small{color:#83bacd;font-size:.5rem;font-weight:700;letter-spacing:.12em}.hub-flow li strong{margin-top:.45rem;font:600 .95rem var(--serif)}.hub-flow__signal{width:.34rem;height:.34rem;position:absolute;right:.75rem;top:.75rem;border-radius:50%;background:var(--hub-sky);opacity:.25;animation:hub-signal 5.6s ease-in-out infinite var(--step-delay);animation-play-state:paused}.hub-flow__hub{margin:0 1.3rem 1.3rem;padding:1rem 1.2rem;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(240,189,95,.62);background:linear-gradient(90deg,rgba(240,189,95,.11),rgba(22,77,115,.18))}.hub-flow__hub>i{position:absolute;z-index:-1;inset:0;background:linear-gradient(100deg,transparent 18%,rgba(240,189,95,.18) 48%,transparent 76%);translate:-105% 0;animation:hub-handoff 5.6s ease-in-out infinite 4.2s;animation-play-state:paused}.hub-flow__hub span{color:#e7c77e;font-size:.52rem;font-weight:700;letter-spacing:.15em}.hub-flow__hub strong{color:#fff;font:600 1.6rem var(--serif)}.hub-flow figcaption{padding:.85rem 1rem;border-top:1px solid rgba(164,204,224,.26);color:#9fb9d1;font-size:.66rem;text-align:center}.hub-flow.is-active:not(.is-motion-paused) .hub-flow__bar i,.hub-flow.is-active:not(.is-motion-paused) li::before,.hub-flow.is-active:not(.is-motion-paused) .hub-flow__signal,.hub-flow.is-active:not(.is-motion-paused) .hub-flow__hub>i{animation-play-state:running}@keyframes hub-flow-focus{0%,12%,42%,100%{opacity:0}20%,30%{opacity:1}}@keyframes hub-signal{0%,12%,42%,100%{opacity:.25;scale:1}20%,30%{opacity:1;scale:1.9}}@keyframes hub-handoff{0%,15%{translate:-105% 0;opacity:0}35%,65%{opacity:1}85%,100%{translate:105% 0;opacity:0}}@keyframes hub-scan{0%{translate:0 0;opacity:0}15%{opacity:1}70%{opacity:1}100%{translate:430% 0;opacity:0}}
.hub-origin{padding:clamp(5rem,8vw,8rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)));position:relative;overflow:hidden;background:#eef5f8}.hub-origin::after{content:"25";position:absolute;right:4vw;top:50%;transform:translateY(-54%);color:rgba(26,86,181,.06);font:600 clamp(14rem,30vw,29rem)/1 var(--serif)}.hub-origin>*{position:relative;z-index:1}.hub-origin h2{max-width:40rem}.hub-origin blockquote{max-width:52rem;margin:3rem 0 0;padding:1.7rem 0 1.7rem 2rem;border-left:3px solid var(--hub-gold)}.hub-origin blockquote p{margin:0;font:600 clamp(1.25rem,2.2vw,1.9rem)/1.8 var(--serif)}.hub-origin>p:last-child{max-width:48rem;margin:1.8rem 0 0;color:var(--hub-muted);font-size:.88rem;line-height:2}
.hub-faq{padding:clamp(5rem,8vw,7.5rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)));display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem)}.hub-faq__list{border-top:1px solid var(--hub-line)}.hub-faq summary{padding:1.2rem 0;font-size:.9rem}.hub-faq details p{font-size:.8rem;color:var(--hub-muted)}.hub-cta{padding:clamp(4.5rem,7vw,6.5rem) max(var(--gutter),calc((100vw - 73.75rem)/2 + var(--gutter)));background:linear-gradient(135deg,#0d2d5c,#07364e);color:#fff;text-align:center}.hub-cta .hub-eyebrow{color:var(--hub-sky)}.hub-cta h2{font-size:clamp(2rem,3.2vw,3rem)}.hub-cta>p:not(.hub-eyebrow){max-width:37rem;margin:1.25rem auto 0;color:#d1e1ef;font-size:.88rem}.hub-cta .hub-button{margin:1.8rem auto 0}
@media(max-width:900px){.hub-hero{min-height:auto;grid-template-columns:1fr;padding-top:4rem;padding-bottom:5.5rem}.hub-orbit{width:100%;max-width:31rem;min-width:0;margin-top:1.5rem}.hub-intro,.hub-platform,.hub-faq{grid-template-columns:1fr}.hub-theory__grid{grid-template-columns:1fr}.hub-theory__grid>div{min-height:auto}.hub-theory__grid dd{margin-top:2rem}.hub-platform{gap:3rem}.hub-faq{gap:1.5rem}}
@media(max-width:560px){.hub-hero h1{display:grid;gap:.65rem}.hub-hero h1 span{font-size:clamp(3.6rem,20vw,5.2rem)}.hub-motion-toggle{margin-bottom:.55rem}.hub-orbit__axis{width:5.25rem;min-height:5.25rem}.hub-orbit__axis b{font-size:1.75rem}.hub-orbit__axis small{font-size:.38rem}.hub-intro,.hub-theory,.hub-platform,.hub-origin,.hub-faq{padding-top:4.5rem;padding-bottom:4.5rem}.hub-theory__grid>div{padding:1.35rem}.hub-flow ol{grid-template-columns:1fr}.hub-flow li{min-height:5.7rem}.hub-flow li:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-.75rem;transform:translateX(50%)}.hub-origin blockquote{padding-left:1.25rem}.hub-cta{padding-top:4.5rem;padding-bottom:4.5rem}}
@media(prefers-reduced-motion:reduce){.hub-button{transition:none}.hub-orbit__runner,.hub-orbit__axis,.hub-orbit__frame>strong::after,.hub-flow__bar i,.hub-flow li::before,.hub-flow__signal,.hub-flow__hub>i{animation:none!important}.hub-orbit__runner{opacity:.55}.hub-flow li::before{opacity:.3}.hub-flow__signal{opacity:.55}}
