
:root{--hub-navy:#081B33;--hub-navy2:#102C4C;--hub-blue:#1E63FF;--hub-ink:#132238;--hub-muted:#64748B;--hub-line:#DDE5EF;--hub-soft:#F5F8FC;--hub-white:#fff;--hub-max:1180px}
.e2m-topic-context{border-bottom:1px solid var(--hub-line);background:#F8FAFD;color:var(--hub-ink)}
.e2m-topic-context-inner{width:min(var(--hub-max),calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:10px;min-height:42px;font-size:11px;line-height:1.3;flex-wrap:wrap}
.e2m-topic-context-label{font-weight:900;color:var(--hub-muted);text-transform:uppercase;letter-spacing:.08em}
.e2m-topic-context a{font-weight:800;color:var(--hub-navy);text-decoration:none}.e2m-topic-context a:hover{color:var(--hub-blue)}
.e2m-topic-context .sep{color:#A8B4C4}.e2m-topic-context .all{color:var(--hub-blue);font-weight:800}
.e2m-hub-page{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--hub-ink);background:#fff;-webkit-font-smoothing:antialiased}
.e2m-hub-page *{box-sizing:border-box}.e2m-hub-page a{color:inherit;text-decoration:none}.hub-shell{width:min(var(--hub-max),calc(100% - 40px));margin:auto}
.hub-nav{height:76px;border-bottom:1px solid rgba(8,27,51,.08);background:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:50}.hub-nav-in{display:flex;align-items:center;gap:28px;width:100%}.hub-brand{display:flex;align-items:baseline;gap:8px;font-weight:950;color:var(--hub-navy);letter-spacing:-.04em}.hub-brand strong{font-size:29px}.hub-brand strong b{color:var(--hub-blue)}.hub-brand small{font-size:9px;letter-spacing:.14em;color:#6A7A8D}.hub-links{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:12px;font-weight:800}.hub-links a:hover{color:var(--hub-blue)}.hub-cta{background:var(--hub-navy);color:#fff!important;padding:11px 15px;border-radius:8px}.hub-lang{display:flex;gap:5px;border-left:1px solid var(--hub-line);padding-left:15px}.hub-lang a{font-size:9px;font-weight:900;padding:6px 7px;border-radius:6px;color:#637187}.hub-lang a[aria-current="page"]{background:#EDF3FF;color:var(--hub-blue)}
.hub-hero{background:linear-gradient(135deg,#061729 0%,#0B2846 68%,#123B66 100%);color:#fff;padding:88px 0 72px;position:relative;overflow:hidden}.hub-hero:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-120px;top:-170px;box-shadow:0 0 0 72px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018)}.hub-breadcrumb{font-size:11px;color:#AFC5DE;margin-bottom:26px;position:relative;z-index:1}.hub-breadcrumb a{color:#E6EEF8;font-weight:800}.hub-eyebrow{font-size:10px;font-weight:950;letter-spacing:.16em;color:#8FB1FF;margin-bottom:14px;position:relative;z-index:1}.hub-hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:0;max-width:920px;position:relative;z-index:1}.hub-hero .lead{font-size:clamp(18px,2vw,24px);line-height:1.45;color:#D4E0EE;max-width:860px;margin:26px 0 0;position:relative;z-index:1}.hub-hero .body{font-size:14px;line-height:1.75;color:#B8C9DC;max-width:850px;margin:17px 0 0;position:relative;z-index:1}.hub-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:1}.hub-meta span{font-size:10px;font-weight:850;letter-spacing:.05em;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 10px;color:#DDE8F5}.hub-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:1}.hub-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 17px;border-radius:8px;background:var(--hub-blue);color:#fff!important;font-size:11px;font-weight:900;letter-spacing:.04em}.hub-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.28)}
.hub-topic-nav{border-bottom:1px solid var(--hub-line);background:#fff}.hub-topic-nav .hub-shell{display:flex;gap:5px;overflow:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}.hub-topic-nav .hub-shell::-webkit-scrollbar{display:none}.hub-topic-nav a{white-space:nowrap;font-size:10px;font-weight:850;padding:9px 10px;border-radius:7px;color:#526277}.hub-topic-nav a:hover,.hub-topic-nav a.active{background:#EDF3FF;color:var(--hub-blue)}
.hub-section{padding:72px 0}.hub-section.soft{background:var(--hub-soft)}.hub-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:end;margin-bottom:34px}.hub-kicker{font-size:10px;font-weight:950;letter-spacing:.14em;color:var(--hub-blue);text-transform:uppercase}.hub-head h2{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.04em;margin:7px 0 0;color:var(--hub-navy)}.hub-head p{font-size:14px;line-height:1.7;color:var(--hub-muted);margin:0;max-width:680px}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hub-line);border-left:1px solid var(--hub-line)}.hub-card{display:flex;flex-direction:column;min-height:260px;padding:25px;border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);background:#fff;transition:.2s transform,.2s box-shadow}.hub-card:hover{position:relative;z-index:2;transform:translateY(-2px);box-shadow:0 18px 40px rgba(8,27,51,.08)}.hub-card small{font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--hub-blue);text-transform:uppercase}.hub-card h3{font-size:19px;line-height:1.22;letter-spacing:-.025em;color:var(--hub-navy);margin:13px 0 10px}.hub-card p{font-size:12px;line-height:1.65;color:var(--hub-muted);margin:0 0 20px}.hub-card .go{margin-top:auto;font-size:11px;font-weight:900;color:var(--hub-blue)}
.hub-architecture{display:grid;grid-template-columns:1fr 1fr;gap:24px}.hub-role{border:1px solid var(--hub-line);border-radius:16px;padding:28px;background:#fff}.hub-role span{font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--hub-blue);text-transform:uppercase}.hub-role h3{font-size:25px;letter-spacing:-.03em;color:var(--hub-navy);margin:10px 0}.hub-role p{font-size:13px;line-height:1.7;color:var(--hub-muted);margin:0}.hub-flow{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;border-top:1px solid var(--hub-line);border-left:1px solid var(--hub-line)}.hub-flow div{padding:22px;border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);background:#fff}.hub-flow b{display:block;color:var(--hub-navy);font-size:13px;margin-bottom:6px}.hub-flow span{font-size:11px;line-height:1.55;color:var(--hub-muted)}
.hub-related{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hub-related a{padding:18px;border:1px solid var(--hub-line);border-radius:12px;font-size:12px;font-weight:850;color:var(--hub-navy);background:#fff}.hub-related a:hover{border-color:#B9CAEA;color:var(--hub-blue)}
.hub-footnote{font-size:11px;line-height:1.7;color:#718095;border-top:1px solid var(--hub-line);padding-top:18px;margin-top:34px}.hub-footer{background:#061729;color:#B7C6D7;padding:40px 0}.hub-footer-in{display:flex;justify-content:space-between;gap:30px;align-items:center}.hub-footer strong{color:#fff}.hub-footer-links{display:flex;gap:18px;font-size:11px}.hub-footer-links a:hover{color:#fff}
@media(max-width:900px){.hub-links>a:not(.hub-cta){display:none}.hub-head{grid-template-columns:1fr;gap:16px}.hub-grid{grid-template-columns:1fr 1fr}.hub-flow{grid-template-columns:1fr 1fr}.hub-related{grid-template-columns:1fr 1fr}.hub-architecture{grid-template-columns:1fr}}
@media(max-width:620px){.hub-shell,.e2m-topic-context-inner{width:min(100% - 28px,var(--hub-max))}.hub-nav{height:68px}.hub-brand small{display:none}.hub-brand strong{font-size:27px}.hub-cta{display:none}.hub-lang{margin-left:auto;padding-left:9px}.hub-links{display:none}.hub-hero{padding:62px 0 54px}.hub-hero h1{font-size:38px;line-height:1.02}.hub-hero .lead{font-size:18px}.hub-grid{grid-template-columns:1fr}.hub-card{min-height:0}.hub-flow{grid-template-columns:1fr}.hub-related{grid-template-columns:1fr}.hub-section{padding:54px 0}.hub-footer-in{align-items:flex-start;flex-direction:column}.e2m-topic-context-inner{padding:8px 0;min-height:46px}}
/* Navigation resilience */
.hub-brand,.hub-lang,.hub-cta{flex:0 0 auto}
.hub-links{gap:18px;min-width:0}
.hub-cta{white-space:nowrap}
/* Keep the primary navigation clean at ordinary laptop widths; the hero carries the execution CTA. */
@media(max-width:1500px){.hub-nav .hub-cta{display:none}}
